All Versions
54
Latest Version
Avg Release Cycle
171 days
Latest Release
241 days ago

Changelog History
Page 3

  • v3.2.0 Changes

    November 30, 2015
    • Files included via the [include] section are read in sorted order. In past versions, the order was undefined. Patch by Ionel Cristian Mฤƒrieศ™.

    • supervisorctl start and supervisorctl stop now complete more quickly when handling many processes. Thanks to Chris McDonough for this patch. See: https://github.com/Supervisor/supervisor/issues/131

    • Environment variables are now expanded for all config file options. Patch by Dexter Tad-y.

    • โž• Added signalProcess, signalProcessGroup, and signalAllProcesses XML-RPC methods to supervisor RPC interface. Thanks to Casey Callendrello, Marc Abramowitz, and Moriyoshi Koizumi for the patches.

    • โž• Added signal command to supervisorctl. Thanks to Moriyoshi Koizumi and Marc Abramowitz for the patches.

    • Errors caused by bad values in a config file now show the config section to make debugging easier. Patch by Marc Abramowitz.

    • Setting redirect_stderr=true in an [eventlistener:x] section is now disallowed because any messages written to stderr would interfere with the eventlistener protocol on stdout.

    • ๐Ÿ›  Fixed a bug where spawning a process could cause supervisord to crash if an IOError occurred while setting up logging. One way this could happen is if a log filename was accidentally set to a directory instead of a file. Thanks to Grzegorz Nosek for reporting this issue.

    • ๐Ÿ›  Fixed a bug introduced in 3.1.0 where supervisord could crash when attempting to display a resource limit error.

    • ๐Ÿ›  Fixed a bug where supervisord could crash with the message Assertion failed for processname: RUNNING not in STARTING if a time change caused the last start time of the process to be in the future. Thanks to Rรณbert Nagy, Sergey Leschenko, and samhair for the patches.

    • โš  A warning is now logged if an eventlistener enters the UNKNOWN state, which usually indicates a bug in the eventlistener. Thanks to Steve Winton and detailyang for reporting issues that led to this change.

    • ๐ŸŒ Errors from the web interface are now logged at the ERROR level. Previously, they were logged at the TRACE level and easily missed. Thanks to Thomas Gรผttler for reporting this issue.

    • ๐Ÿ›  Fixed DeprecationWarning: Parameters to load are deprecated. Call .resolve and .require separately. on setuptools >= 11.3.

    • If redirect_stderr=true and stderr_logfile=auto, no stderr log file will be created. In previous versions, an empty stderr log file would be created. Thanks to ลukasz Koลผuchowski for the initial patch.

    • ๐Ÿ›  Fixed an issue in Medusa that would cause supervisorctl tail -f to disconnect if many other supervisorctl commands were run in parallel. Patch by Stefan Friesel.

  • v3.1.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 as supervisord. Depending on how supervisord has been configured, this may be root. See https://github.com/Supervisor/supervisor/issues/964 for details.
  • v3.1.3 Changes

    October 28, 2014
    • ๐Ÿ›  Fixed an XML-RPC bug where the ElementTree-based parser handled strings like <value><string>hello</string></value> but not strings like <value>hello</value>, which are valid in the XML-RPC spec. This fixes compatibility with the Apache XML-RPC client for Java and possibly other clients.
  • v3.1.2 Changes

    September 07, 2014
    • ๐Ÿ›  Fixed a bug where tail group:* in supervisorctl would show a 500 Internal Server Error rather than a BAD_NAME fault.

    • ๐Ÿ›  Fixed a bug where the web interface would show a 500 Internal Server Error instead of an error message for some process start faults.

    • โœ‚ Removed medusa files not used by Supervisor.

  • v3.1.1 Changes

    August 11, 2014
    • ๐Ÿ›  Fixed a bug where supervisorctl tail -f name output would stop if log rotation occurred while tailing.

    • Prevent a crash when a greater number of file descriptors were attempted to be opened than permitted by the environment when starting a bunch of programs. Now, instead a spawn error is logged.

    • Compute "channel delay" properly, fixing symptoms where a supervisorctl start command would hang for a very long time when a process (or many processes) are spewing to their stdout or stderr. See comments attached to https://github.com/Supervisor/supervisor/pull/263 .

    • โž• Added docs/conf.py, docs/Makefile, and supervisor/scripts/*.py to the release package.

  • v3.1.0 Changes

    July 29, 2014
    • The output of the start, stop, restart, and clear commands in supervisorctl has been changed to be consistent with the status command. Previously, the status command would show a process like foo:foo_01 but starting that process would show foo_01: started (note the group prefix foo: was missing). Now, starting the process will show foo:foo_01: started. Suggested by Chris Wood.

    • ๐Ÿ‘ The status command in supervisorctl now supports group name syntax: status group:*.

    • The process column in the table output by the status command in supervisorctl now expands to fit the widest name.

    • โšก๏ธ The update command in supervisorctl now accepts optional group names. When group names are specified, only those groups will be updated. Patch by Gary M. Josack.

    • Tab completion in supervisorctl has been improved and now works for more cases. Thanks to Mathieu Longtin and Marc Abramowitz for the patches.

    • Attempting to start or stop a process group in supervisorctl with the group:* syntax will now show the same error message as the process syntax if the name does not exist. Previously, it would show a Python exception. Patch by George Ang.

    • Added new PROCESS_GROUP_ADDED and PROCESS_GROUP_REMOVED events. These events are fired when process groups are added or removed from Supervisor's runtime configuration when using the add and remove commands in supervisorctl. Patch by Brent Tubbs.

    • Stopping a process in the backoff state now changes it to the stopped state. Previously, an attempt to stop a process in backoff would be ignored. Patch by Pascal Varet.

    • The directory option is now expanded separately for each process in a homogeneous process group. This allows each process to have its own working directory. Patch by Perttu Ranta-aho.

    • โœ‚ Removed setuptools from the requires list in setup.py because it caused installation issues on some systems.

    • ๐Ÿ›  Fixed a bug in Medusa where the HTTP Basic authorizer would cause an exception if the password contained a colon. Thanks to Thomas Gรผttler for reporting this issue.

    • ๐Ÿ›  Fixed an XML-RPC bug where calling supervisor.clearProcessLogs() with a name like group:* would cause a 500 Internal Server Error rather than returning a BAD_NAME fault.

    • ๐Ÿ›  Fixed a hang that could occur in supervisord if log rotation is used and an outside program deletes an active log file. Patch by Magnus Lycka.

    • โš  A warning is now logged if a glob pattern in an [include] section does not match any files. Patch by Daniel Hahler.

  • v3.0.1 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 as supervisord. Depending on how supervisord has been configured, this may be root. See https://github.com/Supervisor/supervisor/issues/964 for details.
  • v3.0 Changes

    July 30, 2013
    • ๐Ÿ“œ Parsing the config file will now fail with an error message if a process or group name contains characters that are not compatible with the eventlistener protocol.

    • ๐Ÿ›  Fixed a bug where the tail -f command in supervisorctl would fail if the combined length of the username and password was over 56 characters.

    • Reading the config file now gives a separate error message when the config file exists but can't be read. Previously, any error reading the file would be reported as "could not find config file". Patch by Jens Rantil.

    • ๐Ÿ›  Fixed an XML-RPC bug where array elements after the first would be ignored when using the ElementTree-based XML parser. Patch by Zev Benjamin.

    • ๐Ÿ›  Fixed the usage message output by supervisorctl to show the correct default config file path. Patch by Alek Storm.

  • v3.0.b2 Changes

    May 28, 2013
    • The behavior of the program option user has changed. In all previous versions, if supervisord failed to switch to the user, a warning would be sent to the stderr log but the child process would still be spawned. This means that a mistake in the config file could result in a child process being unintentionally spawned as root. Now, supervisord will not spawn the child unless it was able to successfully switch to the user. Thanks to Igor Partola for reporting this issue.

    • If a user specified in the config file does not exist on the system, supervisord will now print an error and refuse to start.

    • โช Reverted a change to logging introduced in 3.0b1 that was intended to allow multiple processes to log to the same file with the rotating log handler. The implementation caused supervisord to crash during reload and to leak file handles. Also, since log rotation options are given on a per-program basis, impossible configurations could be created (conflicting rotation options for the same file). Given this and that supervisord now has syslog support, it was decided to remove this feature. A warning was added to the documentation that two processes may not log to the same file.

    • ๐Ÿ›  Fixed a bug where parsing command= could cause supervisord to crash if shlex.split() fails, such as a bad quoting. Patch by Scott Wilson.

    • It is now possible to use supervisorctl on a machine with no supervisord.conf file by supplying the connection information in command line options. Patch by Jens Rantil.

    • ๐Ÿ›  Fixed a bug where supervisord would crash if the syslog handler was used and supervisord received SIGUSR2 (log reopen request).

    • ๐Ÿ›  Fixed an XML-RPC bug where calling supervisor.getProcessInfo() with a bad name would cause a 500 Internal Server Error rather than the returning a BAD_NAME fault.

    • โž• Added a favicon to the web interface. Patch by Caio Ariede.

    • ๐Ÿ›  Fixed a test failure due to incorrect handling of daylight savings time in the childutils tests. Patch by Ildar Hizbulin.

    • ๐Ÿ›  Fixed a number of pyflakes warnings for unused variables, imports, and dead code. Patch by Philippe Ombredanne.

  • v3.0.b1 Changes

    September 10, 2012
    • ๐Ÿ›  Fixed a bug where parsing environment= did not verify that key/value pairs were correctly separated. Patch by Martijn Pieters.

    • ๐Ÿ›  Fixed a bug in the HTTP server code that could cause unnecessary delays when sending large responses. Patch by Philip Zeyliger.

    • When supervisord starts up as root, if the -c flag was not provided, a warning is now emitted to the console. Rationale: supervisord looks in the current working directory for a supervisord.conf file; someone might trick the root user into starting supervisord while cd'ed into a directory that has a rogue supervisord.conf.

    • ๐Ÿ“š A warning was added to the documentation about the security implications of starting supervisord without the -c flag.

    • โž• Add a boolean program option stopasgroup, defaulting to false. When true, the flag causes supervisor to send the stop signal to the whole process group. This is useful for programs, such as Flask in debug mode, that do not propagate stop signals to their children, leaving them orphaned.

    • ๐Ÿ‘ Python 2.3 is no longer supported. The last version that supported Python 2.3 is Supervisor 3.0a12.

    • โœ‚ Removed the unused "supervisor_rpc" entry point from setup.py.

    • ๐Ÿ›  Fixed a bug in the rotating log handler that would cause unexpected results when two processes were set to log to the same file. Patch by Whit Morriss.

    • ๐Ÿ›  Fixed a bug in config file reloading where each reload could leak memory because a list of warning messages would be appended but never cleared. Patch by Philip Zeyliger.

    • โž• Added a new Syslog log handler. Thanks to Denis Bilenko, Nathan L. Smith, and Jason R. Coombs, who each contributed to the patch.

    • Put all change history into a single file (CHANGES.txt).