CHANGES.txt 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. Next Release
  2. - Default config file comment documented 10 secs as default for
  3. 'startsecs' value in process config, in reality it was 1 sec.
  4. Thanks to Christoph Zwerschke.
  5. - Make note of subprocess environment behavior in README.txt.
  6. Thanks to Christoph Zwerschke.
  7. - New "strip_ansi" config file option attempts to strip ANSI escape
  8. sequences from logs for smaller/more readable logs (submitted by
  9. Mike Naberezny).
  10. - The XML-RPC method supervisor.getVersion() has been renamed for
  11. clarity to supervisor.getAPIVersion(). The old name is aliased
  12. for compatibility but is deprecated and will be removed in a
  13. future version (Mike Naberezny).
  14. - Improved web interface styling (Mike Naberezny, Derek DeVries)
  15. - The XML-RPC method supervisor.startProcess() now checks that
  16. the file exists and is executable (Mike Naberezny).
  17. 2.2b1
  18. - Individual program configuration sections can now specify an
  19. environment.
  20. - Added a 'version' command to supervisorctl. This returns the
  21. version of the supervisor2 package which the remote supervisord
  22. process is using.
  23. 2.1
  24. - When supervisord was invoked more than once, and its configuration
  25. was set up to use a UNIX domain socket as the HTTP server, the
  26. socket file would be erased in error. The symptom of this was
  27. that a subsequent invocation of supervisorctl could not find the
  28. socket file, so the process could not be controlled (it and all of
  29. its subprocesses would need to be killed by hand).
  30. - Close subprocess file descriptors properly when a subprocess exits
  31. or otherwise dies. This should result in fewer "too many open
  32. files to spawn foo" messages when supervisor is left up for long
  33. periods of time.
  34. - When a process was not killable with a "normal" signal at shutdown
  35. time, too many "INFO: waiting for x to die" messages would be sent
  36. to the log until we ended up killing the process with a SIGKILL.
  37. Now a maximum of one every three seconds is sent up until SIGKILL
  38. time. Thanks to Ian Bicking.
  39. - Add an assertion: we never want to try to marshal None to XML-RPC
  40. callers. Issue 223 in the collector from vgatto indicates that
  41. somehow a supervisor XML-RPC method is returning None (which
  42. should never happen), but I cannot identify how. Maybe the
  43. assertion will give us more clues if it happens again.
  44. - Supervisor would crash when run under Python 2.5 because the
  45. xmlrpclib.Transport class in Python 2.5 changed in a
  46. backward-incompatible way. Thanks to Eric Westra for the bug
  47. report and a fix.
  48. - Tests now pass under Python 2.5.
  49. - Better supervisorctl reporting on stop requests that have a FAILED
  50. status.
  51. - Removed duplicated code (readLog/readMainLog), thanks to Mike
  52. Naberezny.
  53. - Added tailProcessLog command to the XML-RPC API. It provides a
  54. more efficient way to tail logs than readProcessLog(). Use
  55. readProcessLog() to read chunks and tailProcessLog() to tail.
  56. (thanks to Mike Naberezny).
  57. 2.1b2
  58. - Added new tailProcessLog() command to the XML-RPC API that
  59. is more efficient for just tailing than the existing
  60. readProcessLog() command (Mike Naberezny).
  61. 2.1b1
  62. - "supervisord -h" and "supervisorctl -h" did not work (traceback
  63. instead of showing help view (thanks to Damjan from Macedonia for
  64. the bug report).
  65. - Processes which started successfully after failing to start
  66. initially are no longer reported in BACKOFF state once they are
  67. started successfully (thanks to Damjan from Macdonia for the bug
  68. report).
  69. - Add new 'maintail' command to supervisorctl shell, which allows
  70. you to tail the 'main' supervisor log. This uses a new
  71. readMainLog xmlrpc API.
  72. - Various process-state-transition related changes, all internal.
  73. README.txt updated with new state transition map.
  74. - startProcess and startAllProcesses xmlrpc APIs changed: instead of
  75. accepting a timeout integer, these accept a wait boolean (timeout
  76. is implied by process' "startsecs" configuration). If wait is
  77. False, do not wait for startsecs.
  78. Known issues:
  79. Code does not match state transition map. Processes which are
  80. configured as autorestarting which start "successfully" but
  81. subsequently die after 'startsecs' go through the transitions
  82. RUNNING -> BACKOFF -> STARTING instead of the correct transitions
  83. RUNNING -> EXITED -> STARTING. This has no real negative effect,
  84. but should be fixed for correctness.
  85. 2.0
  86. - pidfile written in daemon mode had incorrect pid.
  87. - supervisorctl: tail (non -f) did not pass through proper error
  88. messages when supplied by the server.
  89. - Log signal name used to kill processes at debug level.
  90. - supervisorctl "tail -f" didn't work with supervisorctl sections
  91. configured with an absolute unix:// URL
  92. - New "environment" config file option allows you to add environment
  93. variable values to supervisord environment from config file.
  94. 2.0b1
  95. - fundamental rewrite based on 1.0.6, use distutils (only) for
  96. installation, use ConfigParser rather than ZConfig, use HTTP for
  97. wire protocol, web interface, less lies in supervisorctl.