Skip to content

Releases: julien6387/supvisors

Supvisors 0.19.1

01 Feb 17:39
bc3f476

Choose a tag to compare

0.19.1 (2026-02-01)

  • Fix Issue #134.
    Reload the Supvisors process configuration after Supervisor is updated.

  • Fix the distribution logic when multiple applications are in the same starting stage, especially when LESS_LOADED
    or MOST_LOADED strategies are used.

  • Fix get_network_info when used with a Supvisors nickname.

  • Consider the case where process events are received and ignored during the Supvisors handshake.

  • In the application rules of a Supvisors rules file, in combination with the use of an application pattern,
    allow the use of stereotypes and aliases associated with the hashtag symbol '#' in the application identifiers.

  • Set the local Supvisors nickname with the Supervisor identifier when available.

  • Prevent a Supvisors instance to be internally registered more than once at node level.

  • Add the XML-RPC get_core_identifiers to return the resolved Supvisors core instances.

  • Set the lower limit of the option synchro_timeout to 0 instead of 15 (Default value remains unchanged).

  • Speed-up the entry in SYNCHRONIZATION state.

  • Strengthen robustness against psutil issues related to certain operating systems.

  • Review HTTP error codes returned by the REST API in supvisorsflask.

  • CI target added for Python 3.14.

Supvisors 0.19

20 Jul 22:24

Choose a tag to compare

0.19 (2025-07-21)

  • Python 3.9 becomes the minimal version.
    Python 3.6 to Python 3.8 are not supported anymore.

  • Fix the statistics compiler, so that it manages the Supvisors instances discovered.

  • Refactoring of the Supvisors internal state machine.
    The state INITIALIZATION has been renamed as SYNCHRONIZATION and a new state ELECTION has been added
    to get more stability in the Master election.

  • Implement the enhancement requested through the Pull Request #120.
    Supvisors uses the ioctl functions to get the relevant network data on all network interfaces and matches
    the local instance on the whole information available.
    During the handshake, the local network data is shared with the other Supvisors instances using the new XML-RPC
    get_network_info.

  • Take into account the network data in the Supvisors Web UI, so that the same network interface is used
    when navigating to another node.

  • Constraint the handshake in time, so that late notifications are not considered.

  • Check the strategy consistency in the handshake.
    If the options auto_fence, starting_strategy, conciliation_strategy and supvisors_failure_strategy are not
    strictly identical, the local and remote Supvisors instances will isolate each other.

  • Add a session cookie to the Supvisors Web UI client.
    All statistics images served by the Supvisors Web UI are renamed to allow multiple auto-refreshed views
    in the browser tabs.

  • Rework the XML-RPC restart_sequence logic, so that it does not require a Supvisors state change.

  • Add the XML-RPCs get_instance_state_modes and get_all_instances_state_modes in support of getting detailed state
    and modes information from a single Supvisors instance.
    This information has been removed from the XML-RPCs get_instance_info and get_all_instances_info.

  • Update the stop_process command, so that the XML-RPC request is sent only to running-like processes.

  • Update the get_master_identifier XML-RPC, so that it returns both the identifier and its nickname in a dictionary.
    The master command is updated accordingly.

  • Add a new option supvisors_failure_strategy to decide what to do when the initial conditions are not met anymore.

  • Add a new option css_files to allow user CSS in the Supvisors Web UI.

  • Remove the Supvisors instance state UNKNOWN, and rename SILENT as STOPPED (default value).
    Supvisors instances are STOPPED when created.

  • Add the process PID to the process statistics event.

  • Add a timestamp to the events of the Supvisors event interface.
    This timestamp is also added to the XML-RPCs get_supvisors_state, get_instance_state_modes,
    get_all_instances_state_modes, get_application_info, get_all_applications_info, get_process_info,
    get_all_process_info.
    The last_event_time in the Process status event is renamed as last_event_mtime.

  • Update the upper-left hyperlink of the Supvisors instance box in the main Supvisors Web page,
    so that it leads to the same page, as provided by the other Supvisors instance, instead of leading
    to the Supervisor page of the other Supvisors instance.

  • Cancel individual subscriptions from the Supervisor events rather than perform a global clear.

  • Consider variable CPU frequency value returned by psutil.

  • Apply the XML-RPC updates on the JAVA client and the Flask interface.

Supvisors 0.18.7

10 Jan 16:54

Choose a tag to compare

0.18.7 (2025-01-10)

  • Fix a random Python crash due to an I/O exception when the Supervisor log file is rolling over.

  • Fix a possible race condition in the Supervisor proxies management.

Supvisors 0.18.6

20 Aug 20:44
322f973

Choose a tag to compare

0.18.6 (2024-08-20)

  • Completion of fix about process CPU statistics when using SOLARIS mode.

  • Add a grid to statistics plots in the Supvisors Web UI.

Supvisors 0.18.5

19 Aug 20:41
fde059f

Choose a tag to compare

0.18.5 (2024-08-19)

  • Fix process CPU statistics when using SOLARIS mode.
    Issue introduced in Supvisors 0.18 with statistics refactoring.

Supvisors 0.18.4

13 Jul 13:55

Choose a tag to compare

