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
26 changes: 26 additions & 0 deletions docs/compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,32 @@ directly to a public OpenAPI, AsyncAPI, or JSON Schema document. The
schema pins the discovery surface every other catalog entry can be
reached from.

## Published Laravel support {#laravel-support}

Select the package release before comparing PHP and Laravel requirements.
The embedded package and the service-mode SDK have separate support contracts.

| Package line | PHP | Laravel |
| --- | --- | --- |
| Current embedded Workflow 2.21 | PHP 8.2+ in 8.x; PHP 8.3+ for Laravel 13 | `^12.69.0` or `^13.30.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.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.21.0/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/).

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
`^2.0` constraint can select a later minor once the platform permits it.
Preserve the original runtime for open v1 runs, and follow the
[Laravel adoption guide](/docs/laravel-adoption) for drain or coexistence.
Changing a Composer requirement does not migrate durable history.

## Stability Levels

Every public surface in Durable Workflow carries exactly one of these
Expand Down
15 changes: 10 additions & 5 deletions docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,13 @@ the embedded Laravel path.

## Requirements

- PHP 8.1 or later
- Laravel 9 or later
- 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
- PHP 8.3 or later for Laravel 13

These requirements apply to the current embedded release. For an older
application, choose the appropriate [published support line](./compatibility.md#laravel-support)
before updating Composer. The bare service-mode PHP SDK has its own requirements.

Check [Database Compatibility](./polyglot/database-support.md) for the embedded
and Server declarations, exact tested configurations and qualification limits.
Expand All @@ -44,9 +49,9 @@ Durable Workflow is installable via Composer:
composer require %%artifact.workflowComposerPackage%%
```

