Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions docs/compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,18 +99,25 @@ The embedded package and the service-mode SDK have separate support contracts.

| Package line | PHP | Laravel |
| --- | --- | --- |
| Current embedded Workflow 2.28 | PHP 8.2+ in 8.x; PHP 8.3+ for Laravel 13 | `^12.69.0` or `^13.30.0` |
| Current embedded Workflow %%artifact.workflowVersion%% | PHP 8.2+ in 8.x; PHP 8.3+ for Laravel 13 | `^12.72.0` or `^13.41.0` |
| Embedded Workflow 2.20.5 | PHP `^8.1`, subject to Laravel's own minimum | `^10.50.4`, `^11.56.1`, `^12.69.0` or `^13.30.0` |
| Published PHP SDK 3.14 | Bare SDK PHP `^8.1`; the Laravel bridge needs PHP `^8.2`, and PHP 8.3+ for Laravel 13 | `^12.69.0` or `^13.30.0` |
| PHP SDK 3.9.5 | Bare SDK PHP `^8.1`; the Laravel bridge also follows Laravel's PHP minimum | `^10.50.4`, `^11.56.1`, `^12.69.0` or `^13.30.0` |

The [published embedded upgrade contract](https://github.com/durable-workflow/workflow/blob/2.28.0/resources/laravel-embedded-upgrade-contract.json)
The older rows record the requirements of their named releases.

The [published embedded upgrade contract](https://github.com/durable-workflow/workflow/blob/2.28.1/resources/laravel-embedded-upgrade-contract.json)
and each release's `composer.json` are the package authorities. The current
embedded release was verified on Laravel 12 with PHP 8.2–8.4 and Laravel 13 with
PHP 8.3–8.4. Its PHP 8.1 and Laravel 10/11 support has been removed. This does
not change the [historical stable-v1 installation guide](/docs/1.x/installation/)
or the independently published [PHP SDK requirements](https://php.durable-workflow.com/).

Workflow 2.28.1 is a security-only patch that raises the Laravel minimums shown
above. Runtime and schema files are identical to 2.28.0, so upgrading from
2.28.0 adds no database migration. The [published package verification and five upgrade/rollback journeys](https://github.com/durable-workflow/workflow/pull/1141#issuecomment-6871390667)
qualify this package.

Before upgrading an older embedded application, upgrade PHP and Laravel to a
supported combination. If that migration is not ready, `~2.20.5` keeps Composer
on the 2.20 patch line; it does not promise indefinite maintenance. A broad
Expand Down Expand Up @@ -200,7 +207,7 @@ Workflow 2.27 keeps the 2.21 support floors and the embedded worker protocol `1.

See the [2.27.0 release notes](https://github.com/durable-workflow/workflow/releases/tag/2.27.0).

Workflow 2.28 keeps the 2.21 support floors and the embedded worker protocol `1.22`, and adds no database migration. Behavior change to check before upgrading:
Workflow 2.28.0 keeps the 2.21 support floors and the embedded worker protocol `1.22`, and adds no database migration. Behavior change to check before upgrading:

- From 2.28, a run that completes, fails or continues as new cancels the activities and timers it never awaited, such as `select()` losers, in the same transaction, instead of leaving them running. A late result from such an activity is refused with `run_closed`. If a workflow needs a loser's effect, await it before returning. See [Losers when the run closes](./features/concurrency.md#selection-losers-at-close).

Expand Down
2 changes: 1 addition & 1 deletion docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ the embedded Laravel path.
## Requirements

- PHP 8.2 or later in the supported PHP 8.x line
- Laravel 12.69 or later in 12.x, or Laravel 13.30 or later in 13.x
- Laravel 12.72 or later in 12.x, or Laravel 13.41 or later in 13.x
- PHP 8.3 or later for Laravel 13

These requirements apply to the current embedded release. For an older
Expand Down
9 changes: 5 additions & 4 deletions docs/laravel-adoption.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,11 @@ choosing the transition policy here.
| 2.0 embedded Laravel | PHP SDK service mode | The application should stop owning the orchestration runtime or needs a shared/polyglot runtime boundary. | Route new starts to the service runtime after its workers are ready. Drain embedded runs where they started, or use the explicit eligible embedded-v2 import procedure for self-hosted Server. |

Check the [published Laravel support lines](./compatibility.md#laravel-support)
before choosing a destination. The current embedded package and, from PHP SDK
3.10, the service-mode Laravel bridge both require Laravel 12.69 or 13.30 and
compatible PHP. The bare service-mode client keeps PHP 8.1 support. PHP SDK
3.9.x keeps its earlier patched Laravel 10–13 bridge contract. An older v1
before choosing a destination. The current embedded package requires Laravel
12.72 or 13.41 and compatible PHP. The service-mode Laravel bridge follows its
[own PHP SDK requirements](./polyglot/php.md#requirements). The bare
service-mode client keeps PHP 8.1 support. PHP SDK 3.9.x keeps its earlier
Laravel 10–13 bridge contract. An older v1
application may need a framework upgrade before moving to either current line.
Preserve its v1 runtime and open runs during that upgrade.

Expand Down
14 changes: 11 additions & 3 deletions i18n/de/docusaurus-plugin-content-docs/current/compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,17 +66,25 @@ Das eingebettete Paket und das Service-Modus-SDK haben eigene Supportverträge.

| Paketlinie | PHP | Laravel |
| --- | --- | --- |
| Aktuelles eingebettetes Workflow 2.28 | PHP 8.2+ in 8.x; PHP 8.3+ für Laravel 13 | `^12.69.0` oder `^13.30.0` |
| Aktuelles eingebettetes Workflow %%artifact.workflowVersion%% | PHP 8.2+ in 8.x; PHP 8.3+ für Laravel 13 | `^12.72.0` oder `^13.41.0` |
| Eingebettetes Workflow 2.20.5 | PHP `^8.1`, zusätzlich gilt das Framework-Minimum | `^10.50.4`, `^11.56.1`, `^12.69.0` oder `^13.30.0` |
| Veröffentlichtes PHP-SDK 3.14 | Reines SDK PHP `^8.1`; die Laravel-Bridge benötigt PHP `^8.2` und für Laravel 13 PHP 8.3+ | `^12.69.0` oder `^13.30.0` |
| PHP-SDK 3.9.5 | Reines SDK PHP `^8.1`; die Laravel-Bridge beachtet ebenfalls das Framework-Minimum | `^10.50.4`, `^11.56.1`, `^12.69.0` oder `^13.30.0` |

Maßgeblich sind der [veröffentlichte eingebettete Upgrade-Vertrag](https://github.com/durable-workflow/workflow/blob/2.28.0/resources/laravel-embedded-upgrade-contract.json)
Die älteren Zeilen dokumentieren die Anforderungen ihrer benannten Versionen.

Maßgeblich sind der [veröffentlichte eingebettete Upgrade-Vertrag](https://github.com/durable-workflow/workflow/blob/2.28.1/resources/laravel-embedded-upgrade-contract.json)
und die jeweilige `composer.json`. Das aktuelle eingebettete Release wurde mit
Laravel 12/PHP 8.2–8.4 und Laravel 13/PHP 8.3–8.4 geprüft. Es entfernt PHP 8.1
und Laravel 10/11. Die [historische stabile v1-Anleitung](/docs/1.x/installation/)
und die [eigenen PHP-SDK-Anforderungen](https://php.durable-workflow.com/) bleiben getrennt.

Workflow 2.28.1 ist ein reines Sicherheitsupdate, das die oben angegebenen
Laravel-Mindestversionen anhebt. Laufzeit- und Schemadateien sind mit 2.28.0
identisch, daher fügt ein Upgrade von 2.28.0 keine Datenbankmigration hinzu.
Die [Verifikation des veröffentlichten Pakets und fünf Upgrade-/Rollback-Abläufe](https://github.com/durable-workflow/workflow/pull/1141#issuecomment-6871390667)
qualifizieren dieses Paket.

Aktualisieren Sie PHP und Laravel zuerst auf eine unterstützte Kombination.
Solange das nicht möglich ist, hält `~2.20.5` Composer in der 2.20-Patchlinie,
ohne unbefristete Wartung zu versprechen. `^2.0` kann eine spätere Minor-Version
Expand Down Expand Up @@ -131,7 +139,7 @@ Workflow 2.27 behält die Mindestanforderungen von 2.21 und das eingebettete Wor

Siehe die [Versionshinweise zu 2.27.0](https://github.com/durable-workflow/workflow/releases/tag/2.27.0).

Workflow 2.28 behält die Mindestanforderungen von 2.21 und das eingebettete Worker-Protokoll `1.22` bei und fügt keine Datenbankmigration hinzu. Vor dem Upgrade zu prüfende Verhaltensänderung:
Workflow 2.28.0 behält die Mindestanforderungen von 2.21 und das eingebettete Worker-Protokoll `1.22` bei und fügt keine Datenbankmigration hinzu. Vor dem Upgrade zu prüfende Verhaltensänderung:

- Ab 2.28 bricht ein Lauf, der abgeschlossen wird, fehlschlägt oder mit Continue-as-new fortgesetzt wird, die Aktivitäten und Timer, auf die er nie gewartet hat, etwa `select()`-Verlierer, in derselben Transaktion ab, statt sie weiterlaufen zu lassen. Ein verspätetes Ergebnis einer solchen Aktivität wird mit `run_closed` abgelehnt. Braucht ein Workflow die Wirkung eines Verlierers, warten Sie vor der Rückgabe auf ihn. Siehe [Verlierer beim Schließen des Laufs](./features/concurrency.md#selection-losers-at-close).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Wenn Sie zwischen der Einbettung des Pakets und dem eigenständigen Server wähl
## Voraussetzungen {#requirements}

- PHP 8.2 oder neuer innerhalb der 8.x-Linie
- Laravel 12.69 oder neuer in 12.x oder Laravel 13.30 oder neuer in 13.x
- Laravel 12.72 oder neuer in 12.x oder Laravel 13.41 oder neuer in 13.x
- PHP 8.3 oder neuer für Laravel 13

Diese Anforderungen gelten für das aktuelle eingebettete Release. Wählen Sie vor
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ Für ein unmittelbares v1-Upgrade auf Paketebene halten Sie den ausführlichen [
| Eingebettetes 2.0-Laravel | PHP-SDK-Dienstmodus | Die Anwendung soll die Orchestrierungslaufzeit nicht mehr verwalten oder benötigt eine gemeinsame/mehrsprachige Laufzeitgrenze. | Neue Starts nach Bereitschaft der Worker an die Dienstlaufzeit leiten. Eingebettete Läufe an ihrem Ursprungsort abschließen lassen oder für selbst gehosteten Server das explizite Importverfahren für geeignete eingebettete v2-Läufe verwenden. |

Prüfen Sie vor der Zielwahl die [veröffentlichten Laravel-Supportlinien](./compatibility.md#laravel-support).
Das aktuelle eingebettete Paket und ab PHP-SDK 3.10 auch die Laravel-Bridge des
Dienstmodus benötigen beide Laravel 12.69 oder 13.30 und passendes PHP. Der
reine Dienstmodus-Client behält PHP 8.1 bei. PHP-SDK 3.9.x behält seinen
früheren Bridge-Vertrag für gepatchtes Laravel 10–13. Eine ältere v1-Anwendung
benötigt möglicherweise ein Framework-Upgrade, bevor sie auf eine der beiden
aktuellen Linien wechselt. Bewahren Sie dabei ihre v1-Laufzeit und offenen Läufe.
Das aktuelle eingebettete Paket benötigt Laravel 12.72 oder 13.41 und passendes
PHP. Die Laravel-Bridge im Dienstmodus folgt ihren [eigenen PHP-SDK-Anforderungen](./polyglot/php.md#requirements).
Der reine Dienstmodus-Client behält PHP 8.1 bei. PHP-SDK 3.9.x behält seinen
früheren Laravel-10–13-Bridge-Vertrag. Eine ältere v1-Anwendung benötigt
möglicherweise ein Framework-Upgrade, bevor sie auf eine der beiden aktuellen
Linien wechselt. Bewahren Sie dabei ihre v1-Laufzeit und offenen Läufe.

## Verantwortungsgrenzen vergleichen {#compare-the-ownership-boundary}

Expand Down
6 changes: 3 additions & 3 deletions i18n/de/source-hashes.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"ai-agent-workflow-engine.md": "28016466b179adbabdff6467ce351100c9bee48529a8bec9df7ec22c8d786d4d",
"ai-assisted-development.md": "b246bb60585fb7a69bc534978f470f3f16e899e1f8f203ba0847d2d11b8a1ec3",
"capabilities.md": "d9a2bbc0d04adf8cb3f4c7f42d779a43aafab60791210305e7e476c0499528fc",
"compatibility.md": "9e6e155c6e42ec224a625b5e172c0b314cb77992371bd93bb73d6cc9495aef5f",
"compatibility.md": "2846972d7644f88bece616bc7e4b3b2a53a2e3e1a348c7d525f7dd76ea9dea88",
"configuration/customization-matrix.md": "3d115863eaee7852b541bcd01615f424cc19c5847c7cd7d75e5ae63bc3f5cc78",
"configuration/database-connection.md": "cc83ae77133236309506fa44d39bfd0c939c32a6154c0bd6099bc64c83bdaec9",
"configuration/ensuring-same-server.md": "6c665f37cc198c7b1a775a60a94aab5ff4e55383385e76f1834c7840559b512a",
Expand Down Expand Up @@ -58,9 +58,9 @@
"features/webhooks.md": "edcdfc05ccb0d34a77c51594f85bc3cab343e787f8e0e08d2cd4ddebd048e8c8",
"features/worker-sessions.md": "5065368fb5b93599dbd08d97cb9ac312576eb42fee14f081db663aa9f78fb68c",
"how-it-works.md": "90454c37f4244297d5c11bcc59549859acf59f88d15ecd26f0a6951c115f86eb",
"installation.md": "f69b98de4e10ba5ab892203b0418e4ed77e3edf3ac84cc46d9cf4694ee47ada9",
"installation.md": "895d390a17a71f4846223c4637ed1e70adf1221ba99d6b422ce1a5480c2f167b",
"introduction.md": "06bf96d164d402d4e376c6308b20f96d324110b2e0cf96c2a1a67b39906072e3",
"laravel-adoption.md": "be0890619736ee2362ee96b6b1f5f397f10fb58cb845448ac15b437ac3062b36",
"laravel-adoption.md": "8974d4906658a0727a185ba3d53bf03e8e33494cd63d84def0b9ae62fcc7507e",
"mcp-workflows.md": "1c0b5bb7f2e5c7ca835dfdfa57bbe8f6624172c855f4e225057ac2377abf360e",
"migration.md": "7304a53786d5e45d3a639c33386e6558e855ee77982883a5e051ef5084b8453b",
"monitoring.md": "346b8a5207b7d69cea63dc9bfec95bf1911d3038a9d30ad06939b13130079279",
Expand Down
14 changes: 11 additions & 3 deletions i18n/es/docusaurus-plugin-content-docs/current/compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,17 +100,25 @@ El paquete integrado y el SDK de modo servicio tienen contratos distintos.

| Línea del paquete | PHP | Laravel |
| --- | --- | --- |
| Workflow integrado 2.28 actual | PHP 8.2+ de 8.x; PHP 8.3+ para Laravel 13 | `^12.69.0` o `^13.30.0` |
| Workflow integrado %%artifact.workflowVersion%% actual | PHP 8.2+ de 8.x; PHP 8.3+ para Laravel 13 | `^12.72.0` o `^13.41.0` |
| Workflow integrado 2.20.5 | PHP `^8.1`, sujeto al mínimo del framework | `^10.50.4`, `^11.56.1`, `^12.69.0` o `^13.30.0` |
| SDK PHP 3.14 publicado | SDK básico PHP `^8.1`; el puente Laravel necesita PHP `^8.2`, y PHP 8.3+ para Laravel 13 | `^12.69.0` o `^13.30.0` |
| SDK PHP 3.9.5 | SDK básico PHP `^8.1`; el puente Laravel también exige el mínimo del framework | `^10.50.4`, `^11.56.1`, `^12.69.0` o `^13.30.0` |

Las autoridades son el [contrato integrado publicado](https://github.com/durable-workflow/workflow/blob/2.28.0/resources/laravel-embedded-upgrade-contract.json)
Las filas anteriores registran los requisitos de sus versiones indicadas.

Las autoridades son el [contrato integrado publicado](https://github.com/durable-workflow/workflow/blob/2.28.1/resources/laravel-embedded-upgrade-contract.json)
y el `composer.json` de cada versión. La versión integrada actual se verificó
con Laravel 12/PHP 8.2–8.4 y Laravel 13/PHP 8.3–8.4. Retira PHP 8.1 y Laravel
10/11. No cambia la [guía histórica de v1 estable](/docs/1.x/installation/)
ni los [requisitos independientes del SDK PHP](https://php.durable-workflow.com/).

Workflow 2.28.1 es un parche solo de seguridad que eleva los mínimos de
Laravel indicados arriba. Los archivos de runtime y esquema son idénticos
a los de 2.28.0, por lo que actualizar desde 2.28.0 no añade migraciones de
base de datos. La [verificación del paquete publicado y cinco recorridos de actualización/reversión](https://github.com/durable-workflow/workflow/pull/1141#issuecomment-6871390667)
validan este paquete.

Actualiza primero PHP y Laravel a una combinación compatible. Si aún no puedes,
`~2.20.5` mantiene Composer en los parches 2.20, sin prometer mantenimiento
indefinido. `^2.0` puede seleccionar un minor posterior cuando la plataforma lo
Expand Down Expand Up @@ -164,7 +172,7 @@ Workflow 2.27 mantiene los mínimos de soporte de 2.21 y el protocolo de workers

Consulte las [notas de la versión 2.27.0](https://github.com/durable-workflow/workflow/releases/tag/2.27.0).

Workflow 2.28 mantiene los mínimos de soporte de 2.21 y el protocolo de workers integrado `1.22`, y no añade ninguna migración de base de datos. Cambio de comportamiento que conviene revisar antes de actualizar:
Workflow 2.28.0 mantiene los mínimos de soporte de 2.21 y el protocolo de workers integrado `1.22`, y no añade ninguna migración de base de datos. Cambio de comportamiento que conviene revisar antes de actualizar:

- Desde 2.28, una ejecución que se completa, falla o continúa como nueva cancela en la misma transacción las actividades y los temporizadores que nunca esperó, como los perdedores de `select()`, en lugar de dejarlos en ejecución. Un resultado tardío de esa actividad se rechaza con `run_closed`. Si un workflow necesita el efecto de un perdedor, espérelo antes de retornar. Consulte [Perdedores cuando se cierra la ejecución](./features/concurrency.md#selection-losers-at-close).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Esta página describe la integración en Laravel.
## Requisitos {#requirements}

- PHP 8.2 o posterior de la serie 8.x
- Laravel 12.69 o posterior de 12.x, o Laravel 13.30 o posterior de 13.x
- Laravel 12.72 o posterior de 12.x, o Laravel 13.41 o posterior de 13.x
- PHP 8.3 o posterior para Laravel 13

Estos requisitos corresponden a la versión integrada actual. Antes de actualizar
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,14 @@ elegir aquí la política de transición.
| Laravel 2.0 integrado | SDK PHP en modo servicio | La aplicación debe dejar de operar la orquestación o necesita un entorno compartido/políglota. | Dirige los nuevos inicios al servicio tras preparar sus workers. Drena las ejecuciones integradas en origen o usa la importación explícita de ejecuciones v2 elegibles a Server autogestionado. |

Consulta las [líneas publicadas compatibles con Laravel](./compatibility.md#laravel-support)
antes de elegir un destino. El paquete integrado actual y, desde el SDK PHP
3.10, el puente Laravel de modo servicio requieren Laravel 12.69 o 13.30 y un
PHP compatible. El cliente básico de modo servicio mantiene PHP 8.1. El SDK PHP
3.9.x conserva su contrato anterior del puente para Laravel 10–13 con los
parches mínimos. Una aplicación v1 antigua puede necesitar una actualización
del framework antes de pasar a cualquiera de las dos líneas actuales. Conserva
su runtime v1 y sus ejecuciones abiertas durante esa actualización.
antes de elegir un destino. El paquete integrado actual requiere Laravel
12.72 o 13.41 y un PHP compatible. El puente Laravel de modo servicio sigue
sus [propios requisitos del SDK PHP](./polyglot/php.md#requirements). El cliente
básico de modo servicio mantiene PHP 8.1. El SDK PHP 3.9.x conserva su contrato
anterior del puente para Laravel 10–13. Una aplicación v1 antigua puede
necesitar una actualización del framework antes de pasar a cualquiera de las
dos líneas actuales. Conserva su runtime v1 y sus ejecuciones abiertas durante
esa actualización.

## Compara los límites de responsabilidad {#compare-the-ownership-boundary}

Expand Down
6 changes: 3 additions & 3 deletions i18n/es/source-hashes.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"ai-agent-workflow-engine.md": "28016466b179adbabdff6467ce351100c9bee48529a8bec9df7ec22c8d786d4d",
"ai-assisted-development.md": "b246bb60585fb7a69bc534978f470f3f16e899e1f8f203ba0847d2d11b8a1ec3",
"capabilities.md": "d9a2bbc0d04adf8cb3f4c7f42d779a43aafab60791210305e7e476c0499528fc",
"compatibility.md": "9e6e155c6e42ec224a625b5e172c0b314cb77992371bd93bb73d6cc9495aef5f",
"compatibility.md": "2846972d7644f88bece616bc7e4b3b2a53a2e3e1a348c7d525f7dd76ea9dea88",
"configuration/customization-matrix.md": "3d115863eaee7852b541bcd01615f424cc19c5847c7cd7d75e5ae63bc3f5cc78",
"configuration/database-connection.md": "cc83ae77133236309506fa44d39bfd0c939c32a6154c0bd6099bc64c83bdaec9",
"configuration/ensuring-same-server.md": "6c665f37cc198c7b1a775a60a94aab5ff4e55383385e76f1834c7840559b512a",
Expand Down Expand Up @@ -58,9 +58,9 @@
"features/webhooks.md": "edcdfc05ccb0d34a77c51594f85bc3cab343e787f8e0e08d2cd4ddebd048e8c8",
"features/worker-sessions.md": "5065368fb5b93599dbd08d97cb9ac312576eb42fee14f081db663aa9f78fb68c",
"how-it-works.md": "90454c37f4244297d5c11bcc59549859acf59f88d15ecd26f0a6951c115f86eb",
"installation.md": "f69b98de4e10ba5ab892203b0418e4ed77e3edf3ac84cc46d9cf4694ee47ada9",
"installation.md": "895d390a17a71f4846223c4637ed1e70adf1221ba99d6b422ce1a5480c2f167b",
"introduction.md": "06bf96d164d402d4e376c6308b20f96d324110b2e0cf96c2a1a67b39906072e3",
"laravel-adoption.md": "be0890619736ee2362ee96b6b1f5f397f10fb58cb845448ac15b437ac3062b36",
"laravel-adoption.md": "8974d4906658a0727a185ba3d53bf03e8e33494cd63d84def0b9ae62fcc7507e",
"mcp-workflows.md": "1c0b5bb7f2e5c7ca835dfdfa57bbe8f6624172c855f4e225057ac2377abf360e",
"migration.md": "7304a53786d5e45d3a639c33386e6558e855ee77982883a5e051ef5084b8453b",
"monitoring.md": "346b8a5207b7d69cea63dc9bfec95bf1911d3038a9d30ad06939b13130079279",
Expand Down
Loading
Loading