1.0 (11 Nov 2001)
-----------------

  * First public release


1.1 (17 Nov 2001)
-----------------

  * Changed OptionParser.parse_args() method to allow interspersed
    options and positional arguments by default; can be disabled
    with disable_interspersed_args() method.  Reorganized the guts of
    the OptionParser class fairly heavily.

  * Split test_optik.py up into three scripts (test_optik,
    test_callback, and test_extend), and moved them all into
    the test/ directory.

  * Added the 'nargs' attribute to Option, which allows options to
    require more than one argument on the command line.  This
    enables eg.
      parser.add_option("-p", "--point",
                        action="append", nargs=3,
                        type="float", dest="points")
    to turn a command-line like this:
      --point 3.4 -5 95 -p 4 -4 6
    into this:
      options.points == [(3.4, -5.0, 95.0), (4.0, -4.0, 6.0)]

  * Fixed so the last default value explicitly specified for a
    particular option destination takes precedence, even if
    it's None.

1.1.1 (28 Nov 2001)
-------------------

  * Various documentation tweaks (thanks to Alan Eldridge
    <alane@geeksrus.net> for prodding me into those, and
    for doing most of one).

  * Fixed a bug that prevented users from doing things like -f""
    or --file="" on the command-line.  Involved rewriting some hairy
    code in OptionParser, which has the pleasant side-effect that the
    first argument to an option with multiple arguments can now be
    jammed up against the option, eg. "-p3 5 1".

1.2 (18 Dec 2001)
-----------------

  * Fixed how bare "--" and "-" are handled for consistency with
    GNU getopt.  Note that this affects how callbacks that consume
    arguments should be implemented; see callbacks.txt for details.
    Thanks to Matthew Mueller for the patch.

  * Added 'version' argument to OptionParser constructor; if present,
    Option automatically adds a --version option to your option
    parser.  'version' is a string that is expanded in the same
    way as 'usage', ie. "%prog" is replaced by the program name.

  * Added several methods to OptionParser that let you query/manipulate
    the list of options: has_option(), get_option(), remove_option().

  * Added detection and handling of option conflicts.  Eg. if you
    define two options with a "-v" option string, the default is now to
    raise an exception; the old behaviour was to ignore the conflict.  A
    third way to handle conflicts is to resolve them in favour of the
    last option added.

  * Added separate documentation for callback options in callback.txt,
    and removed most callback documentation from advanced.txt.

  * Split the overgrown test_optik.py script up into
    test_{basics,bool,count,nargs,misc}.py, and added a shell script
    (test/runall) that will run all tests in one go.

1.3 (11 Apr 2002)
-----------------

  * Fixed a couple of lurking bugs found by PyChecker.

  * You can now get away with not supplying an option's type,
    no matter the action: Optik now assumes a default type of "string".

  * You can now get away with not supplying an option's destination:
    Optik now derives a default destination from the first long option,
    or the first short option if no long options were given.  Eg. an
    option string "--foo-bar" has the default destination 'foo_bar'.

  * Refactored both Option's and OptionParser's constructors to
    make life easier for people extending Optik.

  * Added the "examples/" subdirectory -- this is a repository of
    examples of extending and using Optik; the goal is to provide
    canonical implementations of various features that I don't want to
    add to Optik proper, but that are occasionally requested.  (Also,
    this gives me a good place to test how Optik's extensibility.)

  * Added support for long and complex option types, mainly for
    completeness (patch by Matthew Mueller).

  * Added make_option() as an alias for the Option constructor, because
    someday there might be many Option classes (in which case
    make_option() will become a factory function).

  * Added the examples/ directory to the source distribution -- this
    demonstrates various ways to extend Optik.
