xref: /aosp_15_r20/external/shflags/doc/RELEASE_NOTES-1.2.1.md (revision 63d4e48fb639f6414be0db9d718e3be2667e4fed)
1# shFlags 1.2.1 Release Notes
2
3https://github.com/kward/shflags
4
5## Preface
6
7This document covers any known issues and workarounds for the stated release of
8shFlags.
9
10
11## Release info
12
13This is a minor bug fix release.
14
15Please see the `CHANGES-1.2.md` file for a complete list of changes.
16
17### Notable changes
18
19Support for the BusyBox `ash` shell was added.
20
21### Notable bug fixes
22
23Fixed issue #28. DEFINE_boolean misbehaves when help-string is empty.
24
25
26## General info
27
28### The unit tests
29
30shFlags is designed to work on as many environments as possible, but not all
31environments are created equal. As such, not all of the unit tests will succeed
32on every platform. The unit tests are therefore designed to fail, indicating to
33the tester that the supported functionality is not present, but an additional
34test is present to verify that shFlags properly caught the limitation and
35presented the user with an appropriate error message.
36
37shFlags tries to support both the standard and enhanced versions of `getopt`.
38As each responds differently, and not everything is supported on the standard
39version, some unit tests will be skipped (i.e. ASSERTS will not be thrown) when
40the standard version of `getopt` is detected. The reason being that there is
41no point testing for functionality that is positively known not to exist. A
42tally of skipped tests will be kept for later reference.
43
44### Standard vs Enhanced getopt
45
46Here is a matrix of the supported features of the various `getopt` variants.
47
48| Feature                                 | std | enh |
49|-----------------------------------------|-----|-----|
50| short option names                      |  Y  |  Y  |
51| long option names                       |  N  |  Y  |
52| spaces in string options                |  N  |  Y  |
53| intermixing of flag and non-flag values |  N  |  Y  |
54
55
56## Known Issues
57
58The `getopt` version provided by default with all versions of Mac OS X (up to
59and including 10.10.2) and Solaris (up to and including Solaris 10 and
60OpenSolaris) is the standard version.
61
62## Workarounds
63
64The Zsh shell requires the `shwordsplit` option to be set and the special
65`FLAGS_PARENT` variable must be defined. See `src/shflags_test_helpers` to
66see how the unit tests do this.
67