Release 1.54 of perl-workflow, a minor feature release
Tags: perl, release, opensource
Published: 2021-05-13 12:19:03

---
title: Release 1.54 of perl-workflow, a minor feature release
published: true
description: minor feature release of perl-workflow
tags: perl,release, opensource
//cover_image: https://direct_url_to_image.jpg
---
Release 1.54 has been released, but I could not find the time to write a proper announcement, so with some delay here goes.

The [release](https://github.com/jonasbn/perl-workflow/releases/tag/1.54) is a minor feature release, in adds a few improvements in regard to making some APIs public, promoting these from private APIs (please see the Change log below for details). The private APIs are kept intact for backwards compatibility, in case somebody has implementations relying on these.

Also the documentation has had some improvements, in regard to removal of parts, which made no sense based. It might have been design notes more than actual implementation documentation. Please see PR [#111](https://github.com/jonasbn/perl-workflow/pull/111).

The most significant change is the revisit and improvement of the caching for evaluation of nested conditions. This improvement should not break anything, but should improve the overall caching strategy.

Currently the project is at a cross-road and we are on the brink of moving on with a major release.

- We want to deprecate the use of [SPOPS](https://metacpan.org/pod/SPOPS) (_Simple Perl Object Persistence with Security_)(see PR: [#117](https://github.com/jonasbn/perl-workflow/pull/117)), SPOPS is not actively maintained and it does not seem to [work with newer Perl versions](http://matrix.cpantesters.org/?dist=SPOPS+0.87). We have extracted the SPOPS part so it can be shipped as [a separate distribution](https://github.com/jonasbn/perl-workflow-persister-spops)
- We want to change the `autorun` implementation from recursive to loop-based (see PR: [#110](https://github.com/jonasbn/perl-workflow/pull/110)). This will change/_break_ behaviour, but we know, based on an implementation and use that this approach will make more sense

There are other activities and work going on, but these are the most significant, so stay tuned for more future release announcements.

Do checkout the release on [MetaCPAN](https://metacpan.org/pod/Workflow) or your local CPAN mirror or [the GitHub repository](https://github.com/jonasbn/perl-workflow).

## Change Log

### 1.54 2021-04-25 Minor feature release, update not required

- The existing private API: `Workflow->_get_action()` has been made public as: `get_action()` via PR [#56](https://github.com/jonasbn/perl-workflow/pull/56) addressing issue [#54](https://github.com/jonasbn/perl-workflow/issues/54), a private version is still available as `_get_action()` ensuring backwards compatibility. The change should improve and ease implementations where actions are consumed

- The existing methods: `fields()`, `optional_fields()` and `required_fields` have all been made public PR [#57](https://github.com/jonasbn/perl-workflow/pull/57) addressing issue [#55](https://github.com/jonasbn/perl-workflow/issues/55) these methods provide information a UI or other consumer of the workflow could use for user interaction as for issue [#54](https://github.com/jonasbn/perl-workflow/issues/54) and PR: [#56](https://github.com/jonasbn/perl-workflow/pull/56) mentioned above

- The implementation of caching for evaluation of nested has been revisted and improved via PR [#90](https://github.com/jonasbn/perl-workflow/pull/90)

- A minor issue has been corrected in the documentation was corrected via PR [#111](https://github.com/jonasbn/perl-workflow/pull/111), it seems some design ideas had snuck into the documentation a long time ago, without ever being implemented