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