All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
3.3.2 - 2024-08-17
- Fixes Makefile
- Fixes
-f-
not to be interpreted as-f --
- Fixes
-f-flag
not to be interpreted as-f --flag
3.3.1 - 2024-07-30
- Fixes for Schily Bourne Shell (bosh/pbosh 2023/01/12).
- Fixed broken --shellcheck
- Minor fixes for old yash (POSIXly-correct mode).
- gengetoptions: Hide the
-d
(--definition
) option.
3.3.0 - 2021-05-02
- getoptions: Make the parser name optional
- Support installation via Homebrew
3.2.0 - 2021-04-30
- Added the feature to parse options directly by default parser name
3.1.0 - 2021-04-29
- gengetoptions: Added embed subcommand.
- gengetoptions: Deprecate the
-d
(--definition
) option.
3.0.0 - 2021-04-26
- Added support for
--with-*
and--without-*
options.- #20: Thanks to Cem Keylan.
- Added new option parser generator
gengetoptions
. - Added build system.
- Added support for handling of missing commands (
eval "$(getoptions ...) exit 1"
).
- Changed Attribute
off
tono
. [breaking change] - Changed initial value
@off
to@no
. [breaking change] - Renamed
lin/getoptions.sh
tolin/getoptions_base.sh
. [breaking change] - Moved library generation feature of
getoptions
togengetoptions
[breaking change]
- Removed incomplete scanning modes
=
,#
. [breaking change] - Removed
getoptions-cli
and replaced it withgengetoptions
. [breaking change]
2.5.1 - 2021-01-10
- Add SC2034 to shellcheck directive in generated code
- Fixed a bug that omitting the value of key-value would be an incorrect value.
- Fix handling of unknown short options in mode
=
and#
.
2.5.0 - 2020-12-13
- Added some options for
/bin/getoptions
. - Added scanning modes
=
,#
,@
.
2.4.0 - 2020-11-28
- Added new
/bin/getoptions
(external command version forgetoptions
).
- Renamed previous
/bin/getoptions
to/bin/getoptions-cli
.
2.3.0 - 2020-11-17
- Added getoptions CLI (generator).
- Fixed a bug that omitting the value of key-value would be an incorrect value.
2.2.0 - 2020-11-14
- Support for subcommands.
2.1.0 - 2020-11-03
- Support for abbreviating long options.
2.0.1 - 2020-10-30
- Add workaround for ksh88 (fixed only the test).
2.0.0 - 2020-10-29
setup
helper function.- Added
help
andleading
attributes.
- Added
setup
,flag
,param
andoption
helper function.- Added
@export
as initial value.
- Added
flag
,param
,option
,disp
andmsg
helper function.- Added
label
attribute.
- Added
option
helper function.- Added support
--no-option
syntax and theoff
attribute.
- Added support
- Added extension features (
prehook
andinvoke
).
- Improved the custom error handler. [breaking change]
- The default error message is passed as the first argument, and changed the order of the arguments.
- Adds
:<PATTERN>
to the validator name "pattern" for flexible customization of error message. - Adds
:<STATUS>
to the custom validator name for flexible customization of error message. - Changed the return value of custom error handler to be used as the exit status.
- Invoke validator before pattern matching. [breaking change]
option
helper function.- Changed the
default
attribute to theon
attribute. [breaking change]
- Changed the
- Disable expansion variables in the help display. [breaking change]
- Calling
getoptions_help
is no longer needed. [breaking change]
setup
helper function.- Remove
equal
attribute.
- Remove
1.1.0 - 2020-10-21
- Added
@none
as initial value.
- Unset
OPTARG
when the option parser ends normally.- #3: Thanks to Cem Keylan.
- Reset
OPTIND
to 1 when the option parser ends normally.
1.0.0 - 2020-08-20
- First release version