uWSGI Changelog

What's new in uWSGI 2.0.10

Mar 18, 2015
  • BUG FIXES:
  • Don’t lower security standards with gcc 4.9 (Riccardo Magliocchetti)
  • Perl/PSGI make sure that at least two params are passed to xs_input_seek (Ivan Kruglov)
  • Per/PSGI fixed multiple interpreters usage
  • spooler: fixed scandir usage
  • fixed exception handler arguments management
  • fixed ‘log-master’ + ‘daemonize2’ disables all logging
  • fixed http Range header management
  • NEW FEATURES:
  • safeexec hook
  • this is like ‘exec’ but do not exit on error even if the executed command returns a non-zero value
  • backported –emperor-wrapper-fallback and –emperor-wrapper-override
  • the –emperor-wrapper-fallback option allows you to specify an alternative binary to execute when running a vassal and the default binary_path is not found (or returns an error). (you can specify it multiple times)
  • The –emperor-wrapper-override is similar but ‘overrides’ the default wrapper (you can specify it multiple times)
  • added support for UNIX sockets to rsyslog
  • The rsyslog logger can now get a unix socket as address (arguments starting with a slash are recognized as a unix path)
  • forcecl transformation
  • this transformation works like ‘fixcl’ but generates the Content-Length header even if Content-Length has been listed for removal.

New in uWSGI 2.0.9 (Dec 30, 2014)

  • Bugfixes:
  • fixed mod_proxy_uwsgi for non-blocking mode (many thanks to Joe cuchac)
  • fixed master-fifo + cheaper
  • fixed leak on error in bind_to_unix (Riccardo Magliocchetti)
  • atexit hooks works in cheaped workers too
  • atexit hooks works in gevent mode too during shutdown
  • fixed carbon command line option value after reload
  • do not honour Emperor throttling on the first run
  • fixed Mono plugin
  • fixed peer name in corerouters
  • fixed stop signal for daemons
  • varios ssl/tls fixes in https/spdy router
  • fixed python3 –py-auto-reload-ignore
  • fixed modifiers in corerouters
  • support for yajl from homebrew (OSX)
  • psgi: Ensure that we call any DESTROY hooks on psgix.harakiri.commit (Ævar Arnfjörð Bjarmason)
  • systemdlogger: fix compilation with -Werror=format-security (Riccardo Magliocchetti)
  • fixed unmasked websockets
  • perl fixed latent refcounting bug (Mattia Barbon)
  • New Features:
  • Improved PyPy support for Linux
  • The PyPy team have started building libpypy-c.so in their official releases. Now using pypy with uWSGI should be way easier:

New in uWSGI 2.0.8 (Oct 27, 2014)

  • Bugfixes:
  • fixed php SCRIPT_NAME usage when --php-app is in place
  • allow “appendn” hook without second argument
  • fix heap corruption in carbon plugin (credits: Nigel Heron)
  • fix getifaddrs() memory management
  • fixed tcsetattr() usage
  • fixed kevent usage of return value (credits: Adriano Di Luzio)
  • ensure PSGI response headers are in the right format
  • fixed attached daemons reload
  • fixed SSL/TLS shutdown
  • fixed mountpoints logic for path not ending with / (credits: Adriano Di Luzio)
  • fixed python3 support in spooler decorators (credits: Adriano Di Luzio)
  • New Features:
  • RTSP and chunked input backports from 2.1 for the HTTP router
  • –hook-post-fork
  • fallback to trollius for asyncio plugin
  • added sweep_on_full, clear_on_full and no_expire to --cache2
  • backported wait-for-fs/mountpoints from 2.1
  • improved the offload api (backport from 2.1)
  • allows building external plugins as embedded
  • allows building external plugins as embedded

New in uWSGI 2.0.7 (Oct 20, 2014)

  • Bugfixes:
  • fixed counters in statsd plugin (Joshua C. Forest)
  • fixed caching in php plugin (Andrew Bevitt)
  • fixed management of system users starting with a number
  • fixed request body readline using memmove instead of memcpy (Andrew Wason)
  • ignore "user" namespace in setns (still a source of problems)
  • fixed Python3 rpc bytes/string mess (result: we support both)
  • do not destroy the Emperor on failed mount hooks
  • fixed symbol lookup error in the Mono plugin on OS X (Ventero)
  • fixed fastcgi and scgi protocols error when out of buffer happens
  • fixed solaris/smartos I/O management
  • fixed 2 memory leaks in the rpc subsystem (Riccardo Magliocchetti)
  • fixed rados plugin PUT method (Martin Mlynář)
  • fixed multiple python mountpoints with multiple threads in cow mode
  • stats UNIX socket is now deleted by vacuum
  • fixed off-by-one corruption in cache LRU mode
  • force single-cpu build in cygwin (Guido Notari)

New in uWSGI 2.0.4 (May 1, 2014)

  • Bugfixes:
  • fixed "mime" routing var (Steve Stagg)
  • allow duplicate headers in http parsers
  • faster on_demand Emperor management
  • fixed UWSGI_ADDITIONAL_SOURCES build option
  • merge duplicated headers when SPDY is enabled (Łukasz Mierzwa)
  • fixed segfault for unnamed loggers
  • --need-app works in lazy-apps mode
  • fixed fatal hooks management
  • New features:
  • The experimental asyncio loop engine (CPython >= 3.4)
  • asyncio (also known as 'tulip') is the new infrastructure for writing non-blocking/async/callback-based code with Python 3.

New in uWSGI 2.0.3 (Apr 3, 2014)

  • Bugfixes:
  • fixed spooler 'at' key usage
  • fixed a memory and fd leak with on-demand Emperor sokets
  • on __APPLE__ use LOG_NOTICE for syslog plugin
  • fixed mongrel2 support
  • hack for avoiding libmongoclient to crash on broken cursor
  • log alarm is now a uwsgi_log_verbose() wrapper
  • fixed tuntap router memory corruption
  • Set ECDHE curve independently from DHE parameters (Hynek Schlawack)
  • do not wait for a whole Emperor cycle before checking for each waitpid
  • fix a regression with caller() not indicating the starting *.psgi program (Ævar Arnfjörð Bjarmason)
  • New features:
  • Emperor SIGWINCH and SIGURG
  • The Emperor now responds to two new signals:
  • SIGWINCH: force an emperor rescan of vassals
  • SIGURG: cleanup the Emperor states (for now it only clears its blacklist)

New in uWSGI 0.9.6.6 (Jan 11, 2011)

  • 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 Andrea 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

New in uWSGI 0.9.6.5 (Sep 30, 2010)

  • PEP 3333 support
  • fix --pythonpath with --wsgi-file
  • x-wsgiorg.uwsgi.version renamed to uwsgi.version

New in uWSGI 0.9.6 (Aug 30, 2010)

  • 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

New in uWSGI 0.9.5 (May 3, 2010)

  • 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 teh 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

New in uWSGI 0.9.5 RC 1 (Apr 14, 2010)

  • fix sendfile on 64bit
  • include setup.py

New in uWSGI 0.9.5 Beta 1 (Apr 1, 2010)

  • 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