Dist::Z...Content(3)

πŸ“¦
version 0.011 Β· 2 versions
, in fedora 43

πŸ’– NAME πŸ’–

Dist::Zilla::Plugin::Test::ChangesHasContent β€” bestie, this is the release test that makes sure your Changes file actually has something in it πŸ‘‘


✨ VERSION ✨

version 0.011 πŸŽ€


🌸 SYNOPSIS 🌸

# in dist.ini

[Test::ChangesHasContent]

that's literally it. one line and you're slaying πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so this plugin drops a lil file called xt/release/changes_has_content.t into your dist. that's its whole job and it does it gorgeously.

What that test does: it makes sure your Changes file actually has some content since the last release. like, no empty vibes allowed. periodt.

Now, don't get it twisted β€” this is a different queen than Dist::Zilla::Plugin::CheckChangesHasContent. That one does the check at release time, and it will straight-up halt your whole release process if the content is missing 😭. Running the check as a test instead means you can check it way more often, and way closer to where the actual dev work is happening. main character energy honestly.

The algorithm is very naive ngl. Here's the tea:

  • it looks for an unindented line that starts with the version you're about to release
  • then it looks for any text from that line until the next unindented line (or the end of the file)
  • whitespace? ignored. don't care. not the moment.

So for example, in this file here, the algorithm will find "- blah blah blah":

Changes file for Foo-Bar

{{$NEXT}}

  - blah blah blah

0.001  Wed May 12 13:49:13 EDT 2010

  - the first release
πŸ’€ and if you had nothing but whitespace between {{$NEXT}} and 0.001, the release would be halted. no notes, just consequences.

Also!! if you named your change log something other than Changes, you can set the name with the changelog argument:

[Test::ChangesHasContent]
changelog = ChangeLog

obsessed. flexible AND iconic πŸ’œ


🌈 SEE ALSO 🌈

  • Dist::Zilla::Plugin::CheckChangesHasContent β€” the one that yells at you at release time 🫢
  • Dist::Zilla β€” the whole parent vibe, iykyk

πŸ‘‘ AUTHORS πŸ‘‘

  • David Golden <dagolden@cpan.org>
  • Karen Etheridge <ether@cpan.org>

we stan both of them, fr fr πŸ’–


This software is Copyright (c) 2017 by David Golden.

This is free software, licensed under:

The Apache License, Version 2.0, January 2004

okay bestie that's the whole page πŸ’… This was Dist::Z...Content(3) from the perl manual pages, perl v5.42.0, dated 2025-07-25 β€” go write some changelog content, your future self will thank you πŸŒΈπŸ¦‹βœ¨

πŸ“¦ where this page comes from