Scroll to navigation

Dist::Zilla::Plugin::NextRelease(3pm) User Contributed Perl Documentation Dist::Zilla::Plugin::NextRelease(3pm)


Dist::Zilla::Plugin::NextRelease - update the next release number in your changelog


version 6.017


In your dist.ini:


In your Changes file:



Tired of having to update your Changes file by hand with the new version and release date / time each time you release your distribution? Well, this plugin is for you.

Add this plugin to your dist.ini, and the following to your Changes file:


The "NextRelease" plugin will then do 2 things:

  • At build time, this special marker will be replaced with the version and the build date, to form a standard changelog header. This will be done to the in-memory file - the original Changes file won't be updated.
  • After release (when running "dzil release"), since the version and build date are now part of your dist's history, the real Changes file (not the in-memory one) will be updated with this piece of information.

The module accepts the following options in its dist.ini section:

the name of your changelog file; defaults to Changes
the file to which to write an updated changelog to; defaults to the "filename"
sprintf-like string used to compute the next value of "{{$NEXT}}"; defaults to "%-9v %{yyyy-MM-dd HH:mm:ssZZZZZ VVVV}d%{ (TRIAL RELEASE)}T"
the timezone to use when generating the date; defaults to local
the name of the stash where the user's name and email address can be found; defaults to %User

The module allows the following sprintf-like format codes in the "format":

The distribution version
Expands to -TRIAL (or any other supplied string) if this is a trial release, or the empty string if not. A bare %T means "%{-TRIAL}T".
Equivalent to "%v%{-TRIAL}T", to allow for the application of modifiers such as space padding to the entire version string produced.
"%{CLDR format}d"
The date of the release. You can use any CLDR format supported by DateTime. You must specify the format; there is no default.
The name of the user making this release (from "user_stash").
The email address of the user making this release (from "user_stash").
The CPAN (PAUSE) id of the user making this release (from -Releaser plugins; see [UploadToCPAN]).
A newline
A tab


Core Dist::Zilla plugins: AutoVersion, PkgVersion, PodVersion.

Dist::Zilla roles: AfterRelease, FileMunger, TextTemplate.


Ricardo SIGNES 😏 <>


This software is copyright (c) 2020 by Ricardo SIGNES.

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

2020-11-04 perl v5.30.3