Release 1.51 of perl-workflow
Tags: opensource, perl, release
Published: 2021-02-02 18:47:46

---
title: Release 1.51 of perl-workflow
published: true
description: heisenbug located and fixed
tags: opensource, perl, release
//cover_image: https://direct_url_to_image.jpg
---
Yet another [perl-workflow](http://jonasbn.github.io/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_](https://en.wikipedia.org/wiki/Heisenbug). The bug was finally located by Erik Huelsmann and was not even in Workflow but in the dependency [Class::Observable](https://metacpan.org/pod/Class::Observable).

[An issue](https://github.com/ap/Class-Observable/issues/1) has been raised for [Class::Observable](https://metacpan.org/pod/Class::Observable).

However we have implemented a new handling observability, so [Class::Observable](https://metacpan.org/pod/Class::Observable) has been factored out and is no longer a dependency of the Worflow distribution.

The issue was the implementation of [Class::Observable](https://metacpan.org/pod/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](https://metacpan.org/pod/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](https://metacpan.org/source/JONASBN/Workflow-1.51/Changes.md)

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 "](https://dev.to/jonasbn/why-and-how-should-you-write-a-good-change-log-4kp0) 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](https://metacpan.org/release/CPAN-Changes) [specification](https://metacpan.org/pod/distribution/CPAN-Changes/lib/CPAN/Changes/Spec.pod), which also provides the addition ability to test your change log via [Test::CPAN::Changes](https://metacpan.org/pod/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](https://metacpan.org/pod/distribution/CPAN-Changes/lib/CPAN/Changes/Spec.pod), 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](https://github.com/jonasbn/perl-workflow/issues/10) of failing observers test, ref PR [#61](https://github.com/jonasbn/perl-workflow/pull/61). Documentation also updated accordingly via PR [#66](https://github.com/jonasbn/perl-workflow/pull/66)

- PR [#86](https://github.com/jonasbn/perl-workflow/pull/86) reverts fix to issue [#10](https://github.com/jonasbn/perl-workflow/issues/10) introduced in release 1.49

- PR [#85](https://github.com/jonasbn/perl-workflow/pull/85) addressing bug with use of database fields in persister

- Adressed bug/issue [#72](https://github.com/jonasbn/perl-workflow/issues/72) (_reopened_) and [#73](https://github.com/jonasbn/perl-workflow/issues/73) via PR [#74](https://github.com/jonasbn/perl-workflow/pull/74)

- Improved test coverage, addressing issue [#36](https://github.com/jonasbn/perl-workflow/issues/36) (_not closed_), ref PRs:

  - [#80](https://github.com/jonasbn/perl-workflow/pull/80)
  - [#81](https://github.com/jonasbn/perl-workflow/pull/81)
  - [#91](https://github.com/jonasbn/perl-workflow/pull/91)

- Cleaned POD formatting, PR [#83](https://github.com/jonasbn/perl-workflow/pull/83)

- Removed SVN/CVS legacy tags and adjusted shebang lines, PR [#82](https://github.com/jonasbn/perl-workflow/pull/82)

- Change log converted from plain text to Markdown, PR [#76](https://github.com/jonasbn/perl-workflow/pull/76)

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

- [#70](https://github.com/jonasbn/perl-workflow/pull/70), corrections to documentation on persisters

- [#71](https://github.com/jonasbn/perl-workflow/pull/71) added a missing point to the change log for release 1.50

- PR [#65](https://github.com/jonasbn/perl-workflow/pull/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](https://github.com/jonasbn/perl-workflow/pull/67) converting tabs to spaces