dependabot[bot] opened a new pull request, #2976:
URL: https://github.com/apache/cxf/pull/2976

   Bumps 
[org.atmosphere:atmosphere-runtime](https://github.com/Atmosphere/atmosphere) 
from 3.1.0 to 4.0.11.
   <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.11</h2>
   <h3>Fixed</h3>
   <ul>
   <li><strong>WebSocket XSS sanitization bypass.</strong> Disabled HTML 
sanitization for
   WebSocket transport — HTML-encoding JSON in WebSocket frames broke the
   AI streaming wire protocol.</li>
   <li><strong>XSS and insecure cookie hardening.</strong> Sanitize HTML output 
in write
   methods and set the <code>Secure</code> flag on cookies over HTTPS.</li>
   </ul>
   <h3>Changed</h3>
   <ul>
   <li><strong>Token → Streaming Text rename.</strong> All AI module APIs, 
javadoc,
   and the atmosphere.js client now use &quot;streaming text&quot; instead of 
&quot;token&quot;
   to describe LLM output chunks. This affects method names
   (<code>onToken</code> → <code>onStreamingText</code>, 
<code>totalTokens</code> → <code>totalStreamingTexts</code>),
   field names, and the wire protocol message type
   (<code>&quot;token&quot;</code> → <code>&quot;streaming-text&quot;</code>). 
This is a <strong>breaking change</strong> for
   atmosphere.js consumers and custom <code>AiStreamBroadcastFilter</code>
   implementations.</li>
   <li><strong>Javadoc published to GitHub Pages.</strong> API docs for 
<code>atmosphere-runtime</code>
   are now deployed automatically to <code>async-io.org/apidocs</code>.</li>
   <li><strong>Starlight tutorial site.</strong> A 20-chapter tutorial book is 
now available
   at the project documentation site.</li>
   </ul>
   <h2>Atmosphere 4.0.10</h2>
   <p>React Native support, per-endpoint model routing, and architectural 
validation.</p>
   <h2>✨ Added</h2>
   <ul>
   <li><strong>React Native / Expo support</strong> in atmosphere.js — RN 
hooks, EventSource polyfill, NetInfo injection, and a complete Expo classroom 
sample app with markdown rendering</li>
   <li><strong>Per-endpoint model override</strong> — <code>@AiEndpoint(model = 
&quot;...&quot;)</code> allows different endpoints to use different LLM models 
without changing global config</li>
   <li><strong>Auto-registered broadcast filters</strong> — new 
<code>filters()</code> attribute on <code>@AiEndpoint</code> enables 
<code>CostMeteringFilter</code>, <code>PiiRedactionFilter</code>, etc. 
declaratively</li>
   <li><strong>Fallback strategy</strong> — <code>RoutingAiSupport</code> 
handles <code>FAILOVER</code> / <code>ROUND_ROBIN</code> / 
<code>CONTENT_BASED</code> routing via <code>@AiEndpoint</code></li>
   <li><strong>Architectural validation CI gate</strong> — TOML-configured 
script detects NOOP/dead code, placeholder stubs, DI bypass, and fluent builder 
misuse; runs as fast-fail before JDK build matrix</li>
   </ul>
   <h2>🐛 Fixed</h2>
   <ul>
   <li><strong><code>RoutingAiSupportTest</code></strong> — corrected failover 
threshold (<code>maxConsecutiveFailures=1</code>)</li>
   <li><strong>Architectural validation</strong> — NOOP detection fails the 
build (was only warning)</li>
   </ul>
   <h2>🔧 Changed</h2>
   <ul>
   <li><strong>Expo classroom sample</strong> moved under 
<code>spring-boot-ai-classroom/expo-client</code> for better project 
organization</li>
   </ul>
   <p><strong>Full Changelog</strong>: <a 
href="https://github.com/Atmosphere/atmosphere/compare/atmosphere-4.0.9...atmosphere-4.0.10";>https://github.com/Atmosphere/atmosphere/compare/atmosphere-4.0.9...atmosphere-4.0.10</a></p>
   <h2>Atmosphere 4.0.9</h2>
   <p>Framework-agnostic AI tool calling and conversation cache replay.</p>
   <h2>✨ Added</h2>
   <ul>
   <li><strong><code>@AiTool</code> annotation</strong> — framework-agnostic 
tool calling pipeline that works across Spring AI, LangChain4j, and standalone 
deployments. Includes sample, tests, and documentation.</li>
   <li><strong>Generator <code>--tools</code> flag</strong> — scaffolds 
<code>@AiTool</code> methods for ai-chat handler variants</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.11] - 2026-03-11</h2>
   <h3>Fixed</h3>
   <ul>
   <li><strong>WebSocket XSS sanitization bypass.</strong> Disabled HTML 
sanitization for
   WebSocket transport — HTML-encoding JSON in WebSocket frames broke the
   AI streaming wire protocol.</li>
   <li><strong>XSS and insecure cookie hardening.</strong> Sanitize HTML output 
