Releases: UrsaDK/getopts_long
1.3.0
Special thanks to @billyzkid, as this release is almost entirely based on his contributions, including the PRs he submitted and the issues he highlighted.
New:
- Adds support for auto-detection of arguments supplied in nested functions.
Fixed:
- Resolves "unbound variable" errors when
getopts_long
is used withset -u
- Aligns the behaviour of OPTARG between the builtin
getopts
andgetopts_long
- Upgrades all tests to use
declare
instead ofecho
Full Changelog: 1.2.3...1.3.0
1.2.3
- Fixed support for OPTSPEC without short options in verbose mode (OPTSPEC string starting with a space).
- Fixed hyphen and double-hyphen handling with short options to match bash getopts.
- Improved performance by migrating away from bash regex engine in favour of bash globbing.
- Updated documentation.
- Refactored test helper to support consistent output line referencing and bash regex matching.
- Updated GitHub actions to the latest version and re-enabled codecov integration.
Full Changelog: 1.2.2...1.2.3
1.2.2
1.2.1
A quick bug fix, hot on the heels of the last minor release:
- Drastically reduced the size of the docker image
- Fixed broken file links in Codecov reports
- Running
./bin/docker
from a branch will no longer override local copy ofumkadk/getopts_long:latest
- Implemented shellcheck checks and fixes for all support scripts
- Re-enabled previously disabled tests
1.2.0
This releases focusses on upgrading getopts_long continuous integration environment.
It adds all of the following features:
- a local test environment provided by docker;
- support for shellcheck, bats, and kcov;
- shortcuts for docker and test commands (see ./bin);
- validation of the pushed code via GitHub Actions;
- integration with Docker Hub and Codecov.
It fixes a number of outstanding issues:
- test scrips are no longer dependant on git command;
- documentation has been updated to include better installation instructions.
1.1.0
getopts_long
is a pure BASH "upgrade" on top of the built-in getopts
. It is written in pure BASH, has no external dependencies, and provides support for GNU-style long options:
--option
--option value
--option=value
.
As of this release getopt_long
is 100% compatible with the built-in getopts
, and can be used as its drop-in replacement.
1.0.0
Command line parsing in bash scripts is rarely a simple job. The built-in getopts
only supports single-character option, and I often find myself wishing for GNU style long options...
getups_long
is an "upgrade" to the built-in getopts
, which supports the following long options on top of everything the builtin getups
already does:
--option
--option value
--option=value