3061f4929e
- update to 4.3.0: * Fixed a bug where the poller would not unregister a closed file descriptor under some circumstances, which caused excessive polling, resulting in higher CPU usage. Patch by aftersnow. * Fixed a bug where restarting supervisord may have failed with the message Error: Another program is already listening on a port that one of our HTTP servers is configured to use. if an HTTP request was made during restart. Patch by Julien Le Cléach. * Fixed a unit test that failed only on Python 3.13. Only test code was changed; no changes to supervisord itself. Patch by Colin Watson. * On Python 3.8 and later, setuptools is no longer a runtime dependency. Patch by Ofek Lev. * On Python versions before 3.8, setuptools is still a runtime dependency (for pkg_resources) but it is no longer declared in setup.py as such. This is because adding a conditional dependency with an environment marker (setuptools; python_version < '3.8') breaks installation in some scenarios, e.g. setup.py install or older versions of pip. Ensure that setuptools is installed if using Python before 3.8.
Dirk Mueller2025-11-12 11:54:57 +00:00
302bc75292
- update to 4.2.5: * Fixed a bug where the XML-RPC method `supervisor.startProcess() would return 500 Internal Server Error instead of an XML-RPC fault response if the command could not be parsed. * Fixed a bug on Python 2.7 where a UnicodeDecodeError may have occurred when using the web interface. * Removed use of urllib.parse functions splithost, splitport, and splittype deprecated in Python 3.8. * Removed use of asynchat and asyncore deprecated in Python 3.10. * The return value of the XML-RPC method supervisor.getAllConfigInfo() now includes the directory, uid, and serverurl of the program. * If a subprocess exits with a unexpected exit code (one not listed in exitcodes= in a [program:x] section) then the exit will now be logged at the WARN level instead of INFO. * supervisorctl shutdown now shows an error message if an argument is given. * File descriptors are now closed using the faster os.closerange() instead of calling os.close()` in a loop.
Dirk Mueller2023-01-03 13:02:45 +00:00