Revision history for Perl module Getopt::Lucid

0.17 Thu Feb 21 07:15:40 EST 2008
    - Clarify 5.006 as minimum requirement; updated other minimum requirements
    - A repeated param option now replaces instead of throwing an error
    - Fix for ambiguous param bug (RT#33462, patch from Torsten Link)
    - Updated distribution packaging (custom Build.PL, author tests moved
      to xt/ directory, documentation with Pod::WikiDoc, etc.)
    - Changed to the Apache License, version 2.0; (it's clearer, relicensable,
      and is explicit about contributions)

0.16 Thu Aug 17 23:04:38 EDT 2006
    - Required Param options with validation no longer throw and error
      from failing to validate the default empty-string (fixes RT#20938)
    - Clarified documentation about validation and default values
    - Various Pod revisions

0.14 Wed Feb  8 11:32:22 EST 2006
    - fixed typo in Pod
    - removed Test::Exception dependencies
    - removed 5.006 specific syntax
    - added optional pod/podcoverage tests (skipped by default)
    - switching to even numbering for releases

0.12 Tue Sep 20 13:10:19 EDT 2005
    - added support for option names with GNU-style dashes; accessors
      substitute underscore for dashes. (Suggested by Steven Vasilogianis)

0.11 Sat Jul 30 11:03:46 EDT 2005
    - moved build_requires prereqs into requires to work around
      a CPANPLUS bug for users preferring Build.PL
    - replaced Clone::Any::clone with Storable::dclone for fewer
      non-core dependencies
    - removed Cookbook stub for now

0.10 Tue Jul 12 19:28:59 EDT 2005
    - Single character (alphanumeric) switches
    - Exception-based error handling
    - Specification validation
    - Command-line validation against spec
    - Bundled single-character switches
    - Long-style (alphanumeric) switches
    - Long/short/multiple switch aliases
    - Keys in resulting option hash are names stripped of any leading dashes
    - Option names/aliases must be unique
    - Option termination string "--"
    - Counters
    - Parameters (w/o "=") (values can't be ambiguous)
    - Parameters (w "=")
    - Lists
    - Pass through non-options (preserving order)
    - Throw exceptions on unrecognized non-bareword options
    - Check for valid and invalid option name characters
    - Keypairs (e.g. "--define os=linux")
    - Bareword options
    - Required options
    - Default values
    - Case insensitivity
    - Validation (regex)
    - Validation (code subroutine)
    - Dependencies
    - parse other arrays than @ARGV
    - names() function
    - accessors for options in spec
    - merge() function
    - pass through single dash
    - provide separate merge_default() and add_default() functions
    - require option_spec for new()
    - make getopt call new if called as a class function and return the object
      not a hash of options
    - provide defaults() and reset_defaults() functions
    - rename push_defaults to append_defaults
    - make sure merge_defaults ignores anything not in the spec
    - implement replace_defaults()
    - make *_defaults check that lists/keypairs are passing right type
    - Support *_defaults() taking a hashref or a hash as input
    - revamp argument spec to new, simpler format
    - validation on lists (validate each value)
    - validation on keypairs (simple validation for keys/values as a whole)
    - "magic" mode as the default: take barewords in spec and handle any form
      that appears to match it
    - add "strict" argument to use for less magic on names/aliases
    - Negation (only for switch/counter/parameter bare/longform): 
      sets to zero/undef
    - Negation with = (for list/keypair bare/longform):  
      removes matching element/key
    - Negation without = (for list/keypair bare/longform): 
      blanks entire list/hash