2014-02-21 21:03:09 +01:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Feb 21 16:49:14 UTC 2014 - jfunk@funktronics.ca
|
|
|
|
|
|
|
|
|
|
- Update to 2.0.1:
|
|
|
|
|
* Bugfixes
|
|
|
|
|
* due to a wrong prototype declaration, building uWSGI without SSL
|
|
|
|
|
resulted in a compilation bug. The issue has been fixed.
|
|
|
|
|
* a race condition preventing usage of a massive number of threads in the
|
|
|
|
|
PyPy plugin has been fixed
|
|
|
|
|
* check for heartbeat status only if heartbeat subsystem has been enabled
|
|
|
|
|
* improved heartbeat code to support various corner cases
|
|
|
|
|
* improved psgi.input to support offset in read()
|
|
|
|
|
* fixed (and simplified) perl stacktrace usage
|
|
|
|
|
* fixed sni secured subscription
|
|
|
|
|
* CGI plugin does not require anymore that Status header is the first one
|
|
|
|
|
(Andjelko Horvat)
|
|
|
|
|
* fixed CPython mule_msg_get timeout parsing
|
|
|
|
|
* allows embedding of config files via absolute paths
|
|
|
|
|
* fixed symcall rpc
|
|
|
|
|
* fixed a memory leak in CPython spooler api (xiaost)
|
|
|
|
|
* The --no-orphans hardening has been brought back (currently Linux-only)
|
|
|
|
|
* improved dotsplit router mode to reduce DOS risk
|
|
|
|
|
* sub-Emperor are now loyal by default
|
|
|
|
|
* fixed non-shared ruby 1.8.7 support
|
|
|
|
|
* fixed harakiri CPython tracebacker
|
|
|
|
|
* request vars are now correctly exposed by the stats server
|
|
|
|
|
* support log-master for logfile-chown
|
|
|
|
|
* improved legion reload
|
|
|
|
|
* fixed tuntap netmask
|
|
|
|
|
* fixed busyness plugin without metrics subsystem
|
|
|
|
|
* New features
|
|
|
|
|
* See http://uwsgi-docs.readthedocs.org/en/latest/Changelog-2.0.1.html
|
|
|
|
|
* Perl native Spooler support
|
|
|
|
|
* --alarm-backlog: Raise the specified alarm when the listen queue is full
|
|
|
|
|
* --close-on-exec2: applies CLOSE_ON_EXEC socket flag on all of the server
|
|
|
|
|
sockets
|
|
|
|
|
* simple notifications subsystem for subscriptions
|
|
|
|
|
* pid namespace for daemons (Linux only)
|
|
|
|
|
* The fastrouter and the http/https/spdy router now support
|
|
|
|
|
"resubscription".
|
|
|
|
|
* filesystem monitor api
|
|
|
|
|
* support for yajl 1.0
|
|
|
|
|
* for-readline: a config-logic iterator that yields file lines
|
|
|
|
|
* %i magic var: returns the inode of the currently parsed file
|
|
|
|
|
* %j magic var: returns hex representation of 32bit djb33x hashing of the
|
|
|
|
|
currently parsed absolute filename
|
|
|
|
|
* --inject-before and --inject-after: prepend and append 'blobs' to a
|
|
|
|
|
config file
|
|
|
|
|
* --http-server-name-as-http-host: This flag allow the http router to map
|
|
|
|
|
SERVER_NAME to HTTP_HOST automatically instead of instructing your uWSGI
|
|
|
|
|
instances to do it
|
|
|
|
|
* better Emperor's Ragnarok (shutdown procedure)
|
|
|
|
|
* PyPy paste support
|
|
|
|
|
Changes from 2.0.0:
|
|
|
|
|
* Important changes
|
|
|
|
|
* Dynamic options have been definitely removed as well as the
|
|
|
|
|
broken_plugins directory
|
|
|
|
|
* Bugfixes and improvements
|
|
|
|
|
* improved log rotation
|
|
|
|
|
* do not rely on unix signals to print request status during harakiri
|
|
|
|
|
* added magic vars for uid and gid
|
|
|
|
|
* various Lua fixes
|
|
|
|
|
* a tons of coverity-governed bugfixes made by Riccardo Magliocchetti
|
|
|
|
|
* New features
|
|
|
|
|
* --attach-daemon2: this is a keyval based option for configuring external
|
|
|
|
|
daemons
|
|
|
|
|
* Linux setns() support
|
|
|
|
|
* "private" hooks
|
|
|
|
|
* Support for yajl library (JSON parser)
|
|
|
|
|
* Perl spooler support
|
|
|
|
|
* Gateways can drop privileges
|
|
|
|
|
* Subscriptions-governed SNI contexts
|
|
|
|
|
* Changes from 1.9.21:
|
|
|
|
|
* Bugfixes
|
|
|
|
|
* croak if the psgi streamer fails
|
|
|
|
|
* allows building coroae on raspberrypi
|
|
|
|
|
* do not wait for write availability until strictly required
|
|
|
|
|
* avoid segfault when async mode api is called without async mode
|
|
|
|
|
* fixed plain (without suspend engine) async mode
|
|
|
|
|
* do not spit errors on non x86 timerfd_create
|
|
|
|
|
* support timerfd_create/timerfd_settime on __arm__
|
|
|
|
|
* Optimizations
|
|
|
|
|
* writev() for the first chunk
|
|
|
|
|
* use a single buffer for websockets outgoing packets
|
|
|
|
|
* New features
|
|
|
|
|
* See http://uwsgi-docs.readthedocs.org/en/latest/Changelog-1.9.21.html
|
|
|
|
|
* removed zeromq api
|
|
|
|
|
* The shared area subsystem has been rewritten
|
|
|
|
|
* report request data in writers and readers
|
|
|
|
|
* Modular logchunks management
|
|
|
|
|
* 6 new request logging variables are available:
|
|
|
|
|
* tmsecs: report the current unix time in milliseconds
|
|
|
|
|
* tmicros: report the current unix time in microseconds
|
|
|
|
|
* werr: report the number of write errors for the current request
|
|
|
|
|
* rerr: report the number of read errors for the current request
|
|
|
|
|
* ioerr: the sum of werr and rerr
|
|
|
|
|
* var.XXX: report the context of the request var XXX (like
|
|
|
|
|
var.PATH_INFO)
|
|
|
|
|
* mountpoints and mules support for symcall
|
|
|
|
|
* read2 and wait_milliseconds async hooks
|
|
|
|
|
* websockets binary messages
|
|
|
|
|
* the 'S' master fifo command
|
|
|
|
|
* as-mule hook
|
|
|
|
|
* accepting hook and improved chain reloading
|
|
|
|
|
* --after-request-call: this option allows you to call specific C
|
|
|
|
|
functions (in chains) after each request
|
|
|
|
|
* error pages
|
|
|
|
|
* Simplified plugins builder
|
|
|
|
|
* Changes from 1.9.20:
|
|
|
|
|
* First round of deprecations and removals for 2.0
|
|
|
|
|
* The Go plugin is now considered "broken" and has been moved away from
|
|
|
|
|
the plugins directory. The new blessed way for running Go apps in uWSGI
|
|
|
|
|
is using the GCCGO plugin.
|
|
|
|
|
* The --auto-snapshot option has been removed, advanced management of
|
|
|
|
|
instances now happens via MasterFIFO
|
|
|
|
|
* The matheval support has been removed, while a generic "matheval" plugin
|
|
|
|
|
(for internal routing) is available (but not compiled in by default).
|
|
|
|
|
See below for the new way for making "math" in config files.
|
|
|
|
|
* The "erlang" and "pyerl" plugins are broken and has been moved out of
|
|
|
|
|
the plugins directory. Erlang support will be completely rewritten after
|
|
|
|
|
2.0 release.
|
|
|
|
|
* Bugfixes
|
|
|
|
|
* Fixed master hang when gracefully reloading in lazy mode.
|
|
|
|
|
* Fixed default_app usage.
|
|
|
|
|
* Another round of coverity fixes by Riccardo Magliocchetti.
|
|
|
|
|
* Fixed EAGAIN management when reading the body.
|
|
|
|
|
* New features
|
|
|
|
|
* See http://uwsgi-docs.readthedocs.org/en/latest/Changelog-1.9.20.html
|
|
|
|
|
* 64bit return values for the RPC subsystem
|
|
|
|
|
* The new GCCGO plugin
|
|
|
|
|
* Simple math in configuration files
|
|
|
|
|
* New magic vars
|
|
|
|
|
* %t: Unix time (in seconds, gathered at instance startup)
|
|
|
|
|
* %T: Unix time (in microseconds, gathered at instance startup)
|
|
|
|
|
* %k: Number of detected CPU cores
|
|
|
|
|
* Perl/PSGI improvements
|
|
|
|
|
* New native protocols: --https-socket and --ssl-socket
|
|
|
|
|
* PROXY (version1) protocol support
|
|
|
|
|
* New metrics collectors
|
|
|
|
|
* avg: Compute the math average of children
|
|
|
|
|
* accumulator: Always add the value of the specified children to the
|
|
|
|
|
final value
|
|
|
|
|
* multiplier: Multiply the sum of the specified children for the value
|
|
|
|
|
specified in arg1n
|
|
|
|
|
|
2013-11-10 21:22:24 +01:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Nov 10 20:06:51 UTC 2013 - jfunk@funktronics.ca
|
|
|
|
|
|
|
|
|
|
- Update to 1.9.19:
|
|
|
|
|
* This release starts the 'hardening' cycle for uWSGI 2.0 (scheduled for the
|
|
|
|
|
end of december 2013). The metrics subsystem was the last piece missing
|
|
|
|
|
and this version (after 1 year of analysis) finally includes it. During
|
|
|
|
|
the following 2 months we will start deprecating features or plugins that
|
|
|
|
|
got no-interest, are known to be broken or are simply superseed by more
|
|
|
|
|
modern/advanced ones.
|
|
|
|
|
* Bugfixes
|
|
|
|
|
* completely skip cgroups initialization when non-root
|
|
|
|
|
* tons of post-static_analysis fixes by Riccardo Magliocchetti
|
|
|
|
|
* fixed the greenlet plugin reference counting
|
|
|
|
|
* avoid kevent storm for stats pusher thread
|
|
|
|
|
* fixed rbtimers math
|
|
|
|
|
* both 'cache' and 'file' routers got a 'no_content_length' key option to
|
|
|
|
|
avoid setting the Content-Length header
|
|
|
|
|
* the PyPy plugin automatically enables threads/GIL
|
|
|
|
|
* manage dot_segments in HTTP parser
|
|
|
|
|
* improved srand() usage
|
|
|
|
|
* New features
|
|
|
|
|
* The Metrics subsystem. This was the last piece missing before uWSGI 2.0.
|
|
|
|
|
The Metrics subsystem allows you to store "numbers" related to
|
|
|
|
|
monitoring, graphing and quality checks and exports them in various ways
|
|
|
|
|
* The Tornado loop engine. While working on nodejs integration we realized
|
|
|
|
|
that contrary to what we used to believe, Tornado (an asynchronous,
|
|
|
|
|
callback based module for python) is usable in uWSGI.
|
|
|
|
|
* The 'puwsgi' protocol. A "persistent" (keep-alive) version of the
|
|
|
|
|
'uwsgi' parser has been added named 'puwsgi' (persistent uwsgi).
|
|
|
|
|
* --vassal-set. You can tell the Emperor to pass specific options to every
|
|
|
|
|
vassal using the --set facility
|
|
|
|
|
* The 'template' transformation. This is a transformation allowing you to
|
|
|
|
|
apply all of the internal routing patterns to your responses.
|
|
|
|
|
|
2013-11-08 21:15:53 +01:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Nov 8 19:50:28 UTC 2013 - jfunk@funktronics.ca
|
|
|
|
|
|
|
|
|
|
- Added apache2-mod_proxy_uwsgi and apache2-mod_uwsgi sub packages
|
|
|
|
|
|
2013-10-17 23:55:17 +02:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Oct 17 18:10:06 UTC 2013 - jfunk@funktronics.ca
|
|
|
|
|
|
|
|
|
|
- Update to 1.9.18.2:
|
|
|
|
|
* check for NULL dictionary values in python3 autoreloader
|
|
|
|
|
* fixed fastrouter realloc() bug
|
|
|
|
|
* fixed stdin and embedded configuration
|
|
|
|
|
* fixed vassal's strict mode
|
|
|
|
|
* fixed UUID randomization when libuuid is not used
|
|
|
|
|
* added --iprint (immediate print) option
|
|
|
|
|
- Changes from 1.9.18:
|
|
|
|
|
* License change. This version of uWSGI is the first of the 1.9 tree using
|
|
|
|
|
GPL2 + linking exception instead of plain GPL2
|
|
|
|
|
* Bugfixes
|
|
|
|
|
* fixed uwsgi native protocol support on big endian machines
|
|
|
|
|
* fixed jvm build system for arm (Jorge Gallegos)
|
|
|
|
|
* fixed a memleak spotted by cppcheck in zlib management
|
|
|
|
|
* chdir() at every emperor glob iteration
|
|
|
|
|
* correctly honour --force-cwd
|
|
|
|
|
* fixed ia64/Linux compilation (Jonas Smedegaard/Riccardo Magliocchetti)
|
|
|
|
|
* fixed ruby rvm paths parsing order
|
|
|
|
|
* added waitpid() after daemon’s SIGTERM (Łukasz Mierzwa)
|
|
|
|
|
* fixed pid numbering after --idle (Łukasz Mierzwa)
|
|
|
|
|
* fixed/improved cheaper memory limits (Łukasz Mierzwa)
|
|
|
|
|
* correctly close inherited sockets in gateways
|
|
|
|
|
* fix checks for MAP_FAILED in mmap() (instead of NULL)
|
|
|
|
|
* fixed FastCGI non-blocking body read() (patch by Arkaitz Jimenez)
|
|
|
|
|
* fixed attach.py script
|
|
|
|
|
* avoid crashing on non-conformant PSGI response headers
|
|
|
|
|
* run the python autoreloader even in non-apps mode when non-lazy
|
|
|
|
|
* New Features
|
|
|
|
|
* https://uwsgi-docs.readthedocs.org/en/latest/Changelog-1.9.18.html
|
|
|
|
|
* Minimal build profiles
|
|
|
|
|
* Auto-fix modifier1. Now if the modifier1 of the request is zero, but the
|
|
|
|
|
python plugin is not loaded (or there are no python apps loaded) the
|
|
|
|
|
first configured app will be set instead (unless you disable with
|
|
|
|
|
feature with --no-default-app).
|
|
|
|
|
* Perl auto reloader. The --perl-auto-reload option allows the psgi plugin
|
|
|
|
|
to check for changed modules after every request. It takes the frequency
|
|
|
|
|
(in seconds) of the scan.
|
|
|
|
|
* The "raw" mode (preview technology, only for CPython). Raw mode allows
|
|
|
|
|
you to directly parse the request in your application callable. Instead
|
|
|
|
|
of getting a list of CGI vars/headers in your callable you only get the
|
|
|
|
|
file descriptor soon after accept(). You can then read()/write() to that
|
|
|
|
|
file descriptor in full freedom.
|
|
|
|
|
* Optional NON-standard support for CPython buffer protocol for WSGI
|
|
|
|
|
responses. This is a NON-standard behaviour you have to voluntarily
|
|
|
|
|
enable with --wsgi-accept-buffer.
|
|
|
|
|
* Emperor and config improvements
|
|
|
|
|
* The config system has been improved to be even more consistent in
|
|
|
|
|
respect to strict mode (reminder: with --strict you basically check
|
|
|
|
|
your config files for unknown options avoiding headaches caused by
|
|
|
|
|
typos).
|
|
|
|
|
* New magic vars have been added exposing the name of the original
|
|
|
|
|
config file (this simplifies templating when in Emperor mode), check
|
|
|
|
|
them at
|
|
|
|
|
https://github.com/unbit/uwsgi-docs/blob/master/Configuration.rst#magic-variables
|
|
|
|
|
* The Emperor got support for Linux capabilities using the --emperor-cap
|
|
|
|
|
option. The option takes the list of capability you want to maintain
|
|
|
|
|
for your vassals when they start as root
|
|
|
|
|
* Build system improvements
|
|
|
|
|
* The build system has been improved to link custom sources on the fly.
|
|
|
|
|
* Riccardo Magliocchetti rewrote the build script to use optparse
|
|
|
|
|
instead of raw/old-fashioned sys.argv parsing
|
|
|
|
|
* Pluginized the 'schemes' managementi. Schemes are the prefix part of
|
|
|
|
|
uWSGI uri's. When you do "uwsgi --ini http://foobar.local:9090/test.ini"
|
|
|
|
|
the http:// is the scheme, signalling uWSGI it has to download the
|
|
|
|
|
config file via http. Til now those 'schemes' were hardcoded. Now they
|
|
|
|
|
are exposed as plugins, so you can add more of them (or override the
|
|
|
|
|
default one).
|
|
|
|
|
* mountpoints checks. Allows for managing, for example, FUSE filesystems
|
|
|
|
|
with uWSGI:
|
|
|
|
|
http://uwsgi-docs.readthedocs.org/en/latest/tutorials/ReliableFuse.html
|
|
|
|
|
* Preliminary libffi plugin. As embedding c libraries for exposing hooks
|
|
|
|
|
is becoming more common, we have started working on libffi integration,
|
|
|
|
|
allowing safe (and sane) argument passing to hooks. More to came soon.
|
|
|
|
|
* Official support for kFreeBSD. Debian/kFreeBSD is officially supported.
|
|
|
|
|
|
2013-09-24 18:58:56 +02:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Sep 24 16:49:25 UTC 2013 - jfunk@funktronics.ca
|
|
|
|
|
|
|
|
|
|
- Update to 1.9.17.1:
|
|
|
|
|
* Emergency release fixing two bugs:
|
|
|
|
|
* fixed inheriting of file descriptor 0 (this breaks fastcgi on dreamhost,
|
|
|
|
|
and uwsgi on unbit.it)
|
|
|
|
|
* fixed router_http REQUEST_URI rewrite (double free)
|
|
|
|
|
|
2013-09-24 01:42:48 +02:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Sep 23 18:47:59 UTC 2013 - jfunk@funktronics.ca
|
|
|
|
|
|
|
|
|
|
- Disable v8 on unsupported architectures, and on distributions with newer
|
|
|
|
|
versions of v8, as it seems that upstream is not maintaining it
|
|
|
|
|
- Update to 1.9.17
|
|
|
|
|
* Bugfixes
|
|
|
|
|
* the pty client is now blocking (safer approach)
|
|
|
|
|
* removed strtok() usage (substituted by a new uwsgi api function on top
|
|
|
|
|
of strtok_r())
|
|
|
|
|
* fixed --pty-exec (Credits: C Anthony Risinger)
|
|
|
|
|
* listen_queue/somaxconn linux check is now done even for UNIX sockets
|
|
|
|
|
* New features
|
|
|
|
|
* https://uwsgi-docs.readthedocs.org/en/latest/Changelog-1.9.17.html
|
|
|
|
|
* The Master FIFO: a new management way in addition to UNIX signals
|
|
|
|
|
* A new hook, named asap has been added. It will be run soon after the
|
|
|
|
|
options are parsed
|
|
|
|
|
* The TCC (libtcc) plugin: TCC is an embeddable c compiler. It includes a
|
|
|
|
|
shared library (libtcc) you can use to compile strings of c code on the
|
|
|
|
|
fly. The libtcc uWSGI plugins allows compiling strings of c to process
|
|
|
|
|
symbols. Currently the "tcc" hook engine has been implemented:
|
|
|
|
|
* The forkptyrouter gateway: While work on Linux containers/namespaces
|
|
|
|
|
continues to improve we have added this special router/gateway allowing
|
|
|
|
|
dynamic allocation of pseodoterminals in uWSGI instances. To access the
|
|
|
|
|
sockets created by the forkptyrouter you can use the --pty-connect
|
|
|
|
|
option exposed by the pty plugin.
|
|
|
|
|
* added a new magic var for ANSI escaping. It allows you to define ANSI
|
|
|
|
|
sequences in your logs
|
|
|
|
|
* Routable log encoders: You can now attach log encoders to specific log
|
|
|
|
|
routes
|
|
|
|
|
* --vassals-include: This is like --vassal-inherit but the parsing will be
|
|
|
|
|
"immediate" (so you can use placeholders)
|
|
|
|
|
* The Emperor heartbeat system is now mercyless. The old approach for the
|
|
|
|
|
heartbeat Emperor subsystem was asking for "gentle" reload to bad
|
|
|
|
|
vassals. Now vassals not sending heartbeat (after being registered with
|
|
|
|
|
the heartbeat subsystem) are killed with -9
|
|
|
|
|
* logpipe: You can now send loglines to the stdin of an external command
|
|
|
|
|
* Added "fd" logger to "logfile" plugin: you can directly send logs to a
|
|
|
|
|
file descriptor
|
|
|
|
|
- Changes from 1.9.16
|
|
|
|
|
* Important change in the gevent plugin shutdown/reload procedure: The
|
|
|
|
|
shutdown/reload phase when in gevent mode has been changed to better
|
|
|
|
|
integrate with multithreaded (and multigreenlet) environments (most
|
|
|
|
|
notably the newrelic agent). Instead of "joining" the gevent hub, a new
|
|
|
|
|
"dummy" greenlet is spawned and "joined". During shutdown only the
|
|
|
|
|
greenlets spawned by uWSGI are taken in account, and after all of them are
|
|
|
|
|
destroyed the process will exit. This is different from the old approach
|
|
|
|
|
where the process wait for ALL the currently available greenlets (and
|
|
|
|
|
monkeypatched threads). If you prefer the old behaviour just specify the
|
|
|
|
|
option --gevent-wait-for-hub
|
|
|
|
|
* Bugfixes/Improvements
|
|
|
|
|
* fixed CPython reference counting bug in rpc and signal handlers
|
|
|
|
|
* improved smart-attach-daemon for slow processes
|
|
|
|
|
* follow Rack specifications for QUERY_STRING, SCRIPT_NAME,SERVER_NAME and
|
|
|
|
|
SERVER_PORT
|
|
|
|
|
* report missing internal routing support (it is only a warning when
|
|
|
|
|
libpcre is missing)
|
|
|
|
|
* better ipcsem support during shutdown and zerg mode (added
|
|
|
|
|
--persistent-ipcsem as special case)
|
|
|
|
|
* fixed fastcgi bug exposed by apache mod_fastcgi
|
|
|
|
|
* do not call pre-jail hook on reload
|
|
|
|
|
* force linking with -lrt on solaris
|
|
|
|
|
* report thunder lock status
|
|
|
|
|
* allow custom priority in rsyslog plugin
|
|
|
|
|
* New features
|
|
|
|
|
* https://uwsgi-docs.readthedocs.org/en/latest/Changelog-1.9.16.html
|
|
|
|
|
* FreeBSD jails native support
|
|
|
|
|
* The Rados plugin: Based on the The GlusterFS plugin plugin, a new one
|
|
|
|
|
allowing access to Rados object storage is available
|
|
|
|
|
* The TunTap router: A new method of providing virtual network interfaces
|
|
|
|
|
in namespaces
|
|
|
|
|
* Linux O_TMPFILE: Latest Linux kernel supports a new operational mode for
|
|
|
|
|
opening files: O_TMPFILE. This flag opens a temporary file (read:
|
|
|
|
|
unlinked) without any kind of race conditions. This mode is
|
|
|
|
|
automatically used if available (no options needed)
|
|
|
|
|
* Linux pivot-root: When dealing with Linux namespaces, changing the root
|
|
|
|
|
filesystem is one of the main task. chroot() is generally too simple,
|
|
|
|
|
while pivot-root allows you more advanced setup. The syntax is
|
|
|
|
|
--pivot-root <new_root> <old_root>
|
|
|
|
|
* Cheaper memlimit: This new check allows control of dynamic process
|
|
|
|
|
spawning based on the RSS usage
|
|
|
|
|
* Log encoders: A method of encoding logs for arbitrary external logging
|
|
|
|
|
systems. They are basically patterns you can apply to each logline
|
|
|
|
|
* New "advanced" Hooks: A new series of hooks for developers needing
|
|
|
|
|
little modifications to the uWSGI cores are available.
|
|
|
|
|
* New mount/umount hooks: When dealing with namespaces and jails, mounting
|
|
|
|
|
and unmounting filesystems is one of the most common tasks. As the mount
|
|
|
|
|
and umount commands could not be available during the setup phase, these
|
|
|
|
|
2 hooks have been added directly calling the syscalls.
|
|
|
|
|
- Changes from 1.9.15
|
|
|
|
|
* Bugfixes
|
|
|
|
|
* fixed jvm options hashmap (#364)
|
|
|
|
|
* fixed python3 wsgi.file_wrapper
|
|
|
|
|
* fixed python3 --catch-exceptions
|
|
|
|
|
* fixed type in pypy wsgi.input.read
|
|
|
|
|
* better symbol detection for pypy
|
|
|
|
|
* improved ruby libraries management on heroku
|
|
|
|
|
* fixed http-keepalive memleak
|
|
|
|
|
* fixed spooler body management under CPython
|
|
|
|
|
* fixed unshare() usage of 'fs'
|
|
|
|
|
* fixed UWSGI_PROFILE usage when building plugins with --plugin
|
|
|
|
|
* improved SmartOS support and added OmniOS support
|
|
|
|
|
* New features
|
|
|
|
|
* The PTY plugin: This new plugin allows you to generate pseudoterminals
|
|
|
|
|
and attach them to your workers. Pseudoterminals are then reachable via
|
|
|
|
|
network (UNIX or TCP sockets). You can use them for shared debugging or
|
|
|
|
|
to have input channels on your webapps.
|
|
|
|
|
* strict mode: If you want to check all of your config options, you can
|
|
|
|
|
now add the --strict option. Unknown options will trigger a fatal error.
|
|
|
|
|
* fallback configs: Being very cheap (in term of resources) and supporting
|
|
|
|
|
lot of operating systems and architectures, uWSGI is heavily used in
|
|
|
|
|
embedded systems. One of the common feature in such devices is the
|
|
|
|
|
"reset to factory defaults." uWSGI now natively support this kind of
|
|
|
|
|
operation, thanks to the --fallback-config option.
|
|
|
|
|
* --perl-exec and --perl-exec-post-fork: You can now run custom perl code
|
|
|
|
|
before and after the fork() calls. Both options simply take the perl
|
|
|
|
|
script as the argument
|
|
|
|
|
* uwsgi.cache_keys([cache]): This api function has been added to the
|
|
|
|
|
python and pypy plugins. It allows you to iterate the keys of a local
|
|
|
|
|
uWSGI cache. It returns a list.
|
|
|
|
|
* added %(ftime) to logformat: this is like 'ltime' but honouring the
|
|
|
|
|
--log-date format
|
|
|
|
|
* protect destruction of UNIX sockets when another instance binds them: on
|
|
|
|
|
startup uWSGI now get the inode of the just created unix socket. On
|
|
|
|
|
vacuum if the inode is changed the unlink of the socket is skipped. This
|
|
|
|
|
should help avoiding sysadmin destructive race conditions or
|
|
|
|
|
misconfigurations
|
|
|
|
|
* --worker-exec2: this is like --worker-exec but happens after post_fork
|
|
|
|
|
hooks
|
|
|
|
|
* allow post_fork hook on general plugins: general plugins (the ones
|
|
|
|
|
without the .request hook) can now expose the .post_fork hook
|
|
|
|
|
* --call hooks: In the same spirit of exec-* hooks, call hooks works in
|
|
|
|
|
the same way but directly calling functions in the current process
|
|
|
|
|
address space (they have to be exposed as valid symbols)
|
|
|
|
|
* init_func support for plugins, and --need-plugin variant: when loading a
|
|
|
|
|
plugin you can call a symbol defined in it soon after dlopen()
|
|
|
|
|
* added commodity loader for the pecan framework: A new python loader
|
|
|
|
|
(--pecan) has been added for the pecan WSGI framework
|
|
|
|
|
* UWSGI_REMOVE_INCLUDES: during the build phase you can remove include
|
|
|
|
|
headers with the UWSGI_REMOVE_INCLUDES environment variable. This is
|
|
|
|
|
useful for cross-compilation where some automatically detected includes
|
|
|
|
|
could be wrong
|
|
|
|
|
* router_expires: We already have various options in the uWSGI core to set
|
|
|
|
|
Expires header. This router has been added to allow customizing them
|
|
|
|
|
* announce Legion's death on reload/shutdown: Every legion member will now
|
|
|
|
|
announce its death as soon as a reload (or a shutdown) of the instance
|
|
|
|
|
is triggered
|
|
|
|
|
* The GlusterFS plugin (beta): This new plugin make use ot the new
|
|
|
|
|
glusterfs c api, avoiding the overhead of fuse when serving files stored
|
|
|
|
|
on glusterfs servers. The plugin supports the multiprocess and
|
|
|
|
|
multithreads modes, while async modes are currently in beta.
|
|
|
|
|
* --force-gateway: all of the gateways (fastrouter, httprouter, rawrouter,
|
|
|
|
|
sslrouter ...) has to be run under the master process. By specifying
|
|
|
|
|
--force-gateway, you will bypass this limit
|
|
|
|
|
* preliminary python3 profiler (beta): The --profiler pycall/pyline
|
|
|
|
|
profilers have been added to python3. They are beta quality (they leak
|
|
|
|
|
memory), but should be usable.
|
|
|
|
|
* file monitor support for OpenBSD,NetBSD,DragonFlyBSD: Both --fs-reload
|
|
|
|
|
and the @fmon decorator now work on these operating systems.
|
|
|
|
|
* --cwd: you can force the startup "current working directory" (used by
|
|
|
|
|
--vacuum and the reloading subsystem) with this option. It is useful in
|
|
|
|
|
chroot setups where the binary executable change its place.
|
|
|
|
|
* --add-gid: This options allows you to add additional group ids to the
|
|
|
|
|
current process. You can specify it multiple times.
|
|
|
|
|
* Emperor and Linux namespaces improvements: Thanks to the cooperation
|
|
|
|
|
with the pythonanywhere.com guys the Emperor has been improved for
|
|
|
|
|
better Linux namespaces integration. The --emperor-use-clone option
|
|
|
|
|
allows you to use clone() instead of fork() for your vassal's spawn. In
|
|
|
|
|
this way you can create the vassals directly in a new namespace. The
|
|
|
|
|
function takes the same parameters of the --unshare one
|
|
|
|
|
* --wait-for-interface: As dealing with the Linux network namespace
|
|
|
|
|
introduces lot of race conditions (expecially when working with virtual
|
|
|
|
|
ethernets), this new option allows you to pause an instance until a
|
|
|
|
|
network interface is available. This is useful when waiting for the
|
|
|
|
|
emperor to move a veth to the vassal namespace, avoiding the vassal to
|
|
|
|
|
run commands on the interface before is available
|
|
|
|
|
- Changes from 1.9.14
|
|
|
|
|
* Bugfixes
|
|
|
|
|
* fixed python modifier1 management (was hardcoded to 0)
|
|
|
|
|
* fixed url decoding in http and http-socket (it now supports lowercase
|
|
|
|
|
hex, spotted by Miles Shang)
|
|
|
|
|
* more user-friendly error message for undeletable unix sockets
|
|
|
|
|
* fixed --http-auto-chunked in http 1.1 keepalive mode (André Cruz)
|
|
|
|
|
* fixed python wheel support (Fraser Nevett)
|
|
|
|
|
* fixed --safe-fd (was not correctly honoured by the Emperor)
|
|
|
|
|
* fixed ruby 2.x reloading
|
|
|
|
|
* improved support for OSX Tiger (yes, OSX 10.4)
|
|
|
|
|
* better computation of listen queue load
|
|
|
|
|
* fixed v8 build on OSX
|
|
|
|
|
* fixed pypy rpc
|
|
|
|
|
* improved chunked api performance
|
|
|
|
|
* fixed latin1 encoding with python3
|
|
|
|
|
* fixed --spooler-ordered (Roberto Leandrini)
|
|
|
|
|
* fixed php status line reported in request logs
|
|
|
|
|
* New features
|
|
|
|
|
* Ruby 1.9.x/2.x native threads support: Ruby 1.9 (mri) introduced native
|
|
|
|
|
threads support (very similar to the CPython ones, governed by a global
|
|
|
|
|
lock named GVL).
|
|
|
|
|
* Filesystem monitoring interface (fsmon): Currently uWSGI is able to
|
|
|
|
|
monitor filesystem changes using the "simple" --touch-* facility or the
|
|
|
|
|
signal framework (using various operating system api like inotify or
|
|
|
|
|
kqueue). A new interface for plugin writers named "fsmon" has been
|
|
|
|
|
added, allowing easy implementation of realtime filesystem monitors.
|
|
|
|
|
* uClibc support: uWSGI can now be built on uclibc-based systems
|
|
|
|
|
(generally, embedded systems)
|
|
|
|
|
* Lua 5.2 support: the lua plugins now support Lua 5.2
|
|
|
|
|
* setscheme, setdocroot: These two new routing actions allow you to
|
|
|
|
|
dynamically override DOCUMENT_ROOT and UWSGI_SCHEME
|
|
|
|
|
* sendfile, fastfile: These two actions (added to the router_static
|
|
|
|
|
plugin) allow you to return static files to the client bypassing the
|
|
|
|
|
DOCUMENT_ROOT check.
|
|
|
|
|
* --reload-on-fd and --brutal-reload-on-fd: Two new options allowing you
|
|
|
|
|
to reload an instance when a file descriptor is ready. Currently the
|
|
|
|
|
best usage scenario is for the oom_control cgroup interface (via
|
|
|
|
|
eventfd)
|
|
|
|
|
* Spooler improvements: You can now pass to all of the available
|
|
|
|
|
spooler-related decorators the "pass_arguments=True" option, to
|
|
|
|
|
automatically serialize the spooler function parameters. This is an
|
|
|
|
|
abstraction avoiding you the need to serialize/deserialize arguments. In
|
|
|
|
|
addition to this the decorators have been extended to implement __call__
|
|
|
|
|
in this way you can directly call spoller decorated functions as normal
|
|
|
|
|
functions.
|
|
|
|
|
* --emperor-nofollow: Enabling this option will allow the Emperor to watch
|
|
|
|
|
for symbolic links mtime update instead of the mtime of the real file.
|
|
|
|
|
* daemontools envdir support: Albeit daemontools look old-fashioned,
|
|
|
|
|
things like envdirs (http://cr.yp.to/daemontools/envdir.html) are
|
|
|
|
|
heavily used in various context. uWSGI got two new options (--envdir
|
|
|
|
|
<path> and --early-envdir <path>) allowing you to support this special
|
|
|
|
|
(archaic ?) configuration way.
|
|
|
|
|
* xmldir improvements: The xmldir plugins has been improved supporting
|
|
|
|
|
iconv-based utf8 encoding. Various minor fixes have been committed.
|
|
|
|
|
|
2013-09-20 19:58:22 +02:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Sep 20 15:06:48 UTC 2013 - dvaleev@suse.com
|
|
|
|
|
|
|
|
|
|
- enable v8 conditionally (enables build for powerpc and s390)
|
|
|
|
|
|
2013-09-05 18:43:19 +02:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Sep 5 18:43:14 CEST 2013 - mls@suse.de
|
|
|
|
|
|
|
|
|
|
- add libperl_requires, as we link against libperl and thus
|
|
|
|
|
need a specific version of perl
|
|
|
|
|
|
2013-07-16 22:42:44 +02:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Jul 16 20:41:08 UTC 2013 - jfunk@funktronics.ca
|
|
|
|
|
|
|
|
|
|
- Add -Wformat to emperor_pg CFLAGS since pg-config --cflags returns
|
|
|
|
|
-Wformat-security and gcc complains about it's exclusion
|
|
|
|
|
|
2013-05-31 22:55:51 +02:00
|
|
|
|
-------------------------------------------------------------------
|
2013-07-16 22:15:04 +02:00
|
|
|
|
Tue Jul 16 17:15:59 UTC 2013 - jfunk@funktronics.ca
|
|
|
|
|
|
|
|
|
|
- Update to 1.9.13
|
|
|
|
|
* Bugfixes
|
|
|
|
|
* Fixed a corner case bug when response offloading is enabled, but no
|
|
|
|
|
request plugin is loaded
|
|
|
|
|
* Fixed harakiri routing when multiple rules are in place (return NEXT
|
|
|
|
|
instead of CONTINUE)
|
|
|
|
|
* Fixed curl crashing master on slow dns responses (Łukasz Mierzwa)
|
|
|
|
|
* Removed PTRACE check in uwsgi.h (it is no more needed since uWSGI 1.0)
|
|
|
|
|
* Fixed -print-sym
|
|
|
|
|
* Added a newline in -cflags
|
|
|
|
|
* Improved python3 detection and compilation
|
|
|
|
|
* Fixed Coro::AnyEvent loop engine (John Berthels)
|
|
|
|
|
* Rack api functions are now static
|
|
|
|
|
* Better fastcgi handling of big uploads
|
|
|
|
|
* Improved GCC usage on Darwin for Python non-apple builds
|
|
|
|
|
* Fixed XCLIENT usage in rawrouter
|
|
|
|
|
* Use the clang preprocessor instead of hardcoded 'cpp' when CC=clang is
|
|
|
|
|
used
|
|
|
|
|
* Set 16bit options to 65535 when higher values are requested
|
|
|
|
|
* Fixed virtualhosting (it is now compatible with 1.4 configurations)
|
|
|
|
|
* New features
|
|
|
|
|
* https://uwsgi-docs.readthedocs.org/en/latest/Changelog-1.9.13.html
|
|
|
|
|
* PyPy performance and features improvents
|
|
|
|
|
* Chunked input api
|
|
|
|
|
* Toward better third-party plugins management: the -dot-h option
|
|
|
|
|
* setmethod, seturi and setpathinfo routing action
|
|
|
|
|
* UWSGI_INCLUDES
|
|
|
|
|
* Improved set_user_harakiri api function
|
|
|
|
|
* -add-cache-item [cache ]KEY=VALUE
|
|
|
|
|
* the router_xmldir plugin
|
|
|
|
|
* Implement __call__ for @spool* decorators
|
|
|
|
|
* the uwsgi[lq] routing var
|
|
|
|
|
* -use-abort
|
|
|
|
|
- Changes from 1.9.12
|
|
|
|
|
* Bugfixes
|
|
|
|
|
* offloading cache writes will return the correct status code and not 202
|
|
|
|
|
* you can now control the path of temporary files setting the TMPDIR
|
|
|
|
|
environment variable (this fixes an old issue for users without control
|
|
|
|
|
over /tmp)
|
|
|
|
|
* fixed a compilation error on amqp imperial monitor
|
|
|
|
|
* cron commands are correctly escaped when reported in the stats server
|
|
|
|
|
* fixed fastcgi parser corner-case bug with big uploads
|
|
|
|
|
* fixed support for newest cygwin
|
|
|
|
|
* New Features
|
|
|
|
|
* https://uwsgi-docs.readthedocs.org/en/latest/Changelog-1.9.12.html
|
|
|
|
|
* Offloading responses
|
|
|
|
|
* JWSGI and JVM improvements
|
|
|
|
|
* -touch-signal
|
|
|
|
|
* The "pipe" offload engine
|
|
|
|
|
* The new redis router
|
|
|
|
|
* The "hash" router
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
2013-05-31 22:55:51 +02:00
|
|
|
|
Fri May 31 18:52:08 UTC 2013 - jfunk@funktronics.ca
|
|
|
|
|
|
|
|
|
|
- Fix path to uwsgi binary in service file
|
|
|
|
|
- Install uwsgi.ini
|
|
|
|
|
- Fix signed/unsigned comparison in emperor_amqp
|
|
|
|
|
|
2013-05-31 20:42:21 +02:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed May 29 17:26:24 UTC 2013 - jfunk@funktronics.ca
|
|
|
|
|
|
|
|
|
|
- Deprecated init script and sysconfig file in favor of systemd service and a
|
|
|
|
|
default configuration file /etc/uwsgi/uwsgi.ini
|
|
|
|
|
- Update README to describe important changes
|
|
|
|
|
- Removed separate packages for plugins that have no uncommon requirements
|
|
|
|
|
- Update to 1.9.11
|
|
|
|
|
* Fixed Python 3 stdout/stderr buffering
|
|
|
|
|
* Fixed mule messages (@mulefunc is now reliable)
|
|
|
|
|
* Fixed SCRIPT_NAME handling in dynamic mode
|
|
|
|
|
* Fixed X-Sendfile with gzip static mode
|
|
|
|
|
* Fixed cache item maximum size with custom block size
|
|
|
|
|
* Fixed cache path handling
|
|
|
|
|
* Added the new high-performance PyPy plugin
|
|
|
|
|
* You can now avoid overlapping crons using --unique-cron. The uWSGI master
|
|
|
|
|
will track death of a single task, and until its death the same cron will
|
|
|
|
|
not be triggered
|
|
|
|
|
* A key/value variant of the --cron option is now available
|
|
|
|
|
* When using the cron2 option you are allowed to set a harakiri timeout for a
|
|
|
|
|
cron task. Just add harakiri=n to the options
|
|
|
|
|
* Added support for GNU Hurd
|
|
|
|
|
* A new offload engine named "memory" allows to offload memory transfers. The
|
|
|
|
|
cache router automatically supports it. To enable it just add
|
|
|
|
|
--offload-threads <n>
|
|
|
|
|
* An example websocket chat using Redis has been added to the repository
|
|
|
|
|
* You can now define a routing table to be executed as soon as you set the
|
|
|
|
|
HTTP status code in your plugin
|
|
|
|
|
* Generally the wsgi.file_wrapper callable expects a file-like object. PEP
|
|
|
|
|
333/3333 reports a special pattern when the object is not a file (call
|
|
|
|
|
read() until the object is consumed). uWSGI now supports this pattern (even
|
|
|
|
|
if in a hacky way)
|
|
|
|
|
* When using --http-keepalive you can now hold the connection open even if
|
|
|
|
|
the request has a body
|
|
|
|
|
* You can now set a harakiri timer for each request using internal routing
|
|
|
|
|
* The RPC plugin has been extended to allows interoperation with other
|
|
|
|
|
standards. Currently a simple HTTP wrapper and an XML-RPC one are exposed
|
|
|
|
|
- 1.9.10
|
|
|
|
|
* fixed alarm threads during reloads
|
|
|
|
|
* fixed uninitialized memory in --touch-* options
|
|
|
|
|
* fixed a regression in --attach-daemon
|
|
|
|
|
* Added gccgo plugin. As Go 1.1 will be no no more compatible with uWSGI,
|
|
|
|
|
gccgo will became the official way for running go apps
|
|
|
|
|
* You can now run routing rules after a request. Obviously not all of the
|
|
|
|
|
exposed actions make sense after the request but you should be able to
|
|
|
|
|
write even more complex setup
|
|
|
|
|
- 1.9.9
|
|
|
|
|
* Special warning: The router_basicauth plugin has changed its default
|
|
|
|
|
behaviour to return "break" if authorization fails. The "basicauth-next"
|
|
|
|
|
action, uses the old behaviour (returning "next"). This new approach should
|
|
|
|
|
reduce security problems caused by wrong configurations
|
|
|
|
|
* do not increment "tx" statistics counter for "unaccountable" plugins
|
|
|
|
|
* fixed --backtrace-depth
|
|
|
|
|
* fixed cache-sync parsing
|
|
|
|
|
* fixed mule farms initialization
|
|
|
|
|
* fixed multithreading bug when regexp conditional route is used
|
|
|
|
|
* fixed default-app usage in the psgi plugin
|
|
|
|
|
* fixed python dynamic mode + threads
|
|
|
|
|
* fixed error reporting in corerouter when retry is in place
|
|
|
|
|
* correctly report harakiri condition for gateways
|
|
|
|
|
* Added the WebDav plugin
|
|
|
|
|
* Added support for Go 1.1. Albeit you can successfully embed go 1.1 apps in
|
|
|
|
|
uWSGI, go 1.1 will be completely fork() unsafe. That means you are not able
|
|
|
|
|
to use multiprocessing, the master, mules and so on
|
|
|
|
|
* Stackless, Greenlet and Fiber support have been updated to support new
|
|
|
|
|
async features
|
|
|
|
|
* You can now authenticate over radius servers using the router_radius plugin
|
|
|
|
|
* Added another authentication backend, using SPNEGO (kerberos)
|
|
|
|
|
* Added the ldap authenticator
|
|
|
|
|
* Removed the GOON action, as it was messy and basically useless with the new
|
|
|
|
|
authentication approach
|
|
|
|
|
* The "setscriptname" action has been added to override the internally
|
|
|
|
|
computed SCRIPT_NAME (not only the var)
|
|
|
|
|
* The "donotlog" action forces uWSGI to not log the current request
|
|
|
|
|
* The "regexp" routing conditions has been improved to allows grouping. Now
|
|
|
|
|
you can easily manipulate strings and adding them as new request VARS
|
|
|
|
|
* uwsgi.atexit hook is now honoured by the gevent plugin (Author: André Cruz)
|
|
|
|
|
* Transformations can be applied on the fly (no buffering involved)
|
|
|
|
|
* The xattr plugin allows you to reference files extended attributes in the
|
|
|
|
|
internal routing subsystem
|
|
|
|
|
* Added airbrake plugin. Currently at early stage of development, it allows
|
|
|
|
|
sending uWSGI exceptions and alarms to airbrake servers
|
|
|
|
|
* Added legion daemons, allowing you to run external processes only when an
|
|
|
|
|
instance is a lord
|
|
|
|
|
* A new "touch" option (like --touch-reload) is available, triggering the
|
|
|
|
|
execution of a command
|
|
|
|
|
* You can now use the caching subsystem to store 64bit signed numbers and
|
|
|
|
|
apply atomic operations on them
|
|
|
|
|
- 1.9.8
|
|
|
|
|
* fixed a crash when reloading the master
|
|
|
|
|
* fixed a crash in async mode + uGreen
|
|
|
|
|
* the 'mime' routing var requires a request var (not a raw string)
|
|
|
|
|
- 1.9.7
|
|
|
|
|
* fixed teajs engine build
|
|
|
|
|
* fixed offloading status code (set to 202 when a request is offloaded)
|
|
|
|
|
* execute cron tasks within 60 second resolution, instead of 61 seconds
|
|
|
|
|
* fixed websocket proxy
|
|
|
|
|
* check for python3 unicode encoding (instead of crashing...)
|
|
|
|
|
* fixed ipcsem removal on reload
|
|
|
|
|
* fixed kqueue timer on OpenBSD, NetBSD and DragonFlyBSD
|
|
|
|
|
* fixed/reimplemented perl uwsgi::register_rpc
|
|
|
|
|
* fixed fd leak on sendfile() error
|
|
|
|
|
* fixed Content-Length when gzip file variant is used
|
|
|
|
|
* allows non-request plugins to register rpc functions
|
|
|
|
|
* more robust error checking for cgroups
|
|
|
|
|
* honour SCRIPT_NAME the in the PSGI plugin when multiple perl apps are
|
|
|
|
|
mounted
|
|
|
|
|
* Added legion cron to force only one instance of an application in legion
|
|
|
|
|
mode to execute cron tasks
|
|
|
|
|
* The curl_cron plugin has been added allowing the cron subsystem to call
|
|
|
|
|
urls (via libcurl) instead of unix commands
|
|
|
|
|
* The cachestore routing function can now directly store items in gzip format
|
|
|
|
|
* Added --skip-atexit to avoid calling atexit() hooks to workaround a bug in the
|
|
|
|
|
mongodb client library
|
|
|
|
|
* The http and uwsgi routing instructions are now more smart. You can cache
|
|
|
|
|
their output and get the right status code in the logs
|
|
|
|
|
* Added a generic api for manipulating the response has been added
|
|
|
|
|
(cachestore uses it)
|
|
|
|
|
* You can now trigger alarms when an fd is ready for read with --alarm-fd
|
|
|
|
|
* The spooler server plugin and the cheaper busyness algorithm are now
|
|
|
|
|
compiled in by default
|
|
|
|
|
- 1.9.6
|
|
|
|
|
* workaround for building the python plugin with gcc 4.8
|
|
|
|
|
* Sqlite and LDAP configuration moved to plugins
|
|
|
|
|
* New instructions added to allow for dynamic apps using internal routing
|
|
|
|
|
* You can now configure how the carbon plugin send the response average when
|
|
|
|
|
no requests have been managed
|
|
|
|
|
* Added numeric checks for the internal routing
|
|
|
|
|
* Added math and time support in the internal routing
|
|
|
|
|
* Added non-standard seek() and tell() to wsgi.input (post-buffering
|
|
|
|
|
required)
|
|
|
|
|
* You can invoke the ipython shell instead of the default one when using
|
|
|
|
|
--pyshell
|
|
|
|
|
* Added the 'rpcraw' routing instruction (dangerous)
|
|
|
|
|
* Added preliminary support for the HTTP Range header
|
|
|
|
|
* Added the 'lord' routing condition for Legion
|
|
|
|
|
* Added GridFS authentication
|
|
|
|
|
* Added the 'uwsgi' routing var for accessing internal uWSGI parameters
|
|
|
|
|
* Added the 'alarm' routing action for triggering alarms from the routing
|
|
|
|
|
subsystem
|
|
|
|
|
* Added --rbshell for accessing a Ruby shell
|
|
|
|
|
* Added --lua-shell for accessing a Lua shell
|
|
|
|
|
* Removed the old (and useless) probe subsystem
|
|
|
|
|
* Two new hooks have been added to the Legion subsystem: --legion-node-joined
|
|
|
|
|
and --legion-node-left
|
|
|
|
|
* --socket-sndbuf and --socket-rcvbuf have been added to allow tuning of the
|
|
|
|
|
send and receive buffers of the uWSGI sockets (use with caution)
|
|
|
|
|
* V8 plugin improvements
|
|
|
|
|
- 1.9.5
|
|
|
|
|
* fixed a memory leak with cachestore routing instruction (Riccardo
|
|
|
|
|
Magliocchetti)
|
|
|
|
|
* fixed a memory leak in carbon plugin (Riccardo Magliocchetti)
|
|
|
|
|
* fixed a memory leak in the cgi plugin (Riccardo Magliocchetti)
|
|
|
|
|
* fixed old-style python dynamic apps
|
|
|
|
|
* force the emperor to honour --max-fd for vassals
|
|
|
|
|
* improved PSGI seek with post-buffering
|
|
|
|
|
* fixed kvlist escaping
|
|
|
|
|
* Added the GridFS plugin
|
|
|
|
|
* Improved V8 plugin
|
|
|
|
|
* Added the 'cgi' routing instruction to call CGI scripts directly
|
|
|
|
|
- 1.9.4
|
|
|
|
|
* fixed cache statistics exported by the stats subsystem (Łukasz Mierzwa)
|
|
|
|
|
* fixed CoroEV bug in after_request (Tom Molesworth and John Berthels)
|
|
|
|
|
* update cache items after a restore from persistent storage (Łukasz Mierzwa)
|
|
|
|
|
* fixed signal handling in non-worker processes
|
|
|
|
|
* fixed thundering herd in multiple mules setup
|
|
|
|
|
* ported the cplusplus skeletal plugin to the new api
|
|
|
|
|
* fixed uWSGI reloading when build as a shared library
|
|
|
|
|
* From now on, SmartOS is included in the officially supported operating
|
|
|
|
|
systems
|
|
|
|
|
* Support for JavaScript routing rules and configurations using V8
|
|
|
|
|
* Added the rpcnext routing action
|
|
|
|
|
* Legion improvements
|
|
|
|
|
- 1.9.3
|
|
|
|
|
* fixed imports in the JVM build system when virtualenvs are used (Ryan
|
|
|
|
|
Kaskel)
|
|
|
|
|
* fixed mod_proxy_uwsgi with apache 2.4
|
|
|
|
|
* fixed php headers generation when Status is created from the php app itself
|
|
|
|
|
* Pluggable configuration system (with Lua support)
|
|
|
|
|
* Immediate setuid and setgid with new options --immediate-uid and
|
|
|
|
|
--immediate-gid
|
|
|
|
|
* The option --emperor-tyrant-nofollow has been added forcing the emperor to
|
|
|
|
|
now follow symlinks when searching for uid/gid in tyrant mode
|
|
|
|
|
* Added the "rpcret" routing action to usa Lua to write advanced rules
|
|
|
|
|
- 1.9.2
|
|
|
|
|
* Fixed python3 response headers managament (wrong refcnt)
|
|
|
|
|
* Fixed readline() on request body when postbuffering is in place
|
|
|
|
|
* Fixed ruby fiber plugin
|
|
|
|
|
* You can now store responses automatically in the uWSGI cache using
|
|
|
|
|
route-run and the cachestore routing action
|
|
|
|
|
* routing access to cookie and query string
|
|
|
|
|
* Added empty internal routing condition
|
|
|
|
|
* Added the Geoip plugin
|
|
|
|
|
* Added the SSI plugin (beta)
|
|
|
|
|
- 1.9.1
|
|
|
|
|
* Fixed --req-logger after a graceful reload
|
|
|
|
|
* Fixed a crash with the carbon plugin
|
|
|
|
|
* Fixed signal handling when multiple workers + copy on write is in place
|
|
|
|
|
* Fixed exception handling in the Rack plugin
|
|
|
|
|
* The XSLT plugin has been added. It allows to apply XML transformation via
|
|
|
|
|
request plugin or uWSGI internal routing
|
|
|
|
|
* Legion scrolls api
|
|
|
|
|
* On demand vassals in Emperor mode
|
|
|
|
|
* The --exec-post-app hook has been added allowing you to run commands after
|
|
|
|
|
the load of an application
|
|
|
|
|
* The cache router plugin has been improved
|
|
|
|
|
* Added a crypto logger allowing for encryption in logging to remote hosts
|
|
|
|
|
via UDP
|
|
|
|
|
* The "rpc" routing instruction has been added, allowing you to call rpc
|
|
|
|
|
functions directly from the routing subsystem and forward they output to
|
|
|
|
|
the client
|
|
|
|
|
* Preliminary support for name resolving in the carbon plugin
|
|
|
|
|
* New routing conditions have been added (equal,startswith,endswith,regexp)
|
|
|
|
|
* You can reference the uWSGI version string using the %V magic var in your
|
|
|
|
|
configurations
|
|
|
|
|
* Added the 'mongodb' generic plugin
|
|
|
|
|
- 1.9
|
|
|
|
|
* From now on, all of the request plugins need to be non-blocking
|
|
|
|
|
* Added Coro::AnyEvent plugin for Perl. Requires Coro::Anyevent package
|
|
|
|
|
* We have finally a truly working JVM infrastructure
|
|
|
|
|
* The first Mono plugin attempt (in 2010) was a total failure. Now we have a
|
|
|
|
|
new shining implementation
|
|
|
|
|
* Language independent HTTP body manage
|
|
|
|
|
* Faster uwsgi/HTTP/FastCGI/SCGI native sockets
|
|
|
|
|
* Can split request/error logging
|
|
|
|
|
* Chain reloading of workers
|
|
|
|
|
* Offloading improvements
|
|
|
|
|
* Better static files management/serving
|
|
|
|
|
* New Generation Cache subsystem (cache2)
|
|
|
|
|
* The Legion subsystem is a new whole addition to the uWSGI project. It has
|
|
|
|
|
superseeded the old Clustering subsystem
|
|
|
|
|
* Cygwin (windows) support
|
|
|
|
|
* Advanced Exceptions subsystem
|
|
|
|
|
* SPDY, SSL and SNI support
|
|
|
|
|
* HTTP router keepalive, auto-chunking, auto-gzip and transparent websockets
|
|
|
|
|
* The SSL router (sslrouter) for SSL virtual hosting
|
|
|
|
|
* New Websockets API
|
|
|
|
|
* New Programmable Internal Routing (turing complete ?)
|
|
|
|
|
* A new imperial monitor has been added allowing vassals to be governed over
|
|
|
|
|
zeromq messages
|
|
|
|
|
* Total introspection via the stats server
|
|
|
|
|
* Ping requests sent using nagios plugin will no longer be counted in apps
|
|
|
|
|
request stats
|
|
|
|
|
* The --app option has been removed. To load applications on specific
|
|
|
|
|
mountpoints use the --mount option
|
|
|
|
|
* The --static-offload-to-thread option has been removed. Use the more
|
|
|
|
|
versatile --offload-threads
|
|
|
|
|
* The grunt mode has been removed. To accomplish the same behaviour just use
|
|
|
|
|
threads or directly call fork() and uwsgi.disconnect()
|
|
|
|
|
* The send_message/recv_message api has been removed (use language-supplied
|
|
|
|
|
functions)
|
|
|
|
|
- 1.5
|
|
|
|
|
* added --not-alarm-log
|
|
|
|
|
* support for TCP_FASTOPEN (Linux-only)
|
|
|
|
|
* improved emperor reloading
|
|
|
|
|
* added --get
|
|
|
|
|
* Legion subsystem
|
|
|
|
|
* emperor_zeromq plugin
|
|
|
|
|
* SNI support
|
|
|
|
|
* distributed SSL session cache
|
|
|
|
|
- 1.4.1
|
|
|
|
|
* fixed typos in corerouter plugins
|
|
|
|
|
* fixed offloading when the number of threads is higher than 1
|
|
|
|
|
* fixed static_maps for non-existent paths
|
|
|
|
|
* fixed uwsgi_connect() on modern Linux systems to reset the socket to blocking mode
|
|
|
|
|
- 1.4
|
|
|
|
|
* gevent improvements
|
|
|
|
|
* improved http/https router and fastrouter
|
|
|
|
|
* Go official support
|
|
|
|
|
* a new set of infos are exported to the stats system
|
|
|
|
|
* improved systemd support
|
|
|
|
|
* log filtering and routing
|
|
|
|
|
* improved tracebacker
|
|
|
|
|
* offload transfer for static files, and network transfers
|
|
|
|
|
* matheval support
|
|
|
|
|
* plugins can be written in Obj-C
|
|
|
|
|
* smart attach daemon
|
|
|
|
|
* added support for PEP 405 virtualenvs
|
|
|
|
|
* rawrouter with xclient support
|
|
|
|
|
* internal routing plugin for cache
|
|
|
|
|
- 1.3
|
|
|
|
|
* python tracebacker
|
|
|
|
|
* user-governed harakiri
|
|
|
|
|
* simplified external plugin development
|
|
|
|
|
* Linux namespace mountpoint improvements
|
|
|
|
|
* secured subscription system
|
|
|
|
|
* merged routers codebase (fastrouter, http, rawrouter)
|
|
|
|
|
* https support in the http router
|
|
|
|
|
* config report at the end of uWSGI build process
|
|
|
|
|
* improved subscription system (multicast and unix socket)
|
|
|
|
|
* custom options
|
|
|
|
|
* graceful reloads on shared sockets
|
|
|
|
|
* configurable log-master buffer size
|
|
|
|
|
* extreme-optimizations for the stats subsystem
|
|
|
|
|
* redislog and mongodblog plugins
|
|
|
|
|
* added python logger
|
|
|
|
|
* mongodb and postgres imperial monitors
|
|
|
|
|
* implemented psgix.logger and psgix.cleanup
|
|
|
|
|
* full rack spec compliance
|
|
|
|
|
* preliminary ipv6 support
|
|
|
|
|
* gevent graceful reloads
|
|
|
|
|
* support for multiple loggers and logformat
|
|
|
|
|
* lazy-apps to load apps after fork() but without changing reloading subsystem
|
|
|
|
|
* emperor heartbeat subsystem
|
|
|
|
|
* cheaper busyness plugin
|
|
|
|
|
* pluggable clock sources
|
|
|
|
|
* added router_rewrite and router_http plugins
|
|
|
|
|
* external spoolers
|
|
|
|
|
* support for section:// and fd:// loaders
|
|
|
|
|
* alarm subsystem (with curl and xmpp plugins)
|
|
|
|
|
|
2012-09-12 03:15:59 +02:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Sep 11 22:13:54 UTC 2012 - jfunk@funktronics.ca
|
|
|
|
|
|
|
|
|
|
- Install uwsgidecorators module for Python plugin
|
|
|
|
|
- Create sysconfig file for adding uwsgi options
|
|
|
|
|
|
2012-09-10 12:57:08 +02:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Sep 9 19:11:43 UTC 2012 - jfunk@funktronics.ca
|
|
|
|
|
|
|
|
|
|
- Don't attempt to build Erlang plugins on openSUSE < 12.2
|
|
|
|
|
- Don't attempt to build Greenlet plugin on openSUSE < 12.1
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Sep 9 18:56:43 UTC 2012 - jfunk@funktronics.ca
|
|
|
|
|
|
|
|
|
|
- Don't attempt to build Ruby 1.9 features on openSUSE < 12.2
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Sep 9 00:19:40 UTC 2012 - jfunk@funktronics.ca
|
|
|
|
|
|
|
|
|
|
- Fix JVM build on i586
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Sep 8 23:17:30 UTC 2012 - jfunk@funktronics.ca
|
|
|
|
|
|
|
|
|
|
- Fix lua requirement for openSUSE < 12.2
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Sep 8 21:41:39 UTC 2012 - jfunk@funktronics.ca
|
|
|
|
|
|
|
|
|
|
- Initial release
|
|
|
|
|
|