[ANNOUNCE] uWSGI 1.1

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

  • 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 option to set a specific rvm gemset

  • a lot of fixes all over the place

Notes:

  • 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 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 D.
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