Skip to content

1.0 - The first major release of an overhauled Envprobe

Latest
Compare
Choose a tag to compare
@whisperity whisperity released this 29 May 11:24

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 in PATH.

Backwards-incompatible and other game-breaking changes ⚠️

  • #10 The envprobe.py and envprobe-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 and epc default-tracking commands were merged into the new epc track command.
    • Setting the default tracking behaviour (the old epc default-tracking) is done by supplying --default to epc 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 calling epc track --reset.
  • The epc set-type and epc set-description commands have been merged together into the epc set command. The individual properties to be set can be specified with --type and --description, respectively.
  • The epc update-community was renamed to epc 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!