Use `durable-workflow/workflow:^2.0` when you want Composer to accept compatible
2.x updates automatically. See [Version Compatibility](/docs/compatibility)
for runtime and package compatibility rules.
Composer pins the published embedded release above. Review the
[Laravel support and upgrade boundary](./compatibility.md#laravel-support)
before widening that constraint or upgrading an older Laravel application.

The package auto-loads its migrations, so a normal migrate run is enough after install:

Expand Down
11 changes: 7 additions & 4 deletions docs/laravel-adoption.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,12 @@ 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 the [published Laravel support lines](./compatibility.md#laravel-support)
before choosing a destination. The current embedded package requires Laravel
12.69 or 13.30 and compatible PHP. The published PHP SDK 3.9.5 still supports
patched Laravel 10–13; its bare service-mode client keeps PHP 8.1 support.
An older v1 application may need a framework upgrade before moving to the
current embedded line. Preserve its v1 runtime and open runs during that upgrade.

## Compare the ownership boundary

Expand Down Expand Up @@ -328,7 +331,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 versions auto-discover the provider. Publish the package
configuration and list the attributed handler classes:

<!-- docs-example id="laravel.adoption.service.config" -->
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 @@ -59,6 +59,31 @@ Jedes `surface_family` eines Katalogeintrags muss im obigen Vertrag existieren.

Jeder erforderliche Plattform-Protokollkatalogeintrag ist als `published` markiert. Der Eintrag für den aufrufbaren Träger bleibt `in_progress`. Jeder verfügbare Eintrag verlinkt direkt ein öffentliches OpenAPI-, AsyncAPI- oder JSON-Schema-Dokument. Das Schema [`cluster_info_envelope`](/docs/platform-protocol-specs#cluster-info-envelope-notes) legt die Ermittlungsschnittstelle fest, von der aus alle anderen Katalogeinträge erreichbar sind.

## Veröffentlichter Laravel-Support {#laravel-support}

Wählen Sie das Paketrelease vor dem Vergleich der PHP- und Laravel-Anforderungen.
Das eingebettete Paket und das Service-Modus-SDK haben eigene Supportverträge.

| Paketlinie | PHP | Laravel |
| --- | --- | --- |
| Aktuelles eingebettetes Workflow 2.21 | PHP 8.2+ in 8.x; PHP 8.3+ für Laravel 13 | `^12.69.0` oder `^13.30.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.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.21.0/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.

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
wählen, sobald die Plattform sie zulässt. Bewahren Sie die ursprüngliche
Laufzeit offener v1-Läufe und folgen Sie der [Adoptionsanleitung](/docs/laravel-adoption)
für Drain oder Koexistenz. Eine geänderte Composer-Anforderung migriert keinen
dauerhaften Verlauf.

## Stabilitätsstufen {#stability-levels}

Jede öffentliche Durable-Workflow-Schnittstelle trägt genau eine dieser Stabilitätsstufen. Die Stufen sind explizit: Eine nicht klassifizierte Schnittstelle ist nicht öffentlich.
Expand Down
13 changes: 10 additions & 3 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,13 @@ 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
- 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
- PHP 8.3 oder neuer für Laravel 13

Diese Anforderungen gelten für das aktuelle eingebettete Release. Wählen Sie vor
einem Composer-Update einer älteren Anwendung die [passende veröffentlichte Linie](./compatibility.md#laravel-support).
Das reine PHP-SDK im Service-Modus hat eigene Anforderungen.

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

Expand All @@ -36,7 +41,9 @@ Installieren Sie Durable Workflow mit Composer:
composer require %%artifact.workflowComposerPackage%%
```

Verwenden Sie `durable-workflow/workflow:^2.0`, damit Composer kompatible 2.x-Updates automatisch zulässt. Die [Versionskompatibilität](/docs/compatibility) beschreibt die Regeln für Laufzeitumgebung und Pakete.
Der obige Befehl bindet das veröffentlichte eingebettete Release. Prüfen Sie
die [Laravel-Support- und Upgrade-Grenze](./compatibility.md#laravel-support),
bevor Sie die Einschränkung erweitern oder eine ältere Anwendung aktualisieren.

Das Paket lädt seine Migrationen automatisch. Nach der Installation reicht daher ein normaler Migrationslauf:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,12 @@ 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 Zielwahl die [veröffentlichten Laravel-Supportlinien](./compatibility.md#laravel-support).
Das aktuelle eingebettete Paket benötigt Laravel 12.69 oder 13.30 und passendes
PHP. Das veröffentlichte PHP-SDK 3.9.5 unterstützt weiterhin gepatchtes Laravel
10–13; der reine Client behält PHP 8.1 bei. Eine ältere v1-Anwendung benötigt
möglicherweise zuerst ein Framework-Upgrade. Bewahren Sie dabei ihre
v1-Laufzeit und offenen Läufe.

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

Expand Down Expand Up @@ -294,7 +299,7 @@ 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 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
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": "7920228a2941f3f335b224580170c1ae74382dd86d0d454bfbdbb6c703fe1eb6",
"compatibility.md": "3b2b45cbc9f1d614d19cb1ed876b7f63ee73506845951b4658b70febe62df1cc",
"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": "982bf4d47460c440ae11991e0db42ba43bf7e7aff82120c4e351cfc5023ad931",
"installation.md": "f69b98de4e10ba5ab892203b0418e4ed77e3edf3ac84cc46d9cf4694ee47ada9",
"introduction.md": "06bf96d164d402d4e376c6308b20f96d324110b2e0cf96c2a1a67b39906072e3",
"laravel-adoption.md": "f7fe728d0226a5c9b7de4ff6dd130ea1f1003715eb30888983e49fa66cc6e7b8",
"laravel-adoption.md": "b78962f1a895d03120e4221a6709c43993be3acf3b6e7a8b6b38e4feea5dad6c",
"mcp-workflows.md": "1c0b5bb7f2e5c7ca835dfdfa57bbe8f6624172c855f4e225057ac2377abf360e",
"migration.md": "7304a53786d5e45d3a639c33386e6558e855ee77982883a5e051ef5084b8453b",
"monitoring.md": "202278c1196508df5ff00d34cfe94fd2d60dfb7fd2fcb768cf37864c7605de0a",
Expand Down
24 changes: 24 additions & 0 deletions i18n/es/docusaurus-plugin-content-docs/current/compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,30 @@ directamente un documento público OpenAPI, AsyncAPI o JSON Schema. El esquema
[`cluster_info_envelope`](/docs/platform-protocol-specs#cluster-info-envelope-notes)
fija la interfaz de descubrimiento desde la que se alcanza el resto del catálogo.

## Compatibilidad de Laravel publicada {#laravel-support}

Elige la versión del paquete antes de comparar los requisitos de PHP y Laravel.
El paquete integrado y el SDK de modo servicio tienen contratos distintos.

| Línea del paquete | PHP | Laravel |
| --- | --- | --- |
| Workflow integrado 2.21 actual | PHP 8.2+ de 8.x; PHP 8.3+ para Laravel 13 | `^12.69.0` o `^13.30.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.9.5 publicado | 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.21.0/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/).

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
permita. Conserva el runtime original de las ejecuciones v1 abiertas y sigue la
[guía de adopción](/docs/laravel-adoption) para drenar o coexistir. Cambiar la
restricción Composer no migra el historial durable.

## Niveles de estabilidad {#stability-levels}

Cada interfaz pública tiene exactamente uno de estos niveles de estabilidad.
Expand Down
16 changes: 10 additions & 6 deletions i18n/es/docusaurus-plugin-content-docs/current/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,13 @@ Esta página describe la integración en Laravel.

## Requisitos {#requirements}

- PHP 8.1 o posterior
- Laravel 9 o posterior
- 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
- PHP 8.3 o posterior para Laravel 13

Estos requisitos corresponden a la versión integrada actual. Antes de actualizar
Composer en una aplicación antigua, elige la [línea publicada compatible](./compatibility.md#laravel-support).
El SDK PHP básico de modo servicio tiene requisitos independientes.

Consulte [Compatibilidad de bases de datos](./polyglot/database-support.md) para las declaraciones de modo embebido y Server, configuraciones exactas probadas y límites de cualificación.

Expand All @@ -45,10 +50,9 @@ Instala Durable Workflow con Composer:
composer require %%artifact.workflowComposerPackage%%
```

Usa `durable-workflow/workflow:^2.0` para que Composer pueda instalar
actualizaciones compatibles de la serie 2.x. Consulta
[Compatibilidad de versiones](/docs/compatibility) para conocer las reglas
de compatibilidad entre el runtime y los paquetes.
El comando anterior fija la versión integrada publicada. Revisa el
[límite de compatibilidad y actualización de Laravel](./compatibility.md#laravel-support)
antes de ampliar la restricción o actualizar una aplicación Laravel antigua.

El paquete carga sus migraciones automáticamente. Después de instalarlo,
basta con ejecutar las migraciones habituales:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,12 @@ elegir aquí la política de transición.
| Laravel v1 estable | SDK PHP en modo servicio | Laravel debe conservar inyección de dependencias, configuración, Artisan, registros, eventos y simulaciones de prueba, pero Cloud o Server deben poseer el estado duradero. | Instala `durable-workflow/sdk` como límite separado de cliente/worker. El historial v1 y los trabajos duraderos de colas Laravel permanecen en v1 hasta terminar. |
| 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. |

El puente del SDK PHP y el paquete integrado admiten Laravel 9 a 13 con sus
versiones PHP compatibles. Una aplicación v1 admitida puede elegir cualquiera
de los destinos sin una actualización de Laravel ajena a esta transición.
Consulta las [líneas publicadas compatibles con Laravel](./compatibility.md#laravel-support)
antes de elegir un destino. El paquete integrado actual requiere Laravel 12.69 o
13.30 y un PHP compatible. El SDK PHP 3.9.5 publicado conserva el soporte para
Laravel 10–13 con los parches mínimos; el cliente básico mantiene PHP 8.1.
Una aplicación v1 antigua puede necesitar una actualización del framework antes
de pasar a la línea integrada actual. Conserva su runtime v1 y sus ejecuciones abiertas.

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

Expand Down Expand Up @@ -327,7 +330,7 @@ autoridad del artefacto SDK PHP publicado, sin copiar una versión puntual:
composer require %%artifact.publishedPhpSdkComposerPackage%%
```

Laravel 9 a 13 descubre automáticamente el proveedor. Publica la configuración y
Las versiones compatibles de Laravel descubren automáticamente el proveedor. Publica la configuración y
enumera las clases de manejadores con atributos:

<!-- docs-example id="laravel.adoption.service.config" -->
Expand Down
Loading
Loading