=====================================================================
Excited to bring V5 to life. This includes some BREAKING CHANGES to
several aspects of ZSH-type scwrypts. Please refer to the readme
for upgrade details (specifically docs/upgrade/v4-to-v5.md)
--- New Features -------------------------
- ZSH testing library with basic mock capabilities
- new scwrypts environment file format includes metadata and more
advanced features like optional parent env overrides, selection
inheritence, and improved structurual flexibility
- speedup cache for non-CI runs of ZSH-type scwrypts
- ${scwryptsmodule} syntax now allows a consistent unique-naming
scheme for functions in ZSH-type scwrypts while providing better
insight into origin of API calls in other modules
- reusable, case-statement-driven argument parsers in ZSH-type scwrypts
--- Changes ------------------------------
- several utility function renames in ZSH-type scwrypts to improve
consistency
- documentation comments included in ZSH libraries
- ZSH-type scwrypts now allow library modules to live alongside
executables
(zsh/lib still supported; autodetection determines default)
--- Bug Fixes ----------------------------
- hardened environment checking for REQUIRED_ENV variables; this removes
the ability to overwrite variables in local function contexts
=====================================================================
Increased non-scwrypts-runtime compatibility and improved clarity
in user environments after sourcing the scwrypts.plugin.zsh.
--- New Features -------------------------
- added experimental support for --output json
- added 'scwrypts --list-groups' to output the SCWRYPTS_GROUPS value
- added 'scwrypts --config' to be `eval`-ed in non-scwrypts-runtime zsh
--- Changes ------------------------------
- removed config variables which pertained to old scwrypts
- removed deprecated --no-log
- cleaned up environment requirements and improved import saftey for
scwrypts.plugin.zsh; scwrypts is now *required* on $PATH in order to work
- refactored group configuration to match external group configuration
(configuration now in scwrypts.scwrypts.zsh rather than zsh/lib/config.group.zsh)
- plugins/kubectl now forces an unalias of `f` (for fluxcd) on load
- the 'use' command now supports the '-c' short flag for ease of quick
use
- upgraded max supported python version to 3.12; dropped support for
python 3.9 (>3.10 required)
- remove old references to SCWRYPTS_ROOT in favour of SCWRYPTS_ROOT__scwrypts
- SCWRYPTS_LOG_LEVEL setting is now forwarded when using the SCWRYPTS__RUN
meta execution function