Cutelyst 1.12.0 released

The year is about to end and so is Cutelyst v1 series, I wasn’t planning for another release this year but Matthias added some nice new features that I decided to roll 1.12 in 2017 branching 1.x.x series and master is now officially Cutelyst 2 with no stable API/ABI until 2.0.0 is tagged.

HTTP/2 support will hopefully be part of Cutelyst 2.0.0, there aren’t any drastic changes in v2, most important thing is fixing MSVC builds and removing deprecated API.

Back to this release it includes a newย CSRF protection plugin, with a Grantlee tag similar to what Django has. Add to this many fixes and the epoll event loop dispatcher is now even faster and got many fixes, performance wise it’s great advantage is when dealing with many simultaneous connections, it can lead to 2-3 times faster than default glib one.

Happy new hacking year!

Cutelyst 1.12.0 released

11 thoughts on “Cutelyst 1.12.0 released

  1. I saw your post on Planet KDE. So… what is Cutelyst?

    * You are the marketing department for your project.
    * You never know who will come across one of your communications, and you never get a second chance to make a first impression.

    So: The second sentence of every announcement and blog post HAS to be a summary of what the hell your project does. Itโ€™s a good exercise to come up with a crisp meaningful one-sentence overview. It will teach Google and search engines about your project and no one will begrudge you the repetition.

    1. Hi, since you mostly blog about Cutelyst maybe you cold add a sub-header under your blog’s title explaining what Cutelyst is, so you don’t have to remember doing it for every post ๐Ÿ™‚

      Or maybe a sidebar?

      1. I don’t think I would see a blog sub-header or sidebar when posts are featured on aggregators like Planet {Gnome|KDE|Ubuntu}. Maybe I’m the only person who still reads them? ๐Ÿ™‚

  2. @SKIERPAGE, I also use RSS to get notified but usually open the blog posts to read them more comfortably.
    Also, some blogging platforms don’t give you the full post in the RSS feed so you have to open it on a browser to read it in full ๐Ÿ™‚

  3. Do you use cutelyst to debug in QtCreator?
    Under Run:

    Executable: /usr/bin/cutelyst
    Command line arguments: -r –server –app-file /path_to_/build-Debug/src/ — –chdir ..

    Error: failed to find project

    If I set the Executable to /path_to_/build-Debug/src/ I get another error

    This worked under Wt, I was hoping it would work with cutelyst also.

  4. How do you write a generic Controller, so you do not have to write one for each file that exist, for example: if I have an html file, lets say about.html, I want to assume its a template, and so something like this: c->setStash(“template”, “about.html”);
    can I use Root::defaultPage and then use Context to get the name of argument, if so how?
    I can not access the API page 404 Not Found

    1. dantti says:

      API website restored,
      You can have something like
      C_ATTR(pages, :Local :AutoArgs)
      void pages(Context *c, const QString &page) { c->setStash(“template”, page); }
      Just be careful as it’s user data.

  5. I had to make a few changes:
    1. Make sure your Working and Build Directory are inside the same folder, Qt Creator defaults to outside the folder; this does not work; so I made a Build Folder that is my Build Directory, and my Working Directory must point to the build/src Directory.
    2. Executable: /usr/bin/cutelyst
    3. -r –server –app-file — –chdir2 ..

    But it still will not stop on a break point, I checked to make sure gdb, and even cdb is installed, as well as valgrind, I added:
    set(CMAKE_BUILD_TYPE Debug)
    to the top of the make file, normally I use .pro files,
    CONFIG += debug
    the compiler show -DCMAKE_BUILD_TYPE:STRING=Debug so its a debug version
    but with cmake files, not sure what else to do, any way, I think I have had this issue before, so I will resolve it, its a new install of Manjaro Arch Linux, so it has all the latest software installed, and I have been using Qt since it first came out, so I know I will figure it out; I will switch to a pro file and see if that fixes the issue, but I do use the debugger in my QtQuick apps and it works fine, but that is a pro file, not sure this is a cmake file issue, my uptime is 8 days, but I am rendering something, maybe tomorrow I will reboot, I had an uptime of over a year on my server, UPS works, only rebooted to update the LTS, and soon rebooting to do that will not be required, Linux is not like Windows, rebooting very seldom fixes issues like this, but in Windows, it needs rebooting a few times a day, which is why I do not use it, its only good for Games, and I do not play Games, but writing them might be fun; but V-Play is good for Apps; I just like the way it works, I can run it on my Smart Phone in Real Time, recompile updates both, and the Debugger works fine on it, so this is not a debugger issues, its my setup above that has issues. By the way I am writing a Book on my new CMS, lots of work on the book, just started it a few weeks ago.
    Light Wizzard Content Management System (CMS)
    Concept is I can use the CMS to create a Website, and also use it to create all the formats like: ePub, Mobi, Amazon, PDF as well as HTML, JavaScript and CSS.

    This is what I have: its a standard project, I added qDebug to debug for now:

    I put this in the header root.h:

    C_ATTR(pages, :Local :AutoArgs)
    void pages(Context *c, const QString &page);

    and this in root.cpp

    void Root::pages(Context *c, const QString &page)
    qDebug(“Root::pages debugger”);
    qDebug(“page = %s”, page );
    # FIXME sanitize argument for injection and check to see if resource exist
    QString thisPage=page;
    c->setStash(“template”, thisPage.append(“.html”));

    it did not print the dDebug, so it seems its not running it, I commented out the defaultPage,
    Also if I make a home.html, and put that in as an argument, it tries to download the page with a popup, is there a way to feed links to static content?

    All I want to do is put in a lot of static html files and resources: images, JavaScript, CSS, and put links to them in the home page, no backend, I am writing that app in QtQuick with V-Play, may not end up using V-Play, but I thought I would play with that idea, so I just want static files (templates).

    Is there a better way to ask questions? Email, Forum…


  6. Can I get a skeleton pro file from you for a generic project like the once it creates?

    I tried to find reference to all the libraries to convert from cmake to qmake, not very good at that, normally I only deal with qmake when using qt, I just like it better.

    Your Projects are great, APPER fan: I still use it under Manjaro Cinnamon; not that I don’t like Pacman, because I do, but I like different views; but its not KDE, I tried it over the years, and Manjaro has a good version of it, I like Manajaro Arch Linux because its cutting edge, latest software, with no need to upgrade versions, since is a Rolling Release, and I also like AUR; so I have to use Pacman for that, but what I like about Apper is that I do not have to click on the app to see its description and files, and dependencies, so other then AUR is works better for me.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s