xref: /aosp_15_r20/external/shflags/doc/RELEASE_NOTES-1.2.2.md (revision 63d4e48fb639f6414be0db9d718e3be2667e4fed)
1# shFlags 1.2.2 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 release.
13
14Please see the `CHANGES-1.2.md` file for a complete list of changes.
15
16### Notable changes
17
18Continuous integration testing setup with [Travis CI][travis-ci]. This helps
19keep the code in a working state by executing the unit tests on every submit.
20
21[travis-ci]: https://travis-ci.org/kward/shflags
22
23All code run through [ShellCheck](http://www.shellcheck.net/). This is an
24excellent shell linter, and brings consistency to the coding patterns used.
25
26The code was restructured to be more GitHub friendly. It should make the code
27more appealing to a wider audience.
28
29### Notable bug fixes
30
31Fixed issue #45. Empty help string causes `shflags_test_issue_28.sh` to fail.
32
33## General info
34
35### The unit tests
36
37shFlags is designed to work on as many environments as possible, but not all
38environments are created equal. As such, not all of the unit tests will succeed
39on every platform. The unit tests are therefore designed to fail, indicating to
40the tester that the supported functionality is not present, but an additional
41test is present to verify that shFlags properly caught the limitation and
42presented the user with an appropriate error message.
43
44shFlags tries to support both the standard and enhanced versions of `getopt`. As
45each responds differently, and not everything is supported on the standard
46version, some unit tests will be skipped (i.e. ASSERTS will not be thrown) when
47the standard version of `getopt` is detected. The reason being that there is no
48point testing for functionality that is positively known not to exist. A tally
49of skipped tests will be kept for later reference.
50
51### Standard vs Enhanced getopt
52
53Here is a matrix of the supported features of the various `getopt` variants.
54
55Feature                                 | std | enh
56--------------------------------------- | --- | ---
57short option names                      | Y   | Y
58long option names                       | N   | Y
59spaces in string options                | N   | Y
60intermixing of flag and non-flag values | N   | Y
61
62## Known Issues
63
64The `getopt` version provided by default with all versions of Mac OS X (up to
65and including 10.13.0) and Solaris (up to and including Solaris 10 and
66OpenSolaris) is the standard version.
67
68## Workarounds
69
70The Zsh shell requires the `shwordsplit` option to be set and the special
71`FLAGS_PARENT` variable must be defined. See `src/shflags_test_helpers` to see
72how the unit tests do this.
73