CHANGES.txt 4.9 KB

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