Provided by: libcpan-changes-perl_0.400002-3_all bug

NAME

       CPAN::Changes::Release - Information about a particular release

SYNOPSIS

           my $rel = CPAN::Changes::Release->new(
               version => '0.01',
               date    => '2009-07-06',
           );

           $rel->add_changes(
               { group => 'THINGS THAT MAY BREAK YOUR CODE' },
               'Return a Foo object instead of a Bar object in foobar()'
           );

DESCRIPTION

       A changelog is made up of one or more releases. This object provides access to all of the
       key data that embodies a release including the version number, date of release, and all of
       the changelog information lines. Any number of changelog lines can be grouped together
       under a heading.

METHODS

   new( %args )
       Creates a new release object, using %args as the default data.

   version( [ $version ] )
       Gets/sets the version number for this release.

   date( [ $date ] )
       Gets/sets the date for this release.

   note( [ $note ] )
       Gets/sets the note for this release.

   changes( [ $group ] )
       Gets the list of changes for this release as a hashref of group/changes pairs. If a group
       name is specified, an array ref of changes for that group is returned. Should that group
       not exist, undef is returned.

   add_changes( [ \%options ], @changes )
       Appends a list of changes to the release. Specifying a "group" option appends them to that
       particular group. NB: the default group is represented by and empty string.

           # Append to default group
           $release->add_changes( 'Added foo() function' );

           # Append to a particular group
           $release->add_changes( { group => 'Fixes' }, 'Fixed foo() function' );

   set_changes( [ \%options ], @changes )
       Replaces the existing list of changes with the supplied values. Specifying a "group"
       option will only replace change items in that group.

   clear_changes( )
       Clears all changes from the release.

   groups( sort => \&sorting_function )
       Returns a list of current groups in this release.

       If sort is provided, groups are sorted according to the given function. If not, they are
       sorted alphabetically.

   add_group( @groups )
       Creates an empty group under the names provided.

   delete_group( @groups )
       Deletes the groups of changes specified.

   delete_empty_groups( )
       Deletes all groups that don't contain any changes.

   serialize( group_sort => \&sorting_function )
       Returns the release data as a string, suitable for inclusion in a Changes file.

       If group_sort is provided, change groups are sorted according to the given function. If
       not, groups are sorted alphabetically.

   get_group( [ $name ] )
       Returns the internal CPAN::Changes::Group object for the group $name.

       If $name is not specified, the "default" group "('')" will be returned.

       If $name does not exist, a CPAN::Changes::Group object will be created, and returned.

   attach_group( $group_object )
       Attach a CPAN::Changes::Group object to the "::Release". Note that the name is not
       specified, as it is instead determined from "$group_object->name"

   group_values( sort => \&sorting_function )
       Works like "groups" but instead returns "CPAN::Changes::Group" compatible objects.

SEE ALSO

       •   CPAN::Changes::Spec

       •   CPAN::Changes

       •   Test::CPAN::Changes

AUTHOR

       Brian Cassidy <bricas@cpan.org>

COPYRIGHT AND LICENSE

       Copyright 2011-2013 by Brian Cassidy

       This library is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.