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