0.000_09	2012-01-30	T. R. Wyant
  INCOMPATIBLE CHANGE
  * The default_cpan_source attribute is now carried internally as a
    reference to an array of the expanded class names, and this is what
    is returned by the accessor.

  COMPATIBLE CHANGES
  * The mutator logic has been rewritten in terms of hooks to supply
    defaults, validate, and do post-assignment processing. This is still
    package-private, though it is documented.

0.000_08	2012-01-28	T. R. Wyant
  Don't have Build_Repos.PL load CPAN::Checksums until we _know_ we need
    to rebuild the mock repository.

0.000_07	2012-01-28	T. R. Wyant
  Add a write() method to the CPAN::Access::AdHoc::Archive::* classes.
    This writes the archive, compressing it if need be. The file name
    written can be specified as an argument, defaulting to the base name
    of the original file.
  Modify method CPAN::Access::AdHoc::Archive->wrap_archive() so that its
    second argument can be either an author directory, or a scalar
    reference which dereferences to the directory relative to the
    repository root.

0.000_06	2012-01-27	T. R. Wyant
  Add method CPAN::Access::AdHoc::Archive->wrap_archive(), which
    instantiates an archive object from an archive file and optional
    CPAN ID. This seems to remove the need to expose guess_media_type()
    and handle_http_response(), so their functionality has become
    private to the package.
  CPAN::Access::AdHoc::Archive->guess_media_type() and
    handle_http_response() are deprecated and will warn on use. Because
    they have never appeared in a production release they will be
    removed after a week.
  Make the CPAN::Access::AdHoc cpan() attribute a URI object, both
    internally and extrnally. The mutator takes either a stringifiable
    object or a string. The scheme must be supported according to
    LWP::Protocol::implementor(), and support a hierarchical name space.

0.000_05	2012-01-24	T. R. Wyant
  Retract the test of get_item_mtime() for Zip archives, since there is
    no way to make it work in any time zone. Document (briefly) the
    problems in CPAN::Access::AdHoc::Archive::Zip.
  Add static method CPAN::Access::AdHoc::Archive->guess_media_type().
    This (currently) wraps LWP::MediaTypes::guess_media_type(), but
    provides some ad-hocery to help the latter in cases it can't handle.
    I'm not real happy with either this or handle_http_response(), but
    so far have been unable to come up with anything better.

0.000_04	2012-01-21	T. R. Wyant
  INCOMPATIBLE CHANGES
  Remove all methods deprecated in 0.000_03.
  Change the way CPAN::Access::AdHoc::Archive::Null looks at its
    contents. Specifically:
    * base_directory() now returns the directory portion of the path()
      attribute -- unless this looks like the path of a distribution, in
      which case it returns the directory relative to the authors/id/
      directory.
    * list_content() now returns just the base name of the enclosed
      file.
    * The get_item_*() and item_present() methods just take the base
      name of the enclosed file.
    * extract() creates directories as specified by the base_directory()
      method.
  OTHER CHANGES
  Add to CPAN::Access::AdHoc::Archive an umbrella handle_http_response()
    method that iterates over the subclasses returning the first archive
    object actually manufactures, or nothing if none of the subclasses
    know how to handle the argument.
  Rely on LWP::MediaTypes for MIME information, rathr than doing our own
    guessing.
  Guard against undefined value warnings when fetching unpackaged
    distributions such as
    T/TO/TOMC/scripts/whenon.dir/LastLog/File.pm.gz
  Abort the build if $Config{useperlio} is false, since we use this to
    make a file handle out of the data returned from the CPAN
    repository.

0.000_03	2012-01-10	T. R. Wyant
  INCOMPATIBLE CHANGES
  The CPAN::Access::AdHoc::Archive::Null handle_http_response() static
    method now returns a CPAN::Access::AdHoc::Archive::Null object,
    rather than the content of the file.
  The CPAN::Access::AdHoc fetch_package_archive() method is deprecated
    in favor of the fetch_distribution_archive() method. The deprecated
    method will go away before the first production release.
  The CPAN::Access::AdHoc fetch_registered_module_index() now returns a
    reference to a hash contining the module index, rather than a string
    that needs to be eval-ed.
  OTHER CHANGES
  Add method fetch_distribution_checksums() to CPAN::Access::AdHoc.
  Have the CPAN::Access::AdHoc fetch() method actually check checksums.
  Add method get_item_mtime() to the CPAN::Access::AdHoc::Archive
    classes.
  The CPAN::Access::AdHoc cpan() mutator now validates URLs using
    URI::URL.

0.000_02	2012-01-06	T. R. Wyant
  The CPAN::Access::AdHoc default_cpan_source() mutator now validates
    its argument, and croaks on an error.
  The CPAN::Access::AdHoc cpan() mutator now croaks if its argument was
    undef and no default can be computed.
  Check in CPAN::Access::AdHoc for failure when opening string
    references, and croak with error if needed.
  CPAN::Access::AdHoc::Default::CPAN::CPAN::Mini now explicitly converts
    the local repository path to POSIX before making a file: URL out of
    it.
  Add dependency on Module::Pluggable::Object, in lieu of home-grown
    plugin code.
  Review and update dependencies.
  Add author tests without optional modules CPANPLUS, CPAN::Mini and
    App::cpanminus.
  Add 'cpan' and 'cpan_default_source' commands to eg/cpan-adhoc, and
    have the 'help' command not exit.

0.000_01	2012-01-04	T. R. Wyant
  Initial release