xref: /aosp_15_r20/external/shflags/doc/RELEASE_NOTES-1.2.3.md (revision 63d4e48fb639f6414be0db9d718e3be2667e4fed)
1# shFlags 1.2.3 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## Release info
11
12This is a minor bug fix and cleanup release.
13
14There were several minor changes thanks to feedback from a major code review by
15[James Youngman](https://www.linkedin.com/in/jamesyoungman/). Thank you!
16
17Please see the `CHANGES-1.2.md` file for a complete list of changes.
18
19### Notable changes
20
21None.
22
23### Notable bug fixes
24
25Fixed the examples to work again with the new code structure. These broke when
26the code was refactored for GitHub.
27
28## General info
29
30### The unit tests
31
32shFlags is designed to work on as many environments as possible, but not all
33environments are created equal. As such, not all of the unit tests will succeed
34on every platform. The unit tests are therefore designed to fail, indicating to
35the tester that the supported functionality is not present, but an additional
36test is present to verify that shFlags properly caught the limitation and
37presented the user with an appropriate error message.
38
39shFlags tries to support both the standard and enhanced versions of `getopt`. As
40each responds differently, and not everything is supported on the standard
41version, some unit tests will be skipped (i.e. ASSERTS will not be thrown) when
42the standard version of `getopt` is detected. The reason being that there is no
43point testing for functionality that is positively known not to exist. A tally
44of skipped tests will be kept for later reference.
45
46### Standard vs Enhanced getopt
47
48Here is a matrix of the supported features of the various `getopt` variants.
49
50Feature                                 | std | enh
51--------------------------------------- | --- | ---
52short option names                      | Y   | Y
53long option names                       | N   | Y
54spaces in string options                | N   | Y
55intermixing of flag and non-flag values | N   | Y
56
57## Known Issues
58
59The `getopt` version provided by default with all versions of Mac OS X (up to
60and including 10.13.0) and Solaris (up to and including Solaris 10 and
61OpenSolaris) is the standard version.
62
63## Workarounds
64
65The Zsh shell requires the `shwordsplit` option to be set and the special
66`FLAGS_PARENT` variable must be defined. See `src/shflags_test_helpers` to see
67how the unit tests do this.
68