Home | History | Annotate | Download | only in doc
      1 Changes in shFlags
      2 ==================
      3 
      4 Changes with 1.2.0
      5 ------------------
      6 
      7 Changed from the LGPL v2.1 license to the Apache v2.0 license so that others
      8 can include the library or make changes without needing to release the modified
      9 source code as well.
     10 
     11 Moved documentation to Markdown.
     12 
     13 Migrated the code to GitHub as code.google.com is turning down.
     14 
     15 Fixed issue #10. Usage of `expr` under FreeBSD 7.2 (FreeNAS 0.7.1) and FreeBSD
     16 8.0 that was causing many unit tests to fail.
     17 
     18 Fixed issue where booleans were sometimes mis-configured to require additional
     19 values like other flags.
     20 
     21 Changed `_flags_fatal()` to exit with `FLAGS_ERROR` immediately.
     22 
     23 Fixed issue #11. When help is requested, the help flag is no longer prefixed
     24 with '[no]'.
     25 
     26 Upgraded shUnit2 to 2.1.6.
     27 
     28 Fixed issue #12. Requesting help shouldn't be considered an error.
     29 
     30 Added the ability to override the use of the OS default `getopt` command by
     31 defining the `FLAGS_GETOPT_CMD` variable.
     32 
     33 Updated `gen_test_results.sh` and versions from shUnit2 source.
     34 
     35 Fixed issues# 13, 14. Added support for dashes ('-') in long flag names. The
     36 defined flag will still be declared with underscores ('_') due to shell
     37 limitations, so only one of a dashed flag name or an underscored flag name are
     38 allowed, not both.
     39 
     40 Issue #20. Updated LGPL v2.1 license from
     41 http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt.
     42 
     43 Issue #15. Use `gexpr` instead of `expr` on BSD variants.
     44 
     45 Minor tweaks to make run on FreeBSD 9.1.
     46 
     47 Fixed issue in `shflags_test_public.sh` where screens >80 columns were causing a
     48 test to fail.
     49 
     50 Issue #22. Fixed broken testGetFlagInfo() test.
     51 
     52 Created alternate `validFloat()` and `validInt()` functions that use shell
     53 built-ins where possible to increase performance and reduce the usage of the
     54 `expr` command.
     55 
     56 Added separate built-in and `expr` functions for doing math.
     57 
     58 
     59 Changes with 1.0.3
     60 ------------------
     61 
     62 MAJOR CHANGE! `FLAGS_ARGC` is now obsolete, and is replaced by
     63 `FLAGS_ARGV`. See below for more info.
     64 
     65 Fixed issue# 7 where long flags defined with '=' (e.g. `--abc=123`) made it
     66 impossible for the user to know how many non-flag command-line arguments were
     67 available because the value returned by `FLAGS_ARGC` was wrong. The
     68 `FLAGS_ARGC` value is now obsolete, but will be maintained for backwards
     69 compatibility. The new method of getting the non-flag arguments is by executing
     70 `eval set -- "${FLAGS_ARGV}"` after the `FLAGS` call. The arguments will
     71 then be available using the standard shell $#, $@, $*, $1, etc. variables.
     72 
     73 Due to above fix for issue# 7, there is now proper support for mixing flags
     74 with non-flag arguments on the command-line. Previously, all non-flag arguments
     75 had to be at the end of the command-line.
     76 
     77 Renamed `_flags_standardGetopt()` and `_flags_enhancedGetopt()` functions to
     78 `_flags_getoptStandard()` and `_flags_getoptEnhanced()`.
     79 
     80 Took out the setting and restoration of the '-u' shell flag to treat unset
     81 variables as an error. No point in having it in this library as it is verified
     82 in the unit tests, and provides basically no benefit.
     83 
     84 Fixed bug under Solaris where the generated help was adding extra 'x'
     85 characters.
     86 
     87 Added checks for reserved flag variables (e.g. `FLAGS_TRUE`).
     88 
     89 Fixed some unset variable bugs.
     90 
     91 Now report the actual `getopt` error if there is one.
     92 
     93 All tests now properly enable skipping based on whether a standard or enhanced
     94 `getopt` is found.
     95 
     96 Added the OS version to OS release for Solaris.
     97 
     98 Fixed `flags_reset()` so it unsets the default value environment vars.
     99 
    100 
    101 Changes with 1.0.2
    102 ------------------
    103 
    104 FLAGS_PARENT no longer transforms into a constant so that it can be defined at
    105 run time in scripts.
    106 
    107 Added warning about short flags being unsupported when there are problems
    108 parsing the options with `getopt`.
    109 
    110 Add default values to end of description strings.
    111 
    112 Fixed bug that returned an error instead of success when recalling the default
    113 values for empty strings.
    114 
    115 Added warning when a duplicate flag definition is attempted.
    116 
    117 Improved `assert[Warn|Error]Msg()` test helper grepping.
    118 
    119 Replaced shell_versions.sh with a new versions library and created
    120 `gen_test_results.sh` to make releases easier.
    121 
    122 Copied the coding standards from shUnit2, but haven't fully implemented them
    123 in shFlags yet.
    124 
    125 Issue# 1: When a user defines their own `--help` flag, no more warning is thrown
    126 when `FLAGS()` is called stating that the help flag already defined.
    127 
    128 Issue# 2: Passing the `--nohelp` option no longer gives help output.
    129 
    130 Issue# 3: Added support for screen width detection.
    131 
    132 
    133 Changes with 1.0.1
    134 ------------------
    135 
    136 Fixed bug where the help output added '[no]' to all flag names
    137 
    138 Added additional example files that are referenced by the documentation.
    139 
    140 Improved `zsh` version and option checking.
    141 
    142 Upgraded shUnit2 to 2.1.4
    143 
    144 Added unit testing for the help output.
    145 
    146 When including a library (e.g. shflags) in a script, zsh 3.0.8 doesn't actually
    147 execute the code in-line, but later. As such, variables that are defined in the
    148 library cannot be used until functions are called from the main code. This
    149 required the 'help' flag definition to be moved inside the FLAGS command.
    150 
    151 
    152 Changes with 1.0.0
    153 ------------------
    154 
    155 This is the first official release, so everything is new.
    156