* Bit more friendly log messages
* Add more integration tests
* Fix static library not found install error on conda
* pyuwsgi: avoid interleaving pywsgi threadstate
* Fix gracefully_kill_them_all with running requests
* Fix –catch-exceptions causing a segfault in Python 3.5+
* plugins/php: Add support for uwsgi.disconnect() function
* plugins/python: use PyOS_*Fork stable API functions on 3.7+
* core/uwsgi: set enable threads by default
* plugins/python: fix compilation with Python 3.13
* use pipe in gracefully_kill() to stop worker loop
* port pypy plugin to python3
* add some integrations tests
* apache2/mod_proxy_uwsgi: let httpd handle CL/TE for
non-http handlers CVE-2024-24795
* remove race-condition over termination of uWSGI process
when using need-app and lazy-apps (Hanan .T)
* fix 32-bit compilation with GCC14 (Rosen Penev)
* uwsgiconfig: get compiler version with -dumpfullversion
* Fix uwsgi_regexp_match() with pcre2
- drop uwsgi-93d07ec38b31.patch (upstream)
* Use parenthesis in print() statement
* Fixed bug with WSGI responses returning
* Reverted EPOLLEXCLUSIVE patch, requires more investigation
* fixed alarm backlog
- Don't build v8 plugin for PowerPC
* logpipe: Don't setsid() twice (credits: INADA Naoki)
* This release starts the 'hardening' cycle for uWSGI 2.0 (scheduled for the
OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=131
- version update to 2.0.25.1
* fixed build with gcc14
2.0.25.1
* Fix build when pcre is not found and is optional (umut)
2.0.25
* Update glusterfs io callback function signature for 6.0 (Ralf Ertzinger)
* Fix default values in help for min-worker-lifetime & legion-skew-tolerance (Thomas Riccardi)
* Fix build regression with gcc < 5 (Riccardo Magliocchetti)
* Add support for building against prcre2. This changes the regexp internal data structures (Alexandre Rossi)
* Allow the valgrind generator script to run with a different python version (Wynn Wilkes)
* Fix a potential error with not releasing the gil in uwsgi_python_rpc (Wynn Wilkes)
* Rework threading cancellation handling. This can fix issues with threading, missing atexit callbacks and whatnot. (Inada Naoki)
- modified patches
% uwsgi-1.9.17-plugin_build_path.patch (refreshed)
- deleted patches
- uwsgi-2.0.24-update-glusterfs-io-callback-signature.patch (upstreamed)
OBS-URL: https://build.opensuse.org/request/show/1173910
OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=127
- Update to 2.0.23
* Add support for Python 3.12 (Ralf Ertzinger)
* plugins/php: ini_entries is read-only since PHP 8.3 (Remi
Collet)
* Silence glibc warnings against pthread robust mutex functions
(Riccardo Magliocchetti)
* Fixup jvm library path detection (Riccardo Magliocchetti)
* Use sysconfig if distutils is not available (Steve Kowalik,
Terence D. Honles, Riccardo Magliocchetti)
OBS-URL: https://build.opensuse.org/request/show/1137313
OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=122
- 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
- Disable apache2-mod_proxy_uwsgi on Leap 15 since upstream Apache includes
the module now
- Update to 2.0.17:
* 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/request/show/597249
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/uwsgi?expand=0&rev=26
* 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
- Update License tag to SPDX 3 version:
Apache-2.0 AND GPL-2.0-only WITH GCC-exception-2.0.
- removed obsolete reproducible.patch
- Update to 2.0.16:
* [CVE-2018-6758] Stack-based buffer overflow in
core/utils.c:uwsgi_expand_path()
* Backported early_post_jail plugin hook (Bjørnar Ness)
* Fixed ipv6 suupport for http-socket (James Brown)
* Enable execinfo on DragonFly BSD (Aaron LI)
* Fix inet_ntop buffer size (Orivej Desh)
* Add worker running time metrics (Serge/yasek)
* Backported safe-pidfile, safe-pidfile2 (Nate Coraor)
* Stop using libxml2 by default on osx
* Fixed uwsgi_kvlist_parse signature
* Backport http range fixes from master (Curtis Maloney, Sokolov Yura)
* relicensed mod_proxy_uwsgi to Apache 2.0
* logging: Add ${millis} support to json encode
* plugins/router_xmldir: fixup invalid locale check (Riccardo Magliocchetti)
* Add ssl-verify-depth flag to set the max Client CA chain length (Paul Tagliamonte)
* Allow to override build date (Bernhard M. Wiedemann)
* Python 3 plugin: improved thread names handling (Jyrki Muukkonen, Mark Meyer)
* Added uwsgi_resolve_ip for redis host (ahmbas)
* plugins/gevent: Fix signal handlers (Maslov Alexander)
* Write x509 DER to the uwsgi buffer (Paul Tagliamonte)
* plugin/http: Fix compilation (Melvyn Sopacua)
* Fixed emperor throttling system (Jeremy Hiatt)
* Fix application loading without Plack after excluding “.” from @INC in new Perl versions (Anton Petrusevich)
* Fix MULE MSG QUEUE IS FULL message hint (Eugene Tataurov)
* Build System: support k_minor has a _xxx suffix (TOGO Li)
* Fixed drop-after-* options (Robert DeRose)
* Add mule_send_msg success indicator (Josh Tiras)
* Properly check item size in uwsgi_queue_push (Josh Tiras)
* FastRouter / HTTP Router can now have a ‘fallback’ key configured
* HTTP Router now supports post-buffer, just like FastRouter
* Fix handling of env in embedded dict in Python plugin (could cause segfaults in single thread mode)
* Add support for Brotli (.br) with –static-gzip
* Back-ported HTTP/1.1 support (–http11-socket) from 2.1
OBS-URL: https://build.opensuse.org/request/show/580881
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/uwsgi?expand=0&rev=25
- fix a leaf problem found by repo-checker
* uwsgi-python3 can't be install because it requires python-base = 3.6
which should be python3-base
- 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/555662
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/uwsgi?expand=0&rev=24
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
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
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.