- 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 OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=5
This commit is contained in:
311
uwsgi.changes
311
uwsgi.changes
@@ -1,3 +1,314 @@
|
||||
-------------------------------------------------------------------
|
||||
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)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 11 22:13:54 UTC 2012 - jfunk@funktronics.ca
|
||||
|
||||
|
Reference in New Issue
Block a user