--identifier command line argument was ignored.
It was broken since at least 3.0a7 (released in 2009) and probably earlier.
Patch by Julien Le ClΓ©ach.π Fixed a race condition where an rpcinterface extension that subscribed
to events would not see the correct process state if it accessed the
the state attribute on a Subprocess instance immediately in the
event callback. Patch by Chao Wang.
β Added the setuptools package to the list of dependencies in
setup.py because it is a runtime dependency. Patch by Louis Sautier.
π The web interface will now return a 404 Not Found response if a log file is missing. Previously, it would return 410 Gone. It was changed because 410 is intended to mean that the condition is likely to be permanent. A log file missing is usually temporary, e.g. a process that was never started will not have a log file but will have one as soon as it is started.
π Fixed a bug where supervisord could crash if a subprocess exited
immediately before trying to kill it.
Fixed a bug where the stdout_syslog and stderr_syslog options
of a [program:x] section could not be used unless file logging for
the same program had also been configured. The file and syslog options
can now be used independently. Patch by Scott Stroupe.
π Fixed a bug where the logfile option in the [supervisord]
section would not log to syslog when the special filename of
syslog was supplied, as is supported by all other log filename
options. Patch by Franck Cuny.
π Fixed a bug where environment variables defined in environment=
in the [supervisord] section or a [program:x] section could
not be used in %(ENV_x)s expansions. Patch by MythRen.
π¦ The supervisorctl signal command now allows a signal to be sent
when a process is in the STOPPING state. Patch by Mike Gould.
π¨ supervisorctl and supervisord now print help when given -?
in addition to the existing -h/--help.
π Fixed a bug on Python 3 where a network error could cause supervisord
to crash with the error <class 'TypeError'>:can't concat str to bytes.
Patch by Vinay Sajip.
π Fixed a bug where a test would fail on systems with glibc 2.3.1 because the default value of SOMAXCONN changed.
When supervisord is run in the foreground, a new --silent option
suppresses the main log from being echoed to stdout as it normally
would. Patch by Trevor Foster.
π Parsing command= now supports a new expansion, %(numprocs)d, that
expands to the value of numprocs= in the same section. Patch by
Santjago Corkez.
π» Web UI buttons no longer use background images. Patch by Dmytro Karpovych.
π» The Web UI now has a link to view tail -f stderr for a process in
addition to the existing tail -f stdout link. Based on a
patch by OuroborosCoding.
The HTTP server will now send an X-Accel-Buffering: no header in
logtail responses to fix Nginx proxy buffering. Patch by Weizhao Li.
π² When supervisord reaps an unknown PID, it will now log a description
of the waitpid status. Patch by Andrey Zelenchuk.
π Fixed a bug introduced in 4.0.3 where supervisorctl tail -f foo | grep bar
would fail with the error NoneType object has no attribute 'lower'. This
only occurred on Python 2.7 and only when piped. Patch by Slawa Pidgorny.
π Fixed a bug on Python 3 only where logging to syslog did not work and
would log the exception TypeError: a bytes-like object is required, not 'str'
to the main supervisord log file. Patch by Vinay Sajip and Josh Staley.
π Fixed a Python 3.8 compatibility issue caused by the removal of
cgi.escape(). Patch by Mattia Procopio.
π¦ The meld3 package is no longer a dependency. A version of meld3
is now included within the supervisor package itself.
π Fixed a bug where supervisorctl tail <name> stdout would actually tail
stderr. Note that tail <name> without the explicit stdout
correctly tailed stdout. The bug existed since 3.0a3 (released in
2007). Patch by Arseny Hofman.
π Improved the warning message added in 4.0.3 so it is now emitted for
both tail and tail -f. Patch by Vinay Sajip.
π CVE-2019-12105. Documentation addition only, no code changes. This CVE
states that inet_http_server does not use authentication by default
(details <https://github.com/Supervisor/supervisor/issues/1245>). Note that
inet_http_server is not enabled by default, and is also not enabled
in the example configuration output by echo_supervisord_conf. The
behavior of the inet_http_server options have been correctly documented,
and have not changed, since the feature was introduced in 2006. A new
warning message <https://github.com/Supervisor/supervisor/commit/4e334d9cf2a1daff685893e35e72398437df3dcb>
was added to the documentation.
supervisorctl tail -f <name>
would fail with the message
Cannot connect, error: <type 'exceptions.UnicodeEncodeError'> where it
may have worked on Supervisor 3.x. The issue was introduced in Supervisor
4.0.0 due to new bytes/strings conversions necessary to add Python 3 support.
For supervisorctl to correctly display logs with Unicode characters, the
terminal encoding specified by the environment must support it. If not, the
UnicodeEncodeError may still occur on either Python 2 or 3. A new
warning message is now printed if a problematic terminal encoding is
detected. Patch by Vinay Sajip.configparser module installed. The bug was introduced in
Supervisor 4.0.0 because of Python 2/3 compatibility code that expected
a Python 2 environment to only have a ConfigParser module.OSError: [Errno 29] Illegal seek
would occur if logfile in the [supervisord] section was set to
a special file like /dev/stdout that was not seekable, even if
logfile_maxbytes = 0 was set to disable rotation. The issue only
affected the main log and not child logs. Patch by Martin Falatic.