Changelog History
Page 2
-
v4.0.0 Changes
April 05, 2019π Support for Python 3 has been added. On Python 3, Supervisor requires Python 3.4 or later. Many thanks to Vinay Sajip, Scott Maxwell, Palm Kevin, Tres Seaver, Marc Abramowitz, Son Nguyen, Shane Hathaway, Evan Andrews, and Ethan Hann who all made major contributions to the Python 3 porting effort. Thanks also to all contributors who submitted issue reports and patches towards this effort.
π Support for Python 2.4, 2.5, and 2.6 has been dropped. On Python 2, Supervisor now requires Python 2.7.
π¦ The
supervisor
package is no longer a namespace package.The behavior of the config file expansion
%(here)s
has changed. In previous versions, a bug caused%(here)s
to always expand to the directory of the root config file. Now, when%(here)s
is used inside a file included via[include]
, it will expand to the directory of that file. Thanks to Alex Eftimie and Zoltan Toth-Czifra for the patches.0οΈβ£ The default value for the config file setting
exitcodes=
, the expected exit codes of a program, has changed. In previous versions, it was0,2
. This caused issues with Golang programs wherepanic()
causes the exit code to be2
. The default value forexitcodes
is now0
.An undocumented feature where multiple
supervisorctl
commands could be combined on a single line separated by semicolons has been removed.supervisorctl
will now set its exit code to a non-zero value when an error condition occurs. Previous versions did not set the exit code for most error conditions so it was almost always 0. Patch by Luke Weber.Added new
stdout_syslog
andstderr_syslog
options to the config file. These are boolean options that indicate whether process output will be sent to syslog. Supervisor can now log to both files and syslog at the same time. Specifying a log filename ofsyslog
is still supported but deprecated. Patch by Jason R. Coombs.
-
v3.4.0 Changes
April 05, 2019FastCGI programs (
[fcgi-program:x]
sections) can now be used in groups ([group:x]
). Patch by Florian Apolloner.β Added a new
socket_backlog
option to the[fcgi-program:x]
section to set the listen(2) socket backlog. Patch by Nenad Merdanovic.π Fixed a bug where
SupervisorTransport
(the XML-RPC transport used with Unix domain sockets) did not close the connection whenclose()
was called on it. Patch by JΓ©rome Perrin.π Fixed a bug where
supervisorctl start <name>
could hang for a long time if the system clock rolled back. Patch by Joe LeVeque.
-
v3.3.5 Changes
December 22, 2018π Fixed a race condition where
supervisord
would cancel a shutdown already in progress if it receivedSIGHUP
. Now,supervisord
will ignoreSIGHUP
if shutdown is already in progress. Patch by Livanh.π Fixed a bug where searching for a relative command ignored changes to
PATH
made inenvironment=
. Based on a patch by dongweiming.childutils.ProcessCommunicationsProtocol
now does an explicitflush()
after writing tostdout
.A more descriptive error message is now emitted if a name in the config file contains a disallowed character. Patch by Rick van Hattem.
-
v3.3.4 Changes
February 15, 2018π Fixed a bug where rereading the configuration would not detect changes to eventlisteners. Patch by Michael Ihde.
π Fixed a bug where the warning
Supervisord is running as root and it is searching for its config file
may have been incorrectly shown bysupervisorctl
if its executable name was changed.π Fixed a bug where
supervisord
would continue starting up if the[supervisord]
section of the config file specifieduser=
butsetuid()
to that user failed. It will now exit immediately if it cannot drop privileges.π Fixed a bug in the web interface where redirect URLs did not have a slash between the host and query string, which caused issues when proxying with Nginx. Patch by Luke Weber.
When
supervisord
successfully drops privileges during startup, it is now logged at theINFO
level instead ofCRIT
.The HTTP server now returns a Content-Type header specifying UTF-8 encoding. This may fix display issues in some browsers. Patch by Katenkka.
-
v3.3.3 Changes
July 24, 2017- π Fixed CVE-2017-11610. A vulnerability was found where an authenticated
client can send a malicious XML-RPC request to
supervisord
that will run arbitrary shell commands on the server. The commands will be run as the same user assupervisord
. Depending on howsupervisord
has been configured, this may be root. See https://github.com/Supervisor/supervisor/issues/964 for details.
- π Fixed CVE-2017-11610. A vulnerability was found where an authenticated
client can send a malicious XML-RPC request to
-
v3.3.2 Changes
June 03, 2017π Fixed a bug introduced in 3.3.0 where the
supervisorctl reload
command would crashsupervisord
with the errorOSError: [Errno 9] Bad file descriptor
if thekqueue
poller was used. Patch by Jared Suttles.π Fixed a bug introduced in 3.3.0 where
supervisord
could get stuck in a polling loop after the web interface was used, causing high CPU usage. Patch by Jared Suttles.π Fixed a bug where if
supervisord
attempted to start but aborted due to another running instance ofsupervisord
with the same config, the pidfile of the running instance would be deleted. Patch by coldnight.π Fixed a bug where
supervisorctl fg
would swallow most XML-RPC faults.fg
now prints the fault and exits.π Parsing the config file will now fail with an error message if a process or group name contains a forward slash character (
/
) since it would break the URLs used by the web interface.supervisorctl reload
now shows an error message if an argument is given. Patch by Joel Krauska.supervisorctl
commandsavail
,reread
, andversion
now show an error message if an argument is given.
-
v3.3.1 Changes
August 02, 2016π Fixed an issue where
supervisord
could hang when responding to HTTP requests (includingsupervisorctl
commands) if the system time was set back aftersupervisord
was started.β Zope
trackrefs
, a debugging tool that was included in thetests
directory but hadn't been used for years, has been removed.
-
v3.3.0 Changes
May 14, 2016π
supervisord
will now usekqueue
,poll
, orselect
to monitor its file descriptors, in that order, depending on what is available on the system. Previous versions usedselect
only and would crash with the errorValueError: filedescriptor out of range in select()
when running a large number of subprocesses (whatever number resulted in enough file descriptors to exceed the fixed-size file descriptor table used byselect
, which is typically 1024). Patch by Igor Sobreira./etc/supervisor/supervisord.conf
has been added to the config file search paths. Many versions of Supervisor packaged for Debian and Ubuntu have included a patch that added this path. This difference was reported in a number of tickets as a source of confusion and upgrade difficulties, so the path has been added. Patch by Kelvin Wong.π Glob patterns in the
[include]
section now support thehost_node_name
expansion. Patch by Paul Lockaby.Files included via the
[include]
section are now logged at theINFO
level instead ofWARN
. Patch by Daniel Hahler.
-
v3.2.4 Changes
July 24, 2017- π Backported from Supervisor 3.3.3: Fixed CVE-2017-11610. A vulnerability
was found where an authenticated client can send a malicious XML-RPC request
to
supervisord
that will run arbitrary shell commands on the server. The commands will be run as the same user assupervisord
. Depending on howsupervisord
has been configured, this may be root. See https://github.com/Supervisor/supervisor/issues/964 for details.
- π Backported from Supervisor 3.3.3: Fixed CVE-2017-11610. A vulnerability
was found where an authenticated client can send a malicious XML-RPC request
to
-
v3.2.3 Changes
March 19, 2016- 400 Bad Request is now returned if an XML-RPC request is received with invalid body data. In previous versions, 500 Internal Server Error was returned.