*** april 2011 *** * 0.9.7.2 [20110406] - new option --touch-reload to reload the stack on modification --static-map allows to serve static files - fixed --post-limit management - disallow empty socket names - implemented exception_info WSGI support - new options --reload-on-as and --reload-on-rss allows to recycle workers when their memory usage is higher than MB - fixed syslog support (use --log-syslog[=facility] to enable it) - improved plugin loading system - added support for RabbitMQ as event dispatcher for the Emperor - fixed FreeBSD memory report - PSGI plugin can be compiled without ithreads - various Emperor fixes - fixed a regression with setgroups() - support for shared sockets (used in jails within network namespaces) *** march 2011 *** * 0.9.7.1 [20110326] - fixed python stackless support - added persistence for queue - forbid daemonizing in vassal mode - modifier1 30 is available again - allow python modules to be mapped/aliased via http - added --pidfile2 and --logfile-chown - added UWSGI_CACHE_GET dynamic variable - 304/If-Modified-Since support for --check-static - option --check-cache for integrated caching - option --map-socket to assign specific workers to socket - fixed unix fd passing on older OSX versions - fixed post-buffering without pep3333-input - fixed python threading without uwsgi cores - support for Linux network namespace - build with sys.abiflags if necessary * 0.9.7 [20110317] - fixed psgi compilation on GNU systems - improved --pep3333-input - better error reporting on failed open/fopen - fixed uGreen - added greenlet support - various solaris fixes - new help system - updated async support - fixed uwsgi.cache_get in python * 0.9.7-rc3 [20110312] - added support for persistent cache (--cache-store ) - less verbose file monitoring - fixed a race condition in emperor startup - fixed erlang empty list encoding - improved snmp support - fixed cache modifier 111 for 3 and 4 - preliminary cpu-affinity support (Linux only) - fixed ldap support - auto-configure ldap compilation - added --allowed-modifiers (allow only a subset of modifiers) - fixed a bug with getopt_long * 0.9.7-rc2 [20110309] - added cron-like interface to signal framework - improved Linux namespaces support - fixed multithreading + --max-requests - added support for reference in configuration files * 0.9.7-rc1 [20110307] - export %v in emperor mode - fixed signal race condition in server reload - fixed http router post handling bug - added uwsgi.erlang_register_process in pyerl plugin - fixed unix socket inherit - fixed linux namespace support in recent kernel/gcc - ported threading to python 3.2 - add build date to uWSGI startup info - do not allow clustering without defining a socket - kill all the gateways/daemons on startup errors - fixed vacuum after chdir() - fixed gateways reload - re-added support for OpenBSD and NetBSD - fixed post-buffering in python - use erlang binary for python string - fixed memory leak in pyerl plugin - removed broken log rotation (post-poned) - fixed no_argument options in ini and yaml parsing * 0.9.7-beta1 [20110301] - fully modular re-design - advanced build system with presets - threading support - emperor mode for massive auto-hosting - caching subsystem - message queue (even stacked) support - improved server reloading system - support for Linux Cgroups and Namespaces - integrated upload progress - Clustering infrastructure via multicast, broadcast or subscriptions - support for attaching/monitoring external apps to the master process - improved virtualhosting mode - extremely improved Python support with better usage of multiple interpreters - improved multiple apps support - Production ready, evented HTTP router/proxy/load-balancer - Production ready, evented uwsgi router/proxy/load-balancer - new Erlang stack - Internal signal subsystem - support for RubyOnRails and Rack apps - A huge series of fixes and optimizations *** february 2011 *** * 0.9.6.8 [20110207] - fixed a bug when using --limit-as - fixed a erlang buffer initialization - added --ignore-sigpipe - added --master-as-root *** january 2011 *** * 0.9.6.7 [20110130] - a huge amount of async optimizations and fixes - --logdate takes an optional strftime-like value - follow $PATH on reloading - uwsgi.core is exported in WSGI env - uwsgi.log() respect for --logdate - initial banner respect for --logdate - fixed --post-buffering - default listen backlog queue is now 100 - Python 3 support is no more marked as experimental - Python 3.2 support - new option --chroot-reload will force a reload of the uWSGI stack after a chroot - fixed a typo in INI parsing *** december 2010 *** * 0.9.6.6 [20101230] - support for YAML configuration files - backported python module aliasing from 0.9.7-dev - better apache2 module (support for SetEnv directive, fixed REQUEST_URI and improved connection handling) - uwsgi.post_fork_hook implementation (to execute function after fork()) (thanks George Kollias) - option --gid calls setgroups() after setgid() (thanks Jorge Cardona) - fixed uGreen compilation (and uGreen is now built by default) - fixed timeout and thundering herd problem in async modes (many thanks to Test157 for giving us a good async-test-app) - disable TCP_INFO in older Linux kernels (thanks Bo Shi) - enable TCP_INFO in FreeBSD (limited usage due to FreeBSD kernel support) - fixed static virtualhosting mode using xml files (thanks Guido Notari of Link I.T. spa) - new option --close-on-exec (thanks Jean-Baptiste Quenot) - use HTTP_HOST var (and fallback to SERVER_NAME) in virtual hosting mode - fixed a buffer overflow in automatic socket_name allocation (spotted by Riccardo Magliocchetti) - Official support for Nexenta *** september 2010 *** * 0.9.6.5 [20100929] - PEP 3333 support - fix --pythonpath with --wsgi-file - x-wsgiorg.uwsgi.version renamed to uwsgi.version * 0.9.6.4 [20100925] - fix a stupid bug in conditional logging backport * 0.9.6.3 [20100925] - fix a buffer overflow in .ini parsing (it throws a glibc error on malloc) - backport of conditional logging from 0.9.7-dev - backport of backlog queue monitor from 0.9.7-dev (only Linux) * 0.9.6.2 [20100915] - fix a regression in virtual hosting mode - fix pythonpath usage in --ini and --ini-paste - new uwsgi packet var: UWSGI_CHDIR * 0.9.6.1 [20100912] - print the request uri during SIGPIPE or HARAKIRI - added SIGUSR2 support (it will print the current running request, if available) - protocol parsing optimization - fixed --logto support - new --eval option allows inline definition of WSGI script - support for defining WSGI script in xml using CDATA - allow --pp as --pythonpath shortcut - various spooler optimizations and fixes - added -O2 optimization by default - added uwsgi.is_a_reload commodity function - .ini file support fix - SNMP agent fix - support for subprocesses generated by master - fix a regression in SCRIPT_NAME handling - Haiku official support - gcc 2.95 support - dynamic app management optimizations - export x-wsgiorg.uwsgi.version in WSGI env *** august 2010 *** * 0.9.6 [20100829] - better handling of SCRIPT_NAME - vacuum option for deleting unix sockets and pidfiles after usage - advanced XML configuration - new configuration systems: INI files and LDAP - embedded HTTP server for development/testing - better signal handling - PSGI plugin improved - usability fixes and new commodities options for root startup - grunt processes (detached workers) - preliminary integrated virtualhosting mode - new option catch-exceptions can redirect python exceptions to your browser - logging improvements (--logto and --logdate options) - Full PEP 333 compliant usage of wsgi.file_wrapper - re-initialize random seed after every fork() [security fix] - fix Spooler's usage of stdin - export WSGI environment in uwsgi.env (for doing evil things) - logsize tracking (uwsgi.logsize) for future embedded log rotation *** july 2010 *** * 0.9.5.4 [20100706] *** june 2010 *** * 0.9.5.3 [20100628] - fixed linux x86_64 compilation (sorry) * 0.9.5.2 [20100626] * - fixed a request parsing bug - applied debian fixes - fixed multiple interpreter sys.argv - improved --chmod-socket - fixed uid 0 SIGHUP - updated nginx and apache modules - updated PSGI, lua and example plugin - fixed --pyargv with python 3.x - improved plugin build system *** may 2010 *** * 0.9.5.1 [20100519] * - fixed paste support - added a new modifier (22) - full support for configuration via environment variables - nginx_string option in nginx module - fix for harakiri without master - backported unladen swallow support for 0.9.6-dev - fixed address space limit detection via getrlimit() - http body buffering implementation - added --prio option (to set priority) - added --post-limit to limit the size of uploads - added --logto option to allow udp logging without daemonizing - applied Gentoo's packagers fixes for build system * 0.9.5 [20100501] * - hook based request/modifier management - plugin support via dlopen - on-the-fly management flag - integrated proxy - logging via udp - improved spooler for cron-like apps - async support - green thread platform (uGreen) on top of the async mode - transparent Erlang integration - embedded snmp agent - nagios mode - improved python 3.x support - improved xml configuration - new build system - address space usage limiting - lot of portability fixes - lot of optimizations and code refactoring *** april 2010 *** * Fourth Maintenance release [20100427] * - backported non-yielding app optimization from 0.9.5 - backported udp logging from 0.9.5 - backported uwsgi_error() from 0.9.5 (no more dumb perror()) - fix a rare (but possible) segmentation fault - added --version - updated apache2 module *** march 2010 *** * Third Maintenance release [20100310] * - fix sendfile on 64bit - include setup.py *** february 2010 *** * Maintenance release * - better support for NetBSD - threading fix for FreeBSD - sendfile portability fixes - new makefiles - example app for testing static file serving - fixes for ROCK_SOLID mode *** january 2010 *** - Integrated Spooler - better error management - long options - clustering functions - experimental lighttpd module - official support for OpenBSD and OpenSolaris - FastFuncs - new functions for embedded module - reliable harakiri - better Makefiles - python threads support in master process - proper timeout handling in apache2 module - endianess fixes all over the place - paste support - Django app for managing and monitoring the uWSGI server - options for changin uid/gid and chrooting when run by root - lot of bugfixes and optimizations *** 20091129 Version 0.9.3 *** - Nginx 0.7.x module - configuration via python module - support (non-standard) for Python 3.x - Twisted client resource adapter - graceful restart of worker processes and hot-plug substitution/upgrade of the uWSGI server - shared memory area to share data between workers/processes - Tomcat handler - support for virtualenv - tons of bugfixes and optimizations *** 20090829 Version 0.9.2 *** - TCP support - configurable internal timeout (socket/poll) - Cherokee handler - code refactoring - Makefiles - customizable harakiri handler (put an harakiri(environ, start_response) function in your wsgi script) - limit requests per worker - a lot of bugfix and optimizations