The old version of the project which was born out of a hackathon was archived as 0.0.1.
Much of Envprobe's goals, terminology, and user interface stays the same between the original version and this release.
New features and enhancements 📰
- There's a shorter and more concise README, and a better and longer full Documentation available.
- Envprobe is now designed with offering most of the low-level functionality as a Python library, with the user-facing commands simply bolted on top. The internal details have been heavily refactored and better documented.
- #8 There is an automatic CI system.
- #11 Envprobe will now use the most temporary location possible to store the temporary files needed for operation and will try its best to automatically clean up after itself.
Bug fixes and performance improvements 🪲
- #12 Fixed an issue with invalid control code generation when a variable's value contained spaces.
- #2 Fixed saving changes to a
PATH
-like variable and then saving some more changes to it destroying the originally saved values. - #14 Fixed the issue with saving or loading a snapshot resulting in the entire environment being considered up-to-date with the known state, as opposed to only the changes that affected the variables actually saved or loaded.
- #15 Improved the handling of the control file to be done in Python, removing the reliance on the existence of
/bin/cat
and/bin/rm
– i.e./bin
present inPATH
.
Backwards-incompatible and other game-breaking changes ⚠️
- #10 The
envprobe.py
andenvprobe-config.py
entry point scripts had been removed and the shell hook is shorter and simpler. Now,envprobe
is the only entry point through which the program needs to be called. - The old
epc track
andepc default-tracking
commands were merged into the newepc track
command.- Setting the default tracking behaviour (the old
epc default-tracking
) is done by supplying--default
toepc track
instead of a variable name. - Resetting a specific variable's tracking to the user-level default (the old
epc track --default
) is done by callingepc track --reset
.
- Setting the default tracking behaviour (the old
- The
epc set-type
andepc set-description
commands have been merged together into theepc set
command. The individual properties to be set can be specified with--type
and--description
, respectively. - The
epc update-community
was renamed toepc descriptions update
. The format of the data files obtained by this command was changed in a backwards-incompatible manner! - Envprobe's user-level configuration files are now stored in
~/.config/envprobe
by default, and respects the XDG specification. The format and filenames of these files had been changed, also. - The internal implementation was overhauled completely, meaning that library-level client code should expect itself to be broken when upgrading!