Skip to content

Releases: marcransome/pond

2.3.0

26 Nov 12:58
2.3.0
57e50f4
Compare
Choose a tag to compare

🦑 This is a maintenance release focused primarily on improving unit test coverage and development workflow:

  • Added dev container support for integration with GitHub Codespaces
  • Moved man page generation to container image (using pandoc) and introduced a new supporting script tools/gen-doc, replacing the previous docs/gen-doc script
  • Added initialisation tests and improved validation test coverage
  • Several small improvements to GitHub Actions workflows

What's Changed

Full Changelog: 2.2.0...2.3.0

2.2.0

19 Mar 15:50
9637142
Compare
Choose a tag to compare

🍉 Minor point release including the following changes:

  • Added check command for validating syntax of pond functions
  • Fixed argument references in usage output for create and status commands

Other project changes include:

  • Bumped actions/checkout version from v2 to v3 in workflows
  • Added Markdown link checker workflow
  • Added CODEOWNERS configuration

2.1.0

22 Feb 22:13
0addfc2
Compare
Choose a tag to compare

🚦 Minor point release update which includes the following changes:

  • Added list command completions for -l|--loaded and -u|--unloaded options
  • Fixed invalid drain command completions

Other project changes include:

  • Made source command paths in test files absolute and simplified test workflow using fish-pond/run-fishtape-tests
  • Reduced code duplication and simplified install tests in GitHub workflow using a build matrix

2.0.0

08 Feb 18:46
c529759
Compare
Choose a tag to compare

🧙🏻‍♂️ Major release with several functional and quality of life improvements:

  • Added colour to error messages 🌈
  • Added pond_load_on_create universal variable for controlling whether a pond is loaded automatically in the current shell after creation
  • Added two additional filter options to the list command: --loaded and --unloaded
  • (Breaking change) Renamed init and deinit functions to autoload and autounload to clarify their usage; existing function files will need to be migrated by updating the file suffix to _autoload.fish or _autounload.fish and function name suffix to _autoload or _autounload
  • The status command now reports global status when used without arguments and includes the number of ponds, how many are enabled or loaded, a visual representation of all ponds (colour is used to differentiate between loaded and unloaded ponds), and also an overall health check (i.e. syntax) of all .fish files present in all ponds:
● pond 2.0.0
     Health: good
      Ponds: 2 (2 enabled; 2 loaded)
     Loaded: /root/.config/fish/pond
             ├─• abc
             └─• xyz
  • When reporting the status of one or more named ponds, the output now includes a coloured status symbol indicating whether the pond is loaded or not (a green or grey before the name), the pond directory path, the status of the pond (including loaded and enabled state), whether the pond contains syntactically valid functions or not, the size of the pond, the presence or absence of autoload and autounload functions, the total function count, and the size of the pond. Example:
● abc (/root/.config/fish/pond/abc)
     Status: loaded, enabled
     Health: good
   Autoload: present
 Autounload: absent
  Functions: 1
       Size: 8.0K

1.0.1

07 Jun 19:35
8d8070f
Compare
Choose a tag to compare

🐛 Minor bugfix release:

  • The enable command no longer modifies $fish_function_path (which would be equivalent to loading a pond)

1.0.0

04 Jun 22:27
1de0712
Compare
Choose a tag to compare

🚀 Version 1.0.0 is a major reimagining of the project and includes numerous breaking changes. The primary focus has been shifted away from managing flat environment variable files (and sourcing them into new shell sessions via symbolic links) to managing collections of autoloaded functions. This change enables a great deal more functionality and makes pond a more flexible tool to work with.

The following list details some of the major functional changes and improvements being introduced:

  • It is now possible to add your own custom functions to a pond! 👨🏻‍🔬 pond dir <name> puts you in a pond directory from where you can add any number of function files with .fish extension
  • The load command now modifies fish_funtion_path to expose functions in a pond to the current shell session using autoloading; similarly, the enable command maintains a list of enabled ponds which will be added to fish_funtion_path whenever a new fish session is started
  • Pond no longer creates, nor does it source, an env_vars.fish file for each pond; this functionality has been replaced by special init and deinit functions that can optionally be created on a per-pond basis (refer to the init and deinit commands for usage)
  • The edit command has been removed; environment variables should be added to an init function which can be created (and opened in an interactive editor) using the init command
  • Support for 'private' ponds has been removed; this functionality only made sense in the context of proposed future command additions (e.g. import, export)
  • The unload command no longer attempts to parse variable names from env_vars.fish or erase them from the shell environment, instead add a suitable deinit function to each pond and perform any cleanup operations such as set -e ... there
  • Workflow tests have been refactored and plugin installation tests added for fisher, oh-my-fish, and plug.fish 🧪
  • Numerous other small fixes and improvements too numerous to list here 💤

0.9.0

22 May 15:35
2156030
Compare
Choose a tag to compare

🌵 Minor release with the following changes:

  • Added Oh My Fish support
  • Added version number to usage output
  • Clarified list command output when no matching ponds are found

0.8.0

18 May 17:04
8784389
Compare
Choose a tag to compare

🐬 The following changes are included in this release:

  • Added multiple pond argument support to status command
  • Added global status command output (when no arguments are provided) which lists the total number of ponds and the number of ponds that are currently enabled
  • Improved cleanup routine; functions no longer persist in the current shell environment after uninstall
  • Removed unused internal functions

0.7.0

25 Mar 16:26
0cec5a4
Compare
Choose a tag to compare

🦖 This release includes the following changes:

  • Command option -s|--silent has been renamed -y|--yes for auto-acceptance of user prompts (applies to remove and drain commands)
  • Minor documentation corrections for clarity

0.6.2

20 Mar 13:13
c038a0f
Compare
Choose a tag to compare

📢 Minor release to correct output during installation:

  • Use message prefix consistently to differentiate plugin manager output from plugin output