0.18.4 (2024-07-13)

  • Fix supervisord uptime in the Supvisors Web UI.
    Issue introduced in Supvisors 0.18 with monotonic time consideration.

  • Set a default warning message to state that Supvisors rules don't apply on the Supervisor page
    of the Supvisors Web UI.

  • Emphasize the selected Supervisor instance and Application in the navigation of the Supvisors Web UI.

  • In discovery mode, clarify the logs in the event where the Supvisors nick identifier is not unique.

  • Add a section about multicast in documentation troubleshooting.

Supvisors 0.18.3

05 Jun 21:44
0bde29d

Choose a tag to compare

0.18.3 (2024-06-05)

  • Recreate the internal proxy to the local Supervisor if older than 20 minutes, in order to palliate the closure
    of all channels inactive during 30 minutes in the Supervisor HTTP server.
    This fixes a rare bug that has been introduced in Supvisors 0.17, and whose occurrence has greatly
    increased after the refactoring of the Supvisors 0.18 internal communications.

  • Swap Memory and Network statistics cards in the Supvisors Web UI.

Supvisors 0.18.2

27 May 20:42
c1f3b4f

Choose a tag to compare

0.18.2 (2024-05-27)

  • Handle PermissionError exception when trying to get disk usage.

  • Update CSS for overflow parts in the Supvisors Web UI.

Supvisors 0.18.1

26 May 15:06
3ee4a19

Choose a tag to compare

0.18.1 (2024-05-26)

  • Fix the different perception of Supvisors instances about a process whose state is forced.

  • Fix regression using the SINGLE_NODE distribution rule.

  • Share the configuration of stdout and stderr log files between all Supvisors instances.
    has_stdout and has_stderr are added to the result of the XML-RPC get_local_process_info.

  • When the software_name option is set, it is used as a prefix in all log traces.

  • Add disk usage and read/write statistics to the Supvisors Web UI.
    Disk statistics are published to the event interface and the JAVA client has been updated accordingly.

  • In the Application page of the Supvisors Web UI, add the possibility to expand the process information
    from all Supvisors instances where it is configured.
    In the event of a process conflict, a Conciliate button is displayed instead od a list of Supvisors instances.
    Clicking on this button displays the Conciliation page.

  • Split the Main and Conciliation pages of the Supvisors Web UI.

  • The conflicting processes are highlighted in the Main page of the Supvisors Web UI.

  • Change the access of the Conciliation page of the Supvisors Web UI, by clicking on the CONCILIATION state.
    A click on the Supvisors logo always brings back the Main page.

  • Fix the renaming of DEPLOYMENT state as DISTRIBUTION in the JAVA client.

Supvisors 0.18

02 May 11:39
25f4ab3

Choose a tag to compare

0.18 (2024-05-02)

  • Refactoring of the Supvisors internal communications.
    The internal_port of the Supvisors section in the Supervisor configuration file is no longer needed.
    As a consequence, the supvisors_list option is simplified as follows: <identifier>host_name:http_port.
    The transitional SupvisorsInstanceStates.ISOLATING state has been removed.
    The remote Supvisors instance becomes SILENT as soon as the published events fails due to a transport issue.

  • Implement Issue #50.
    A new tag operational_status in the Application rules allows to declare the formula applicable to evaluate the
    application operational status.
    status_formula is added to the result of the XML-RPC get_application_rules.

  • Implement Issue #15.
    A StarterModel has been added to Supvisors to give a prediction of the application distribution when started.
    The command is available through the new XML-RPCs test_start_application and test_start_process and have been
    added to supervisorctl.

  • The Supvisors core_identifiers option and the Supvisors rules can now accept indifferently Supervisor
    identifiers or keys with the host:http_port format.

  • Update the get_instance_info XML-RPC so that the function accepts a stereotype as parameter.
    As a consequence, it now returns a list of dictionaries.

  • Add a lazy attribute to the update_numprocs XML-RPC, so that when set combined to a numprocs decrease,
    Supvisors defers the obsolete processes deletion from the Supervisor configuration only when the processes stop
    (exit, crash or later user request) instead of stopping them immediately.

  • Add monotonic time in internal model and exchanges to cope with time updates while Supvisors is running.
    Impact on the XML-RPC get_instance_info, get_process_info and on the event interface for instance status
    and process event.

  • Add new get_statistics_status, enable_host_statistics, enable_process_statistics, update_collecting_period
    XML-RPCs to support the possibility to get and update the collection of host and process statistics.
    The corresponding commands stats_status, enable_stats and stats_period have been added to supervisorctl.
    The JAVA client includes the new XML-RPCs.

  • Add new get_all_inner_process_info and get_inner_process_info XML-RPCs to support debug investigation.
    They return internal information on the processes declared on a Supvisors instance.

  • Move the host statistics collector to the statistics collector process.
    The option stats_collecting_period is now applicable to host statistics collector.

  • Re-apply the eventual process extra_args when restarting the application.

  • In the Supervisors navigation menu of the Web UI, add a red light to Supervisor instances having raised a failure.

  • Allow the display of a software name and icon at the top of the Supvisors Web UI.
    The options software_name and software_icon have been added to the Supvisors section of the Supervisor
    configuration file.

  • All internal identifiers are now based on the host:http_port format.

  • Rename the DEPLOYMENT state as DISTRIBUTION state to lift ambiguity ("deployment" is rather connoted when dealing
    with the orchestration domain).

  • Rework Supvisors RPCInterface exceptions.

  • Rework the Web UI.