Release 1.49 of perl-workflow
Tags: perl, release, opensource
Published: 2021-01-16 15:57:11

---
title: Release 1.49 of perl-workflow
published: true
description: release notes and reflections of 1.49
tags: perl, release, opensource
---
2021 is off to a very energetic start. Around 9th. of January, [perl-workflow] an older project for which I am the current maintainer, received [a bug report][issue21] about the error reporting section of the documentation not being up to date.

For many Perl distributions this is most relevant as [rt.cpan.org is being deactivated][sunset] after many years of service.

I have already transferred most of my day to day handling of bugs, issues and TODOs to GitHub issues, but I have not documented it in _all_ places - apparently.

Before I could find the time to resolve this issue I received [a PR adressing the issue][pr22] from [Erik Huelsmann][ehuelsmann].

This was the beginning of a new invigorating period for [perl-workflow]. For the following days leading up to the release 1.49 of [perl-workflow].

1. I received 13 PRs addressing bug and small issues, both known an unknown bugs from [Erik Huelsmann][ehuelsmann] - thanks [Erik][ehuelsmann]
1. An earlier contributor _chipped in_ with comments on PRs and issues and things got moving - thanks [Oliver][oliwel]
1. We activated the Slack I use for my open source projects and discussion on development plans, road map, issues etc. really got going

This all culminated in a maintenance and minor feature release of [perl-workflow], for details see the change log below.

The PRs, issues and discussion all contributed to [perl-workflow] evolving as a Perl distribution and software project.

[Erik Huelsmann][ehuelsmann] is evaluating using [perl-workflow] for the [LedgerSMB] project and [Oliver Welter][oliwel] is using it for [the OpenXPKI project][OpenXPKI] and expect more feature, bug fix and maintenance release to be shipped in 2021.

And this leads an interesting aspect of software development.

When I took over maintenance of [perl-workflow] from [Chris Winters][cwinters], I was very interested in the topic of workflows and state-machines.

I had ideas for using [perl-workflow], but for what, I can no longer remember.

For several years and many releases the code evolved, especially based on contributions from the [OpenXPKI] developers. The [the OpenXPKI project][OpenXPKI] developers contributed to the codebase, since they has a use-case, which could be solved by [perl-workflow].

I simply acted as the maintainer, but lacking a use case as my own, but it kept me going, simply because it was very educational and fun to work on a project, which was more than just hobby project scope.

As an author and even just a maintainer, knowing that somebody is using your software is what it is all about. Yes some projects are for scratching your own itch, but when somebody else has the same itch, collaboration is the way to go.

I have over they years received many PRs for the projects and it has kept [perl-workflow] going and stable. But I had no idea if anybody was actually using it, as a maintainer you tend to expect that nobody does and as activity decline as no PRs or issues are raised.

[perl-workflow] is not a project with a plethora of users and a gazillion stars, to me that does actually not matter. If I am not just scratching my own itch, having a single user will make it worthwhile to find the time to develop and maintain a project.

Not all interaction with users is fruitful and I think I have atleast lost one user along the way when I had not discovered [a question on StackOverflow](https://stackoverflow.com/questions/27921691/perl-workflow-module-with-validator/47498915#47498915) and I responded too late - but I guess, "win some, loose some" also counts for software and especially for open source.

So remember to keep your open source maintainers active, by telling them you are using their software and report bugs and make contributions.

In all this _activity_ I completely forgot to thank [Dean Hamstead][djzort] for opening [the issue][issue21], which seemed to _trigger_ everything.

So thanks [Dean][djzort] also.

## Change Log

Change log entry for release 1.49 for [perl-workflow], [original][changelog]

```text
1.49 2021-01-12 Maintenance and minor feature release, update not required

- Addressed an issue with return values from Workflow::Condition::GreedyOR's `evaluate_condition`, PR #50 from Erik Huelsmann

- Fixed a bug in condition caching described in issue #9, PR #27 from Erik Huelsmann

- Fixed a bug in Workflow::Condition::LazyAND with wrongful return values, PR #40 from Erik Huelsmann

- Fixed a bug in Workflow::Validator::InEnumeratedType with wrongful naming, PR #33 from Erik Huelsmann

- Updated Dist::Zilla configuration and added LICENSE file to repository based on generated from Dist::Zilla build, this should be automated like the README generation at some point

- Improved internal handling for quoting in internal SQL statements, PR #30 from Erik Huelsmann

- Improved the SQL used for database creation by adding referentiel integrity, PR #29 from Erik Huelsmann

- Addressed a bug in initialization and improved the ability to handle a database handle, PR #32 from Erik Huelsmann

- Improved loading of external of a few dependencies, improving error handling, PR #31 from Erik Huelsmann

- Additions to test suite, WIP on better scoped condition caching, PR #26 from Erik Huelsmann

- Minor feature addition addressing issue #5 with condition caching, PR #25 from Erik Huelsmann
  Condition caching can be disabled by setting: 

    $Workflow::Condition::CACHE_RESULTS = 0; # false

  The default is 1, indicating true,

- Improvements to test suite, moved from time to counter, speeding up the test, PR #24 from Erik Huelsmann

- Documentation updates, PR #23 from Erik Huelsmann

- Addressing issue #21 fixing broken URLs, PR #22 from Erik Huelsmann
```

[perl-workflow]: https://github.com/jonasbn/perl-workflow
[issue21]: https://github.com/jonasbn/perl-workflow/issues/21
[pr22]: https://github.com/jonasbn/perl-workflow/pull/22
[metacpan]: https://metacpan.org/pod/Workflow
[OpenXPKI]: http://www.openxpki.org/
[LedgerSMB]: https://ledgersmb.org/
[sunset]: https://log.perl.org/2020/12/rtcpanorg-sunset.html
[djzort]: https://github.com/djzort
[oliwel]: https://github.com/oliwel
[ehuelsmann]: https://github.com/ehuelsmann
[changelog]: https://raw.githubusercontent.com/jonasbn/perl-workflow/master/Changes
[cwinters]: https://github.com/cwinters