in write
   methods and set the <code>Secure</code> flag on cookies over HTTPS.</li>
   </ul>
   <h3>Changed</h3>
   <ul>
   <li><strong>Token → Streaming Text rename.</strong> All AI module APIs, 
javadoc,
   and the atmosphere.js client now use &quot;streaming text&quot; instead of 
&quot;token&quot;
   to describe LLM output chunks. This affects method names
   (<code>onToken</code> → <code>onStreamingText</code>, 
<code>totalTokens</code> → <code>totalStreamingTexts</code>),
   field names, and the wire protocol message type
   (<code>&quot;token&quot;</code> → <code>&quot;streaming-text&quot;</code>). 
This is a <strong>breaking change</strong> for
   atmosphere.js consumers and custom <code>AiStreamBroadcastFilter</code>
   implementations.</li>
   <li><strong>Javadoc published to GitHub Pages.</strong> API docs for 
<code>atmosphere-runtime</code>
   are now deployed automatically to <code>async-io.org/apidocs</code>.</li>
   <li><strong>Starlight tutorial site.</strong> A 20-chapter tutorial book is 
now available
   at the project documentation site.</li>
   </ul>
   <h2>[4.0.3] - 2026-02-22</h2>
   <h3>Fixed</h3>
   <ul>
   <li><strong>Room Protocol broadcast bug.</strong> 
<code>DefaultRoom.broadcast()</code> now wraps messages
   in <code>RawMessage</code> to bypass <code>@Message</code> decoder mangling. 
Room JSON envelopes
   (join/leave/message events) are delivered intact to clients.</li>
   <li><strong><code>enableHistory()</code> NPE.</strong> 
<code>UUIDBroadcasterCache</code> is now properly configured
   before use, preventing <code>NullPointerException</code> when room history 
is enabled.</li>
   <li><strong>Native Image build.</strong> Spring Boot samples use 
<code>process-aot</code> and <code>exec</code>
   classifier in the <code>native</code> profile so GraalVM can find the main 
class.</li>
   </ul>
   <h3>Added</h3>
   <ul>
   <li><strong><code>RawMessage</code> API</strong> 
(<code>org.atmosphere.cpr.RawMessage</code>) — first-class public
   wrapper for pre-encoded messages that bypass <code>@Message</code> 
decoder/encoder
   pipelines. <code>ManagedAtmosphereHandler.Managed</code> is deprecated in 
favor of
   <code>RawMessage</code>.</li>
   <li><strong>Playwright E2E tests</strong> for all sample applications (chat, 
spring-boot-chat,
   embedded-jetty, quarkus-chat, AI samples, durable-sessions, MCP server).</li>
   </ul>
   <h3>Changed</h3>
   <ul>
   <li><strong>Unified parent POM.</strong> All samples now inherit from 
<code>atmosphere-project</code>,
   making <code>mvn versions:set</code> update every module in a single 
command.</li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/27f88d9a782449c356a95d09ca54a52c71acf574";><code>27f88d9</code></a>
 release: Atmosphere 4.0.11</li>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/e71eba79d41821ef91b6a985519f612988f7b3f0";><code>e71eba7</code></a>
 refactor(embabel): rename token to streaming text in Kotlin module</li>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/375d7dfc21064c587aef146c45adbbe135967425";><code>375d7df</code></a>
 docs: update READMEs and CHANGELOG for 4.0.11 release</li>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/b3166ac639cc0bbd7b4b669e9782c5623e5f67be";><code>b3166ac</code></a>
 refactor(ai): complete token-to-streaming-text rename across codebase</li>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/62cc1bee514699bab344eabcd9b5ebca966ffeb8";><code>62cc1be</code></a>
 refactor(ai): rename token to streaming text across AI module and samples</li>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/a15c080f29832a8fc09a66be6c7d77c87bdde84b";><code>a15c080</code></a>
 docs: rename AI/LLM token references to streaming text</li>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/f05d29a5228034b76850ec06d37a96bf0bd8753d";><code>f05d29a</code></a>
 docs: fix last 2.x release version in CHANGELOG (2.7.16 not 2.6.5)</li>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/f5510c801859be90f558cfe5ed2a1f5b6024b903";><code>f5510c8</code></a>
 ci(release): generate rich release notes from CHANGELOG or commits</li>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/0f1ed89b1e36de684f6c2aa638a15ab447186ed3";><code>0f1ed89</code></a>
 fix(cpr): skip XSS sanitization for WebSocket transport</li>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/fd1030b7aba45bb30195c6be2015521b7be67889";><code>fd1030b</code></a>
 ci: replace automatic dependency submission with custom workflow</li>
   <li>Additional commits viewable in <a 
href="https://github.com/Atmosphere/atmosphere/compare/atmosphere-project-3.1.0...atmosphere-4.0.11";>compare
 view</a></li>
   </ul>
   </details>
   <br />
   
   
   [![Dependabot compatibility 
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.atmosphere:atmosphere-runtime&package-manager=maven&previous-version=3.1.0&new-version=4.0.11)](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]

Reply via email to