Thanks to my tireless collaborator Erik Huelsmann we have progressed and have made a release 1.55 of Workflow and it is available from CPAN and MetaCPAN now.
Erik is deeply involved in using Workflow for another project and as his implementation there progresses he discovers bugs, discrepancies and places where improvements can be made - so Workflow is improving based on the works in another project.
Of significant changes to this release, the following stand out:
- It is now possible to configure custom workflow classes
- The workflow implementation now adheres to it's own documentation, when it comes to fetching all conditions for a given workflow state
The latter might give some issues, since even though this is regarded as a bug, it does change the behavior available in earlier versions. When such changes are implemented you are always faced with the choice of how to communicate the change. Should it be indicated as a major release or can you stick to a minor release.
We decided for the latter in this case, simply because the documentation stated a different behavior, so we regarded this as a bug. We hope it will not cause any inconveniences, but there is always the danger of somebody relying on undocumented behavior or as in this case, an implementation not adhering to the documentation.
Workflow is moving a long as mentioned on earlier occasions we are progressing towards a new major release. This does however imply that we are introducing breaking changes. This first of which are announced with this release.
I will repeat it here.
DEPRECATION NOTICE
With release 2.00 Workflow::Persister::SPOPS will no longer be included in the distribution, it will possibly be made available as a separate distribution, but with decreased maintenance efforts. SPOPS does no longer seem to be actively supported and issues with Perls versions from 5.11.1 and onwards underline this fact.
Further breaking changes will be announced subsequenttially, which leads me to a pre-announcement of the next upcoming release 1.56, which is shaping up as a bug fix release. Erik is moving a long with his efforts, in parallel with the workflow releases.
I have evaluated our options for how to handle the deprecations and this first attempt is via a mention in the release notes and in this announcement. Additional steps might be taken to emphasize and communicate the changes, perhaps even as announcements emitted from the code as warnings, if we find places where such implementation is feasible. Finally we are aiming to get a sort of pre-release, made so it will be possible for Workflow users to evaluate the new major release prior to the actual release - more on this as we get closer to a release.
Change Log
The original is available on GitHub.
1.55 2021-07-09 Minor feature release, update not required
PR #119 adds capability of configuring custom workflow classes addressing issue #107
Simplified logging handing in code base via PR #108 investigation into possible performance issue described in #89 determined penalty to be insignificant
Workflow::State->get_conditions()
now returns all conditions, fixed via PR #122 addressing issue #121, This fix actually implements, what is documented, but if you rely on previously undocumented behavior, you might need to evaluate this fixIssue with broken support action attribute specified in the state config has been addressed via PR #123 described in issue #113
A warning emitted from the test suite has been addressed via PR #115
A timing issue observed with the Travis CI setup have been addressed in PR #112