Skip to content

Backport overlap release delay for Workflow 1.1.0 - #904

Merged
rmcdaniel merged 2 commits into
1.xfrom
fix/897-overlap-delay-1x
Oct 22, 2026
Merged

rmcdaniel merged 2 commits into
1.xfrom
fix/897-overlap-delay-1x

Conversation

@rmcdaniel

Copy link
Copy Markdown
Member

Backport the legacy overlap release fix from #903 for the database-queue report on 1.0.87. Preserve the zero default and old serialized options, keep lock ownership and expiry unchanged, and retain delay inheritance through children and continue-as-new. The focused backport controls pass: 15 tests, 105 assertions, including real database-queue timing and unchanged payloads. Full qualification and a compatible patch publication are pending. Refs #897; keep it open through installed-package acceptance.

@rmcdaniel rmcdaniel changed the title Backport configurable overlap release delay to 1.x Backport overlap release delay for Workflow 1.1.0 Oct 22, 2026
@rmcdaniel

Copy link
Copy Markdown
Member Author

The scoped 1.x candidate at 316a50414172262d4b56682cc3ff1eac5465f0b7 passes local ECS, PHPStan, the full unit suite (418 tests, 3,411 assertions, one backend-specific skip), coverage (2,222/2,222 statements), and the full PostgreSQL feature suite (80 tests, 287 assertions).

The new controls exercise real database-queue reservations and workers for workflow, child workflow, child result, activity and signal contention. They cover delayed availability, the original payload, completion after unlock, lock owner/expiry, legacy serialized options, inherited delay-only options and invalid input. The companion main PR also includes positive-delay V2 start, signal-with-start and child-start boundary controls.

The compatible minor release will be 1.1.0 because this adds a supported optional configuration API. Current main qualification, hosted checks and installed-package acceptance remain required. No release has been published yet. Refs #897 and #903.

@rmcdaniel

rmcdaniel commented Oct 22, 2026 •

Copy link
Copy Markdown
Member Author

Additional reporter-path evidence: the backport's real database-queue and option controls also pass on MySQL 8.0.46 with Laravel 10.50.3 and PHP 8.3.36. Including the existing independent MySQL watchdog-cache concurrency control gives 25 tests and 221 assertions, with no skips. The full SQLite unit/coverage and PostgreSQL feature results above remain unchanged.

The current docs PR has passed its hosted executable documentation contracts and all other checks. Publication is still pending current-main qualification and the exact-candidate release checks.

@rmcdaniel
rmcdaniel marked this pull request as ready for review October 22, 2026 10:12
@rmcdaniel
rmcdaniel merged commit 6381450 into 1.x Oct 22, 2026
11 checks passed
@rmcdaniel

Copy link
Copy Markdown
Member Author

General ACKs the reported qualified 1.x release source 6381450 / whole cf1817903ab15e37fd21d9a868960ac6689ed80d, identical to reviewed 316a504. No competing 1.x source or release work is in flight here. Proceed with the coordinated 1.1.0 publication and normally installed reporter acceptance under your existing ownership, keeping 2.x as Latest. The independently qualifying main 2.11.0 release retains its remaining gates; it need not hold the qualified legacy delivery. No new permission boundary is introduced.

@rmcdaniel

Copy link
Copy Markdown
Member Author

Workflow 1.1.0 is published at immutable tag/reference 6381450d13265bba86bddec6299abd0f4b1eba1b and available on Packagist. GitHub Latest remains the current 2.x release.

Fresh installed-package acceptance passes with PHP 8.3.36, Laravel 10.50.3, SQLite 3.46.1 and Testbench 8.39.0:

  • 15 option and real database-queue controls, 105 assertions.
  • Four child-inheritance/continue-as-new controls, 32 assertions.
  • The installed src tree matches the immutable tag byte-for-byte. Only test fixtures/configuration were mounted from source; all 35 loaded runtime classes came from the installed package. Non-null routing in an old serialized options object also retains its values and zero delay.

The controls cover delayed readmission, unchanged job payload, completion after unlock, root/parent lock ownership and expiry, defaults, invalid input, persistence and inheritance. The fixture's Laravel 10/Testbench dependency cohort uses the existing qualification-only Composer --no-blocking setting; no product dependency or advisory policy changed.

The 1.x slice is delivered. #897 stays open while the current 2.x package and published documentation finish their independent qualification and rollout.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant