Supvisors

Latest version: v0.18.7

Safety actively analyzes 714919 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 5

0.10

* Implement [Supervisor Issue 177](https://github.com/Supervisor/supervisor/issues/177).
It is possible to update dynamically the program numprocs using the new `update_numprocs` XML-RPC.

* Add targets **Python 3.7** and **Python 3.8** to Travis-CI.

0.9

* Enable the hash '' for the `addresses` of a non-distributed application.

* Add `supvisorsctl` to pally the lack of support of `supervisorctl` when used with `--serverurl URL` option.
See related [Supervisor Issue 1455](https://github.com/Supervisor/supervisor/issues/1455).

* Provide `breed.py` as a binary of **Supvisors**: `supvisors_breed`.
The script only considers group duplication as it is fully valid to include multiple times a program definition
in several groups.

* Move the contents of the `[supvisors]` section into the `[rpcinterface:supvisors]` section and benefit from the
configuration structure provided by Supervisor. The `[supvisors]` section itself is thus obsolete.

* Remove deprecated support of `pattern` elements.

* Fix issue when using the Web UI Application page from a previous launch.

* Invert the stop sequence logic, starting from the greatest ``stop_sequence`` number to the lowest one.

* When ``stop_sequence`` is not set in the rules files, it is defaulted to the ``start_sequence`` value.
With the new stop sequence logic, the stop sequence is by default exactly the opposite of the start sequence.

* Fix Nodes' column width for `supervisorctl application_rules`.

* `CHANGES.rst` replaced with `CHANGES.md`.

* 'Scenario 3' has been added to the **Supvisors** use cases.

* A 'Gathering' configuration has been added to the **Supvisors** use cases. It combines all uses cases.

0.8

* Fix exception in `INITIALIZATION` state when the *Master* declared by other nodes is not RUNNING yet and
the *core nodes* are RUNNING.

* Fix exception when program rules and extra arguments are tested against a program unknown to the local Supervisor.

* Fix issue about program patterns that were applicable to all elements. The scope of program patterns is now limited
to their owner application.

* Fix issue with infinite tries of application restart when the process cannot be started due to a lack of resources
and `RESTART_APPLICATION` is set on the program in the **Supvisors** rules file.

* Fix issue about application state not updated after a node has become silent.

* Fix issue when choosing a node in `Starter`. Apply the requests that have not been satisfied yet for
non-distributed applications.

* Review logic for application major / minor failures.

* Simplify the insertion of applications to start or stop in Commander jobs.

* Add support for application patterns in the **Supvisors** rules file.

* In the **Supvisors** rules file, `pattern` elements are **deprecated** and are replaced by `program` elements
with a `pattern` attribute instead of a `name` attribute.
Support for `pattern` elements will be removed in the next version of **Supvisors**.

* Node aliases have been added to the **Supvisors** rules file.

* Add the current node to all pages of Web UI to be aware of the node that displays the page.

* The Web UI is updated to handle a large list of applications, nodes, processor cores and network interfaces.

* In the Process page of the Web UI, expand / shrink actions are not applicable to programs that are not owned
by a Supervisor group.

* In the Applications navigation menu of the Web UI, add a red light near the Applications title if any application
has raised a failure.

* In the Application page of the Web UI, default starting strategy is the starting strategy defined
in the **Supvisors** rules file for the application considered.

* In the Application ang Process page, the detailed process statistics can be deselected.

* Titles added to the output of :program:`supervisorctl` `address_status` and `application_info`.

* The XML schema has been moved to a separate file `rules.xsd`.

* Remove dependency to *netifaces* as *psutil* provides the function.

* 'Scenario 2' has been added to the **Supvisors** use cases.

* A script `breed.py` has been added to the installation package.
It can be used to duplicate the applications based on a template configuration and more particularly used to prepare
the Scenario 2 of the **Supvisors** use cases.

0.7

* Fix [Issue 92](https://github.com/julien6387/supvisors/issues/92).
The *Master* drives the state of all **Supvisors** instances and a simplified state machine has been assigned
to non-master **Supvisors** instances. The loss of the *Master* instance is managed in all relevant states.

* Fix issue about applications that would be started automatically whereas their `start_sequence` is 0.
The regression has been introduced during the implementation of applications repair in **Supvisors 0.6**.

* Enable stop sequence on *Unmanaged* applications.

* In the Applications navigation menu of the Web UI, add a red light to applications having raised a failure.

* New application rules `distributed` and `addresses` added to the **Supvisors** rules file.
Non-distributed applications have all their processes started on the same node chosen in accordance with the
`addresses` and the `starting_strategy`.

* Add the `starting_strategy` option to the `application` section of the **Supvisors** rules file.

* Fix issue when choosing a node in `Starter`. The starting strategies considers the current load of the nodes
and includes the requests that have not been satisfied yet.

* Fix issue with infinite process restart when the process crashes and `RESTART_PROCESS` is set on the program
in the **Supvisors** rules file. When the process crashes, only the *Supervisor* `autorestart` applies.
The **Supvisors** `RESTART_PROCESS` applies only when the node becomes inactive.

* Fix exception when forcing the state on a process that is unknown to the local Supervisor.

* Promote the `RESTART_PROCESS` into `RESTART_APPLICATION` if the application is stopped.

* For the *Master* election, give a priority to nodes declared in the `forced_synchro_if` option if used.

* When using the `forced_synchro_if` option and when `auto_fence` is activated, do not isolate nodes as long as
`synchro_timeout` has not passed.

* In the `INITALIZATION` state, skip the synchronization phase upon notification of a known *Master* and adopt it.

* Add reciprocity to isolation even if `auto_fence` is not activated.

* In the process description of the Web UI Application page, add information about the node name.
In particular, it is useful to know where the process was running when it is stopped.

* Start adding use cases to documentation, inspired by real examples.
'Scenario 1' has been added.

0.6

* Applications that are not declared in the **Supvisors** rules file are not *managed*.
*Unmanaged* applications have no start/stop sequence, no state and status (always STOPPED) and **Supvisors**
does not raise a conflict if multiple instances are running over multiple nodes.

* Improve **Supvisors** stability when dealing with remote programs undefined locally.

* Add expand / shrink actions to applications to the `ProcInstanceView` of the Web UI.

* Upon authorization of a new node in **Supvisors**, back to `DEPLOYMENT` state to repair applications.

* Add RPC `change_log_level` to dynamically change the **Supvisors** logger level.

* Application state is evaluated only against the starting sequence of its processes.

* Fix blocking issue when *Master* is stopped while in `DEPLOYMENT` state.

* Fix issue with applications that would not fully stop when using the `STOP_APPLICATION` starting failure strategy.

* Fix issue related to [Issue 85](https://github.com/julien6387/supvisors/issues/85).
An exception was raised when the program `procnum` was greater than the list of applicable nodes.

* Fix [Issue 91](https://github.com/julien6387/supvisors/issues/91).
Fix CSS style on the process tables in HTML.

* Fix [Issue 90](https://github.com/julien6387/supvisors/issues/90).
The **Supvisors** *Master* node drives the transition to `OPERATION`.

* In the Web UI, set the process state color to `FATAL` when the process has exited unexpectedly.

* Change the default expected loading to `0` in the `program` section of the **Supvisors** rules file.

* Python `Enum` used for enumerations (not available in Python 2.7).

* Remove `supvisors_shortcuts` from source code to get rid of IDE warnings.

* All unit tests updated from `unittest` to `pytest`.

* Include this Change Log to documentation.

0.5

* New option `force_synchro_if` to force the end of the synchronization phase when a subset of nodes is active.

* New starting strategy `LOCAL` added to command the starting of an application on the local node only.

* Fix [Issue 87](https://github.com/julien6387/supvisors/issues/87).
Under particular circumstances, **Supvisors** could have multiple *Master* nodes.

* Fix [Issue 86](https://github.com/julien6387/supvisors/issues/86).
The starting and stopping sequences may fail and block when a sub-sequence includes only failed programs.

* Fix [Issue 85](https://github.com/julien6387/supvisors/issues/85).
When using `` in the `address_list` program rule of the **Supvisors** rules file, a subset of nodes can optionally
be defined.

* Fix [Issue 84](https://github.com/julien6387/supvisors/issues/84).
In the **Supvisors** rules file, program rules can be defined using both model reference and attributes.

* The Web UI uses the default starting strategy of the configuration file.

* The layout of Web UI statistics sections has been rearranged.

* Fix CSS style missing for `CHECKING` node state in tables.

* Star added to the node box of the *Master* instance on the main page.

* Type annotations are added progressively in source code.

* Start switching from `unittest` to `pytest`.

* Logs (especially `debug` and `trace`) updated to remove printed objects.

Page 4 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.