• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# shFlags 1.2.0 Release Notes
2https://github.com/kward/shflags
3
4Preface
5=======
6
7This document covers any known issues and workarounds for the stated release of
8shFlags.
9
10Release info
11============
12
13This is a minor bug fix release.
14
15Please see the `CHANGES-1.0.txt` file for a complete list of changes.
16
17Major changes
18-------------
19
20Changed from the LGPL v2.1 license to the Apache v2.0 license so that others
21can include the library or make changes without needing to release the modified
22source code as well.
23
24Obsolete items
25--------------
26
27None
28
29Bug fixes
30---------
31
32Issue #10 - Changed the internal usage of the `expn` command to fix issues
33under FreeBSD.
34
35General info
36============
37
38The unit tests
39--------------
40
41shFlags is designed to work on as many environments as possible, but not all
42environments are created equal. As such, not all of the unit tests will succeed
43on every platform. The unit tests are therefore designed to fail, indicating to
44the tester that the supported functionality is not present, but an additional
45test is present to verify that shFlags properly caught the limitation and
46presented the user with an appropriate error message.
47
48shFlags tries to support both the standard and enhanced versions of `getopt`.
49As each responds differently, and not everything is supported on the standard
50version, some unit tests will be skipped (i.e. ASSERTS will not be thrown) when
51the standard version of `getopt` is detected. The reason being that there is
52no point testing for functionality that is positively known not to exist. A
53tally of skipped tests will be kept for later reference.
54
55Standard vs Enhanced getopt
56---------------------------
57
58Here is a matrix of the supported features of the various `getopt` variants.
59
60| Feature                                 | std | enh |
61|-----------------------------------------|-----|-----|
62| short option names                      |  Y  |  Y  |
63| long option names                       |  N  |  Y  |
64| spaces in string options                |  N  |  Y  |
65| intermixing of flag and non-flag values |  N  |  Y  |
66
67Known Issues
68------------
69
70The `getopt` version provided by default with all versions of Mac OS X (up to
71and including 10.10.2) and Solaris (up to and including Solaris 10 and
72OpenSolaris) is the standard version.
73
74Workarounds
75-----------
76The Zsh shell requires the `shwordsplit` option to be set and the special
77`FLAGS_PARENT` variable must be defined. See `src/shflags_test_helpers` to
78see how the unit tests do this.
79