diff --git a/k8s/helm/durable-workflow/Chart.yaml b/k8s/helm/durable-workflow/Chart.yaml index 24f52da1f..5bbe42d61 100644 --- a/k8s/helm/durable-workflow/Chart.yaml +++ b/k8s/helm/durable-workflow/Chart.yaml @@ -5,11 +5,11 @@ type: application # The chart's own semver version. Bumped on every chart release; treated as # independent of the server image version (appVersion). Breaking-change rules # for this version live in docs/UPGRADING.md alongside the chart. -version: 2.0.0 +version: 2.1.0 # The immutable native Durable Workflow Server this chart release packages. # The onboarding default in values.yaml and appVersion are generated from the # checked-in source release record (helm_chart.app_version). -appVersion: "3.10.0" +appVersion: "3.11.0" kubeVersion: ">=1.27.0-0" home: https://durable-workflow.github.io/docs/2.0/deployment sources: @@ -30,14 +30,14 @@ annotations: # exact commit that most recently changed the packaged chart. org.opencontainers.image.source: https://github.com/durable-workflow/server dev.durable-workflow.source-revision: "unreleased" - dev.durable-workflow.image-reference: "docker.io/durableworkflow/server:3.10.0" + dev.durable-workflow.image-reference: "docker.io/durableworkflow/server:3.11.0" artifacthub.io/license: MIT artifacthub.io/category: integration-delivery # Free-form changelog for the current chart release shown by Artifact Hub. artifacthub.io/changes: | - kind: changed - description: "Default image advances to native Server 3.10.0. Every backend needs an explicit additive schema upgrade from 3.9.x with all replicas stopped; rollback requires restoring the pre-upgrade backup. See docs/UPGRADING.md." + description: "Default image advances to native Server 3.11.0. No schema step is required from 3.10.x; values and resource contracts remain compatible. Earlier releases retain the explicit schema-upgrade and restore boundaries in docs/UPGRADING.md." - kind: added - description: "Schedule list and describe responses carry bounded durable dispatch summaries. Last dispatch outcome, current buffer count and latest workflow execution status remain distinct. Existing schedules have unavailable authority until an owning transition records it." + description: "Failed-run redrive reuses complete ordered plain timer pairs with a fresh shared timer ID and no timer work. Reused event clocks and the persisted initial run-start anchor retain fractional precision; repeated redrives preserve recorded clock strings." - kind: changed - description: "Worker protocol 1.20 and control plane 2 remain unchanged. Client, Waterline and Cloud acceptance remain separate; this release adds no draining-upload authority or pool-timeout fix. https://github.com/durable-workflow/server/releases/tag/3.10.0" + description: "Worker protocol 1.20 and control plane 2 remain unchanged. Historical missing fractions cannot be reconstructed. Published PHP, Python and Rust replay qualification remains separately attributable under Server #980. https://github.com/durable-workflow/server/releases/tag/3.11.0" diff --git a/k8s/helm/durable-workflow/README.md b/k8s/helm/durable-workflow/README.md index 7a0348131..c89557cbf 100644 --- a/k8s/helm/durable-workflow/README.md +++ b/k8s/helm/durable-workflow/README.md @@ -77,7 +77,7 @@ helm install durable-workflow ./k8s/helm/durable-workflow \ ```yaml image: - tag: "3.10.0" + tag: "3.11.0" # Pin a digest in production: # digest: "sha256:abc123..." diff --git a/k8s/helm/durable-workflow/docs/UPGRADING.md b/k8s/helm/durable-workflow/docs/UPGRADING.md index c97e77fb5..a7820a6f6 100644 --- a/k8s/helm/durable-workflow/docs/UPGRADING.md +++ b/k8s/helm/durable-workflow/docs/UPGRADING.md @@ -69,6 +69,40 @@ chart MINOR bump and an entry below. ## Per-version migration notes +### Chart 2.1.0 / Server 3.11.0 (native) + +Chart 2.1.0 selects native Server 3.11.0. From 3.10.x, no schema step is +required. The values and resource contracts remain compatible. Back up the +database and external payload storage under your recovery procedure, pin the +new image and update API replicas consistently before relying on the expanded +redrive eligibility. Verify readiness, reported version and worker registration. +An explicit `image.tag` or `image.digest` override must select the intended +qualified image too. PHP Server remains frozen at 2.11.8. + +From 3.9.x or earlier, apply the intervening explicit schema steps below. +Those upgrades still require stopping all replicas sharing the database, +backing up database and storage, running `schema-upgrade` once and restoring +the pre-upgrade backup before rollback to the earlier schema. Server 3.11.0 +retains schema versions SQLite 14, PostgreSQL and MariaDB 15, and MySQL 16. + +A failed run can reuse an exact ordered plain `TimerScheduled` / `TimerFired` +pair before its failed activity. The successor records both events under one +new shared timer ID without creating a timer row or task or waiting again. +The immediate predecessor supplies lineage, while the original event supplies +the replay clock. Reused activities, markers and fired timers retain fractional +precision. The initial replay anchor retains the persisted source run start. +Repeated redrives preserve existing reuse timestamp strings. Fractions already +omitted by an earlier producer cannot be reconstructed. Deadline formatting +and the original source history remain unchanged. + +Incomplete or mismatched pairs and non-plain timers remain refused under the +[Server 3.11.0 eligibility rules](../../../../docs/releases/3.11.0.md). +Worker protocol 1.20 and control plane version 2 are unchanged. The published +PHP, Python and Rust cold-process replay evidence remains separately +attributable under [Server #980](https://github.com/durable-workflow/server/issues/980). +This chart does not establish Cloud adoption or resolve the separate MariaDB +registration-timeout investigation in Server #1204. + ### Chart 2.0.0 / Server 3.10.0 (native) **Every backend needs an explicit native schema upgrade from 3.9.x.** Chart diff --git a/k8s/helm/durable-workflow/values.yaml b/k8s/helm/durable-workflow/values.yaml index 00d38b7aa..befeed897 100644 --- a/k8s/helm/durable-workflow/values.yaml +++ b/k8s/helm/durable-workflow/values.yaml @@ -42,7 +42,7 @@ image: # scripts/ci/sync-source-release.mjs. Do not edit this default. # A tag must match the runtime: 3.x (or latest) for native, 2.x for php. # The chart refuses a mismatch at render time. - tag: "3.10.0" + tag: "3.11.0" # Optional digest pin. When set, takes precedence over tag for change control. # Example: "sha256:abc123..." # The chart cannot see which runtime a digest names. Pin a native digest diff --git a/resources/release/source-release.json b/resources/release/source-release.json index 5b630de05..50104d94a 100644 --- a/resources/release/source-release.json +++ b/resources/release/source-release.json @@ -4,7 +4,7 @@ "version": "2.11.8" }, "helm_chart": { - "version": "2.0.0", - "app_version": "3.10.0" + "version": "2.1.0", + "app_version": "3.11.0" } }