# atmosphere

> Real-time transport layer for Java AI agents. Build once with @Agent — deliver over WebSocket, SSE, gRPC, and WebTransport/HTTP3. Talk MCP, A2A and AG-UI. 

- **URL**: https://www.freshcrate.ai/projects/atmosphere
- **Author**: Atmosphere
- **Category**: MCP Servers
- **Latest version**: `atmosphere-4.0.50` (2026-06-05)
- **License**: Apache-2.0
- **Source**: https://github.com/Atmosphere/atmosphere
- **Homepage**: https://async-io.live
- **Language**: Java
- **GitHub**: 3,757 stars, 757 forks
- **Registry**: github
- **Tags**: `acp`, `agentic-ai`, `embabel`, `event-driven`, `java`, `koog`, `langchain4j`, `mcp`

## Description

Real-time transport layer for Java AI agents. Build once with @Agent — deliver over WebSocket, SSE, gRPC, and WebTransport/HTTP3. Talk MCP, A2A and AG-UI.

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `atmosphere-4.0.50` | 2026-06-05 | High | ### Removed  - Pruned dead/unwired internal classes found during a release-readiness audit —   none was documented, advertised, or reachable from a user code path:   `McpWebSocketHandler` (superseded by `McpHandler`'s direct WebSocket-frame   handling), `AgUiSession` (superseded by `ResourceAgUiStreamingSession`),   `AiCoalescingBroadcasterCache` (a delegate-only `BroadcasterCache` that the   no-arg reflective cache-wiring path cannot instantiate), `AdkArtifactBridge`,   `AdkCompactionBridge`, |
| `atmosphere-4.0.49` | 2026-05-28 | High | ### Added  - `atmosphere-crewai` — `AgentRuntime` for the   [CrewAI](https://www.crewai.com/) multi-agent framework via an   out-of-process Python sidecar. First non-Java runtime adapter in the   project; the boundary is `HTTP + SSE` for the request stream plus a   loopback `ToolCallbackServer` for Java→Python tool RPC. Pins 9   capabilities (`TEXT_STREAMING`, `TOKEN_USAGE`, `AGENT_ORCHESTRATION`,   `CANCELLATION`, `TOOL_CALLING`, `SYSTEM_PROMPT`,   `STRUCTURED_OUTPUT`, `TOOL_APPROVAL`, `PER_RE |
| `atmosphere-4.0.48` | 2026-05-25 | High | ### Added  - CLI runtime overlays for `anthropic` and `cohere`   (`cli/runtime-overlays.json`). Both runtimes had been shipped in   `modules/` and documented in the top-level README — `atmosphere-anthropic`   since 2026-05-19 (`1195845304`), `atmosphere-cohere` since 2026-05-23   (`1dfebcb5ff`) — but neither had a CLI scaffolding overlay. The   command `atmosphere new my-app --template ai-chat --runtime cohere`   (or `--runtime anthropic`) now works. Same change adds both artifacts   to `bom/po |
| `atmosphere-4.0.47` | 2026-05-21 | High | ### Added  - Native Anthropic Messages API runtime in a new `atmosphere-anthropic`   module (`1195845304`). `AnthropicMessagesClient` posts directly to   `https://api.anthropic.com/v1/messages`, parses the SSE stream   (`message_start`, `content_block_start`, `content_block_delta` with   `text_delta` and `input_json_delta`, `message_delta` carrying   `usage.input_tokens`/`output_tokens`, `message_stop`), and drives the   `tool_use` → `tool_result` loop through the shared   `ToolExecutionHelper. |
| `atmosphere-4.0.46` | 2026-05-16 | High | ### Added  - Spring AI Alibaba: unconditional `TOOL_CALLING` / `TOOL_APPROVAL` /   `TOKEN_USAGE` (`534317f03d`) — `UsageCapturingChatModel` wraps the   configured Spring AI `ChatModel` bean at auto-configuration time;   per-thread accumulator captures `ChatResponseMetadata.getUsage()` across   every step of the ReAct graph and emits a single   `session.usage(TokenUsage)` after each dispatch. Tool calling is no   longer gated on `staticChatModel != null` — `SpringAiAlibabaToolBridge`   is wired |
| `atmosphere-4.0.45` | 2026-05-13 | High | ### Added  - capability-matrix snapshot + drift gate (`d22d18a7cd`) — new `.harness/capabilities.snapshot.json` is the canonical aggregate of the `AiCapability` enum (20 capabilities) and each runtime's pinned `expectedCapabilities()` (9 runtimes). Regenerated by `scripts/regen-capability-snapshot.sh` and validated by both `scripts/validate-capability-claims.sh` (wired into `scripts/pre-push-validate.sh` Tier 1) and the new `CapabilitySnapshotTest` in `modules/ai-test`. The per-runtime contract |
| `atmosphere-4.0.44` | 2026-05-08 | High | ### Added  - predictable-AI primitives — three framework-level capabilities that close gaps Bonér's "Herding LLMs" deck flagged for distributed-system reliability, all declared on every framework runtime so the matrix closes without `@Beta` shims:   - `BUDGET_ENFORCEMENT` (`a4fae39464`) — new `AiBudget` value record (max input / output / total tokens, max steps, max wall clock) installed via `pipeline.setDefaultBudget(...)` or per-request `ai.budget` metadata. `BudgetCapturingSession` decorator |
| `atmosphere-4.0.42` | 2026-05-01 | High | ### Added  - atmosphere-verifier — plan-and-verify (Meijer "Guardians of the Agents") New module modules/verifier/ + sample samples/spring-boot-guarded-email-agent/ — sealed Workflow AST, ServiceLoader-discovered PlanVerifier chain (Allowlist/WellFormed/Capability/Taint/Automaton/SmtChecker SPI), @Sink + @RequiresCapability scanners, PlanAndVerify orchestrator, WorkflowExecutor with partial-env on failure, verify CLI; sample REST + UI exercises the inbox-exfiltration scenario end-to-end (refuse |
| `atmosphere-4.0.41` | 2026-04-29 | High | ### Changed — A2A v1.0.0 alignment (wire-breaking)  - **`atmosphere-a2a` retracked to A2A v1.0.0** (`a2aproject/A2A@v1.0.0`,   released 2026-03-12). The pre-1.0 wire surface was the slash-style   method names (`message/send`, `tasks/get`, …) and a polymorphic   `Part` envelope; both are gone in v1.0.0. - **JSON-RPC method names switched to PascalCase** per spec §9.4 —   `SendMessage`, `SendStreamingMessage`, `GetTask`, `ListTasks`,   `CancelTask`, `SubscribeToTask`, the four   `{Create,Get,List |
| `atmosphere-4.0.40` | 2026-04-24 | High | ## ✨ Added - **policy plane, multi-agent governance, sample retrofit** - **render tokens / elapsed / tok/s footer on stream complete** - **approve/deny widget for @RequiresApproval tools** - **route demo mode through the pipeline via DemoAgentRuntime**  ## 🐛 Fixed - isolate coordinator types from CommitmentRecordView AOT walk - native-image AOT + CLI E2E SNAPSHOT compat - survive recycled async request during streaming disconnect - ship classic chat SPA at / (was hanging silently) - emit tool- |

## Dependency audit

- **Score**: 100/100
- **Total deps**: 0
- **Resolved**: 0
- **Unresolved**: 0
- **License conflicts**: 0
- **Warnings**: 0
- **Scanned**: 2026-05-25

## Citation

- HTML: https://www.freshcrate.ai/projects/atmosphere
- Markdown: https://www.freshcrate.ai/projects/atmosphere.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/atmosphere/deps

_Generated by freshcrate.ai. Indexes github releases for AI-agent ecosystem packages._
