Hi everyone, the second snapshot (maybe the last before -rc cycle) of
upcoming uWSGI 1.1 is available.

It contains a massive amount of new features, so every report will be very
wellcomed.

* New options subsystem

The whole options infrastructure has been rewritten.
All of the config files can be stacked and can get templates via the
--inherit option.
A series of options have been added to allows logic in config files:

http://projects.unbit.it/uwsgi/wiki/ConfigLogic

* atexit hooks

You can now specify handlers to be run on server exit via the uwsgi.atexit
hook. The python plugin has been improved to support the standard "atexit"
module

* multiple spooler fixes

the main feature for the first 1.1 snapshot was the multispooler support.
This new snapshot contains a series of fixes for it.

* segmentation fault manager (Linux/OSX)

On supported platforms you will get a c backtrace whenever your server
segfaults. When you make bug reports for crashes, try to always report
this datas (if available)

* --exec-pre-jail --exec-post-jail --exec-in-jail
this new commandline hooks allows you to call scripts/commands during jailing

* fastrouter improvements

The fastrouter can now buffer the request body, simply add the
--fastrouter-post-buffering specifying the minimal size of file that need
to be buffered. The fastrouter will then pass the saved file path to uWSGI
instances via the UWSGI_POSTFILE new variable.

You can start the fastrouter in preforked mode with --fastrouter-processes
<n>

The subscription system will go in weighted round robin mode if you
specify a weight (with the --weight <n> option) to your cluster nodes.

* --pyshell-oneshot/--pyrun

this two new options allows you to run python script/commands in the uwsgi
environment (look at contrib/upython for an example usage)

* plugin loading

you can load plugins in a custom modifier using this syntax:

--plugin [N:]plugin

where N is the number of the modifier

Plugins search path can now dinamically added with the --plugins-dir options

* --never-swap mode

Enabling this flag will prevent uWSGI processes to be swapped. This could
be a life-saver for your servers. If a process of the stack cannot
allocate memory, it will be killed (and obviously if a master is available
it will be respawned ready to manage new requests)

* exec:// facility

you can now take datas for your options from the output of a command:

uwsgi --ini exec://your_command

will allows you to dinamically generate config files

* Perl/PSGI improvements

the long-awaited multiple interpreter support has been added.
You can now host multiple psgi apps in the same process.

* deadlock detector

A new system has been implemented to avoid deadlocks in uWSGI processes.
It cannot obviously be perfect, but will help you in 99.9% of the cases.

* cheaper improvements

Adaptive process spawning has been improved allowing fine-tuning.
You can now define the number of workers to spawn at each overload
(default 1) and how much time it is required to consider a stack
"overloaded" WARNING: the cheaper area is currently a work in progress.
The algorithm could be changed again before final release.

* zeromq/mongrel2 fixes

the zeromq protocol handler has been improved to avoid
SCRIPT_NAME/PATH_INFO issues

* internal routing subsystem

uWSGI now includes an internal routing subsystem (based on pcre), you can
use it to build complex serving rules:

http://projects.unbit.it/uwsgi/wiki/InternalRouting

* log rotation/reopen

--touch-logreopen and --touch-logrotate have been added to allows you to
trigger rotation (or reopen) of logfiles.

* paste loggers

You can now automatically enable paste logging with the --paste-logger
flag or with the commodity (do all with one shot) ini-paste-logged <file>

* zerg improvements

zergpools and a new fallback mode have been added

http://projects.unbit.it/uwsgi/wiki/ZergMode

* ISSUES and NOTES *

- multicast clustering options are currently almost-broken
- The http server/router/loadbalancer has not completely ported to the new
api. Main functionalities are available, but the more exotic will be fixed
in the next few days.
- using fastrouter in preforked mode will break its stats server
- the xml <app> tag is now deprecated, use the more advanced --mount option
- the basicauth router on non-Linux systems is not thread-safe
- ldap support is completely broken
- as previously specified the cheaper algorithm is under analysis and
could be changed before final release.


You can download it from

http://projects.unbit.it/downloads/uwsgi-1.1-snapshot2.tar.gz

Thanks for testing it

-- 
Roberto De Ioris
http://unbit.it
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to