github elsa-workflows/elsa-core 3.6.3

5 hours ago

Elsa 3.6.3 — Release Notes

Compare: 3.6.2...3.6.3


🌟 Highlights

  • Azure Service Bus startup stability: Added an opt-in stable application instance name provider for clustered hosts so Azure Service Bus change-token subscriptions can be reused across restarts instead of leaking one subscription per random instance name. This addresses the startup/crash-loop failure mode reported in #7732 and #7736. (#7734)
  • Long configured instance names: Configured stable application instance names that exceed transport entity limits are now shortened deterministically instead of failing startup, preserving stable identity for values such as Kubernetes pod names. (cb295d0b49)
  • Blank Cron expressions restored: Blank or whitespace Cron values are treated as disabled/no trigger payloads instead of blocking workflow publishing, while invalid nonblank Cron expressions remain invalid. (#7739)
  • Publish validation responses: Workflow publish endpoints now honor failed publish results and surface validation warnings/errors in API responses instead of reporting successful publication when validation failed. (#7740)

⚠️ Breaking changes / upgrade notes

  • No intentional breaking changes are included in this patch release.
  • Hosts using Azure Service Bus in clustered or frequently restarted environments should configure a stable application instance name for each process/pod. Long configured values are supported and shortened deterministically.

🔧 Improvements

  • Clustering: Added an opt-in stable application instance name provider and related configuration for hosts that need deterministic per-instance transport identities. (28d6786042)
  • Clustering: Deterministically shortens long configured application instance names while keeping the same configured value mapped to the same shortened value across restarts. (366ed74bd1, cb295d0b49)
  • Workflow publishing: Publish-on-validation-error behavior is now opt-in for 3.6.x/3.7.x, and publish/bulk-publish endpoints honor the actual publish result. (0200a3bd19, 2e0f7f8add)

🐛 Fixes

  • Scheduling — Cron: Empty Cron expressions no longer produce trigger payloads or fail validation, restoring support for unconfigured/disabled Cron triggers during workflow publishing. (42cbb5632a)
  • Scheduling — Cron: Cron.ExecuteAsync now safely treats blank expressions as disabled when a Cron activity runs inside a workflow instead of throwing a CronFormatException. (3dba9e7293)
  • Workflow API: Publish, bulk-publish, and workflow definition save responses now include validation warnings/errors so clients can show actionable feedback. (abccc89c73)

🧪 Tests

  • Added coverage for configured application instance names, blank Cron trigger indexing/validation, blank Cron execution, and publish/import API validation behavior. (28d6786042, 42cbb5632a, 3dba9e7293, 0200a3bd19)

🔁 CI / Build

  • Updated the package workflow base version to 3.6.3. (e8cc1d3c50)
  • Skipped component tests in the package workflow to unblock the 3.6.3 package pipeline while preserving unit/integration coverage. (7eac7de695)

📦 Full changelog (short)

  • Add opt-in stable application instance name provider (28d6786042)
  • Allow publishing workflows with a blank Cron expression (42cbb5632a)
  • Guard Cron.ExecuteAsync against a blank expression (3dba9e7293)
  • Make publish-on-validation-error failure opt-in for 3.6.x/3.7.x (0200a3bd19)
  • Honor publish result in Publish/BulkPublish endpoints (2e0f7f8add)
  • Surface publish validation warnings on API responses (abccc89c73)
  • Merge blank/disabled Cron trigger publishing fix (#7739)
  • Address Greptile instance name feedback (366ed74bd1)
  • Merge stable application instance name fix (#7734)
  • Update base_version in packages.yml to 3.6.3 (e8cc1d3c50)
  • Merge opt-in publish validation behavior fix (#7740)
  • Shorten configured application instance names (cb295d0b49)
  • Skip component tests in GitHub Actions (7eac7de695)

Don't miss a new elsa-core release

NewReleases is sending notifications on new releases.