The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
0.000_18	2013-07-28	T. R. Wyant
  Get rid of unused variables.

0.000_17	2012-08-09	T. R. Wyant
  INCOMPATIBLE CHANGE
  * If the CPAN::Access::AdHoc::Archive wrap_archive() method does not
    get the {author} or {directory} options, and the file name does not
    look like a repository file name, infer the author from the
    directory, and make the path attribute look like a repository file
    name for that author.

0.000_16	2012-07-06	T. R. Wyant
  Use URI::file to construct expected repository file: URI in
    t/config.t, to try to eliminate test failures under MSWin32.
  Document the 'extract' verb in eg/cpan-adhoc.

0.000_15	2012-07-02	T. R. Wyant
  Get rid of mock Safe object. Instead, require a version of Safe that
    plays nicely with Devel::Cover.
  Attempt to handle the case where version information is missing from
    the module index.

0.000_14	2012-02-21	T. R. Wyant
  INCOMPATIBLE CHANGE
  * Changed calling sequence for CPAN::Access::Adhoc __init() method. It
    now takes the invocant and a hash reference, rather than the
    invocant and an unrolled hash. It now returns nothing. Overrides
    must call $self->SUPER::__init( $args ) before processing their own
    arguments. All this is because once I tried to override it I found
    that the previous implementation did not actually work as
    advertised.
  * Removed old signature of
    CPAN::Access::AdHoc::Archive->wrap_archive(). This was deprecated in
    version 0.000_12.

0.000_13	2012-02-10	T. R. Wyant
  * Add read-only attribute mtime() to the CPAN::Access::AdHoc::Archive
    classes. In practice, this comes from the Last-Modified header.

0.000_12	2012-02-06	T. R. Wyant
  * Change the signature of CPAN::Access::AdHoc::Archive->wrap_archive().
    The new signature specifies an optional leading hash. The author is
    specified with the {author} key, or the directory with the
    {directory} key. The old signature is deprecated, and will be
    removed a week after publication.

0.000_11	2012-02-04	T. R. Wyant
  * Remove deprecated CPAN::Access::AdHoc::Archive methods
    guess_media_type() and handle_http_response().
  * Change the second argument of the HTTP error handler from an
    absolute URL to a relative path. The old version was never released
    to CPAN, so this is technically not an incompatability.
  * Flesh out the 'SEE ALSO' section of the CPAN::Access::AdHoc docs.

0.000_10	2012-01-31	T. R. Wyant
  THIS VERSION NOT RELEASED TO CPAN
  * Add attribute http_error_handler() to CPAN::Access::AdHoc.
  * The CPAN::Access::AdHoc fetch_module_index() method takes a return
    without data from http_error_handler() as a request to return an
    empty index.

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.
  * CPAN::Access::AdHoc method __init() added to initialize attributes.
    Subclasses override this rather than new().

  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