This is the first stable release of Thymus, alpha is in the past. It was mostly written from scratch as there is a huge enhancement: the introduction of the editor mode.
New
* The PyPI package!
* The working screen modes: `view` for viewing and navigating a configuration, and `edit` for editing an exact path.
* The `edit` command, enters the `edit` mode and displays a text editor with the content of the current path.
* The `commit` command, creates a new context from the default one.
* The `rollback` command, rolls back a current context to the selected snapshot.
* The `save` command, saves all snapshots to a special `.history` file. Thymus loads this file automatically alongside the config file.
* The application and platforms settings interface (`Ctrl`+`s`), no more typing! It includes user-defined aliases for every possible command and sub-command.
* XR-OS support.
* The sub-commands `diff`, and `compare` (or whatever you specified as an alias) for the command `show` support the additional keyword `rollback`. It takes one positional argument - a number of the context (e.g. `show | compare rollback 1`) and allows a user to see the difference between the specified context and the current one. The `show` command supports a relative path for this mode.
* Themes change a background color in the `view` mode. It facilitates a better readability of colors in different modes (night vs. day).
* The `edit` mode displays a new floating widget with a dynamic number of already displayed lines. The widget can stop the loading of the config and exit the `edit` mode by clicking on it. It helps not to be stuck at lengthy configs.
* The new setting `save on commit`, automatically runs the `save` command after every successful `commit` command. It does not apply to the `rollback` command.
* The new setting `editor frequency factor`, governs the amount of time the editor sleeps between two consequent chunks of lines. The default is 4 which is 0.4 seconds. The fastest mode is 0.2 seconds now.
* The new setting `editor scale factor`, multiplied by the current application height (a vertical window size) gives a count of lines per every displayed chunk. Combined with the `frequency factor` can improve the loading of the content after the `edit` command, but it can hang the application down.
* The new sub-command `reveal` for the JunOS platform, shows all secret data which is hidden by default now.
Changes
* Thymus requires Python 3.9. It can probably run with Python 3.8.1+ but it is now unsupported mode.
* The settings file is redesigned, its version is two now. Platform settings are placed in separate files.
* The logging config file is united with the global one.
* The logging widget requires a manual refresh by `r`.
* The CLI-er version is no longer shipped and supported.
* The `global` command is obsolete and removed.
* The logging screen now is a part of the settings menu.
* The hotkeys `n` and `p` for the working screen are removed.
* The working screen footer is made from scratch. It lacks the number of lines now.
* A user can't change the theme from the working screen.
* Some old settings are gone.
Enhancement
* In the `view` mode Thymus continuously draws a full configuration in a separate thread, no need to scroll down to display the next chunk.
* JunOS hid any secret data by default now.
Fixes
* The netloader module had several issues related to private key signing.
* Lots of tiny fixes due to the fundamental refactoring.
Known issues
* The screenshot function is currently unavailable (I forgot about it lol).
* XR-OS does not support syntax highlighting.
* The `edit` mode also does not support syntax highlighting.