Skip to content
Closed
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
25 changes: 25 additions & 0 deletions docs/compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,31 @@ These documents add per-package detail under the rules on this page:
`durable-workflow/sdk-rust`. Authoritative for the `durable-workflow` crate
public API and its package compatibility declaration.

## Embedded PHP and Laravel support {#embedded-php-and-laravel-support}

The embedded package's platform requirements come from its published Composer
and upgrade manifests. A source merge is not published support or installed
qualification.

| Workflow line | PHP constraint | Laravel constraint | Authority |
| --- | --- | --- | --- |
| Published 2.20.4 | `^8.1` | `^10.50.4\|^11.56.1\|^12.69.0\|^13.30.0` | [Published 2.20.4 manifest](https://github.com/durable-workflow/workflow/blob/2.20.4/composer.json) |
| 2.21, unreleased | `^8.2` | `^12.69.0\|^13.30.0` | [Intended source](https://github.com/durable-workflow/workflow/blob/3d7d0a193d8fffe591f8286d1c4d5499120a297a/resources/laravel-embedded-upgrade-contract.json); actual publication and Release Verification are still required |

Laravel 10 permits PHP 8.1, Laravel 11/12 require PHP 8.2, and Laravel 13
requires PHP 8.3. A declared Composer range does not qualify every interpreter
or database combination. Prepare the application platform using the
[2.21 upgrade guidance](/docs/installation/#preparing-for-workflow-2-21).
Laravel 9 applications remain on their compatible 2.16.x line until the
framework is upgraded. The historical 1.x contract is unchanged.

The framework-neutral PHP SDK retains its independent PHP `^8.1` requirement.
Its [Laravel service bridge](https://php.durable-workflow.com/frameworks/laravel/)
follows the SDK's own published contract. Workflow's planned platform change
does not narrow that bridge early or change standalone Server, Python or Rust
requirements. No worker-protocol or durable-history version is changed by this
platform support boundary.

## Release Rules

These rules apply to every public surface family above. They are reproduced in
Expand Down
33 changes: 31 additions & 2 deletions docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,37 @@ the embedded Laravel path.

## Requirements

- PHP 8.1 or later
- Laravel 9 or later
The published Workflow 2.20.x line requires:

- PHP `^8.1`
- Laravel 10–13 at the declared minimum versions in the
[package manifest](https://github.com/durable-workflow/workflow/blob/2.20.4/composer.json)

Laravel 11 and 12 require PHP 8.2 or newer. Laravel 13 requires PHP 8.3 or
newer. See [Version Compatibility](/docs/compatibility/#embedded-php-and-laravel-support)
for the exact framework constraints and the separate PHP SDK boundary.

### Preparing for Workflow 2.21 {#preparing-for-workflow-2-21}

:::info Unreleased support change

Workflow 2.21 source requires PHP `^8.2` and Laravel `^12.69.0|^13.30.0`.
It is not published or Release-Verified yet. The install command below still
selects a published artifact. Source integration does not change that authority.

:::

Upgrade PHP 8.1 applications and Laravel 10/11 applications to a supported
platform before taking 2.21. Laravel 13 still needs PHP 8.3 or newer. Apply the
platform update to web, CLI and worker processes, retaining the existing 2.20.x
application lock while preparing and testing the upgrade. An explicit 2.21
requirement must refuse an unsupported platform. Keep Composer platform checks
and advisory blocking enabled. Retaining 2.20.x does not extend upstream
security support for the old platform.

This support change introduces no schema, history or protocol migration.
Existing v1 runs keep their v1 owner. The [migration procedure](/docs/migration/)
still governs draining or coexistence.

Check [Database Compatibility](./polyglot/database-support.md) for the embedded
and Server declarations, exact tested configurations and qualification limits.
Expand Down
12 changes: 8 additions & 4 deletions docs/laravel-adoption.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,13 @@ choosing the transition policy here.
| Stable v1 Laravel | PHP SDK service mode | Laravel should keep dependency injection, configuration, Artisan, logging, events, and test fakes, but Cloud or Server should own durable state. | Install `durable-workflow/sdk` as a separate service client/worker boundary. v1 history and durable Laravel queue jobs stay on the v1 runtime until terminal. |
| 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. |

The PHP SDK bridge and the embedded package support Laravel 9 through 13 on
their compatible PHP versions. A supported v1 application can therefore choose
either destination without an unrelated Laravel upgrade.
Check each destination's platform requirements before choosing it. The
[embedded installation guide](/docs/installation/#requirements) covers the
published 2.20.x requirements and the unreleased 2.21 upgrade boundary. The
[PHP SDK Laravel guide](https://php.durable-workflow.com/frameworks/laravel/)
owns the separate service bridge contract. The bare SDK's PHP `^8.1` floor
does not establish every framework combination. A supported v1 host can still
need a PHP or Laravel upgrade before moving to its chosen destination.

## Compare the ownership boundary

Expand Down Expand Up @@ -328,7 +332,7 @@ the published PHP SDK artifact authority, not copied from a point release:
composer require %%artifact.publishedPhpSdkComposerPackage%%
```

Laravel 9 through 13 auto-discover the provider. Publish the package
Supported Laravel releases auto-discover the SDK provider. Publish the package
configuration and list the attributed handler classes:

<!-- docs-example id="laravel.adoption.service.config" -->
Expand Down
18 changes: 18 additions & 0 deletions docs/migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,24 @@ a self-hosted Server through the PHP SDK in the
[Laravel adoption and runtime transition guide](/docs/laravel-adoption/).
This page then provides the detailed v1-to-v2 embedded package procedure.

## Check the target platform {#check-the-target-platform}

Match the published target package's [PHP and Laravel requirements](/docs/installation/#requirements)
before changing Composer constraints. Stable v1 support does not imply support
for the same host in current embedded v2. In particular, Laravel 9 applications
need a framework upgrade before taking the published 2.20.x line.

The [2.21 preparation guidance](/docs/installation/#preparing-for-workflow-2-21)
describes the planned removal of PHP 8.1 and Laravel 10/11 support. That line
is not published or Release-Verified yet. Keep the existing 2.20.x application
lock while preparing the platform upgrade. Older releases do not extend
upstream security support. The bare PHP SDK and its Laravel bridge have their
own published requirements.

This platform change introduces no schema, history or protocol migration.
Existing v1 history remains owned by v1. The drain, coexistence and rollback
rules below still apply. A Composer change never migrates a run.

## Upgrade procedure

### Before upgrading
Expand Down
25 changes: 25 additions & 0 deletions i18n/de/docusaurus-plugin-content-docs/current/compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,31 @@ Diese Dokumente ergänzen paketbezogene Details unter den Regeln dieser Seite:
- Python-SDK: `README.md` in `durable-workflow/sdk-python`. Maßgeblich für die öffentliche API des Pakets `durable_workflow`.
- Rust-SDK: `README.md` und `[package.metadata.durable-workflow]` in `durable-workflow/sdk-rust`. Maßgeblich für die öffentliche API der Crate `durable-workflow` und ihre Paketkompatibilitätserklärung.

## PHP- und Laravel-Unterstützung im eingebetteten Modus {#embedded-php-and-laravel-support}

Die Plattformanforderungen des eingebetteten Pakets stammen aus seinen
veröffentlichten Composer- und Upgrade-Manifesten. Ein Quellcode-Merge belegt
weder veröffentlichten Support noch die Qualifikation einer Installation.

| Workflow-Reihe | PHP-Vorgabe | Laravel-Vorgabe | Autorität |
| --- | --- | --- | --- |
| 2.20.4 veröffentlicht | `^8.1` | `^10.50.4\|^11.56.1\|^12.69.0\|^13.30.0` | [Veröffentlichtes 2.20.4-Manifest](https://github.com/durable-workflow/workflow/blob/2.20.4/composer.json) |
| 2.21, unveröffentlicht | `^8.2` | `^12.69.0\|^13.30.0` | [Geplanter Quellstand](https://github.com/durable-workflow/workflow/blob/3d7d0a193d8fffe591f8286d1c4d5499120a297a/resources/laravel-embedded-upgrade-contract.json); tatsächliche Veröffentlichung und Release Verification stehen aus |

Laravel 10 erlaubt PHP 8.1, Laravel 11/12 benötigen PHP 8.2 und Laravel 13
benötigt PHP 8.3. Ein deklarierter Composer-Bereich qualifiziert nicht jede
Interpreter-/Datenbankkombination. Bereiten Sie die Plattform anhand der
[Upgrade-Anleitung für 2.21](/docs/installation/#preparing-for-workflow-2-21) vor.
Laravel-9-Anwendungen bleiben bis zum Framework-Upgrade auf ihrer kompatiblen
Reihe 2.16.x. Der historische 1.x-Vertrag bleibt unverändert.

Das frameworkunabhängige PHP-SDK behält seine eigene PHP-Vorgabe `^8.1`.
Seine [Laravel-Bridge im Dienstmodus](https://php.durable-workflow.com/frameworks/laravel/)
folgt dem veröffentlichten SDK-Vertrag. Der geplante Plattformwechsel von Workflow
schränkt diese Bridge nicht vorzeitig ein und ändert keine Anforderungen von
Standalone-Server, Python oder Rust. Diese Plattformgrenze ändert keine
Version des Worker-Protokolls oder des dauerhaften Verlaufs.

## Veröffentlichungsregeln {#release-rules}

Diese Regeln gelten für jede obige öffentliche Schnittstellenfamilie. Sie sind im JSON-Spiegel unter `release_rules` wiedergegeben.
Expand Down
34 changes: 32 additions & 2 deletions i18n/de/docusaurus-plugin-content-docs/current/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,38 @@ Wenn Sie zwischen der Einbettung des Pakets und dem eigenständigen Server wähl

## Voraussetzungen {#requirements}

- PHP 8.1 oder neuer
- Laravel 9 oder neuer
Die veröffentlichte Workflow-Reihe 2.20.x benötigt:

- PHP `^8.1`
- Laravel 10–13 mit den deklarierten Mindestversionen aus dem
[Paketmanifest](https://github.com/durable-workflow/workflow/blob/2.20.4/composer.json)

Laravel 11 und 12 benötigen mindestens PHP 8.2, Laravel 13 mindestens PHP 8.3.
Die [Versionskompatibilität](/docs/compatibility/#embedded-php-and-laravel-support)
nennt die genauen Vorgaben und die getrennte Grenze des PHP-SDK.

### Workflow 2.21 vorbereiten {#preparing-for-workflow-2-21}

:::info Noch nicht veröffentlichte Supportänderung

Der Quellstand für Workflow 2.21 benötigt PHP `^8.2` und Laravel `^12.69.0|^13.30.0`.
Er ist noch nicht veröffentlicht oder durch Release Verification geprüft. Der
Installationsbefehl unten wählt weiterhin ein veröffentlichtes Artefakt;
ein Quellcode-Merge ändert diese Autorität nicht.

:::

Aktualisieren Sie Anwendungen mit PHP 8.1 oder Laravel 10/11 vor 2.21 auf eine
unterstützte Plattform. Laravel 13 benötigt weiterhin mindestens PHP 8.3.
Aktualisieren Sie Web-, CLI- und Worker-Prozesse und bewahren Sie während
Vorbereitung und Tests die bestehende 2.20.x-Lockdatei auf. Eine explizite
2.21-Anforderung muss eine nicht unterstützte Plattform ablehnen. Lassen Sie
Composers Plattformprüfung und Sicherheitshinweis-Sperren aktiv. Das Beibehalten
von 2.20.x verlängert nicht die vorgelagerte Sicherheitsunterstützung für PHP oder Laravel.

Diese Supportänderung führt keine Schema-, Verlaufs- oder Protokollmigration
ein. Bestehende v1-Läufe bleiben bei v1; das
[Migrationsverfahren](/docs/migration/) regelt weiterhin Drain oder Koexistenz.

Prüfen Sie die [Datenbankkompatibilität](./polyglot/database-support.md) für eingebettete und Server-Deklarationen, genaue Testkonfigurationen und Qualifikationsgrenzen.

Expand Down
12 changes: 10 additions & 2 deletions i18n/de/docusaurus-plugin-content-docs/current/laravel-adoption.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,14 @@ Für ein unmittelbares v1-Upgrade auf Paketebene halten Sie den ausführlichen [
| Stabiles v1-Laravel | PHP-SDK-Dienstmodus | Laravel soll Dependency Injection, Konfiguration, Artisan, Logging, Ereignisse und Test-Fakes behalten, Cloud oder Server aber den dauerhaften Zustand verwalten. | `durable-workflow/sdk` als separate Dienstclient-/Worker-Grenze installieren. v1-Historie und dauerhafte Laravel-Warteschlangenjobs bleiben bis zum terminalen Zustand auf der v1-Laufzeit. |
| 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. |

Die PHP-SDK-Bridge und das eingebettete Paket unterstützen Laravel 9 bis 13 mit ihren kompatiblen PHP-Versionen. Eine unterstützte v1-Anwendung kann daher beide Ziele ohne sachfremdes Laravel-Upgrade wählen.
Prüfen Sie vor der Auswahl die Plattformanforderungen jedes Ziels. Die
[Installationsanleitung für den eingebetteten Modus](/docs/installation/#requirements)
beschreibt die veröffentlichten 2.20.x-Anforderungen und die Upgrade-Grenze
für das noch unveröffentlichte 2.21. Der
[Laravel-Leitfaden des PHP-SDK](https://php.durable-workflow.com/frameworks/laravel/)
ist für den getrennten Dienstvertrag maßgeblich; die PHP-Untergrenze `^8.1`
des SDK allein belegt nicht jede Framework-Kombination. Auch ein unterstützter
v1-Host kann vor dem Wechsel ein PHP- oder Laravel-Upgrade benötigen.

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

Expand Down Expand Up @@ -294,7 +301,8 @@ Installieren Sie das unabhängig veröffentlichte SDK-Paket. Dieser Befehl wird
composer require %%artifact.publishedPhpSdkComposerPackage%%
```

Laravel 9 bis 13 erkennt den Provider automatisch. Veröffentlichen Sie die Paketkonfiguration und listen Sie die mit Attributen versehenen Handlerklassen auf:
Unterstützte Laravel-Versionen erkennen den SDK-Provider automatisch.
Veröffentlichen Sie die Paketkonfiguration und listen Sie die mit Attributen versehenen Handlerklassen auf:

<!-- docs-example id="laravel.adoption.service.config" -->
```php
Expand Down
19 changes: 19 additions & 0 deletions i18n/de/docusaurus-plugin-content-docs/current/migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,25 @@ keywords:

Dieser Leitfaden beschreibt die wichtigsten Änderungen beim Upgrade einer bestehenden Laravel-v1-Anwendung auf v2. Entscheiden Sie zuerst im [Leitfaden zur Laravel-Einführung und zum Laufzeitwechsel](/docs/laravel-adoption/), ob Laravel die Laufzeit weiter verwaltet oder über das PHP-SDK Cloud oder einen selbst gehosteten Server anspricht. Diese Seite beschreibt anschließend das detaillierte Verfahren für das eingebettete Paket von v1 zu v2.

## Zielplattform prüfen {#check-the-target-platform}

Prüfen Sie vor dem Ändern der Composer-Vorgaben die
[PHP- und Laravel-Anforderungen](/docs/installation/#requirements) des
veröffentlichten Zielpakets. Der stabile v1-Support bedeutet nicht, dass derselbe
Host im aktuellen eingebetteten v2 unterstützt wird. Insbesondere benötigen
Laravel-9-Anwendungen vor der veröffentlichten Reihe 2.20.x ein Framework-Upgrade.

Die [Vorbereitung auf 2.21](/docs/installation/#preparing-for-workflow-2-21)
beschreibt das geplante Supportende für PHP 8.1 und Laravel 10/11. Diese Reihe
ist noch nicht veröffentlicht oder durch Release Verification geprüft.
Bewahren Sie bei der Plattformvorbereitung die bestehende 2.20.x-Lockdatei auf;
ältere Versionen verlängern keine vorgelagerte Sicherheitsunterstützung.
Das PHP-SDK allein und seine Laravel-Bridge haben eigene veröffentlichte Anforderungen.

Diese Plattformänderung führt keine Schema-, Verlaufs- oder Protokollmigration
ein. Bestehender v1-Verlauf bleibt bei v1. Die folgenden Regeln zu Drain,
Koexistenz und Rollback gelten weiter; eine Composer-Änderung migriert nie einen Lauf.

## Upgrade-Verfahren {#upgrade-procedure}

### Vor dem Upgrade {#before-upgrading}
Expand Down
8 changes: 4 additions & 4 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": "7920228a2941f3f335b224580170c1ae74382dd86d0d454bfbdbb6c703fe1eb6",
"compatibility.md": "4f17a4c826c2b83abe21d860195f22f9b87b50f7b2200962f6840949ba3c967a",
"configuration/customization-matrix.md": "3d115863eaee7852b541bcd01615f424cc19c5847c7cd7d75e5ae63bc3f5cc78",
"configuration/database-connection.md": "cc83ae77133236309506fa44d39bfd0c939c32a6154c0bd6099bc64c83bdaec9",
"configuration/ensuring-same-server.md": "6c665f37cc198c7b1a775a60a94aab5ff4e55383385e76f1834c7840559b512a",
Expand Down Expand Up @@ -58,11 +58,11 @@
"features/webhooks.md": "edcdfc05ccb0d34a77c51594f85bc3cab343e787f8e0e08d2cd4ddebd048e8c8",
"features/worker-sessions.md": "5065368fb5b93599dbd08d97cb9ac312576eb42fee14f081db663aa9f78fb68c",
"how-it-works.md": "90454c37f4244297d5c11bcc59549859acf59f88d15ecd26f0a6951c115f86eb",
"installation.md": "982bf4d47460c440ae11991e0db42ba43bf7e7aff82120c4e351cfc5023ad931",
"installation.md": "1fd4db96f0058f2fccefbfd4d424b326d322f29e760b3b066515b9e5f82c5149",
"introduction.md": "06bf96d164d402d4e376c6308b20f96d324110b2e0cf96c2a1a67b39906072e3",
"laravel-adoption.md": "f7fe728d0226a5c9b7de4ff6dd130ea1f1003715eb30888983e49fa66cc6e7b8",
"laravel-adoption.md": "0e84896c2340f0bfe89e36c7fc75711c6434df4fd57ec85ed49121749bf4b767",
"mcp-workflows.md": "1c0b5bb7f2e5c7ca835dfdfa57bbe8f6624172c855f4e225057ac2377abf360e",
"migration.md": "7304a53786d5e45d3a639c33386e6558e855ee77982883a5e051ef5084b8453b",
"migration.md": "98724032db902d177e95889712a64f1f92ad8f2a0eafa5db9253f21c61307ebe",
"monitoring.md": "202278c1196508df5ff00d34cfe94fd2d60dfb7fd2fcb768cf37864c7605de0a",
"operator-operating-envelope.md": "dc0cf13d8593e4ce2d8ec1912e45e61c9bf13f06abf7cc8c422379db5e3fa0ad",
"platform-conformance.md": "2eec7eba9a65c010e03c4b2eb78afe4dddd6fd8170218b3194c49e3777124c91",
Expand Down
25 changes: 25 additions & 0 deletions i18n/es/docusaurus-plugin-content-docs/current/compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,31 @@ Estos documentos añaden detalles de cada paquete siguiendo las reglas de esta p
`durable-workflow/sdk-rust`. Referencia de la API pública del crate
`durable-workflow` y de su declaración de compatibilidad del paquete.

## Soporte de PHP y Laravel en modo integrado {#embedded-php-and-laravel-support}

Los requisitos de plataforma del paquete integrado proceden de sus manifiestos
publicados de Composer y actualización. Integrar código fuente no demuestra
soporte publicado ni cualificación de una instalación.

| Serie Workflow | Restricción de PHP | Restricción de Laravel | Autoridad |
| --- | --- | --- | --- |
| 2.20.4 publicada | `^8.1` | `^10.50.4\|^11.56.1\|^12.69.0\|^13.30.0` | [Manifiesto publicado de 2.20.4](https://github.com/durable-workflow/workflow/blob/2.20.4/composer.json) |
| 2.21, no publicada | `^8.2` | `^12.69.0\|^13.30.0` | [Código previsto](https://github.com/durable-workflow/workflow/blob/3d7d0a193d8fffe591f8286d1c4d5499120a297a/resources/laravel-embedded-upgrade-contract.json); aún se requieren la publicación real y Release Verification |

Laravel 10 admite PHP 8.1, Laravel 11/12 requieren PHP 8.2 y Laravel 13 requiere
PHP 8.3. Un rango de Composer declarado no cualifica todas las combinaciones
de intérprete y base de datos. Prepara la plataforma con la
[guía de actualización a 2.21](/docs/installation/#preparing-for-workflow-2-21).
Las aplicaciones Laravel 9 permanecen en su serie compatible 2.16.x hasta
actualizar el framework. El contrato histórico 1.x no cambia.

El SDK PHP independiente del framework conserva su requisito PHP `^8.1`.
Su [puente Laravel en modo servicio](https://php.durable-workflow.com/frameworks/laravel/)
sigue su propio contrato publicado. El cambio previsto de Workflow no reduce
antes de tiempo ese soporte ni cambia los requisitos de Server independiente,
Python o Rust. Este límite de plataforma no cambia ninguna versión del
protocolo de workers ni del historial duradero.

## Reglas de publicación {#release-rules}

Estas reglas se aplican a todas las familias públicas anteriores. Se reproducen
Expand Down
Loading
Loading