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

   Bumps 
[org.atmosphere:atmosphere-runtime](https://github.com/Atmosphere/atmosphere) 
from 3.1.0 to 4.0.40.
   <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.40</h2>
   <h2>✨ Added</h2>
   <ul>
   <li><strong>policy plane, multi-agent governance, sample 
retrofit</strong></li>
   <li><strong>render tokens / elapsed / tok/s footer on stream 
complete</strong></li>
   <li><strong>approve/deny widget for <a 
href="https://github.com/RequiresApproval";><code>@​RequiresApproval</code></a> 
tools</strong></li>
   <li><strong>route demo mode through the pipeline via 
DemoAgentRuntime</strong></li>
   </ul>
   <h2>🐛 Fixed</h2>
   <ul>
   <li>isolate coordinator types from CommitmentRecordView AOT walk</li>
   <li>native-image AOT + CLI E2E SNAPSHOT compat</li>
   <li>survive recycled async request during streaming disconnect</li>
   <li>ship classic chat SPA at / (was hanging silently)</li>
   <li>emit tool-start/tool-result at shared execution seam</li>
   <li>parse nested LLM error envelopes into a compact error card</li>
   <li>ship atmosphere-admin transitively for /atmosphere/admin/</li>
   <li>accept both type and kind as Part discriminator on parse</li>
   <li>redirect / to /atmosphere/console/ when no root UI ships</li>
   <li>rewrite URL so SK 1.4.0 works against non-OpenAI endpoints</li>
   <li>correct README endpoint + broadcaster path</li>
   <li>disable auth by default in sample, document toggle</li>
   <li>always set ToolCallBehavior to avoid SK 1.4.0 NPE</li>
   <li>gate prompt_cache_key by provider hostname for Gemini compat</li>
   <li>return 404 for unmapped /atmosphere/* paths instead of 500</li>
   </ul>
   <h2>🔧 Changed</h2>
   <ul>
   <li>correct AgentWorkspace adapter list — drop fabricated SWE-bench</li>
   <li>drop (v0.5) suffix from Foundation E2E workflow name</li>
   <li>add .mvn/** + workflow_dispatch to all maven-build workflows</li>
   <li>use modern <!-- raw HTML omitted --> attribute in remaining logback 
configs</li>
   <li>document LLM provider choices + Gemini free-tier cap</li>
   <li>bind ResourceFactory to server + fix logback config</li>
   <li>re-enable auth in spring-boot-ai-chat fixture for auth specs</li>
   <li>bump version to 4.0.39</li>
   <li>prepare for next development iteration 4.0.40-SNAPSHOT</li>
   </ul>
   <p><strong>Full Changelog</strong>: <a 
href="https://github.com/Atmosphere/atmosphere/compare/atmosphere-4.0.39...atmosphere-4.0.40";>https://github.com/Atmosphere/atmosphere/compare/atmosphere-4.0.39...atmosphere-4.0.40</a></p>
   <h2>Atmosphere 4.0.39</h2>
   <h2>✨ Added</h2>
   <ul>
   <li><strong>serve /favicon.ico from both starters to kill the default 404 
AtmosphereFaviconAutoConfiguration returns the Atmosphere logo PNG on 
/favicon.ico and /favicon.png for every app using the starter; opt out with 
atmosphere.favicon.enabled=false.</strong></li>
   <li><strong>reattach e2e — harness sample + direct-writer replay + CI job 
RunReattachSupport now writes the joined buffer straight to 
response.getWriter() (U+001E between events); broadcaster routing fed the 
payload back into the <a 
href="https://github.com/Prompt";><code>@​Prompt</code></a> dispatcher. New 
spring-boot-reattach-harness plus a SyntheticRunController give Playwright a 
deterministic HTTP surface — foundation-e2e.yml runs the spec on every push so 
the reattach wire is proven end-to-end, not just in unit tests.</strong></li>
   <li><strong>TokenUsage → CostCeilingGuardrail.addCost bridge + ownership fix 
CostAccountingSession wraps every <a 
href="https://github.com/Prompt";><code>@​Prompt</code></a> session when a 
CostAccountant is installed; built-in CostCeilingAccountant(guardrail, pricing) 
closes the observability→enforcement loop. Spring Boot auto-configuration 
installs it and a DisposableBean resets the holder on shutdown, which also 
fixes broadcaster listener ownership symmetry on the PII 
installer.</strong></li>
   <li><strong>cpr-core moat — broadcaster PII, tenant drift, cost ceiling, 
reattach test PiiRedactionFilter auto-installs on every broadcaster (present + 
future) so response-path PII is rewritten in-flight — framework owns the 
transport. OutputLengthZScoreGuardrail partitions its rolling window by 
business.tenant.id MDC so one tenant cannot poison another's baseline. New 
CostCeilingGuardrail blocks outbound <a 
href="https://github.com/Prompt";><code>@​Prompt</code></a> per tenant once 
cumulative cost hits budget (observability→enforcement). writeEnabled resolved 
per-call in both starters for runtime lockdown. RunReattachSupport extracts the 
replay-on-reconnect path with 5 regression tests. Operator docs split Spring + 
Quarkus setup with principal-chain paragraphs.</strong></li>
   <li><strong>wire Flow tab into the admin console — SVG graph over 
/api/admin/flow New tab renders the coordination journal as a circle-layout 
SVG: nodes = agents, edges = dispatch count + success/failure/avg-duration, red 
on failure, arrowheads for direction. Optional coordination-id drilldown and 
lookback-minutes filter. Zero external graph library — plain SVG, adequate for 
fleet sizes Atmosphere runs. Mirrored across spring-boot-starter and 
spring-boot3-starter admin assets.</strong></li>
   <li><strong>observability + guardrails + admin auth + flow viewer 
Observability layer (BusinessMetadata → SLF4J MDC, FactResolver), default 
guardrails (PII redaction, drift z-score), admin-write auth triple-gate 
(feature flag → Principal → ControlAuthorizer), agent-to-agent flow viewer 
(/api/admin/flow), run reattach consumer, gateway admission on handle-based 
paths, framework-scoped resolution for all v0.8 primitives. Samples boot via 
spring-boot:run + actuator health; foundation-e2e gates merges including Docker 
sandbox.</strong></li>
   <li><strong>foundation hardening — primitive wire-in, Sandbox gate, 
PermissionMode</strong></li>
   <li><strong>AI Agent Foundation — 8 primitives, 2 proof samples, strict 
OpenAI-compat tool round-trip</strong></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.40] - 2026-04-24</h2>
   <h3>Added — Tool-call admission, per-request scope, audit sinks</h3>
   <ul>
   <li><strong>Tool-call admission seam</strong> (<code>1def61ddf0</code>) — 
<code>PolicyAdmissionGate.admitToolCall</code>
   builds a synthetic <code>AiRequest</code> whose metadata carries 
<code>tool_name</code>,
   <code>action</code>, and an argument preview so MS-schema rules over 
<code>tool_name</code>
   fire before the tool's executor runs. <code>ToolExecutionHelper</code> 
consults the
   gate on every <code>@AiTool</code> dispatch; the canonical MS example
   <code>{field: tool_name, operator: eq, value: delete_database, action: 
deny}</code>
   fires without operator plumbing. OWASP A02 upgraded from PARTIAL to
   COVERED.</li>
   <li><strong><code>@AgentScope.postResponseCheck</code></strong> 
(<code>2913da1b81</code>) — when enabled on a
   high-stakes scope, <code>ScopePolicy</code> re-classifies the streamed 
response
   text against the declared purpose. OUT_OF_SCOPE responses become Deny
   with a <code>post-response:</code> prefix; errors fail-open on the response 
path
   (bytes already on the wire). <code>POLITE_REDIRECT</code> breaches downgrade 
to
   Deny because Transform can't rewind a stream.</li>
   <li><strong>Cross-provider governance contract</strong> 
(<code>613d216019</code>) —
   <code>AbstractAgentRuntimeContractTest.policyDenyBlocksRuntimeExecute</code> 
is
   inherited by all seven runtime adapters (Built-in, Spring AI,
   LangChain4j, ADK, Embabel, Koog, Semantic Kernel); the &quot;deny before
   runtime&quot; guarantee is now a build-time invariant for each provider.</li>
   <li><strong>Per-request <code>ScopePolicy</code> install</strong> 
(<code>334bde4969</code>) — an interceptor
   can write a <code>ScopeConfig</code> under 
<code>ScopePolicy.REQUEST_SCOPE_METADATA_KEY</code>
   and the pipeline / streaming session / admission gate install a
   transient <code>ScopePolicy</code> ahead of endpoint-level policies for that 
one
   turn. Classroom sample uses this for per-room scope (math / code /
   science / general) — one <code>@AiEndpoint</code> hosts four personas, each 
with
   its own purpose and forbidden-topic set. 
<code>perRequestScopeBlocksRuntimeExecute</code>
   extends the cross-provider contract to the per-request path.</li>
   <li><strong>Admin console governance views</strong> — three Vue views under 
the existing
   Atmosphere Console (<code>/atmosphere/console/</code>) poll
   <code>/api/admin/governance/{policies,decisions,owasp}</code> on live 
intervals.
   Tabs auto-hide when governance is not installed. Verified end-to-end
   against the classroom sample via chrome-devtools (tabs render, OWASP
   matrix shows 7 Covered / 1 Partial / 1 Design / 1 Not-addressed, zero
   console errors).</li>
   <li><strong>Persistent <code>AuditSink</code> SPI</strong> — 
<code>GovernanceDecisionLog.addSink(AuditSink)</code>
   fans every admission decision out to registered sinks while keeping
   the ring buffer authoritative for the admin console. Sink failures are
   isolated: one unreachable Kafka broker does not take down the pipeline.
   <code>AsyncAuditSink</code> wraps a blocking delegate with a bounded 
drop-on-full
   queue so the admission thread never blocks on IO (Backpressure
   invariant <a 
href="https://redirect.github.com/Atmosphere/atmosphere/issues/3";>#3</a>). Two 
reference modules ship: <code>atmosphere-ai-audit-kafka</code>
   (<code>KafkaAuditSink</code> → JSON to any topic) and 
<code>atmosphere-ai-audit-postgres</code>
   (<code>JdbcAuditSink</code> → JDBC upsert with schema auto-create, works 
against
   any JSR-221 <code>DataSource</code>; tests exercise H2 in-memory). The JSON 
shape
   matches MS Agent Governance Toolkit's <code>audit_entry</code> so downstream
   SIEM consumers of either system can read both.</li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/4e6676140ce3e2bd7f39b09f2f0b41a86ee3e406";><code>4e66761</code></a>
 release: Atmosphere 4.0.40</li>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/633d57ead9e592fe832b743955ab97208505d578";><code>633d57e</code></a>
 fix(admin): isolate coordinator types from CommitmentRecordView AOT walk</li>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/f66270b218755d4482ebc9fc8aa9762f2c74333a";><code>f66270b</code></a>
 fix(admin,cli): native-image AOT + CLI E2E SNAPSHOT compat</li>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/b6cdced49e565d1f27f99fe56f98eb693ad3aec8";><code>b6cdced</code></a>
 feat(governance): policy plane, multi-agent governance, sample retrofit</li>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/17d404d8557c6316520a79fefb2ff8ec5f1a7d0b";><code>17d404d</code></a>
 docs(agent): correct AgentWorkspace adapter list — drop fabricated 
SWE-bench</li>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/1ad0dd740f664fe837302d225d3ca88c8b83104f";><code>1ad0dd7</code></a>
 ci: drop (v0.5) suffix from Foundation E2E workflow name</li>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/bf671c32a65732e4de31ec8002f9faf739bab507";><code>bf671c3</code></a>
 ci: add .mvn/** + workflow_dispatch to all maven-build workflows</li>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/ee4c90dff9228fc969e0be480f26f49b71075dda";><code>ee4c90d</code></a>
 build: force GIB off by default via .mvn/maven.config</li>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/99e2e0263a412bec961f7883dfe0f935cd148134";><code>99e2e02</code></a>
 fix(ai,cpr): survive recycled async request during streaming disconnect</li>
   <li><a 
href="https://github.com/Atmosphere/atmosphere/commit/db05bbec5a17a4516e00ada8a46eeaf2371b9a92";><code>db05bbe</code></a>
 build: diff-aware pre-push via Gitflow Incremental Builder</li>
   <li>Additional commits viewable in <a 
href="https://github.com/Atmosphere/atmosphere/compare/atmosphere-project-3.1.0...atmosphere-4.0.40";>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.40)](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