1*63d4e48fSSadaf Ebrahimi# shFlags 1.2.0 Release Notes 2*63d4e48fSSadaf Ebrahimihttps://github.com/kward/shflags 3*63d4e48fSSadaf Ebrahimi 4*63d4e48fSSadaf EbrahimiPreface 5*63d4e48fSSadaf Ebrahimi======= 6*63d4e48fSSadaf Ebrahimi 7*63d4e48fSSadaf EbrahimiThis document covers any known issues and workarounds for the stated release of 8*63d4e48fSSadaf EbrahimishFlags. 9*63d4e48fSSadaf Ebrahimi 10*63d4e48fSSadaf EbrahimiRelease info 11*63d4e48fSSadaf Ebrahimi============ 12*63d4e48fSSadaf Ebrahimi 13*63d4e48fSSadaf EbrahimiThis is a minor bug fix release. 14*63d4e48fSSadaf Ebrahimi 15*63d4e48fSSadaf EbrahimiPlease see the `CHANGES-1.2.md` file for a complete list of changes. 16*63d4e48fSSadaf Ebrahimi 17*63d4e48fSSadaf EbrahimiMajor changes 18*63d4e48fSSadaf Ebrahimi------------- 19*63d4e48fSSadaf Ebrahimi 20*63d4e48fSSadaf EbrahimiChanged from the LGPL v2.1 license to the Apache v2.0 license so that others 21*63d4e48fSSadaf Ebrahimican include the library or make changes without needing to release the modified 22*63d4e48fSSadaf Ebrahimisource code as well. 23*63d4e48fSSadaf Ebrahimi 24*63d4e48fSSadaf EbrahimiObsolete items 25*63d4e48fSSadaf Ebrahimi-------------- 26*63d4e48fSSadaf Ebrahimi 27*63d4e48fSSadaf EbrahimiNone 28*63d4e48fSSadaf Ebrahimi 29*63d4e48fSSadaf EbrahimiBug fixes 30*63d4e48fSSadaf Ebrahimi--------- 31*63d4e48fSSadaf Ebrahimi 32*63d4e48fSSadaf EbrahimiIssue #10 - Changed the internal usage of the `expn` command to fix issues 33*63d4e48fSSadaf Ebrahimiunder FreeBSD. 34*63d4e48fSSadaf Ebrahimi 35*63d4e48fSSadaf EbrahimiGeneral info 36*63d4e48fSSadaf Ebrahimi============ 37*63d4e48fSSadaf Ebrahimi 38*63d4e48fSSadaf EbrahimiThe unit tests 39*63d4e48fSSadaf Ebrahimi-------------- 40*63d4e48fSSadaf Ebrahimi 41*63d4e48fSSadaf EbrahimishFlags is designed to work on as many environments as possible, but not all 42*63d4e48fSSadaf Ebrahimienvironments are created equal. As such, not all of the unit tests will succeed 43*63d4e48fSSadaf Ebrahimion every platform. The unit tests are therefore designed to fail, indicating to 44*63d4e48fSSadaf Ebrahimithe tester that the supported functionality is not present, but an additional 45*63d4e48fSSadaf Ebrahimitest is present to verify that shFlags properly caught the limitation and 46*63d4e48fSSadaf Ebrahimipresented the user with an appropriate error message. 47*63d4e48fSSadaf Ebrahimi 48*63d4e48fSSadaf EbrahimishFlags tries to support both the standard and enhanced versions of `getopt`. 49*63d4e48fSSadaf EbrahimiAs each responds differently, and not everything is supported on the standard 50*63d4e48fSSadaf Ebrahimiversion, some unit tests will be skipped (i.e. ASSERTS will not be thrown) when 51*63d4e48fSSadaf Ebrahimithe standard version of `getopt` is detected. The reason being that there is 52*63d4e48fSSadaf Ebrahimino point testing for functionality that is positively known not to exist. A 53*63d4e48fSSadaf Ebrahimitally of skipped tests will be kept for later reference. 54*63d4e48fSSadaf Ebrahimi 55*63d4e48fSSadaf EbrahimiStandard vs Enhanced getopt 56*63d4e48fSSadaf Ebrahimi--------------------------- 57*63d4e48fSSadaf Ebrahimi 58*63d4e48fSSadaf EbrahimiHere is a matrix of the supported features of the various `getopt` variants. 59*63d4e48fSSadaf Ebrahimi 60*63d4e48fSSadaf Ebrahimi| Feature | std | enh | 61*63d4e48fSSadaf Ebrahimi|-----------------------------------------|-----|-----| 62*63d4e48fSSadaf Ebrahimi| short option names | Y | Y | 63*63d4e48fSSadaf Ebrahimi| long option names | N | Y | 64*63d4e48fSSadaf Ebrahimi| spaces in string options | N | Y | 65*63d4e48fSSadaf Ebrahimi| intermixing of flag and non-flag values | N | Y | 66*63d4e48fSSadaf Ebrahimi 67*63d4e48fSSadaf EbrahimiKnown Issues 68*63d4e48fSSadaf Ebrahimi------------ 69*63d4e48fSSadaf Ebrahimi 70*63d4e48fSSadaf EbrahimiThe `getopt` version provided by default with all versions of Mac OS X (up to 71*63d4e48fSSadaf Ebrahimiand including 10.10.2) and Solaris (up to and including Solaris 10 and 72*63d4e48fSSadaf EbrahimiOpenSolaris) is the standard version. 73*63d4e48fSSadaf Ebrahimi 74*63d4e48fSSadaf EbrahimiWorkarounds 75*63d4e48fSSadaf Ebrahimi----------- 76*63d4e48fSSadaf EbrahimiThe Zsh shell requires the `shwordsplit` option to be set and the special 77*63d4e48fSSadaf Ebrahimi`FLAGS_PARENT` variable must be defined. See `src/shflags_test_helpers` to 78*63d4e48fSSadaf Ebrahimisee how the unit tests do this. 79