DEV Community

loading...

Release 1.51 of perl-workflow

jonasbn
Computer programmer, runner, LEGO builder, powernapper, yakshaver and father of 2 boys all squeezed in the few hours available.
・4 min read

Yet another perl-workflow has been uploaded to CPAN.

The change log is included in this post, but I just want to highlight a few things from this release.

The most important change was the fixing of a very old heisenbug. The bug was finally located by Erik Huelsmann and was not even in Workflow but in the dependency Class::Observable.

An issue has been raised for Class::Observable.

However we have implemented a new handling observability, so Class::Observable has been factored out and is no longer a dependency of the Worflow distribution.

The issue was the implementation of Class::Observable, using stringified versions of data structures, which would become addresses and this not being properly cleaned up. Perhaps a Perl::Critic policy should be created to warn about this - it might however be hard to spot if cleanup is in place, the use of adresses for keys should however be doable quite easily, but that is completely different discussion.

Another significant change is to the actual change log. Inpired by Nmap::Parser the change log (Changes) has changed format for plain text to Markdown. This is so much more readable and handling links and code snippets etc. is so much simpler (and prettier).

With a history spanning 43 release and 17 years of development, there might be a few additional things that need to be marked down, but in general it looks very good and in renders nicely on GitHub and MetaCPAN

This release is headlined like this:

1.51 2021-01-31 Bug fix release, update recommended

And as you can see we aim to adhere to the release documentation I have outlined and recommended in an earlier post: "Blog post: Why and How Should You Write a Good Change Log " here on dev.to.

This does however mean that we have a minor regression on MetaCPAN, where a preview of the latest release is no longer rendered.

This is believed to be due to that MetaCPAN only can handle this for change logs adhering to the CPAN::Changes specification, which also provides the addition ability to test your change log via Test::CPAN::Changes - all great and very nice, but we really like Markdown.

This is however a minor regression that we can live with, since it does not influence the Workflow distribution directly. My proposed changelog format does not conflict directly with the CPAN::Changes specification, the specification does not support the benefits I suggest either, so perhaps it is better to make a new tester for my proposed format and perhaps even look into getting Markdown more generally supported on MetaCPAN eliminating our little regression.

Change log for perl-workflow 1.51

  • Addressed bug/issue #10 of failing observers test, ref PR #61. Documentation also updated accordingly via PR #66

  • PR #86 reverts fix to issue #10 introduced in release 1.49

  • PR #85 addressing bug with use of database fields in persister

  • Adressed bug/issue #72 (reopened) and #73 via PR #74

  • Improved test coverage, addressing issue #36 (not closed), ref PRs:

  • Cleaned POD formatting, PR #83

  • Removed SVN/CVS legacy tags and adjusted shebang lines, PR #82

  • Change log converted from plain text to Markdown, PR #76

  • Added missing contributor Mohammad S Anwar to ACKNOWLEDGEMENT section, contribtution was included in release 1.49

  • #70, corrections to documentation on persisters

  • #71 added a missing point to the change log for release 1.50

  • PR #65, converting two older text files to Markdown. Documentation rewrite is being considered and improvements and additions will be made in this area in the future

  • PR #67 converting tabs to spaces

Discussion (1)

Collapse
thibaultduponchelle profile image
Tib

Nice trick for the changelog in markdown ! 😃