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
2 changes: 2 additions & 0 deletions docs/compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -342,6 +342,8 @@ and image digests used for each completed check.

The selected Server is the native 3.x Server. PHP Server 2.x is frozen at 2.11.8 and receives no further releases; existing PHP installations can move to native with `upgrade-takeover` by following the [native takeover runbook](%%artifact.serverTakeoverRunbookUrl%%). Takeover is qualified on the published 3.0.4 image within the runbook's stated scope; it is one-way and backup-first.

PHP Server 2.11.8 remains unpatched for the November Laravel advisories. Existing pinned deployments must follow the [conditional exposure and retirement actions](./polyglot/server.md#retired-php-server-security); the historical takeover evidence retains its original limits.

The Helm chart's recorded `appVersion` is `%%artifact.helmChartAppVersion%%`, matching the selected Server, and the chart runs the native Server by default. Its [published release receipt](%%artifact.helmChartQualificationUrl%%) records the chart release run, OCI/package digests, source identity, and a kind install in that run; it is not a production cluster qualification. See [chart selection and upgrades](./deployment.md#helm-chart-selection) before installing or overriding the image.

PyPI renders the Python distribution version as
Expand Down
2 changes: 2 additions & 0 deletions docs/deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ Server 2.x is frozen at 2.11.8 and receives no further releases.

:::note Existing PHP Server 2.x installations

PHP Server 2.11.8 is retired and unpatched for the November Laravel advisories. For pinned PHP deployments, follow the [conditional exposure and ingress/signed-link actions](./polyglot/server.md#retired-php-server-security) before using the legacy recipes below.

The PHP 2.x stack (server, queue worker, scheduler, bootstrap job and Redis)
remains available. At the 2.11.8 release tag it is
[`docker-compose.published.yml`](https://github.com/durable-workflow/server/blob/2.11.8/docker-compose.published.yml);
Expand Down
2 changes: 2 additions & 0 deletions docs/polyglot/server-config-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ templates, reviewing production configuration, or migrating older
is the native 3.x Server; [Native Server 3.x](#native-server-3x) lists which
settings it honors, ignores or refuses. PHP Server 2.x is frozen at 2.11.8.

PHP Server 2.11.8 remains unpatched for the November Laravel advisories. Follow the [conditional exposure and ingress/signed-link actions](./server.md#retired-php-server-security) for an existing pinned deployment; changing these settings does not patch the image.

The PHP 2.x server also consumes ordinary Laravel runtime settings such as
`DB_*`, `REDIS_*`, `QUEUE_CONNECTION`, and `CACHE_STORE`. Those runtime
infrastructure variables are listed separately because they are deployment
Expand Down
18 changes: 18 additions & 0 deletions docs/polyglot/server.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,24 @@ Configuration below marked as PHP 2.x does not apply to the native Server.

:::

## Retired PHP Server security {#retired-php-server-security}

:::warning Retired and unpatched

PHP Server 2.11.8 is retired and remains unpatched for the November Laravel advisories. Its published image contains Laravel 13.34.0. Updating a source checkout's Composer dependencies does not patch that installed image. Read the [13 November 2026 security notice](https://github.com/durable-workflow/server/blob/3f21b754418ffea5e786f2bd48481a35c92ab1a2/docs/security/retired-php-server-2026-11-13.md) for the reviewed conditions.

Laravel registers signed `GET /storage/{path}` and `PUT /storage/{path}` routes. The shipped application does not issue their temporary signed URLs or call `Concurrency::run()`. The dependency finding does not demonstrate an exploitable default Server journey. Storage-route exposure depends on obtaining or issuing a valid temporary signed URL and the advisory's request-parsing conditions. Review custom routes and extensions separately.

Stop exposing the retired PHP service and plan migration to native. Until retirement:

- Block all `/storage/*` requests at ingress, including GET and PUT, and verify the rule on the actual endpoint. These routes are separate from authenticated `/api/external-payloads/v1` transport.
- Stop issuing and reusing local-disk temporary download or upload URLs. Review extensions that generate signed routes or call Laravel Concurrency.
- Preserve a restorable database and external-payload-storage backup. Stop every PHP role during a migration that writes the database.

These controls reduce the identified storage-route exposure; they do not install the fixes or establish that custom extensions are safe. Native uses a Rust runtime outside this Laravel dependency finding. Follow the [backup-first takeover runbook](%%artifact.serverTakeoverRunbookUrl%%) only within its exact version/backend/state limits and rehearse on a restored copy. Native startup is not a PHP database conversion, and the latest native release does not newly qualify takeover. Subsequent native upgrades retain their [explicit schema and restore requirements](../deployment.md#native-schema-upgrade-3-10).

:::

## Is this only for PHP teams?

No. PHP, Python, and Rust are first-party SDK surfaces. A Python- or Rust-only
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,8 @@ Die Tabelle zeigt die für diese Dokumentation geprüfte stabile Kombination aus

Der ausgewählte Server ist der native Server 3.x. Der PHP-Server 2.x ist bei 2.11.8 eingefroren und erhält keine weiteren Veröffentlichungen; bestehende PHP-Installationen können mit `upgrade-takeover` auf den nativen Server wechseln; folgen Sie dazu dem [Runbook zur nativen Übernahme](%%artifact.serverTakeoverRunbookUrl%%). Die Übernahme ist auf dem veröffentlichten 3.0.4-Image innerhalb des im Runbook angegebenen Umfangs qualifiziert; sie ist einseitig und erfordert vorab eine Sicherung.

PHP Server 2.11.8 bleibt für die Laravel-Sicherheitshinweise vom November ungepatcht. Bestehende fest gepinnte Deployments müssen die [Bedingungen und Stilllegungsmaßnahmen](./polyglot/server.md#retired-php-server-security) beachten; die historischen Takeover-Nachweise behalten ihre ursprünglichen Grenzen.

Die aufgezeichnete `appVersion` des Helm-Charts ist `%%artifact.helmChartAppVersion%%` und entspricht dem ausgewählten Server; das Chart betreibt standardmäßig den nativen Server. Sein [veröffentlichter Release-Bericht](%%artifact.helmChartQualificationUrl%%) dokumentiert den Release-Lauf des Charts, OCI-/Paket-Digests, die Quellidentität und eine kind-Installation in diesem Lauf; er ist keine Qualifizierung für einen Produktionscluster. Lesen Sie vor der Installation oder einem Image-Override die [Chart-Auswahl und Upgrade-Hinweise](./deployment.md#helm-chart-selection).


Expand Down
2 changes: 2 additions & 0 deletions i18n/de/docusaurus-plugin-content-docs/current/deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ Er läuft als ein Prozess pro Knoten: Er erstellt und prüft sein Datenbankschem

:::note Bestehende Installationen des PHP-Servers 2.x

PHP Server 2.11.8 ist eingestellt und für die Laravel-Sicherheitshinweise vom November ungepatcht. Befolgen Sie bei fest gepinnten PHP-Deployments die [Bedingungen und Ingress-/Signatur-Link-Maßnahmen](./polyglot/server.md#retired-php-server-security), bevor Sie die alten Rezepte unten verwenden.

Der PHP-2.x-Stack (Server, Queue-Worker, Scheduler, Bootstrap-Job und Redis)
bleibt verfügbar. Am Veröffentlichungstag 2.11.8 ist er
[`docker-compose.published.yml`](https://github.com/durable-workflow/server/blob/2.11.8/docker-compose.published.yml);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ keywords:

Diese Seite beschreibt den Vertrag der Umgebungsvariablen `DW_*` für Betreiber des Durable Workflow Server-Images. Nutzen Sie sie für Bereitstellungsvorlagen, die Prüfung der Produktionskonfiguration und die Umstellung älterer Namen `WORKFLOW_*` / `ACTIVITY_*` auf den Server-v2-Vertrag. Der aktuelle Server ist der native 3.x-Server; [Nativer Server 3.x](#native-server-3x) führt auf, welche Einstellungen er berücksichtigt, ignoriert oder ablehnt. PHP Server 2.x ist bei 2.11.8 eingefroren.

PHP Server 2.11.8 bleibt für die Laravel-Sicherheitshinweise vom November ungepatcht. Befolgen Sie für ein bestehendes fest gepinntes Deployment die [Bedingungen und Ingress-/Signatur-Link-Maßnahmen](./server.md#retired-php-server-security); Änderungen dieser Einstellungen patchen das Image nicht.

Der PHP-2.x-Server verwendet außerdem gewöhnliche Laravel-Einstellungen wie `DB_*`, `REDIS_*`, `QUEUE_CONNECTION` und `CACHE_STORE`. Diese Infrastrukturvariablen sind gesondert aufgeführt, weil sie die Bereitstellung konfigurieren und keine Durable Workflow API-Einstellungen darstellen.

## Nativer Server 3.x {#native-server-3x}
Expand Down
18 changes: 18 additions & 0 deletions i18n/de/docusaurus-plugin-content-docs/current/polyglot/server.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,24 @@ Als PHP 2.x gekennzeichnete Konfiguration unten gilt nicht für den nativen Serv

:::

## Sicherheit des eingestellten PHP-Servers {#retired-php-server-security}

:::warning Eingestellt und ungepatcht

PHP Server 2.11.8 ist eingestellt und bleibt für die Laravel-Sicherheitshinweise vom November ungepatcht. Das veröffentlichte Image enthält Laravel 13.34.0. Aktualisierte Composer-Abhängigkeiten in einem Quellcode-Checkout patchen dieses installierte Image nicht. Die geprüften Bedingungen stehen im [Sicherheitshinweis vom 13. November 2026](https://github.com/durable-workflow/server/blob/3f21b754418ffea5e786f2bd48481a35c92ab1a2/docs/security/retired-php-server-2026-11-13.md).

Laravel registriert signierte Routen `GET /storage/{path}` und `PUT /storage/{path}`. Die ausgelieferte Anwendung stellt deren temporäre signierte URLs nicht aus und ruft `Concurrency::run()` nicht auf. Der Abhängigkeitsbefund weist keinen ausnutzbaren Standardablauf des Servers nach. Die Exposition der Speicherrouten hängt vom Erhalt oder Ausstellen einer gültigen temporären signierten URL und den Request-Parsing-Bedingungen des Hinweises ab. Prüfen Sie eigene Routen und Erweiterungen gesondert.

Beenden Sie die Erreichbarkeit des eingestellten PHP-Dienstes und planen Sie die Migration zu native. Bis zur Stilllegung:

- Blockieren Sie am Ingress alle `/storage/*`-Anfragen einschließlich GET und PUT und prüfen Sie die Regel am tatsächlichen Endpunkt. Diese Routen sind vom authentifizierten Transport `/api/external-payloads/v1` getrennt.
- Stellen Sie keine temporären Download- oder Upload-URLs für den lokalen Datenträger mehr aus und verwenden Sie bestehende nicht weiter. Prüfen Sie Erweiterungen, die signierte Routen erzeugen oder Laravel Concurrency aufrufen.
- Bewahren Sie eine wiederherstellbare Sicherung der Datenbank und des externen Payload-Speichers auf. Stoppen Sie bei einer Migration mit Datenbankschreibzugriff jede PHP-Rolle.

Diese Maßnahmen verringern die festgestellte Exposition der Speicherrouten; sie installieren keine Fehlerbehebung und bestätigen nicht die Sicherheit eigener Erweiterungen. Native verwendet eine Rust-Runtime außerhalb dieses Laravel-Abhängigkeitsbefunds. Befolgen Sie das [Backup-first-Takeover-Runbook](%%artifact.serverTakeoverRunbookUrl%%) nur innerhalb seiner genauen Versions-, Backend- und Zustandsgrenzen und proben Sie mit einer wiederhergestellten Kopie. Der native Start konvertiert keine PHP-Datenbank, und das neueste native Release qualifiziert Takeover nicht neu. Für spätere native Upgrades gelten weiterhin die [expliziten Schema- und Restore-Anforderungen](../deployment.md#native-schema-upgrade-3-10).

:::

## Ist dies nur für PHP-Teams? {#is-this-only-for-php-teams}

Nein. PHP, Python und Rust haben offizielle SDKs. Ein reines Python- oder Rust-Team kann Server als Infrastruktur betreiben, Workflows und Aktivitäten mit seinem nativen SDK schreiben und über das öffentliche Protokoll kommunizieren. Seine Anwendung bettet Laravel nicht ein und wird keine Laravel-Anwendung.
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": "d2e8f2add0f4e59823adbe8245bf8befa4820bc4ea51cbc96a0a07d62256cde6",
"compatibility.md": "9e6e155c6e42ec224a625b5e172c0b314cb77992371bd93bb73d6cc9495aef5f",
"configuration/customization-matrix.md": "3d115863eaee7852b541bcd01615f424cc19c5847c7cd7d75e5ae63bc3f5cc78",
"configuration/database-connection.md": "cc83ae77133236309506fa44d39bfd0c939c32a6154c0bd6099bc64c83bdaec9",
"configuration/ensuring-same-server.md": "6c665f37cc198c7b1a775a60a94aab5ff4e55383385e76f1834c7840559b512a",
Expand All @@ -28,7 +28,7 @@
"defining-workflows/workflow-id.md": "ca3b43253a748b27dca1af9f82fcf8c4c133e14f13e1b82eaa1ca2ed0996d4bf",
"defining-workflows/workflow-status.md": "8e8cb27ff44c890d489d89bf166375acfdfaecabd990a2235e106fab1592d529",
"defining-workflows/workflows.md": "f467bc73de32aa5d722c61ce085065460382ae7dd44cea4625847d9fcdc4c97c",
"deployment.md": "adf903d1e27b5ef6291020571cde52f176dfc0ca8addbd72e5da3e0cd88b62e5",
"deployment.md": "1dd901213228a52e6222a15c6b85305098a4a4db06f198e319a7889c4562bddb",
"failures-and-recovery.md": "a240727af9539cca9cceb6ab3ddea545c95f21402813365442929ea05c09e70c",
"features/activity-execution-model.md": "e8c37520ae46a7efb30438f4fc06bf893c1df430cb1f92c48963697adaf09082",
"features/cancel-and-terminate.md": "cedd1e6c51dfa551e00edc1d39739ff1f67d558d2a0be92143f478cb6111536b",
Expand Down Expand Up @@ -89,9 +89,9 @@
"polyglot/rust-cloud-quickstart.md": "2303434fc9302a81a8381ad4836423ef9952eb3201a4574c432254e3cb68c5f3",
"polyglot/rust.md": "2cc511074e6d0ce8ababa0ccd6acbdaa7df3bf5d8c67ae5ef2fa07d75a05d2e7",
"polyglot/server-api-reference.md": "ecd6d358d6e5bde442ebf0e1ec8a072779089e2a5c4427e31eef646f42c6c03c",
"polyglot/server-config-reference.md": "88f440db04a4636c1c2f88b3613c45b5b0cdf46aa27cf64c800f56feac59dfa5",
"polyglot/server-config-reference.md": "aec241c0046f12a9d6efe2d6c1de443d7753bdf34135e06a6f83b3904ed1d429",
"polyglot/server-role-topology.md": "3d048f0c6b5f179399622508f51e67fff8aa5a6d5b2492533fc720eeec2c27f2",
"polyglot/server.md": "156d641693f44880b4003f0d20872dfda54f803f6a9415bbff3ddb37423ec66a",
"polyglot/server.md": "f24fd7ff4eebcc768ec8105e8689ab1a14cc08d98167090ebb84e3e26631132a",
"polyglot/service-operations.md": "a2ee46ac8d2e4f18aed4e3cb47a4f0b36f51ccc67f1e841efb99f0297391cf27",
"polyglot/task-matching-dispatch.md": "9c8ffbbee16b5da48e7882721d7ba8eac209a374a6ca766d93d2b17e825b203d",
"polyglot/task-queue-admission.md": "efcf934876a27c153dd3ecd1a995e7c08b37452c79dfcbba1ae7fa0a8cbad327",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,8 @@ huellas de imágenes exactas usadas en cada comprobación completada.

El Server seleccionado es el Server nativo 3.x. PHP Server 2.x está congelado en la versión 2.11.8 y no recibirá más publicaciones; las instalaciones PHP existentes pueden pasar al Server nativo con `upgrade-takeover` siguiendo el [runbook de toma de control nativa](%%artifact.serverTakeoverRunbookUrl%%). La toma de control está validada en la imagen publicada 3.0.4 dentro del alcance indicado en el runbook; es de un solo sentido y exige una copia de seguridad previa.

PHP Server 2.11.8 sigue sin parche para los avisos de Laravel de noviembre. Los despliegues fijados existentes deben seguir las [condiciones de exposición y acciones de retirada](./polyglot/server.md#retired-php-server-security); la evidencia histórica de takeover mantiene sus límites originales.

El `appVersion` registrado del chart de Helm es `%%artifact.helmChartAppVersion%%`, que coincide con el Server seleccionado, y el chart ejecuta el Server nativo de forma predeterminada. Su [comprobante de publicación](%%artifact.helmChartQualificationUrl%%) registra la ejecución de publicación del chart, los digests OCI/del paquete, la identidad del código fuente y una instalación en kind dentro de esa misma ejecución; no es una calificación en un clúster de producción. Consulte la [selección y actualización del chart](./deployment.md#helm-chart-selection) antes de instalar o sustituir la imagen.


Expand Down
2 changes: 2 additions & 0 deletions i18n/es/docusaurus-plugin-content-docs/current/deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ versión 2.11.8 y no recibirá más publicaciones.

:::note Instalaciones existentes de PHP Server 2.x

PHP Server 2.11.8 está retirado y sin parche para los avisos de Laravel de noviembre. Para despliegues PHP fijados, siga las [condiciones de exposición y medidas de ingress/enlaces firmados](./polyglot/server.md#retired-php-server-security) antes de usar las recetas antiguas siguientes.

El stack PHP 2.x (servidor, worker de cola, programador, tarea de inicialización
y Redis) sigue disponible. En la etiqueta de publicación 2.11.8 es
[`docker-compose.published.yml`](https://github.com/durable-workflow/server/blob/2.11.8/docker-compose.published.yml);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ keywords:

Esta página documenta el contrato de variables de entorno `DW_*` para los operadores de la imagen de Durable Workflow Server. Úsela al crear plantillas de despliegue, revisar la configuración de producción o migrar los nombres antiguos `WORKFLOW_*` / `ACTIVITY_*` al contrato v2 de Server. El Server actual es el Server nativo 3.x; [Server nativo 3.x](#native-server-3x) indica qué ajustes respeta, ignora o rechaza. PHP Server 2.x está congelado en 2.11.8.

PHP Server 2.11.8 sigue sin parche para los avisos de Laravel de noviembre. Siga las [condiciones de exposición y medidas de ingress/enlaces firmados](./server.md#retired-php-server-security) para un despliegue fijado existente; cambiar estos ajustes no parchea la imagen.

PHP Server 2.x también utiliza la configuración habitual de Laravel, como `DB_*`, `REDIS_*`, `QUEUE_CONNECTION` y `CACHE_STORE`. Estas variables de infraestructura se enumeran por separado porque conectan los componentes del despliegue y no controlan la API de Durable Workflow.

## Server nativo 3.x {#native-server-3x}
Expand Down
Loading
Loading