Releases: marcransome/pond
2.3.0
🦑 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 scripttools/gen-doc
, replacing the previousdocs/gen-doc
script - Added initialisation tests and improved validation test coverage
- Several small improvements to GitHub Actions workflows
What's Changed
- Add initialisation tests by @marcransome in #107
- Remove redundant workflow step by @marcransome in #108
- Add link check config for failing URLs by @marcransome in #109
- Add missing validation tests by @marcransome in #110
- Add more validation tests by @marcransome in #111
- Reduce test container size by @marcransome in #112
- Add dev container support by @marcransome in #113
- Update README.md by @marcransome in #114
- Add security policy by @marcransome in #115
- Update markdown links workflow by @marcransome in #116
- Reorganise documentation by @marcransome in #117
- Update documentation install script by @marcransome in #118
- Add MOTD for dev container by @marcransome in #119
- Update dev container MOTD message by @marcransome in #120
- Add man page generation support to dev container by @marcransome in #121
- Bump version number for release by @marcransome in #122
Full Changelog: 2.2.0...2.3.0
2.2.0
🍉 Minor point release including the following changes:
- Added
check
command for validating syntax of pond functions - Fixed argument references in usage output for
create
andstatus
commands
Other project changes include:
- Bumped actions/checkout version from
v2
tov3
in workflows - Added Markdown link checker workflow
- Added
CODEOWNERS
configuration
2.1.0
🚦 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
🧙🏻♂️ 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
anddeinit
functions toautoload
andautounload
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 ofautoload
andautounload
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
🐛 Minor bugfix release:
- The
enable
command no longer modifies$fish_function_path
(which would be equivalent to loading a pond)
1.0.0
🚀 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 modifiesfish_funtion_path
to expose functions in a pond to the current shell session using autoloading; similarly, theenable
command maintains a list of enabled ponds which will be added tofish_funtion_path
whenever a newfish
session is started - Pond no longer creates, nor does it
source
, anenv_vars.fish
file for each pond; this functionality has been replaced by specialinit
anddeinit
functions that can optionally be created on a per-pond basis (refer to theinit
anddeinit
commands for usage) - The
edit
command has been removed; environment variables should be added to aninit
function which can be created (and opened in an interactive editor) using theinit
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 fromenv_vars.fish
or erase them from the shell environment, instead add a suitabledeinit
function to each pond and perform any cleanup operations such asset -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
🌵 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
🐬 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
🦖 This release includes the following changes:
- Command option
-s|--silent
has been renamed-y|--yes
for auto-acceptance of user prompts (applies toremove
anddrain
commands) - Minor documentation corrections for clarity
0.6.2
📢 Minor release to correct output during installation:
- Use message prefix consistently to differentiate plugin manager output from plugin output