NAME Dist::Zilla::Plugin::NextVersion::Semantic - update the next version, semantic-wise VERSION version 0.1.0 SYNOPSIS # in dist.ini [NextVersion::Semantic] major = MAJOR, API CHANGE minor = MINOR, ENHANCEMENTS revision = REVISION, BUG FIXES DESCRIPTION Increases the distribution's version according to the semantic versioning rules (see ) by inspecting the changelog. More specifically, the plugin performs the following actions: at build time Reads the changelog using "CPAN::Changes" and filters out of the "{{$NEXT}}" release section any group without item. before a release Ensures that there is at least one recorded change in the changelog, and increments the version number in consequence. If there are changes given outside of the sections, they are considered to be minor. after a release Updates the new "{{$NEXT}}" section of the changelog with placeholders for all the change categories. With categories as given in the *SYNOPSIS*, this would look like {{$NEXT}} [MAJOR] [API CHANGE] [MINOR] [ENHANCEMENTS] [REVISION] [BUG FIXES] If a version is given via the environment variable "V", it will taken as-if as the next version. For this plugin to work, your Dist::Zilla configuration must also contain a plugin consuming the Dist::Zilla::Role::YANICK::PreviousVersionProvider role. PARAMETERS change_file File name of the changelog. Defaults to "Changes". numify_version If true, the version will be a number using the *x.yyyzzz* convention instead of *x.y.z*. Defaults to false. major Comma-delimited list of categories of changes considered major. Defaults to "API CHANGES". minor Comma-delimited list of categories of changes considered minor. Defaults to "ENHANCEMENTS". revision Comma-delimited list of categories of changes considered revisions. Defaults to "BUG FIXES, DOCUMENTATION". AUTHOR Yanick Champoux COPYRIGHT AND LICENSE This software is copyright (c) 2012 by Yanick Champoux. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.