Supervisor v4.0.0 Release Notes

Release Date: 2019-04-05 // over 2 years ago
    • ๐Ÿ‘Œ 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 was 0,2. This caused issues with Golang programs where panic() causes the exit code to be 2. The default value for exitcodes is now 0.

    • 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 and stderr_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 of syslog is still supported but deprecated. Patch by Jason R. Coombs.