- update 2.0.20:
* Switch default python for build to python3 (Riccardo Magliocchetti)
* Add support for PHP 8 (Riccardo Magliocchetti)
* Drop support for PHP < 7 as it is EOL since end of 2018 (Riccardo Magliocchetti)
* Fix segfaults when using –wsgi-env-behavior=holy (Antonio Cuni)
* Replace uwsgi.h system includes in core and proto dirs for Bazel (Serge Bazanski)
* gevent: fix compilation with clang11 (László Károlyi)
* Fix Python 3.9 deprecations warnings (Riccardo Magliocchetti)
* Add trove classifier for Python 3.9 (Adrian)
* Fix message in Log SIGINT/SIGTERM triggered kill_them_all (Delena Malan)
* Support 7 in weekedays as an alias for sunday to match crontab behaviour (Riccardo Magliocchetti)
* Document http-timeout default of 60 seconds (Etienne H)
* Add option to override python sys.executable using py-executable config
* Allow specifying an iteration to uwsgi::add_rb_timer (Luciano Rocha)
* Allow to compile with Python versions with minor version with 2+ digits (Cyrille Pontvieux)
* Take into account new naming for LIBPL since python 3.6 (ilrico)
* Added missing HTTP status codes messages (James Brown)
* Official support for Python 3.10
OBS-URL: https://build.opensuse.org/request/show/935797
OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=104
* The Emperor throttling subsystem does not make use anymore of blocking
functions, like usleep(), this should fix stats serving and should improve
vassals startup time
* [Security/PHP] enforce DOCUMENT_ROOT check when using --php-docroot to
avoid directory traversal (Marios Nicolaides)
* added --shutdown-sockets to improve graceful shutdowns (Andrew Wason)
OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=66
incorporated the jengelh descriptions as well. Sorry, for re-submitting, found a bug. Tested on Tumbleweed x86_64 with the php7 plugin.
- creating /run/uwsgi for sockets via systemd service now
- Update to 2.0.15: [2017-03-30]
* workaround for the holy allocator for avoiding crashes with newrelic (see
Issues notes)
* avoid time overflow in request logs during (even minimal) clock skew
* fixed python logger with python3
* fixed catch-exceptions with python3
* backported “don’t clone $env->{‘psgix.io’} on ‘PSGI cancel’”
* added support for authentication in the redis logger
* added the spinningfifo action hook to the core
* fixed compilation with php 7.1 (Дамјан Георгиевски)
* correctly returns error code 22 in lazy_apps + master_mode
* fixed compilation for OpenSSL 1.1 (Riccardo Magliocchetti)
* Add a –skip-atexit-teardown option to skip perl/python teardown (Ævar
Arnfjörð Bjarmason)
* fixed static file serving over https-socket
- building now php7 plugin via php7-embed package for Factory/Tumbleweed
- removing uwsgi-1.9.13-emperor_pg-Wformat.patch
- Trim filler wording from description.
OBS-URL: https://build.opensuse.org/request/show/540177
OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=58
* Fix compilation with GCC 6
* Remote rpc fixes (Darvame)
* Musl support! (Natanael Copa, Matt Dainty, Riccardo Magliocchetti)
* Create the spooler directory if it does not exist (Alexandre Bonnetain)
* Fix compilation on big endian linux (Riccardo Magliocchetti)
* A ton of cache fixes (Darvame)
* Make it easier to compile plugins on a different directory (Jakub
Jirutka)
* Add wheel package machinery (Matt Robenolt)
* Use EPOLLEXCLUSIVE for reading, helps with the thundering herd problem
(on linux 4.5+) (INADA Naoki)
* Fix apache 2.4 integration with unix sockets (Alexandre Rossi)
* Add HTTP/2 support to apache 2 proxy (Michael Fladischer, OGAWA Hirofumi)
* Fix apache mod proxy compilation with apache 2.4.20 (Mathieu Arnold)
* Default to clang as default compiler on MacOS X (Riccardo Magliocchetti)
* Added --cgi-close-stdin-on-eof (Roberto De Ioris)
OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=48
* Bugfixes
* fixed a memory leak with subscription system
* fixed shortcut for ssl-socket
* fixed apache2 mod_proxy_uwsgi (it is now considered stable with all mpm
engines)
* fixed SCRIPT_NAME and PATH_TRANSLATED generation in php plugin (thanks
Matthijs Kooijman)
* remove the old FIFO socket from the event queue when recreating it
(thanks Marko Tiikkaja)
* New features
* The new Rados plugins. The rados plugin has been improved and
stabilized, and now it is considered usable in production.
* --if-hostname. This is a configuration logic for including options only
when the specified hostname matches
* Apache2 mod_proxy_uwsgi stabilization. After literally years of bug
reports, and corrupted data, the mod_proxy_uwsgi is now stable, and on
modern apache2 releases it supports unix sockets too
* uwsgi[rsize] routing var. This routing var (meaningful only in the
'final' chain) exposes the response size of the request
* the callint scheme. This scheme allows you to generate blob from
functions exposed by your uWSGI instance
* --fastrouter-fallback-on-no-key. The corerouters fallback procedure
requires a valid key (domain name) has been requested. This option
forces the various routers to trigger the fallback procedure even if a
key has not been found
* php 5.5 opcode caching via --php-sapi-name
* Improved chain-reloading. Thanks to Marko Tiikkaja the chain reloading
procedure correctly works in cheaper modes and it is more verbose
* added 'chdir' keyval to --attach-daemon2. You can now set where attached
OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=36
* Bugfixes
* fixed spooler 'at' key usage
* fixed a memory and fd leak with on-demand Emperor sockets
* on __APPLE__ use LOG_NOTICE for syslog plugin
* fixed mongrel2 support
* hack for avoiding libmongoclient to crash on broken cursor
* log alarm is now a uwsgi_log_verbose() wrapper
* fixed tuntap router memory corruption
* Set ECDHE curve independently from DHE parameters (Hynek Schlawack)
* do not wait for a whole Emperor cycle before checking for each waitpid
* fix a regression with caller() not indicating the starting *.psgi program
(Ævar Arnfjörð Bjarmason)
* New features
* The Emperor now responds to two new signals:
* SIGWINCH: force an emperor rescan of vassals
* SIGURG: cleanup the Emperor states (for now it only clears its blacklist)
* --build-plugin. Building plugins on-the-fly from git repositories
* uwsgi.add_var(key, value). You can now set request variables directly
from your app, for better integration with the internal routing
subsystem
* 'disableheaders' routing action. This new action disables the sending of
response headers, independently by the current request state
* Smarter Emperor on bad conditions. Now the Emperor completely destroys
internal vassal-related structures when it is impossible to correctly
kill a broken vassal (both for inconsistent Emperor state or for
internal system problems)
- Update to 2.0.2:
OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=34
* Bugfixes
* fixed python3 support on older compilers/libc
* allow starting in spooler-only mode
* fixed cache bitmap support and added test suite (credits: Danila Shtan)
* fixed ftime log var
* added async remote signal management
* fixed end-for and end-if
* fixed loop in internal-routing response chain
* fixed pypy execute_source usage
* logpipe: Don't setsid() twice (credits: INADA Naoki)
* New features and improvements
* CGI plugin
* The plugin has been improved to support streaming
* The long-awaited async support is finally ready
* PSGI loading improvements
* The PSGI loader now tries to use Plack::Util::load_psgi() function
instead of simple eval
OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=31
* 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
OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=27
* 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
OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=25
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
* 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
OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=13