I am pleased to announce the 1.1 release of the uWSGI project. This release focuses on a new option parser subsystem, improved perl/psgi and ruby/rack support and a new (stable) php plugin. A lot of optimizations have been introduced for the fastrouter and the various threading modes. This is the first release officially deprecating some old-style configuration (see notes).
Changelog [20120317] - new options parser subsystem - improved php support http://projects.unbit.it/uwsgi/wiki/PHP - multiple spooler with multiprocessing simply add multiple --spooler options (on different directories) to have multiple spooler. Add --spooler-processes to fork() them - segmentation fault and floating point exceptions manager you will get a handy backtrace whenever SIGSEGV and SIGFPE are triggered - never-swap option enabling this option will force uWSGI to lock all memory areas on physical memory to avoid on-disk swapping. - zergpool plugin another step towards down-free reloads http://projects.unbit.it/uwsgi/wiki/ZergMode - perl/psgi multiple interpreters support you can now mount multiple perl-apps in the same process - deadlock detector on some specific conditions, uwsgi locking subsystem can be damaged, the master process got a new feature, allowing it to detect such conditions - pluggable cheaper algos by default the old-fashioned apache-style spare algorithm is used for adaptive process spawning. A new one, based on socket listen queue can be used, or you can implement a completely new approach: http://projects.unbit.it/uwsgi/browser/plugins/cheaper_backlog2/cheaper_backlog2.c - new internal routing susbsystem http://projects.unbit.it/uwsgi/wiki/InternalRouting - preliminary support for config logic http://projects.unbit.it/uwsgi/wiki/ConfigLogic - log rotation infrastructure you can now trigger log-rotation simply touching files - support for paste loggers - threading improvements - plugins can now mapped to specific modifiers - <app> tag is deprecated (use mount option) - report startup time for apps - reintroduced expat support by default libxml2 is searched, if it is not available libexpat will be used. If both are not available, xml support will not be compiled in. - reintroduced remote spooler plugin - various fastrouter optimizations - added ruby rvm support add --gemset <name> option to set a specific rvm gemset - a lot of fixes all over the place Notes: - <app> tag has been deprecated, some simple old-style-config still works, but you should move to the new mount option. In uWSGI 1.2 the <app> tag will map 1:1 to the mount one. - xml support is now automatically detected (and eventually not compiled in) Special thanks for this release go to Anthon van der Neut (mongrel2 fixes and setuptools packaging) Ćukasz Mierzwa (bug-hunter in-chief) Raffaele Colace (for the upython contrib script) Cal Leeming Ultrabug (ultrabug.fr, sorry i do not know your real name) Riccardo Magliocchetti C Anthony Risinger Evgeny Turnaev Marcin Deranek Mike Kuznetsov (sorry if i have missed someone) You can download uWSGI 1.1 from http://projects.unbit.it/downloads/uwsgi-1.1.tar.gz -- Roberto De Ioris http://unbit.it