CHANGES.txt 5.3 KB

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