uwsgi/uwsgi.changes

1844 lines
88 KiB
Plaintext
Raw Permalink Normal View History

-------------------------------------------------------------------
Thu Dec 5 07:06:07 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Added patch:
* uwsgi-reproducible-jar-mtime.patch
+ Use SOURCE_DATE_EPOCH for reproducible jar mtime
+ Applied if building with Java >= 17
-------------------------------------------------------------------
Tue Nov 5 14:58:48 UTC 2024 - Markéta Machová <mmachova@suse.com>
- add python313.patch to support the newest CPython
-------------------------------------------------------------------
Tue Oct 29 17:46:07 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 2.0.28 (bsc#1222332, CVE-2024-24795):
* 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)
-------------------------------------------------------------------
Thu Jul 25 16:31:34 UTC 2024 - Martin Jambor <mjambor@suse.com>
- Added a backport of uwsgi-93d07ec38b31.patch to fix a type
incompatibility problem to enable build with GCC 14.
-------------------------------------------------------------------
Tue May 14 07:07:42 UTC 2024 - pgajdos@suse.com
- 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)
-------------------------------------------------------------------
Fri Mar 15 14:26:20 UTC 2024 - James Oakley <jfunk@funktronics.ca>
- Update to 2.0.24
* properly init cache for purge_lru (Alexandre Rossi)
* fix linking with php8 (Remi Collet)
* remove unused variables to fix compilation (László Károlyi)
* fix function parameter type to avoid overflow in harakiri (Shai Bentov)
* fix socket queue stats for ipv6 (Riccardo Magliocchetti)
* fixup -Wformat-signedness warnings (Riccardo Magliocchetti)
* Avoid strncpy from null in pyloader (Ben Kallus)
* add clang to compile test matrix in ci (Riccardo Magliocchetti)
-------------------------------------------------------------------
Tue Feb 20 15:39:21 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Use %autosetup macro. Allows to eliminate the usage of deprecated
%patchN
-------------------------------------------------------------------
Sat Jan 6 23:23:03 UTC 2024 - Ben Greiner <code@bnavigator.de>
- 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)
-------------------------------------------------------------------
Wed Oct 18 09:48:50 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 2.0.22:
+ apache2/mod_proxy_uwsgi: stricter backend HTTP response
parsing/validation (CVE-2023-27522).
+ plugins/rack: fix compilation with ruby 3.1.
+ plugins/php: fix build with PHP >= 8.2.
- Drop uwsgi-php82-php_module_startup-signature.patch: fixed
upstream.
-------------------------------------------------------------------
Sat Jul 1 19:53:24 UTC 2023 - Andreas Schneider <asn@cryptomilk.org>
- Use sle15_python_module_pythons
-------------------------------------------------------------------
Fri May 5 10:49:27 UTC 2023 - pgajdos@suse.com
- added patches
fix https://github.com/unbit/uwsgi/commit/509a0fdd12870d0bf5b4c1ef7d1f7f
+ uwsgi-php82-php_module_startup-signature.patch
-------------------------------------------------------------------
Fri Jan 6 20:36:08 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 2.0.21:
* Python 3.10 support
* Python 3.11 support
* add tests for worker deadlocks
* fix memory corruption in uwsgi_cache
* Fix segfault from GEVENT_SWITCH
* Support php 8.1
* Use parenthesis in print() statement
-------------------------------------------------------------------
Tue Dec 13 19:44:00 UTC 2022 - sven@uebelacker.net
- fixing uwsgi-php[78] package description
- rpmlint: removing obsolete specfile condition for python which is included in python-rpm-macros
-------------------------------------------------------------------
Mon Dec 12 08:58:58 UTC 2022 - Dirk Müller <dmueller@suse.com>
- switch to pkgconfig(zlib) so that alternative providers can be
used
-------------------------------------------------------------------
Tue Nov 15 10:58:25 UTC 2022 - pgajdos@suse.com
- php8 is supported already
-------------------------------------------------------------------
Mon Jul 4 12:23:33 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Build python plugins for all flavors on Tumbleweed
* reason: so that we can pin mailman to Python 3.9
-------------------------------------------------------------------
Thu May 12 07:28:54 UTC 2022 - Martin Liška <mliska@suse.cz>
- Add uwsgi-ld-noexecstack.patch in order to fix gh#unbit/uwsgi#2436.
-------------------------------------------------------------------
Sun Dec 5 14:20:26 UTC 2021 - Michael Ströder <michael@stroeder.com>
- 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
-------------------------------------------------------------------
Thu Oct 7 07:25:48 UTC 2021 - pgajdos@suse.com
- greenlet and gevent plugins require uwsgi-python3 instead of
uwsgi-python
-------------------------------------------------------------------
Thu Sep 30 08:52:52 UTC 2021 - pgajdos@suse.com
- do not require python2, drop python plugin [bsc#1191174]
-------------------------------------------------------------------
Fri Dec 11 22:29:58 UTC 2020 - Andreas Schwab <schwab@suse.de>
- Fix logic handling v8 plugin
-------------------------------------------------------------------
Tue Dec 1 13:59:23 UTC 2020 - pgajdos@suse.com
- use system apache rpm macros
-------------------------------------------------------------------
Thu Nov 26 18:51:29 UTC 2020 - Dirk Mueller <dmueller@suse.com>
- update 2.0.19.1:
* Reverted CGI chunked encoding support
* Fixed bug with WSGI responses returning
* Update travis to xenial (Terence D. Honles)
* Fix segfault in logsocket plugin (Riccardo Magliocchetti, #2010)
* Backport Coverity fixes from master (Riccardo Magliocchetti)
* Fix Python 3.7 warnings (Orivej Desh)
* Fix uwsgi.workers() leak in Python plugin (Arne Welzel, #2056)
* Backport redislog plugin 32-bit build fixes (Riccardo Magliocchetti, #1828)
* Fix stack overflow in core/rpc (Nicola Martino)
* Fix build with spaces in the path (Arne Welzel, #1939)
* Add missing initialization for zend_file_handle in php plugin (Arne Welzel)
* Build Python 3.7 and 3.8 plugins in CI (Arne Welzel)
* Add Trove classifiers for Python 3.7 and 3.8 (Hugo)
* Graceful shutdown for vassals (Sponsored by guppyltd.com)
* Improve yaml parsing with libyaml (Arne Welzel, #2097)
* Add smart-daemon2 option to notify daemon of master reloading (Eduardo Felipe Castegnaro)
* Do not chroot multiple times when root (Arne Welzel)
* Support io.BytesIO with wsgi.file_wrapper (Arne Welzel, #1126)
* Add websocket continuation frames support (Timi, #1350)
* Fix compilation with gevent 1.5.0 (Vytautas Liuolia)
* Fix PSGI plugin build with gcc 10 (Jorge Gallegos)
* Get rid of paste.script dependency in pypy/python plugins (Thomas De Schampheleire)
* Improve performance for santitizing file descriptors with cgi plugin (Natanael Copa, #2053)
* Fix offload-threads with honour-range (Liss Tarnell)
* Fix logging packet size length overflow (Pawel Marokwsi)
* Fix possible deadlock in install (Jacob Tolar)
* Fix parsing of http port for ipv6 (Cyril Baÿ)
* Fix impossibility of determining the end of the chunked stream with psgi plugin (ols)
* Fix parsing of http-socket port for ipv6 (Daniel Holth)
* Add chunked request decoding to the CGI plugin (Robert Schindler)
* Add add max-worker-lifetime-delta to reload workers with a delta (Marcin Lulek , #2020)
- remove uwsgi-2.0.18-psgi-fix-duplicate-uperl.patch (upstream)
-------------------------------------------------------------------
Wed Sep 9 10:29:20 UTC 2020 - Andreas Schneider <asn@cryptomilk.org>
- Add systemd tmpfile.d config to create /run/uwsgi
-------------------------------------------------------------------
Wed Sep 9 09:42:14 UTC 2020 - Andreas Schneider <asn@cryptomilk.org>
- Use %license for the LICENSE
-------------------------------------------------------------------
Mon Jun 8 18:09:43 UTC 2020 - James Oakley <jfunk@funktronics.ca>
- Fix duplicate uperl in psgi plugin with wth gcc 10 (uwsgi-2.0.18-psgi-fix-duplicate-uperl.patch)
-------------------------------------------------------------------
Sat May 16 16:33:23 UTC 2020 - James Oakley <jfunk@funktronics.ca>
- Fix greenlet dependency for Python 3
- Use explicit Python macros
-------------------------------------------------------------------
Mon Mar 9 14:24:36 UTC 2020 - pgajdos@suse.com
- disable geoip plugin [bsc#1156199]
-------------------------------------------------------------------
Thu Dec 19 14:54:12 UTC 2019 - Dominique Leuenberger <dimstar@opensuse.org>
- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
Allow OBS to shortcut through the -mini flavors.
-------------------------------------------------------------------
Tue Apr 30 04:48:25 UTC 2019 - Martin Herkt <9+suse@cirno.systems>
- Fix systemd kill signal (uwsgi does not die on SIGTERM)
- Add reload command to systemd service
-------------------------------------------------------------------
Sat Mar 16 00:45:25 UTC 2019 - James Oakley <jfunk@funktronics.ca>
- Add patch uwsgi-2.0.18-postgresql-config.patch to use pkg-config
instead of pg_config as it was removed in postgres11-devel
-------------------------------------------------------------------
Sat Feb 9 16:19:37 UTC 2019 - Michael Ströder <michael@stroeder.com>
- HTTPS URL for source
- update to upstream release 2.0.18
* Fixed support for Python 3.7
* Allow to use autoport (socket :0) with custom socket backlog
* pyuwsgi ported to python3
* pyuwsgi packages fixes
* pyuwsginossl build configuration for building pyuwsgi without ssl support
* Fix unix socket inheritance after reload on FreeBSD
* Fix crashes with --wsgi-env-behavior=holy (#1950)
* Fix invalid free in python plugin (#1942)
* Fix compilation warnings with gcc-8 (#1819)
* Fix spooler python references
* Don't generate build warnings in systemd_logger
* Fix segmentation fault during worker shutdown (#1651)
-------------------------------------------------------------------
Thu Aug 2 22:12:22 UTC 2018 - michael@stroeder.com
- Trimmed package description
-------------------------------------------------------------------
Mon Jul 23 13:33:36 UTC 2018 - jfunk@funktronics.ca
- Work around missing include dir in glusterfs pkg-config
-------------------------------------------------------------------
Mon Jul 9 14:52:54 UTC 2018 - michael@stroeder.com
- update to upstream release 2.0.17.1
* Fixed memory leak in HTTPS_CLIENT_CERTIFICATE
* TLSv1 is now disabled by default
* Improved daemons throttle system
* Add “secs” log formatting variable
* Improved snprintf() usage to be OpenBSD-friendly
* Improved glibc crypt/crypt_r management
* Fixed websocket pong timeout check
* Add the “License” classifier to setup.py
* Add support for php user.ini
* Official support for Python 3.7
-------------------------------------------------------------------
Thu May 31 00:45:55 UTC 2018 - jfunk@funktronics.ca
- Don't create a /run directory for Apache on startup. It fails if Apache is
not installed and sockets are defined per-application anyway (bnc#1082002)
- Fix broken build dependency on Leap 15
-------------------------------------------------------------------
Tue Apr 24 10:48:33 UTC 2018 - michael@stroeder.com
- Require Apache 2.4.33 for Leap 15 and Tumbleweed
because otherwise mod_proxy_uwsgi is not available (bsc#1090695)
-------------------------------------------------------------------
Wed Apr 18 13:32:20 UTC 2018 - guillaume.gardet@opensuse.org
- Handle aarch64 arch
-------------------------------------------------------------------
Mon Apr 16 23:48:42 UTC 2018 - jfunk@funktronics.ca
- Disable apache2-mod_proxy_uwsgi on Leap 15 since upstream Apache includes
the module now
-------------------------------------------------------------------
Mon Apr 16 13:42:59 UTC 2018 - jfunk@funktronics.ca
- 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)
-------------------------------------------------------------------
Tue Feb 27 11:53:27 UTC 2018 - bjorn.lie@gmail.com
- Update License tag to SPDX 3 version:
Apache-2.0 AND GPL-2.0-only WITH GCC-exception-2.0.
-------------------------------------------------------------------
Sun Feb 18 18:51:03 UTC 2018 - michael@stroeder.com
- 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
-------------------------------------------------------------------
Sun Dec 10 04:51:02 UTC 2017 - i@marguerite.su
- 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
-------------------------------------------------------------------
Wed Nov 09 00:00:00 UTC 2017 - sven@uebelacker.net
- creating /run/uwsgi for sockets via systemd service now
-------------------------------------------------------------------
Wed Oct 26 00:00:00 UTC 2017 - sven@uebelacker.net
- 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 “dont 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
-------------------------------------------------------------------
Wed Oct 18 08:35:31 UTC 2017 - jengelh@inai.de
- Trim filler wording from description.
-------------------------------------------------------------------
Sat Jun 24 06:59:57 UTC 2017 - bwiedemann@suse.com
- Add reproducible.patch to override build date to make build more reproducible
- sort list of plugins
-------------------------------------------------------------------
Wed Oct 5 12:14:59 UTC 2016 - buschmann23@opensuse.org
- Update to 2.0.14:
* backported gevent-early-monkey-patch (jianbin-wei)
* Fixed OpenBSD version check (Pavel Korovin)
* PSGI/Perl cache api fixes (Alexander Demenshin)
* Correctly decode PATH_INFo in router_rewrite plugin (Ben Hearsum)
* add uwsgi.accepting() for chain-reload + worker-override combo
(enkore)
* fixed workers killing when in cheaper modes (shoham-stratoscale)
* added cgi-safe option (nnnn20430)
* Implemented graceful reload for COROAE plugin (aleksey-mashanov)
* Added php-fallback2, php-fallback-qs (Felicity unixwitch)
* Added ipv4in and ipv6in routing rules (Felicity unixwitch)
* Fixed readline support in python3 when working interactively
(Anthony Sottile)
* Implement touch-reloading for mules and spoolers (Alexandre Bonnetain)
* add request_start timestamp in stats (Ben Plotnick)
* Fixed double free in uwsgi_routing_func_rewrite (William Orr)
* Various mod_proxy_uwsgi fixes (Ya-Lin Huang)
* support for no-answer in PSGI (Anton Petrusevich)
* added php-constant option (Дамјан Георгиевски [gdamjan])
* added the stdio logger (Дамјан Георгиевски [gdamjan])
* spooler: fix reading inconsistent data (Pavel Patrin)
* Removed -WError from the build procedure (Riccardo Magliocchetti,
suggested by Ian Denhardt)
* The usual amount of coverity-based fixes (Riccardo Magliocchetti)
-------------------------------------------------------------------
Wed Sep 28 02:00:36 UTC 2016 - jfunk@funktronics.ca
- Don't fail build on deprecated declarations
-------------------------------------------------------------------
Wed Jun 8 18:53:26 UTC 2016 - buschmann23@opensuse.org
- Update to 2.0.13.1:
* Fixed support for python 2.5 and python 2.6
* Fixed support for older glibc
* Reverted EPOLLEXCLUSIVE patch, requires more investigation
-------------------------------------------------------------------
Thu May 12 04:43:00 UTC 2016 - jfunk@funktronics.ca
- Update to 2.0.13:
* 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)
-------------------------------------------------------------------
Thu Jan 7 13:50:57 UTC 2016 - buschmann23@opensuse.org
- Udate to version 2.0.12
* Bugfixes
* rpcvar routing action correctly returns NEXT on empty response
* uwsgiconfig: fix handling of empty keys in python3 (Simone Basso)
* plugins/alarm_speech: fix AppKit spelling to support
case-sensitive filesystems (Andrew Janke)
* Fix inheriting INET address 0.0.0.0 (INADA Naoki)
* core/xmlconf: correctly initialize libxml2 (Riccardo Magliocchetti)
* Pass LIBDIR to linker in python plugin (Borys Pierov)
* Platforms-related build fixes for pty, forkptyrouter and mono
plugins (Jonas Smedegaard and Riccardo Magliocchetti)
* New Features
* The custom worker api - Finally you are able to override the uWSGI
processing model to completeley get control of it.
https://github.com/unbit/uwsgi-docs/blob/master/WorkerOverride.rst
* --wsgi-disable-file-wrapper - This option disables the wsgi.file_wrapper
optimization of the WSGI standard. IN some corner case this is
the only trick to avoid errors.
* Official PHP7 support - PHP 7 is now officially supported in
the php plugin.
* uwsgi.spooler_get_task api (Credits: Alexandre Bonnetain)
This patch allows you to easily parse spooler files.
* --if-hostname-match (Credits: Alexandre Bonnetain)
This options for config logic allows you to define options only
when a regexp over the hostname machtes.
- Update patch 1 - uwsgi-1.9.17-no-LD_RUN_PATH.patch - renamed patch
file to uwsgi-2.0.12-no-LD_RUN_PATH.patch
-------------------------------------------------------------------
Fri Nov 6 17:33:31 UTC 2015 - buschmann23@opensuse.org
- Update to version 2.0.11.2
* Bugfixes
* OSX 10.11 supports TCP_FASTOPEN
* fixed http-socket parser state after harakiri
* fixed threaded request logger
* fixed fastrouter subscriptions modifiers
* fixed alarm backlog
-------------------------------------------------------------------
Sat Sep 26 17:39:41 UTC 2015 - jfunk@funktronics.ca
- Remove uwsgi-2.0.10-gcc5.patch as it was integrated upstream
- Update to 2.0.11.1:
* Bugfixes
* fixed HTTPS router resource deallocation and fiel descriptors leak
* do not spit out ssl errors when errno is 0
* New Features
* The unix_signal hook - You can now remap UNIX signals to specific
functions symbols
- Changes from 2.0.11:
* Bugfixes
* [pypy] fixed misuse of ffi.string
* fixed detection for gcc 5 (jimfunk)
* fixed shared sockets for gateways
* [psgi] Changed abs to labs because offset is declared as a long (Peter H.
Ezetta)
* add null terminator to uwsgi_get_dot_h() and uwsgi_config_py() (Jay
Oster)
* fixed thread waiting during stop/restart (Kaiwen Xu)
* fixed chain reloading verbosity
* [python] fixed spooler job reference counting (Curtis Maloney)
* various static analysis improvements (Riccardo Magliocchetti)
* fixed sharedarea support for very big ranges
* fixed gzip transformation for zero-sized responses (Curtis Maloney)
* fixed management of https client certificate authentication (Vladimir
Didenko)
* fixed OpenBSD build
* fixed TMPFILE permissions
* New Features
* The mem_collector thread - Evil memory monitors (like --evil-reload-on-rss)
are now asynchronously managed by a dedicated thread. This solves the issue
of runaway processes not catched by the master.
* fixpathinfo routing action - This is another step in removing the need of
the infamous uwsgi_modifier1 30 relic.
* uwsgi[sor] and time[micros] routing vars - This two new vars exposes the
start of the current request (in micros) and the current time (again in
micros)
* wait-for-socket - This works like wait-for-fs/iface/file/dir. The spawn
of the instance is suspended until the specified tcp/unix socket is
ready. You can use it to synchronize vassals spawn (like stopping a
vassal until a postgresql server has been spawned)
* wait_for hooks - All of the wait-for-* functions can now be used as a
hook
-------------------------------------------------------------------
Wed Aug 12 11:10:35 UTC 2015 - dvaleev@suse.com
- Don't build v8 plugin for PowerPC
-------------------------------------------------------------------
Sun Jun 28 18:10:21 UTC 2015 - jfunk@funktronics.ca
- Added uwsgi-2.0.10-gcc5.patch to fix build for gcc 5
- Update to 2.0.10:
* Bugfixes
* Don't lower security standards with gcc 4.9 (Riccardo Magliocchetti)
* Perl/PSGI make sure that at least two params are passed to xs_input_seek
(Ivan Kruglov)
* Perl/PSGI fixed multiple interpreters usage
* spooler: fixed scandir usage
* fixed exception handler arguments management
* fixed 'log-master' + 'daemonize2' disables all logging
* fixed http Range header management
* New Features
* safeexec hook - this is like 'exec' but do not exit on error even if the
executed command returns a non-zero value
* backported --emperor-wrapper-fallback and --emperor-wrapper-override
* added support for UNIX sockets to rsyslog
* forcecl transformation - this transformation works like 'fixcl' but
generates the Content-Length header even if Content-Length has been
listed for removal
- Changes from 2.0.9:
* Bugfixes
* fixed mod_proxy_uwsgi for non-blocking mode (many thanks to Joe cuchac)
* fixed master-fifo + cheaper
* fixed leak on error in bind_to_unix (Riccardo Magliocchetti)
* atexit hooks works in cheaped workers too
* atexit hooks works in gevent mode too during shutdown
* fixed carbon command line option value after reload
* do not honour Emperor throttling on the first run
* fixed Mono plugin
* fixed peer name in corerouters
* fixed stop signal for daemons
* various ssl/tls fixes in https/spdy router
* fixed python3 --py-auto-reload-ignore
* fixed modifiers in corerouters
* support for yajl from homebrew (OSX)
* psgi: Ensure that we call any DESTROY hooks on psgix.harakiri.commit
(Ævar Arnfjörð Bjarmason)
* systemdlogger: fix compilation with -Werror=format-security (Riccardo
Magliocchetti)
* fixed unmasked websockets
* perl fixed latent refcounting bug (Mattia Barbon)
* New Features
* Improved PyPy support for Linux
* Fastrouter post-buffering
* Perl uwsgi::opt - The psgi/perl plugin exposes the uwsgi::opt hash,
reporting the whole instance key-value configuration
* --pull-header - This is like --collect-header but the collected header
is not returned to the client
* active-workers signal target - This is like the 'workers' target, but
forward the signal only to non-cheaper workers
* httpdumb routing action - The http internal router exposes a new mode
called 'httpdumb' that does not change headers before forwarding the
request
- Changes from 2.0.8:
* Bugfixes
* fixed PHP `SCRIPT_NAME` usage when --php-app is in place
* allow "appendn" hook without second argument
* fix heap corruption in the Carbon plugin (credits: Nigel Heron)
* fix getifaddrs() memory management
* fixed `tcsetattr()` usage
* fixed kevent usage of return value (credits: Adriano Di Luzio)
* ensure PSGI response headers are in the right format
* fixed reloading of attached daemons
* fixed SSL/TLS shutdown
* fixed mountpoint logic for paths not ending with / (credits: Adriano Di
Luzio)
* fixed Python3 support in spooler decorators (credits: Adriano Di Luzio)
* New Features
* RTSP and chunked input backports from 2.1 for the HTTP router
* --hook-post-fork - This custom hook allows you to call actions after
each fork()
* fallback to trollius for asyncio plugin
* added sweep_on_full, clear_on_full and no_expire to --cache2 - Three new
options for --cache2 have been added for improving the caching expire
strategies:
* sweep_on_full will call a sweep (delete all of the expired items) as
soon as the cache became full
* clear_on_full will completely clear the cache as soon as it is full
* no_expire forces the cache to not generate a cache sweeper thread,
delegating items removal to the two previous options
* backported wait-for-fs/mountpoints from 2.1:
* --wait-for-fs <path>: suspend the uWSGI startup until a file/directory
is available
* --wait-for-file <path>: suspend the uWSGI startup until a file is
available
* --wait-for-dir <path>: suspend the uWSGI startup until a directory is
available
* --wait-for-mountpoint <path>: suspend the uWSGI startup until a
mountpoint is available
* improved the offload api (backport from 2.1)
* Allows building plugins from remote sources as embedded
* Automatically manage HTTP_X_FORWARDED_PROTO
- Changes from 2.0.7
* Bugfixes
* fixed counters in Statsd plugin (Joshua C. Forest)
* fixed caching in PHP plugin (Andrew Bevitt)
* fixed management of system users starting with a number
* fixed request body readline using memmove instead of memcpy (Andrew
Wason)
* ignore "user" namespace in setns (still a source of problems)
* fixed Python3 RPC bytes/string mess (result: we support both)
* do not destroy the Emperor on failed mount hooks
* fixed symbol lookup error in the Mono plugin on OS X (Ventero)
* fixed FastCGI and SCGI protocols error when out of buffer happens
* fixed Solaris/SmartOS I/O management
* fixed two memory leaks in the RPC subsystem (Riccardo Magliocchetti)
* fixed the Rados plugin's PUT method (Martin Mlynář)
* fixed multiple Python mountpoints with multiple threads in cow mode
* stats UNIX socket is now deleted by vacuum
* fixed off-by-one corruption in cache LRU mode
* force single-CPU build in Cygwin (Guido Notari)
* New Features
* Allow calling the spooler from every CPython context
* store_delete cache2 option - The store_delete flag of the --cache2
option allows you to force the cache engine to automatically remove
invalid backing store files instead of steadfastly refusing to launch
* file logger rotation
* Vassal plugin hooks
* Broodlord improvements - The Broodlord subsystem has been improved with
a new option: --vassal-sos that automatically ask for reinforcement when
all of the workers of an instance are busy
-------------------------------------------------------------------
Tue Jul 1 17:14:31 UTC 2014 - jfunk@funktronics.ca
- Update to 2.0.6:
* 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
daemons need to chdir()
- Changes from 2.0.5:
* Bugfixes
* fixed support for repeated headers in lua plugin (Credits: tizoc)
* fixed support for embedding config in OpenBSD and NetBSD
* various fixes in the curl-based plugins (Credits: Yu Zhao)
* fixed milliseconds-based waits
* fixed sharedarea poller
* fixed stats server json escaper
* fixed fastcgi parser and implemented eof management (Credits: Jeff
Trawick)
* improved fast on-demand mode
* exclude avg_rt computation for static files
* fixed variables support in uwsgi internal router
* fixed websockets + keepalive ordering
* disable SIGPIPE management in corutines-based loop-engines
* fixed 64bit sharedarea management in 32bit systems
* honour chmod/chown-socket in fd0 mode
* hack for avoiding Safari iOS to make mess with keepalive
* fixed log setup when both --logto and --log2 (Credits: Łukasz
Mierzwa)
* fixed mule_get_msg EAGAIN
* signal_pidfile returns the right error code
* fixed asyncio on OSX
* New features
* graceful reload of mule processes (Credits: Paul Egan). SIGHUP is now
sent to mules instead of directly killing them
* return routing action (Credits: Yu Zhao). The new action will allow
users to write simplified "break" clause
* --emperor-no-blacklist. This new option, completely disables the
blacklisting Emperor subsystem
* Icecast2 protocol helpers
* --metrics-no-cores, --stats-no-cores, --stats-no-metrics. When you have
hundreds (or thousands) of async cores, exposing metrics of them could
be really slow. Three new options have been added allowing you to
disable the generation of core-related metrics and (eventually) their
usage in the stats server
* sharedarea improvements. The sharedarea api continues to improve. Latest
patches include support for mmapping device directly from the command
line
* UWSGI_GO_CHEAP_CODE. This exit code (15) can be raised by a worker to
tell the master to not respawn it
* PROXY1 support for the http router (Credits: bgglenn). The option
--http-enable-proxy-protocol allows the HTTP router to understand PROXY1
protocol requests (like the ones made by haproxy or amazon elb)
* reset_after_push for metrics (Credits: Babacar Tall). This metric
attribute ensure that the matric value is reset to 0 (or its hardcoded
initial_value) evry time the metric is pushed to some external system
(like carbon, or statsd)
* setremoteaddr. This routing action allows you to completely override the
REMOTE_ADDR detected by protocol handlers
* The resolve option. There are uWSGI options (or plugins) that do not
automatically resolves dns name to ip addresses. This option allows you
to map a placeholder to the dns resolution of a string
- Changes from 2.0.4:
* Bugfixes
* fixed "mime" routing var (Steve Stagg)
* allow duplicate headers in http parsers
* faster on_demand Emperor management
* fixed UWSGI_ADDITIONAL_SOURCES build option
* merge duplicated headers when SPDY is enabled (Łukasz Mierzwa)
* fixed segfault for unnamed loggers
* --need-app works in lazy-apps mode
* fixed fatal hooks management
* New features
* The experimental asyncio loop engine (CPython >= 3.4). asyncio (also
known as 'tulip') is the new infrastructure for writing
non-blocking/async/callback-based code with Python 3. This plugin
(experimental) allows you to use asyncio as the uWSGI loop engine
* httprouter advanced timeout management. The http router got 2 new
specific timeout:
* --http-headers-timeout <n> ; defines the timeout while waiting for
http headers
* --http-connect-timeout <n> ; defines the timeout when connecting to
backend instances
they should help the sysadmin in improving security and availability.
Credits: Łukasz Mierzwa
* Allow disabling cache warnings in --cache2. Author: Łukasz Mierzwai.
The 'ignore_full' keyval option has beed added to cache2. This will
disable warnings when a cache is full
* purge LRU cache feature by Yu Zhao (getcwd). This new mode allows you to
configure a cache to automatically expires least recently used (LRU)
items when it is full. Just add purge_lru=1 to your cache2 directive
* support embedded config on FreeBSD. You can now embed config on FreeBSD
systems
* rpc hook. Two new hooks have been added:
* 'rpc' -> call the specified rpc function (fails on error)
* 'rpcretry' -> call the specified rpc function (retry on error)
* setmodifier1 and setmodifier2 routing actions. Having to load the
'uwsgi' routing plugin just for setting modifiers was really annoying.
These two routing actions (embedded in the core) allow you to
dynamically set modifiers
* no_headers option for static router. Keyval based static routing action
can now avoid to rewrite response headers (useful for X-Sendfile), just
add no_headers=1 to your keyval options.
- Added Python 3 plugin
- Added rcuwsgi link
-------------------------------------------------------------------
Sat Mar 29 17:28:02 UTC 2014 - jfunk@funktronics.ca
- Update to 2.0.3:
* 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)
-------------------------------------------------------------------
Sun Mar 16 18:00:35 UTC 2014 - jfunk@funktronics.ca
- Update to 2.0.2:
* 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
-------------------------------------------------------------------
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
-------------------------------------------------------------------
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.
-------------------------------------------------------------------
Fri Nov 8 19:50:28 UTC 2013 - jfunk@funktronics.ca
- Added apache2-mod_proxy_uwsgi and apache2-mod_uwsgi sub packages
-------------------------------------------------------------------
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 daemons 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
</