Cutelyst the C++/Qt web framework has a new release.
- Test coverage got some additions to avoid breaks in future.
- Responses without content-length (chunked or close) are now handled properly.
- StatusMessage plugin got new methods easier to use and has the first deprecated API too.
- Engine class now has a struct with the request subclass should create, benchmarks showed this as a micro optimization but I’ve heard function with many arguments (as it was before) are bad on ARM so I guess this is the first optimization for ARM 🙂
- Chained dispatcher finally got a performance improvement, I didn’t benchmark it but it should be much faster now.
- Increased the usage of lambdas when the called function was small/simple, for some reason they reduce the library size so I guess it’s a good thing…
- Sql helper classes can now use QThread::objectName() which has the worker thread id as it’s name so writing thread safe code is easier.
- WSGI got static-map and static-map2 options both work the same way as in uWSGI allowing you to serve static files without the need of uWSGI or a webserver.
- WSGI got both auto-reload and touch-reload implemented, which help a lot on the development process.
- Request::addressString() was added to make it easier to get the string representation of the client IP also removing the IPv6 prefix if IPv4 conversion succeeds.
- Grantlee::View now exposes the Grantlee::Engine pointer so one can add filters to it (usefull for i18n)
- Context got a locale() method to help dealing with translations
- Cutelyst::Core got ~25k smaller
- Some other small bug fixes and optimizations….
For 1.3.0 I hope WSGI module can deal with FastCGI and/or uwsgi protocols, as well as helper methods to deal with i18n. But a CMlyst release might come first 🙂