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