dependabot[bot] opened a new pull request, #3164: URL: https://github.com/apache/cxf/pull/3164
Bumps [org.atmosphere:atmosphere-runtime](https://github.com/Atmosphere/atmosphere) from 3.1.0 to 4.0.48. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/Atmosphere/atmosphere/releases">org.atmosphere:atmosphere-runtime's releases</a>.</em></p> <blockquote> <h2>Atmosphere 4.0.48</h2> <h3>Added</h3> <ul> <li>CLI runtime overlays for <code>anthropic</code> and <code>cohere</code> (<code>cli/runtime-overlays.json</code>). Both runtimes had been shipped in <code>modules/</code> and documented in the top-level README — <code>atmosphere-anthropic</code> since 2026-05-19 (<code>1195845304</code>), <code>atmosphere-cohere</code> since 2026-05-23 (<code>1dfebcb5ff</code>) — but neither had a CLI scaffolding overlay. The command <code>atmosphere new my-app --template ai-chat --runtime cohere</code> (or <code>--runtime anthropic</code>) now works. Same change adds both artifacts to <code>bom/pom.xml</code> and the parent <code>pom.xml</code>'s <code><dependencyManagement></code> so a Maven build resolves their version without an explicit <code><version></code> in the consuming pom. Verified end-to-end via chrome-devtools against the Atmosphere Console: real Cohere <code>command-a-plus-05-2026</code> LLM response over WebSocket with 18.3 tok/s streaming through the <code>CohereChatClient</code> → real <code>https://api.cohere.com/v2/chat</code> HTTP call.</li> <li>Durable hibernating <code>Workflow<S></code> primitive in <code>atmosphere-checkpoint</code> (<code>a0ac15f1e3</code>). Orders <code>WorkflowStep<S></code> instances over an application-owned state type and composes the existing <code>CheckpointStore</code> SPI for persistence. Sealed <code>StepOutcome<S></code> (<code>Advance</code> / <code>Hibernate</code> / <code>Done</code> / <code>Fail</code>) and <code>WorkflowResult<S></code> (<code>Completed</code> / <code>Hibernated</code> / <code>Failed</code>) drive the runner; per-step <code>maxRetries()</code> + <code>retryDelay()</code> cover transient failures. Hibernation is return-not-park: a step that returns <code>StepOutcome.hibernate(state)</code> writes a snapshot and the call returns to the caller with no platform thread held; a later <code>run()</code> against the same coordination resumes at the next un-completed step, including across JVM restarts when the store is persistent. <code>WorkflowSqliteResumeTest</code> pins the cold-restart contract — closes <code>SqliteCheckpointStore</code>, opens a fresh handle on the same file, builds a fresh <code>Workflow</code> instance, and asserts only the un-completed step executes. Ten unit tests cover linear execution, hibernate-and-resume, retry-success, retry-exhaustion, explicit fail, duplicate-step-name rejection, snapshot-precedence over <code>initialState</code>, and <code>deleteAllSnapshots</code>.</li> <li><code>SqliteLongTermMemory</code> and <code>RedisLongTermMemory</code> (<code>835a88d252</code>, rebased to <code>fbbfa457a2</code>) — persistent backends for the <code>LongTermMemory</code> SPI in <code>atmosphere-durable-sessions-sqlite</code> and <code>atmosphere-durable-sessions-redis</code>. Both can share a connection with their sibling <code>SessionStore</code> / <code>ConversationPersistence</code> implementations. <code>LongTermMemoryBackendIntegrationTest</code> parameterizes the full <code>LongTermMemoryInterceptor</code> round-trip over all three backends; <code>LongTermMemoryMultiInstanceTest</code> (<code>d4609cf0fc</code>) proves the pod-A-writes / pod-B-reads scenario the persistent backends exist for, using two independent <code>LongTermMemory</code> handles against the same shared store.</li> <li><code>scripts/validate-backend-class-refs.sh</code> (<code>835a88d252</code>) — structural gate scanning <code>*.java</code> Javadoc and <code>*.md</code> documentation</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/Atmosphere/atmosphere/blob/main/CHANGELOG.md">org.atmosphere:atmosphere-runtime's changelog</a>.</em></p> <blockquote> <h2>[4.0.48] - 2026-05-25</h2> <h3>Added</h3> <ul> <li>CLI runtime overlays for <code>anthropic</code> and <code>cohere</code> (<code>cli/runtime-overlays.json</code>). Both runtimes had been shipped in <code>modules/</code> and documented in the top-level README — <code>atmosphere-anthropic</code> since 2026-05-19 (<code>1195845304</code>), <code>atmosphere-cohere</code> since 2026-05-23 (<code>1dfebcb5ff</code>) — but neither had a CLI scaffolding overlay. The command <code>atmosphere new my-app --template ai-chat --runtime cohere</code> (or <code>--runtime anthropic</code>) now works. Same change adds both artifacts to <code>bom/pom.xml</code> and the parent <code>pom.xml</code>'s <code><dependencyManagement></code> so a Maven build resolves their version without an explicit <code><version></code> in the consuming pom. Verified end-to-end via chrome-devtools against the Atmosphere Console: real Cohere <code>command-a-plus-05-2026</code> LLM response over WebSocket with 18.3 tok/s streaming through the <code>CohereChatClient</code> → real <code>https://api.cohere.com/v2/chat</code> HTTP call.</li> <li>Durable hibernating <code>Workflow<S></code> primitive in <code>atmosphere-checkpoint</code> (<code>a0ac15f1e3</code>). Orders <code>WorkflowStep<S></code> instances over an application-owned state type and composes the existing <code>CheckpointStore</code> SPI for persistence. Sealed <code>StepOutcome<S></code> (<code>Advance</code> / <code>Hibernate</code> / <code>Done</code> / <code>Fail</code>) and <code>WorkflowResult<S></code> (<code>Completed</code> / <code>Hibernated</code> / <code>Failed</code>) drive the runner; per-step <code>maxRetries()</code> + <code>retryDelay()</code> cover transient failures. Hibernation is return-not-park: a step that returns <code>StepOutcome.hibernate(state)</code> writes a snapshot and the call returns to the caller with no platform thread held; a later <code>run()</code> against the same coordination resumes at the next un-completed step, including across JVM restarts when the store is persistent. <code>WorkflowSqliteResumeTest</code> pins the cold-restart contract — closes <code>SqliteCheckpointStore</code>, opens a fresh handle on the same file, builds a fresh <code>Workflow</code> instance, and asserts only the un-completed step executes. Ten unit tests cover linear execution, hibernate-and-resume, retry-success, retry-exhaustion, explicit fail, duplicate-step-name rejection, snapshot-precedence over <code>initialState</code>, and <code>deleteAllSnapshots</code>.</li> <li><code>SqliteLongTermMemory</code> and <code>RedisLongTermMemory</code> (<code>835a88d252</code>, rebased to <code>fbbfa457a2</code>) — persistent backends for the <code>LongTermMemory</code> SPI in <code>atmosphere-durable-sessions-sqlite</code> and <code>atmosphere-durable-sessions-redis</code>. Both can share a connection with their sibling <code>SessionStore</code> / <code>ConversationPersistence</code> implementations. <code>LongTermMemoryBackendIntegrationTest</code> parameterizes the full <code>LongTermMemoryInterceptor</code> round-trip over all three backends; <code>LongTermMemoryMultiInstanceTest</code> (<code>d4609cf0fc</code>) proves the pod-A-writes / pod-B-reads scenario the persistent backends exist for, using two independent <code>LongTermMemory</code> handles against the same shared store.</li> <li><code>scripts/validate-backend-class-refs.sh</code> (<code>835a88d252</code>) — structural gate scanning <code>*.java</code> Javadoc and <code>*.md</code> documentation</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/Atmosphere/atmosphere/commit/fc4f1f2e3b749109aa65352f343cc41f9ff96440"><code>fc4f1f2</code></a> release: Atmosphere 4.0.48</li> <li><a href="https://github.com/Atmosphere/atmosphere/commit/a6d7160dba96d80cfbc3fdd78d49925d1533194f"><code>a6d7160</code></a> feat(cli): cohere + anthropic runtime overlays; sweep stale provider mentions</li> <li><a href="https://github.com/Atmosphere/atmosphere/commit/1c8b102cb1600172883102a6e9200bfebc69809f"><code>1c8b102</code></a> fix(spring-boot): bump LTM HTTP e2e timeout for slower CI runners</li> <li><a href="https://github.com/Atmosphere/atmosphere/commit/7fb4b106891eae094cc27103528a5af48b88ccb3"><code>7fb4b10</code></a> test(spring-boot): real HTTP e2e for LongTermMemoryInterceptor disconnect chain</li> <li><a href="https://github.com/Atmosphere/atmosphere/commit/bd9108461ff8daa6a6b66f66faa73caea1c87aa1"><code>bd91084</code></a> docs: document Workflow primitive across README/CHANGELOG/module/tutorial</li> <li><a href="https://github.com/Atmosphere/atmosphere/commit/b5b28e8e14424bec0d4dee1ea43cb64b5d6239f1"><code>b5b28e8</code></a> chore(harness): scrub private maintainer-address handle from 22 committed files</li> <li><a href="https://github.com/Atmosphere/atmosphere/commit/a0ac15f1e34400c6bcdfcfc6685eb938d004d378"><code>a0ac15f</code></a> feat(checkpoint): durable hibernating Workflow primitive (CheckpointStore-bac...</li> <li><a href="https://github.com/Atmosphere/atmosphere/commit/d4609cf0fc6cbb105b9809249581816e7edceb54"><code>d4609cf</code></a> test(integration): multi-instance LongTermMemory (pod A writes, pod B reads)</li> <li><a href="https://github.com/Atmosphere/atmosphere/commit/27ecc507209dcfe98edb7c06e05e492125ef1be0"><code>27ecc50</code></a> test(ai): wire-shape vision tests for SAA, AgentScope, SK + fix SK double-pre...</li> <li><a href="https://github.com/Atmosphere/atmosphere/commit/4a2dba74031a5182c758723bd858e93841fc6ddd"><code>4a2dba7</code></a> docs(changelog): drop SKILLCARD entry's stale 10-runtime named list</li> <li>Additional commits viewable in <a href="https://github.com/Atmosphere/atmosphere/compare/atmosphere-project-3.1.0...atmosphere-4.0.48">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
