forked from pool/uwsgi
d2f8ca2668
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 OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=18
655 lines
32 KiB
Plaintext
655 lines
32 KiB
Plaintext
-------------------------------------------------------------------
|
|
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.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Sep 20 15:06:48 UTC 2013 - dvaleev@suse.com
|
|
|
|
- enable v8 conditionally (enables build for powerpc and s390)
|
|
|
|
-------------------------------------------------------------------
|
|
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
|
|
|
|
-------------------------------------------------------------------
|
|
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
|
|
|
|
-------------------------------------------------------------------
|
|
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
|
|
|
|
-------------------------------------------------------------------
|
|
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
|
|
|
|
-------------------------------------------------------------------
|
|
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
|
|
|
|
- Install uwsgidecorators module for Python plugin
|
|
- Create sysconfig file for adding uwsgi options
|
|
|
|
-------------------------------------------------------------------
|
|
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
|
|
|