Compare: 3.7.1...3.8.0
Elsa 3.8.0 — Release Notes
🌟 Highlights
- Operational diagnostics: Structured
ILoggerlogs can remain in memory or be persisted to SQLite, while console output and OpenTelemetry traces, metrics, and logs can be ingested and queried through dedicated diagnostics modules. (#7445, #7462) - Safer workflow operations: Runtime drain, pause/resume, interrupted-workflow recovery, transactional dispatch outbox, bookmark dead-letter management, and readiness checks provide clearer control over clustered and restarting hosts. (#7424, #7516, #7517)
- Secrets and external sign-in: Add the Secrets module with encrypted and configuration-backed stores, secret expressions, EF Core persistence, and JavaScript access, alongside the external authentication broker and OpenID Connect adapter. (#7468)
- Workflow platform foundations: Bring HTTP Webhooks into Core, and add an operational Dashboard API, provider-neutral Persistence vNext building blocks, Platform integration, and the Weaver AI host with grounded, proposal-only workflow tools. (#7523, #7681; 1030284, c169950, e9d8996)
- State machine and workflow execution: Add the StateMachine activity and align its trigger and transition behavior with workflow runtime lifecycle semantics. (#7457, #8010)
⚠️ Breaking changes / upgrade notes
- Configure production identity secrets before startup: The reference server no longer ships usable admin credentials or API keys. Configure initial users/applications through environment-specific settings or a secret manager. JWT signing keys must be configured, contain at least 32 printable ASCII characters, and have no surrounding whitespace. Known public defaults are accepted only in
DevelopmentorDemo; setIdentity__Tokens__SigningKey(or the shell feature equivalent) to a secure random value. (#7496, #7500) - Localhost bootstrap is opt-in: Localhost requests no longer receive security-root bootstrap permissions by default. Hosts that intentionally rely on this development bootstrap must call
EnableLocalHostPermissionGrantForSecurityRoot(); otherwise configure an explicit admin bootstrap or authenticated identity. (#7498) - Script execution is privileged: C# and Python host-code execution now requires the corresponding
AllowHostCodeExecutionoption andexec:csharp-expressions/exec:python-expressionspermission. Treat both runtimes as host-code execution rather than sandboxes and enable them only for trusted authors. (#7519) - New opt-in modules need explicit wiring: Structured logs, console logs, OpenTelemetry diagnostics, Secrets, Webhooks, Dashboard, and Weaver are separate modules. Add the relevant Core package, call its
Use...registration, and map its routes/hub where applicable; existing hosts do not opt into these surfaces automatically. (e2e00ff, 322d65d, 43108c2) - EF Core persistence packages and providers: New Secrets and external-authentication persistence packages add provider-specific migrations. Include the migrations for any installed provider in your normal EF Core deployment process, and review provider project references when adding these modules. (e083d3b, 75a3216)
- .NET 10 FastEndpoints update: The .NET 10 package set moves FastEndpoints, FastEndpoints.Security, and FastEndpoints.Swagger from 7.2.0 to 8.2.0.
ElsaEndpointrequest constraints no longer requirenew(), and the runtime resume endpoint usesFastEndpoints.EmptyRequest;ResumeRequestis obsolete. Review custom endpoint wrappers and resume integrations when targeting .NET 10. (#8019)
✨ New features
- Diagnostics: Add structured log capture with REST/SignalR streaming and opt-in SQLite persistence; add raw console-log capture with redaction, source metadata, bounded buffers, REST, and SignalR; add an OTLP HTTP/protobuf collector with bounded in-memory trace, metric, and log stores plus query APIs and live updates. (#7445, #7462; 322d65d)
- Secrets: Add the Secrets module, EF Core persistence providers, the
Secretexpression, JavaScriptgetSecret, versioned encrypted storage, configuration-backed read-only secrets, and metadata-only management APIs. (#7468; e083d3b, b438551, 556e931) - Identity and authentication: Add the external authentication broker, OpenID Connect adapter, configuration-backed Keycloak demo providers, atomic external-identity-link replacement, shadowed-connection management, and callback/session hardening. (ef83541, 97c459f, e97a90d, 238080c)
- Runtime operations: Add graceful runtime shutdown and recovery, readiness health checks, bookmark queue dead letters, ingress rate-limiting hooks, transactional workflow dispatch outbox, workflow OpenTelemetry instrumentation, and a read-only runtime status endpoint. (#7424, #7512, #7514, #7516, #7517; 1e41f6f, dd47148)
- Workflow and platform modules: Add the StateMachine activity, bring HTTP Webhooks into Core, and add the Dashboard API, Persistence vNext provider-neutral contracts, Platform integration, publish-validation opt-out, stable application instance configuration, and output-converter support at binding boundaries. (#7457, #7681; 1030284, c169950, e9d8996, 61fc376)
- Weaver and module metadata: Add the Weaver AI host and grounding tools, package-manifest build metadata, shell feature categories, named
WithVariableoverloads, and runtime descriptor/version metadata. (#7523, #7699, #7701; c66f9ae, 92f451e, 7941a9d)
🔧 Improvements
- Workflow management: Definition synchronization avoids redundant lookups, and workflow JSON type serialization now uses a consolidated resolver path for more predictable polymorphic activity and state handling. (#7521, #7549)
- Activity registry: Registry and descriptor refreshes reduce allocation and lookup overhead while retaining valid descriptors when a provider refresh is empty or removes a descriptor. (#7538; 9554385, a98f311, 26017e3)
- Structured logs: SQLite storage wiring now exposes provider-neutral storage diagnostics, batches writes, and keeps the existing in-memory provider as the default. (#7445, #7446; 63dec9f)
- Console logs: Console capture now carries richer workflow/source context through its lifecycle, improving filtering and clustered diagnostics. (#7536)
🐛 Fixes
- Workflow execution: Restore dynamic references for C# variables, preserve fork completion state during resume, skip already-finished interrupted workflows, fix nested Flowchart
ForEachcompletion, catch scheduling startup backlog, and correct StateMachine transition ordering. (#7415, #7416, #7431, #7435, #7702; c7912fd, 051e12f) - Diagnostics: Correct structured-log registration, flush queued SQLite writes during shutdown, repair SQLite shell lifecycle, and restore console metadata, type resolution, and live-feed behavior. (263bb18, #7460, #7461, #7542, #7548)
- Runtime and persistence: Prevent bulk-dispatch test hangs, repair tenant coordinator options, preserve workflow commit atomicity and commit-notification scope, and correct Oracle
NVARCHAR2identifier/cast generation. (37cf451, e7b1f80, e77da02, c6a3366, 82e069c, 6b7296f) - Identity, tenancy, and API delivery: Scope API-key application lookup to tenant-agnostic records, restore request services after tenant middleware failures, fix tenant-service mutation races, and quote API-key secrets safely during package publishing. (1d1c682, 56b16ca, #7898, #7951)
- External authentication: Correct host composition, setting identifiers, local refresh, connection contracts, preview callback persistence/responses, secret IDs, discovery validation, and review findings across the broker flow. (939a89c, f1e2a09, 7e82a55, eb07aa2, 678182d, f4ca206, 119f49f, 1b74bb9, fe125ac)
- Build and package restore: Fix CShells restore and dependency mismatches in CI. (6b08988, 1692fcd)
🔒 Security
- Identity defaults: Remove production-usable admin/API-key values from reference configuration and validate JWT signing keys at startup; known public defaults are allowed only in
DevelopmentandDemo. (#7496, #7500) - Authorization boundaries: Require explicit permission for role assignment, workflow imports, workflow-instance SignalR observation, and localhost security-root bootstrap; C# and Python host-code execution is gated by explicit options and permissions. (#7498, #7501, #7504, #7510, #7519)
- HTTP and token handling: Harden bookmark resume/SAS-token validation and cached ZIP path handling, and enforce request-body limits while reading HTTP workflow requests. (#7495, #7497)
- Tenant and secret isolation: Scope HTTP bookmark lookup to the tenant, protect workflow inputs marked as sensitive, and resolve tenant-agnostic API-key applications without crossing tenant boundaries. (#7508, c8ffcb2, 1d1c682)
- Dependency security: Resolve vulnerable transitive persistence packages and apply safe patch updates. (#7459, 0658037)
🧩 Developer-facing changes
- Identity clients: Access and refresh tokens are distinguished by token-use semantics, so clients should send refresh tokens only to the refresh endpoint and access tokens to normal API endpoints. (#7509)
- Dashboard contributors: The operational Dashboard API now has a contributor contract and widget integration guidance for Studio, with isolated contributors that can add metrics and findings without coupling the core API to each feature. (#7529, #7532, #7681, #7690)
- Workflow publishing: Publish and bulk-publish responses surface validation warnings and honor the publish result, allowing clients to distinguish accepted, rejected, and warning-bearing operations. (2863c98, 354d599)
- External authentication: Provider, connection, callback, and secret-binding contracts were tightened around deployment-owned configuration and broker flows. (128569f)
- Output conversion: Binding-boundary converter contracts now expose clearer result and failure semantics for custom converters. (dff7d9f)
🧪 Tests
- Runtime and workflow tests: Expand quiescence/drain coverage with DI-aware tenant handling, stabilize bulk-dispatch assertions, and keep timestamp-filter integration cleanup isolated and deterministic. (#7424, #7520; 26b17e3, 4b824d6, 008e5a3, 4fe9f59)
- Diagnostics and persistence tests: Increase structured-log provider, relational, and SQLite migration coverage, including durable-store behavior and startup schema validation. (#7449, #7450, #7451; 863a43d)
- Secrets and AI tests: Add coverage for secret updates, secret-module behavior, and Weaver AI host execution paths. (#7530; 87ee19f, 5336f9e)
- Security and provider tests: Stabilize ingress-rate-limit assertions, cover Oracle bulk-upsert SQL generation, and verify archived external-authentication connections do not participate in active shadow relationships. (48c4259, 33181b2, 9f09aca, a60b5a3)
- CI reliability: Stabilize package component tests across the release build. (3be8856)
🔁 CI / Build
- Build quality: Resolve compiler and analyzer warnings across shared workflow, scripting, resilience, and multitenancy code paths. (#7458)
- Package publishing: Set the release workflow base version to
3.8.0, verify release tags are reachable frommainorrelease/*, and use NuGet OIDC Trusted Publishing for published stable packages. (7c01fe8, f6c35cf)
📦 Dependencies
- API framework:
FastEndpoints,FastEndpoints.Security, andFastEndpoints.Swaggerare7.1.1for .NET 8/9 and8.2.0for .NET 10. (#8019) - Diagnostics persistence:
ConsoleLogStreaming.Contracts,.Core,.Persistence.Sqlite, and.SignalRare1.0.0-preview.13;FluentMigrator.Runnerand.Runner.SQLiteare8.0.1. (827ad6b, dbfe247) - AI and platform integration:
GitHub.Copilot.SDKis1.0.0,Loom,Loom.Abstractions, andLoom.Serialization.Jsonare0.0.1-preview.10,Elsa.Platform.PackageManifest.Generatoris0.0.1-preview.53, andWebhooksCoreis0.0.1. (3936258, e9d8996, 1030284) - Shell and runtime packages: The CShells package family is
0.0.28and the Nuplane package family is0.0.8. (29d43da, f97eea5) - OpenTelemetry: Core, exporters, and hosting packages are
1.15.3; ASP.NET Core, HTTP, SQL Client, Redis, and auto-instrumentation packages remain on the explicit versions inDirectory.Packages.props(1.15.2,1.15.1,1.14.0-beta.1, and1.13.0). (#7546, #7547) - Framework and provider patches: The ASP.NET Core, EF Core, and Extensions package families use
9.0.17for .NET 8/9 and10.0.9for .NET 10; Npgsql EF Core is9.0.4/10.0.2, and Oracle EF Core is9.23.26200/10.23.26200for the corresponding targets. (2074384, #7766, #7896)
📚 Documentation
- Operations: Clarify readiness-probe timeouts and health-check registration, document identity validator dependencies, and add workflow throughput analysis. (d6903fd, 33d94ab, 9415d22, db86a6d)
📦 Full changelog (short)
- Fix System.Dynamic registration for C# variable accessors (#7415) (e70850a)
- fix(csharp): register System.Dynamic for generated Variables wrapper (#7416) (d59866b)
- fix: restore HashSet-backed Fork completion state on resumed workflows (#7431) (5b33625)
- Graceful shutdown for the workflow runtime (drain, pause, recover) (#7424) (d7bdbfb)
- Update base_version to 3.8.0 in packages workflow configuration. (7c01fe8)
- Refactor QuiescenceSignal to inject IServiceScopeFactory, enhance tenant ID handling, and expand unit tests with DI capabilities. (26b17e3)
- chore(deps): bump CShells to 0.0.18 (78cf9bf)
- docs: add agent contributor guidance (80d3ad2)
- docs: add agent operating principles to AGENTS.md and CLAUDE.md (3e43b85)
- docs: add GraphQL queries and license information (3500e9f)
- chore: update logging level and bump package versions for CShells and Nuplane (da31ae9)
- chore(deps): update CShells packages to stable version 0.0.20 (2a209e6)
- [codex] Add live server log streaming diagnostics (#7438) (ab3e46b)
- docs(qa): add workflow throughput analysis (db86a6d)
- [codex] Add structured log SQLite persistence (#7445) (827ad6b)
- [codex] Expose structured log storage diagnostics (#7446) (b255e0b)
- Update Nuplane and CShells packages (f97eea5)
- Add SQLite persistence for structured logs and adjust project references (d343b30)
- Switch to SQLite and update project and package configurations (f11bf2f)
- Add structured log provider tests (#7449) (b3c3991)
- [codex] Increase structured log persistence test coverage (#7450) (6866d74)
- Update Elsa.PackageManifest.Generator to version 0.0.1-preview.28 in package configuration (8bd54bf)
- [codex] Increase structured log relational test coverage (#7451) (6dee709)
- [codex] Add codebase wiki (#7453) (b9664a9)
- Add Elsa README video assets (#7455) (835ef74)
- Stabilize packages CI component tests (3be8856)
- Harden EF trigger persistence (efe4700)
- Fix structured log diagnostics registration (263bb18)
- Add missing Obsolete attribute to IWorkflowBuilder (#7448) (ec43976)
- [codex] Resolve build warnings (#7458) (27ae1fa)
- Remove video overview GIF from README (d1b36c5)
- Update safe dependency patch versions (#7459) (50f858a)
- [codex] Add wiki update workflow (#7454) (8416ea8)
- Fix structured log write buffer shutdown flush (#7460) (60e742b)
- Fix SQLite structured log shell lifecycle (#7461) (0687b5f)
- Enhance logging configuration and add SQLite structured log persistence. Secure default admin credentials. (63dec9f)
- Add state machine activity (#7457) (6485f05)
- Add diagnostics console logs (#7462) (43108c2)
- [codex] Add package manifest feature metadata (#7463) (550685e)
- Fix update wiki workflow action (4eeb26f)
- fix: do not resume interrupted workflows that are already finished (#7435) (02cd808)
- Update package manifest generator preview (#7465) (ee4e0ad)
- Refresh codebase wiki (#7464) (e6b4719)
- Refresh codebase wiki (#7466) (cd1748b)
- Add updated roadmap (fcfc78f)
- Fix bulk dispatch component test hang (37cf451)
- Add secrets module (#7468) (e2e00ff)
- Whitelist workflow timestamp filter columns (37de340)
- Address timestamp filter review feedback (752570c)
- Fix tenant coordinator test options reference (e7b1f80)
- Harden identity secret generation and hashing (304e990)
- Add Elsa runtime readiness health checks (1e41f6f)
- Address identity secret hashing review feedback (28ee3d6)
- Address identity hasher review feedback (95640cb)
- Address health check review feedback (a8390d8)
- Make identity rehash persistence best effort (94df64b)
- Guard persistence health check store probes (481c1aa)
- Avoid shared distributed lock probe names (f122044)
- Document identity validator constructor dependencies (9415d22)
- [codex] Enforce role assignment authorization (#7501) (c32a5a1)
- Scope HTTP bookmark lookup to tenant (#7508) (435c257)
- Distinguish refresh tokens from API access tokens (#7509) (1da8709)
- Address identity validator compatibility feedback (e2587f7)
- Harden Python expression execution (#7507) (0856d79)
- Add Elsa release skill (d21da0a)
- [codex] Enforce HTTP workflow request body limits while reading (#7497) (a860846)
- [codex] Remove production-usable default admin credentials (#7500) (746ba96)
- docs: add security & quality assessments (3523804)
- Suppress Discord release announcement embeds (5080bb7)
- [codex] Fail fast on default JWT signing keys (#7496) (e9d59bc)
- Harden timestamp filter validation null handling (f72ed4e)
- [codex] Authorize workflow imports before persistence (#7510) (37c02c7)
- docs: clarify readiness probe timeout (d6903fd)
- Address identity hashing review feedback (505334b)
- Handle missing distributed lock provider in readiness check (9cdff8c)
- Narrow user hash upgrade save catch (65ec6f4)
- Harden readiness health check reporting (182f524)
- Restore best-effort application hash upgrade saves (65caa73)
- Address identity secret hashing review feedback (6a7ff8d)
- Address health check review feedback (f149c27)
- Preserve health check cancellation semantics (b5c457c)
- Stabilize bulk dispatch fire-and-forget component test (#7520) (3fc8794)
- [codex] Require opt-in for localhost authorization grants (#7498) (d23e61e)
- Remove unused health check usings (45d8a4c)
- [codex] Harden C# expression host-code execution (#7519) (2fa1a9e)
- Refine readiness health check probe data (d2c2e5c)
- Address identity secret hasher review feedback (32ff56d)
- Address health check review feedback (2ade23b)
- Address timestamp filter review comments (3a45938)
- Use unique distributed lock health probes (bcccb80)
- Clear temporary secret hashing buffers (df12667)
- Address health check review feedback (a0d6f6b)
- Isolate timestamp filter integration tests (4b824d6)
- Clear decoded secret hash buffers (b4e6f0f)
- Keep root health check as liveness probe (09641c1)
- Harden alteration timestamp filter integration tests (008e5a3)
- Address latest health check review feedback (8c1618b)
- Address validation feedback (12408cc)
- Refine identity secret hashing review fixes (04429e8)
- Address health check review feedback (b546864)
- Refine timestamp filter validation feedback (25b1ee1)
- Document health check extension namespace (33d94ab)
- Address identity review feedback (4a9840b)
- Address timestamp filter test cleanup review (4fe9f59)
- Address health check review feedback (b7076fd)
- Optimize workflow definition sync lookups (#7521) (f7830f7)
- [codex] Validate distributed runtime lock provider (#7515) (9496c29)
- Add bookmark queue dead-letter store (#7516) (96b5ee8)
- Add ingress rate limiting hooks (#7512) (541218a)
- Add workflow dispatch transactional outbox (#7517) (d09a1b7)
- [codex] Harden initial security remediation slice (#7495) (b4947fb)
- Add OpenTelemetry workflow instrumentation (#7514) (2e712d3)
- [codex] Harden workflow JSON type resolution (#7499) (cec3281)
- [codex] Authorize workflow instance SignalR observation (#7504) (163d6e6)
- [codex] Secure Resilience simulate response endpoint (#7505) (5871907)
- [codex] Add operational dashboard API PRD (#7529) (45f4ef1)
- [codex] Align console logs hub authorization (#7531) (167240c)
- [codex] Clarify dashboard widget integration contract (#7532) (cfa3233)
- Increase Elsa Secrets test coverage (#7530) (27e6b81)
- [codex] Enforce console logs hub read permission (#7533) (0d305d2)
- Refresh codebase wiki (#7467) (c9cdd5c)
- Refresh codebase wiki (ff7d0a9)
- [codex] Scope console logs to workflow instances (#7535) (8e301d4)
- Enhance console logging with improved context and lifecycle (#7536) (5245599)
- Optimize activity registry lookup (9554385)
- Handle provider descriptor removal during refresh (a98f311)
- Increase secrets unit coverage (#7545) (67ded31)
- [codex] Fix console log metadata and type resolution (#7542) (842cf7c)
- Resolve OpenTelemetry package warnings (#7546) (5c408df)
- Bump OpenTelemetry and Remotion dependencies (#7547) (9124c28)
- [codex] Fix diagnostics live feed regressions (#7548) (b280a71)
- Refactor: Overhauls workflow JSON type serialization (#7549) (c2fb027)
- Address activity registry review feedback (6d1b7e3)
- Clear manual activity descriptors (da44983)
- Integrate ConsoleLogStreaming.Core and ConsoleLogStreaming.SignalR packages; refine activity registry lookup logic. (dbfe247)
- Reduce activity registry refresh allocations (26017e3)
- Optimize activity registry descriptor lookup (#7538) (66af304)
- Preserve activity descriptors on empty refresh (e34132f)
- Preserve activity descriptors on empty refresh (209f93b)
- Pin test environment to Production in IngressRateLimitingTests to stabilize assertions. (48c4259)
- Remove SecretProviderAdapter and ISecretProvider to streamline secret management; update solution and project references accordingly. (d84d83f)
- Add EF Core secrets persistence (e083d3b)
- Protect sensitive workflow inputs (c8ffcb2)
- Add Secret expression runtime (b438551)
- Add JavaScript secret functions (556e931)
- Validate workflow secret reference adoption (e85a40b)
- Rename PostgreSQL secrets shell feature (8c0a720)
- Harden EF Core secret name uniqueness (9fac0c8)
- Reuse shared EF provider wiring for secrets (da96c10)
- Honor configured schema in secrets SQLite migration (d3c80a8)
- Share EF secret shadow property names (7becbd3)
- Validate secrets SQLite migrations in repository tests (863a43d)
- Remove duplicate secrets solution nesting (e293a99)
- Use shared secret name normalization (69d9661)
- Auto stash before checking out "origin/main" (aa55274)
- Implement secret update functionality, add related tests, and update project references. (87ee19f)
- Add operational dashboard API (39e22be)
- Add Persistence vNext provider-neutral POC (c169950)
- Adds operational Dashboard API for Elsa Studio (#7681) (a928c2a)
- Refactor dashboard API contributors (#7690) (577275b)
- Implement Weaver AI Copilot core (#7523) (3936258)
- [codex] Extract dashboard contributors into companion modules (#7692) (33a1527)
- [codex] Add runtime entity validator coverage (#7697) (50ef957)
- Update package manifest imports to use
Elsa.Platform.PackageManifest.Generatornamespace (943b453) - Add
PackageManifestHints.csto solution and compile include in build props (2f66873) - Convert shell feature dependencies to typeof references (365af05)
- Use imported shell feature types (eb88e64)
- Add shell feature manifest categories (#7699) (4c10463)
- Update solution file to add 'weaver' and 'keyvalues' projects and adjust project build dependencies. (dbf1ef5)
- Add 'dashboard' project to solution and adjust project build dependencies (2d920bf)
- Use Copilot SDK for Weaver agent loop (#7700) (b462966)
- Remove
PackageManifestCategoriesand update feature categories to inline strings (c3395fe) - Add PackageManifest.props and build properties for package manifest generation (92f451e)
- Add named WithVariable overload (#7701) (fb4fb63)
- [codex] Fix ForEach completion from nested flowchart (#7702) (f3ee587)
- Move AI EF Core migrations to provider projects (5c0d8b0)
- Add Weaver grounding tools (c66f9ae)
- Remove unneeded CliPath prop (20c1064)
- fix: use tenant-agnostic application lookup for api keys (1d1c682)
- Guard missing NotFoundActivity descriptor during deserialization (a5a3aa7)
- Add regression test for missing NotFoundActivity descriptor (42ef838)
- docs: refresh roadmap (ded765b)
- Dispose parsed activity JsonDocuments (#7713) (9c24f5e)
- Restore RequestAborted after timed HTTP workflow failures (#7712) (48a087e)
- address greptile review feedback (0d7c810)
- Guard HTTP fault handling when workflow reload returns null (#7714) (8f721e1)
- Add read-only workflow runtime status permission (dd47148)
- Clarify runtime status permission summary (18fc26d)
- Add Platform integration (e9d8996)
- Add opt-out for publish-on-validation-error failure (3.8) (7981892)
- Restore trailing newline in ManagementOptions.cs (b266b32)
- Honor publish result in Publish/BulkPublish endpoints (354d599)
- Surface publish validation warnings on API responses (2863c98)
- Fix CShells package restore in CI (6b08988)
- Port ASB stable application instance name (b78649a)
- Add stable application instance name configuration (55284aa)
- address greptile review feedback (greploop iteration 1) (b08b101)
- Address Greptile review feedback (c442c5f)
- Update CShells and Elsa.PackageManifest.Generator to latest versions (29d43da)
- Shorten configured application instance names (6a4c141)
- Shorten configured application instance names (571c1c7)
- Fix scheduling startup backlog catch-up (c7912fd)
- address greptile review feedback (greploop iteration 1) (7449d2e)
- Fix workflow commit atomicity (e77da02)
- Fix publish event payload assertion casing (5cc2a7c)
- Fix flaky publish event payload test (b05eb30)
- Allow NuGet.org for CShells packages (2a5b716)
- Update safe dependency patch versions (2074384)
- Address PR review feedback (635c3ea)
- Resolve vulnerable transitive persistence packages (0658037)
- Address PublishEvent payload review feedback (66911bb)
- Address payload assertion review feedback (d5378d6)
- Address workflow commit review feedback (98f931a)
- Fix commit notification flush edge cases (c6a3366)
- Address PR review comments (97c62a7)
- fix: correct Oracle identifier quoting and NVARCHAR2 cast in GenerateOracleUpsert (82e069c)
- Fix Comments and Casting logic of NVARCHAR2 (6b7296f)
- Skills (974cbe7)
- Increase AI host test coverage (5336f9e)
- Refresh roadmap from current Elsa evidence (4f89578)
- test: cover Oracle bulk upsert SQL generation (33181b2)
- Fix CShells dependency mismatch (1692fcd)
- chore: update patch dependencies (#7766) (a73ccfd)
- chore: make agent instructions feature-neutral (3736eca)
- Updated AGENTS.md (5be9fe0)
- docs: refresh roadmap (aef7f25)
- Add external authentication broker (ef83541)
- Revise external authentication architecture (95b2ce8)
- Harden external authentication contracts and flows (128569f)
- Fix external authentication host composition (939a89c)
- Fix external authentication setting field identifiers (f1e2a09)
- Reconcile configured admin role permissions (379e03f)
- Preserve Elsa permissions during external sign-in (42e507b)
- Auto stash before merge of "release/3.8.0" and "origin/release/3.8.0" (e8aa353)
- Fix local external authentication refresh (7e82a55)
- chore: apply safe dependency upgrades (#7896) (04e5869)
- Add OpenID Connect authentication features (97c459f)
- Add atomic external identity link replacement (e97a90d)
- Harden external identity link management (0fa7657)
- Persist external authentication in identity shell (75a3216)
- Fix external authentication connection contracts (eb07aa2)
- feat: add configuration-backed Keycloak demo providers (238080c)
- docs: refresh roadmap (1000d29)
- Allow promoting shadowed authentication connections (22bc531)
- Add test for callback session persistence; extend authentication broker for refresh token hash initialization; enable config connection overrides (1ccf5b7)
- Add runtime descriptor endpoint and tests for version metadata (7941a9d)
- fix: persist relative external auth preview callbacks (678182d)
- fix: send preview authentication responses (f4ca206)
- Add workflow state rehydration diagnostics (#7899) (edb5f7c)
- Fix tenant service mutation race (#7898) (ec9acd4)
- fix: restore request services after tenant middleware exceptions (56b16ca)
- Introduce shadow relationship management in identity provider connections (d63dae9)
- fix: restore commit notification scope before flush (c3c6f12)
- Remove migration for external authentication in EFCore.Sqlite module (6e3ed5c)
- Add test for handling archived database overrides in connection shadows (14f3735)
- Refine test to ensure archived connections do not participate as active shadows; update shadow relationship management to exclude archived entries. (9f09aca)
- fix: simplify external authentication secret IDs (119f49f)
- Refine test for archived connections in shadow relationships; introduce
IsAvailableForAuthenticationhelper for improved connection filtering logic. (a60b5a3) - Add test to validate complete configuration requirements for connections (a24a6fe)
- Avoid repeated tenant-agnostic registry population (5420589)
- fix: validate external login methods before discovery (1b74bb9)
- Fix external authentication review findings (fe125ac)
- Harden external identity race compensation (286a0d8)
- refactor: update package reference configuration (ff10a68)
- Add architecture and practices documentation (5429008)
- Use last version for revert version allocation (d9ba421)
- Resolve NU1903 warning (5fd3a07)
- Add project reference to HTTP Webhooks module (bde8b2c)
- fix: quote API key secrets in dotnet nuget push to prevent argument parsing failure (#7951) (b0ab630)
- feat: Implement OIDC Trusted Publishing for NuGet (f6c35cf)
- Add output converter support at binding boundaries (61fc376)
- Harden output converter contracts (dff7d9f)
- Fix StateMachine transition lifecycle ordering (051e12f)
- Enforce StateMachine trigger identity boundaries (6a2e530)
- Expand StateMachine conformance coverage (5a820ce)
- Yield triggerless StateMachine cycles (da5ccca)
- Preserve StateMachine composite transition continuations (2787ff6)
- Initial plan (8804dda)
- Update FastEndpoints and empty resume request (4efdf5f)
- Use FastEndpoints empty-request endpoint base (750549c)
- Allow FastEndpoints EmptyRequest in Elsa endpoint wrappers (016ffe5)
- Address resume endpoint review feedback (e7debff)