Skip to content

Latest commit

 

History

History
347 lines (208 loc) · 10.7 KB

CHANGELOG.md

File metadata and controls

347 lines (208 loc) · 10.7 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

5.3.0 (2024-03-25)

Features

5.2.0 (2023-03-10)

Features

  • add release-please workflow (6acd9c3)
  • pass job to ClosureWorkflowStep callback (74a804b)
  • plugin to provide compatibility with lorisleiva/laravel-actions (628043c)

Miscellaneous Chores

5.1.0 — 2023-02-21

Added

  • Add ability to add jobs or workflows as a group (#74)

5.0.0 — 2023-01-29

Added

  • Added support for Laravel 10
  • Added support for PHP 8.2

Removed

  • Dropped support for Laravel 8
  • Dropped support for PHP 8.0

4.0.1 — 2022-09-22

Fixed

  • Fix manually failed jobs reporting as processed (#59)

4.0.0 — 2022-08-30

🎉 Check the upgrade guide here: https://laravel-venture.com/upgrade-guide.html#migrating-to-4-0-from-3-x

3.7.0 — 2022-07-09

Added

  • Added when and unless methods to WorkflowDefinition to conditionally add jobs to a workflow (#53)

3.6.5 — 2022-05-17

Changed

  • Replaced opis/closure with laravel/serializable-closure (#52). Keep opis/closure around as a dependency to preserve backwards compatibility with existing jobs that still used Opis\Closure\SerializableClosure for their callbacks.

3.6.4 — 2022-04-16

Fixed

  • Moved UnserializeException to correct namespace

3.6.3 — 2022-04-16

Fixed

  • Fixed serialization bug that could occur when using Postgres (#51)

3.6.2 — 2022-04-11

Changed

  • Add markAsFinished() method for overridability and make markJobAsFinished protected (#47). Credits, @stevebauman.

3.6.1 — 2022-04-10

Fixed

  • Fixes non-static method calls introduced in #44 (#48)

3.6.0 — 2022-04-05

Added

  • Added option to define custom Workflow and WorkflowJob models (#44). Credits, @stevebauman.

3.5.0 — 2022-02-01

Added

  • Add support for Laravel 9 (#41)

3.4.0 — 2021-11-19

Added

  • Add hasRan() method to workflow to check if all jobs have at lease been attempted once (#37). Credits, @stevebauman.
  • Add JobExtractor interface to extract a workflow job instance from a Laravel queue job. This gets used by the WorkflowEventSubscriber class.

3.3.2 — 2021-11-18

Fixed

  • Fix BC break if existing config was missing workflow_step_id_generator_class key. Credits, @stevebauman. (#40)

3.3.1 — 2021-11-18

Changed

  • Clone job instance before serializing it when saving the workflow to the database. This could lead to hard to track down bugs since serialize mutates the object in place.

3.3.0 — 2021-11-18

Changed

  • Added StepIdGenerator interface to abstract id generation for workflow steps (#39).

3.2.0 — 2021-11-16

Changed

  • Dropped support for Laravel 7 (#38)
  • Added support for PHP 8.1 (#38)

3.1.2 — 2021-11-13

Changed

  • Added missing int cast to jobs_failed property of Workflow model (#36). Credits, @stevebauman.
  • Added vimeo/psalm dependency for static type checking during development.
  • Added various missing type hints to get psalm to pass at level 2.

Fixed

  • Fixed bug where WorkflowDefinition::hasWorkflow() wasn't working properly when checking for the workflow's $dependencies, too.

3.1.1 — 2021-05-13

Changed

  • Store step id instead of serialized instance for dependent jobs. This could cause an error in rare cases if the job payload was too big (#30). Credits, @connors511.

3.1.0 — 2021-04-21

Added

  • Added a hasWorkflow method to the WorkflowDefinition to check if a workflow contains a nested workflow.

3.0.1 — 2021-04-20

Changed

  • Fixed possible race condition when multiple workers try to update the same workflow (#28). Credits, @connors511.

3.0.0 — 2021-03-30

Added

  • Added support for adding multiple instances of the same job to a workflow. Check the documentation for more details. See #14 for the discussion on this feature. Special thanks to @conors511 for his help.

Changed

  • Change required minimum PHP version to 8.

Removed

  • Removed addJobWithDelay method from WorkflowDefinition. You should use addJob and provide the delay parameter instead. Since this version of Venture requires PHP 8, you can make use of named arguments to skip any default parameters you don't want to change.

2.1.1 — 2021-01-20

Changed

  • Specified minimum version for Laravel dependencies

2.1.0 — 2021-01-14

Added

  • Added beforeNesting hook to that gets called before a workflow gets added as a nested workflow. (#13)

Changed

  • Made $dependencies parameter optional in addWorkflow method of WorkflowDefinition. It now works the same as the addJob methods. (#20)

Fixed

  • Don't call onStepFinished method when a job was released back onto the queue (#21)

2.0.0 — 2021-01-12

Added

  • Added support for nested workflows

Changed

  • A job's dependencies have to be added to the workflow before the job itself is added. This also eliminates the problem of circular dependencies.
  • All jobs in a workflow need to implement the Illuminate\Contracts\Queue\ShouldQueue interface. Otherwise, a NonQueueableWorkflowStepException gets thrown.
  • Starting a workflow now returns the workflow instance (#10)

1.2.1 – 2020-12-14

Changed

  • The WorkflowManagerFake now calls the beforeCreate hook of the workflow definition, too.

1.2.0 – 2020-12-10

Changed

  • Added PHP 8 support

1.1.1 – 2020-11-20

Changed

  • Publish migrations
  • Use file groups for publishable assets

1.1.0 – 2020-11-16

Added

  • Added a beforeCreate hook to the WorkflowDefinition class to manipulate a workflow before it gets saved to the database for the first time.

Changed

  • Added missing date casts to the finished_at and failed_at columns on the Workflow model.

1.0.0 – 2020-11-12

Please see the documentation's upgrade guide to migrate from 0.x to 1.0.0.

Added

  • Added a Workflow facade to start defining a workflow.
  • Added testing helpers to inspect workflow definitions
  • Added testing helpers to check if a workflow was started

Changed

  • Workflows are now defined as standalone classes.
  • Workflows no longer get started by chaining the start method on the builder. Instead, use the static start method on the workflow class itself.

Removed

  • Removed the static new method from the Workflow model. Use the define method on the Workflow facade instead.

0.9.0 – 2020-10-20

Added

  • Add option to define a delay for a job.

0.8.0 – 2020-10-12

Changed

  • Automatically register WorkflowEventSubscriber (shoutouts to @phcostabh for the suggestion)

0.7.0 – 2020-10-12

Added

  • Adds support for Laravel 7 (previously only 8)

0.6.1 – 2020-10-12

Fixed

  • Stops jobs of cancelled workflows from executing if they have already been scheduled but not yet picked up by a worker.

0.6.0 – 2020-10-10

Added

  • Added catch method to workflow. This method will be called everytime a job inside a workflow is marked as failed.
  • Make it possible to cancel a workflow. A cancelled workflow will not execute any further jobs, but will finish any job that was already running before the workflow got cancelled.