freshcrate
Skin:/
Home > MCP Servers > atmosphere

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.

Why this rank:Strong adoptionRecent releaseHealthy release cadence

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.

README

Atmosphere

Atmosphere

A framework for building streaming AI agents on the JVM. Atmosphere owns the transport layer โ€” tokens flow from the LLM runtime to the client through a broadcaster you can filter, gate, and observe. @Agent declares the behavior; the framework handles streaming, tool calling, memory, reconnect, authorization, and cost accounting.

Maven Central npm CI: Core CI: E2E CI: atmosphere.js


A @Agent class runs on any of seven AI runtimes (built-in OpenAI, Spring AI, LangChain4j, Google ADK, Embabel, JetBrains Koog, Microsoft Semantic Kernel) and is served over any of five transports (WebTransport/HTTP3, WebSocket, SSE, long-polling, gRPC) plus three agent protocols (MCP, A2A, AG-UI) and six channels (web, Slack, Telegram, Discord, WhatsApp, Messenger). Runtime and transport are swapped by changing a Maven dependency.

Atmosphere owns the broadcaster, which enables capabilities a pure orchestration library cannot provide: per-token PII rewriting in flight, per-tenant cost ceilings that block dispatch at the gateway, durable reconnect that replays mid-stream events after a client drop, triple-gate authorization on the admin control plane.

Quick Start

brew install Atmosphere/tap/atmosphere

# or

curl -fsSL https://raw.githubusercontent.com/Atmosphere/atmosphere/main/cli/install.sh | sh

# Run a built-in agent sample
atmosphere run spring-boot-multi-agent-startup-team

# Or scaffold your own project from a sample
atmosphere new my-agent --template ai-chat

# Import a skill from an allowed skills repo
atmosphere import https://github.com/anthropics/skills/blob/main/skills/frontend-design/SKILL.md
cd frontend-design && LLM_API_KEY=your-key ./mvnw spring-boot:run

@Agent

One annotation. The framework wires everything based on what's in the class and what's on the classpath.

// Registers this class as an agent โ€” auto-discovered at startup.
// Endpoints are created based on which modules are on the classpath:
// WebSocket, MCP, A2A, AG-UI, Slack, Telegram, etc.
@Agent(name = "my-agent", description = "What this agent does")
public class MyAgent {

    // Handles user messages. The message is forwarded to whichever AI runtime
    // is on the classpath (Spring AI, LangChain4j, ADK, etc.) and the LLM
    // response is streamed back token-by-token through the session.
    @Prompt
    public void onMessage(String message, StreamingSession session) {
        session.stream(message);
    }

    // Slash command โ€” executed directly, no LLM call.
    // Auto-listed in /help. Works on every channel (web, Slack, Telegramโ€ฆ).
    @Command(value = "/status", description = "Show status")
    public String status() {
        return "All systems operational";
    }

    // confirm = "..." enables human-in-the-loop: the client must approve
    // before the method body runs. The virtual thread parks until approval.
    @Command(value = "/reset", description = "Reset data",
             confirm = "This will delete all data. Are you sure?")
    public String reset() {
        return dataService.resetAll();
    }

    // Registered as a tool the LLM can invoke during inference.
    // Also exposed as an MCP tool if atmosphere-mcp is on the classpath.
    @AiTool(name = "lookup", description = "Look up data")
    public String lookup(@Param("query") String query) {
        return dataService.find(query);
    }
}

What this registers depends on which modules are on the classpath:

Module on classpath What gets registered
atmosphere-agent (required) WebSocket endpoint at /atmosphere/agent/my-agent with streaming AI, conversation memory, /help auto-generation
atmosphere-mcp MCP endpoint at /atmosphere/agent/my-agent/mcp
atmosphere-a2a A2A endpoint at /atmosphere/agent/my-agent/a2a with Agent Card discovery
atmosphere-agui AG-UI endpoint at /atmosphere/agent/my-agent/agui
atmosphere-channels + bot token Same agent responds on Slack, Telegram, Discord, WhatsApp, Messenger
atmosphere-admin Admin dashboard at /atmosphere/admin/ with live event stream
(built-in) Console UI at /atmosphere/console/

Modules

Capability Module Key types
Streaming transports atmosphere-runtime WebTransport/HTTP3, WebSocket, SSE, long-polling, gRPC โ€” negotiated via AsyncSupport; Jetty 12 QUIC native or Reactor Netty HTTP/3 sidecar
Agent declaration atmosphere-agent @Agent, @Prompt, @Command, @AiTool, @RequiresApproval
AI runtimes atmosphere-ai + atmosphere-{spring-ai,langchain4j,adk,koog,embabel,semantic-kernel} AgentRuntime SPI; capability matrix pinned in AbstractAgentRuntimeContractTest
Multi-agent coordination atmosphere-coordinator @Coordinator, @Fleet, @AgentRef; parallel / sequential / conditional routing; coordination journal
Agent protocols atmosphere-mcp, atmosphere-a2a, atmosphere-agui auto-registered endpoints per @Agent
Channels atmosphere-channels Slack, Telegram, Discord, WhatsApp, Messenger dispatch from one @Command
Memory atmosphere-ai sliding window, LLM summarization; durable via atmosphere-durable-sessions (SQLite / Redis)
Checkpoints atmosphere-checkpoint CheckpointStore โ€” parent-chained snapshots, fork, resume by REST
Reconnect & replay atmosphere-durable-sessions + RunRegistry in atmosphere-ai clients reconnect with X-Atmosphere-Run-Id; AiEndpointHandler replays the mid-stream buffer to the new resource
Sandbox atmosphere-sandbox Sandbox / SandboxProvider; Docker default (--network none, argv-form exec, strict mount); ServiceLoader for Firecracker / Kata / E2B / Modal
Authentication atmosphere-runtime TokenValidator, TokenRefresher, AuthInterceptor โ€” rejects at WebSocket / HTTP upgrade
Admin control plane atmosphere-admin /atmosphere/admin/ UI, /api/admin/* REST, MCP tools; triple-gate (feature flag โ†’ Principal โ†’ ControlAuthorizer)
Flow viewer atmosphere-admin GET /api/admin/flow โ€” JSON graph keyed by coordinationId (nodes, edges, success / failure / avg duration)
Grounded facts atmosphere-ai FactResolver SPI, per-turn; values escaped before prompt injection
Business tags atmosphere-ai BusinessMetadata โ†’ SLF4J MDC (tenant, customer, session, event kind)
Guardrails atmosphere-ai PiiRedactionGuardrail, OutputLengthZScoreGuardrail (tenant-partitioned), CostCeilingGuardrail
Stream-level PII rewrite atmosphere-ai PiiRedactionFilter โ€” BroadcasterFilter auto-installed on every present and future broadcaster when enabled; rewrites tokens before bytes flush to the client
Cost enforcement atmosphere-ai CostCeilingAccountant bridges TokenUsage โ†’ CostCeilingGuardrail.addCost keyed by business.tenant.id; outbound @Prompt blocks once the tenant hits budget
Observability atmosphere-runtime, atmosphere-ai OpenTelemetry spans, Micrometer metrics, token usage; BusinessMdcBenchmark pins the MDC hot-path cost
Permission modes atmosphere-ai PermissionMode.DEFAULT / PLAN / ACCEPT_EDITS / BYPASS / DENY_ALL โ€” runtime config, not redeploy
Evaluation atmosphere-ai-test LlmJudge (meetsIntent, isGroundedIn, hasQuality); AbstractAgentRuntimeContractTest pins the capability matrix per runtime
Skill files atmosphere-agent Markdown system prompts with tool / guardrail / channel sections; classpath-discovered

The AI-runtime capability matrix โ€” which runtimes ship tool calling, structured output, multi-modal input, prompt caching, embeddings, retry โ€” lives in modules/ai/README.md and is enforced by AbstractAgentRuntimeContractTest.expectedCapabilities(), so the matrix and the runtime code cannot drift.

Client โ€” atmosphere.js

npm install atmosphere.js
import { useStreaming } from 'atmosphere.js/react';

function Chat() {
  const { fullText, isStreaming, send } = useStreaming({
    request: {
      url: '/atmosphere/agent/my-agent',
      transport: 'webtransport',         // HTTP/3 over QUIC
      fallbackTransport: 'websocket',    // auto-fallback
    },
  });
  return <p>{fullText}</p>;
}

React, Vue, Svelte, and React Native bindings available. For Java/Kotlin clients, see wAsync โ€” async WebSocket, SSE, long-polling, and gRPC client, shipped in-tree.

Samples

Sample Description
startup team @Coordinator with 4 A2A specialist agents
dentist agent Commands, tools, skill file, Slack + Telegram
ai-tools Framework-agnostic tool calling + approval gates
orchestration-demo Agent handoffs and approval gates
chat Room protocol, presence, WebTransport/HTTP3
ai-chat AI chat with auth, WebTransport, caching
mcp-server MCP tools, resources, prompts
rag-chat RAG with knowledge base search tools
a2a-agent A2A assistant with weather/time tools
agui-chat AG-UI framework integration
durable-sessions SQLite/Redis session persistence
checkpoint-agent Durable HITL workflow โ€” @Coordinator + CheckpointStore + REST approval
ai-classroom Multi-room collaborative AI
channels-chat Slack, Telegram, WhatsApp, Messenger
personal-assistant @Coordinator + AgentFleet over InMemoryProtocolBridge, @AiTool โ†’ crew dispatch, OpenClaw workspace
coding-agent Docker Sandbox provider โ€” clone, read, stream real file bytes to the client

All samples ยท atmosphere install for interactive picker ยท atmosphere compose to scaffold multi-agent projects ยท CLI reference

Getting Started

<!-- Spring Boot 4.0 starter -->
<dependency>
    <groupId>org.atmosphere</groupId>
    <artifactId>atmosphere-spring-boot-starter</artifactId>
    <version>${atmosphere.version}</version>
</dependency>

<!-- Agent module (required for @Agent, @Coordinator) -->
<dependency>
    <groupId>org.atmosphere</groupId>
    <artifactId>atmosphere-agent</artifactId>
    <version>${atmosphere.version}</version>
</dependency>

Optional: atmosphere-ai, atmosphere-spring-ai, atmosphere-langchain4j, atmosphere-adk, atmosphere-koog, atmosphere-embabel, atmosphere-semantic-kernel, atmosphere-mcp, atmosphere-a2a, atmosphere-agui, atmosphere-channels, atmosphere-coordinator, atmosphere-admin. Add to classpath and features auto-register.

Requirements: Java 21+ ยท Spring Boot 4.0.5+ or Quarkus 3.31.3+ ยท Current release: see the Maven Central badge above

Documentation

Tutorial ยท Full docs ยท CLI ยท Javadoc ยท Samples

Support

Commercial support and consulting available through Async-IO.org.

Companion Projects

Project Description
atmosphere-skills Curated agent skill files โ€” personality, tools, guardrails
homebrew-tap Homebrew formulae for the Atmosphere CLI
javaclaw-atmosphere Atmosphere chat transport plugin for JavaClaw

License

Apache 2.0 โ€” @Copyright 2008-2026 Async-IO.org

Release History

VersionChangesUrgencyDate
atmosphere-4.0.63 ### Added - offline-queue badge with queued suffixes and WT-to-WS fallback resubscribe - Rooms + Observability tabs; spring-boot-chat converted Framework-owned /api/admin/rooms over RoomManager + hasRooms/hasActuator gates; room dialect fixes (join latched until subscribe resolves, protocol/tracking framing off, RoomMember-shaped join_ack); presence, cross-member delivery, both tabs browser-proven over WebTransport - room picker, presence, Room Protocol; classroom converted console-endpoints rHigh7/17/2026
atmosphere-4.0.61 ### Added - governance as a learning signal โ€” Prefer decision, feedback loop, durable recall PolicyDecision.Prefer soft-preference + native preference type + GovernanceFeedbackInterceptor (re-injects deny/prefer guidance into the turn) + opt-in durable provenance memory across Spring/Quarkus/bare-JVM; real-LLM sample (spring-boot-ai-chat) + Ollama e2e; console PREFER view; real-LLM CI consolidated on Ollama. - tool-output disk offload + composite AgentFileSystem routing Large built-in tool resHigh7/7/2026
atmosphere-4.0.59 ### Added - screen long-term-memory writes for injection by default harden coverage evidence gate; relabel opt-in OWASP/compliance rows honestly ### Changed - bump Spring Boot, LangChain4j, Embabel, ADK, Spring AI Alibaba Embabel 0.5.0 adds EmbeddingService.pricingModel; test stub reports ALL_YOU_CAN_EAT. - record coverage-overstatement drift + self-referential-gate rule - add obsidian skills + atmosphere-vault docs routing - align capability comment, sample runtime defaults, and XSS skip noHigh6/27/2026
atmosphere-4.0.55 ### Added - **Static verifier over MCP.** The plan-and-verify ("Guardians") stack is reachable as read-only MCP tools when `atmosphere-verifier` is on the classpath: `atmosphere_verifier_summary`, `atmosphere_verifier_examples`, and `atmosphere_verifier_check`. The check tool plans a goal and runs every verifier over the resulting plan **without executing it** (status `verified`/`refused` with the per-verifier violations); the mutating verify-then-execute path stays behind the admiHigh6/18/2026
atmosphere-4.0.54 ### Added - **Rich human-in-the-loop approval payloads.** A reviewer can now resolve a tool approval with more than approve/deny: **approve-with-edited-arguments** (the tool runs with the reviewer's arguments) or **respond** (the reviewer answers on the tool's behalf โ€” structured JSON or free-form text โ€” and the tool does not run). Wire protocol: `/__approval/<id>/approve {"arguments":{โ€ฆ}}` and `/__approval/<id>/respond {โ€ฆ}`. Fail-safe: a malformed edited-args payload denies. SessiHigh6/13/2026
atmosphere-4.0.52 ### Added - **MCP authorization now validates bearer tokens end-to-end.** A request is authenticated when either a servlet resource-server filter set the request principal (e.g. Spring Security `oauth2ResourceServer`) **or** a configured `TokenValidator` accepts the `Authorization: Bearer` token (loaded from `org.atmosphere.auth.tokenValidator`, validated by `atmosphere-mcp` itself โ€” no framework-specific wiring). The RFC 9728 metadata is now served on the agent registration path tooHigh6/8/2026
atmosphere-4.0.50 ### 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`, High6/5/2026
atmosphere-4.0.49 ### 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_REHigh5/28/2026
atmosphere-4.0.48 ### 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/poHigh5/25/2026
atmosphere-4.0.47 ### 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.High5/21/2026
atmosphere-4.0.46 ### 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 High5/16/2026
atmosphere-4.0.45 ### 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 contractHigh5/13/2026
atmosphere-4.0.44 ### 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` decoratorHigh5/8/2026
atmosphere-4.0.42 ### 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 (refuseHigh5/1/2026
atmosphere-4.0.41 ### 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,ListHigh4/29/2026
atmosphere-4.0.40 ## โœจ 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-High4/24/2026
atmosphere-4.0.39 ## โœจ Added - **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.** - **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 @Prompt dispatcherHigh4/20/2026
atmosphere-4.0.38 ## โœจ Added - **reinstate PromptCacheDemoChat now that 4.0.37 is on Central** ## ๐Ÿ› Fixed - port CoordinationJournal bridge auto-config - LocalAgentTransport resolves agents lazily to avoid startup race Candidate paths walked on every call; checkpoint-agent sample pulls atmosphere-a2a so @Agent handlers land at a resolvable A2A path. - stop processor-owned journals on framework shutdown - propagate coordinator name as JournalingAgentFleet.coordinationId Canonical id replaces UUID so REST filterHigh4/15/2026
atmosphere-4.0.37 ## โœจ Added - **4.0.36 e2e coverage sweep + framework fixes from audit Ten gap specs, two samples, five framework fixes (checkpoint/cache/binary/capability/HITL).** - **rewrite cloned sample pom.xml for standalone compile Drops relativePath so atmosphere-project parent resolves from Maven Central, pins SNAPSHOT to release, skips repo-local checkstyle/pmd.** - **runtime capability honesty pass โ€” 7 runtimes declare honest capabilities** - **clone samples for 'atmosphere new' instead of mustache teHigh4/14/2026
atmosphere-4.0.36 ## โœจ Added - **InMemoryResponseCache.purgeExpired for eager TTL reclamation Documents the LRU-vs-TTL interaction (expired entries occupy slots until touched) and adds a walk-once purgeExpired() so callers who schedule a background sweeper can reclaim dead slots eagerly. Default lazy-on-get path stays zero-overhead.** - **Tier-1 Ollama real-LLM workflow with structural assertions New e2e-real-llm.yml workflow runs against a local Ollama service container with qwen2.5:0.5b. Covers basic chat throMedium4/13/2026
atmosphere-4.0.35 ## โœจ Added - **build SDKMAN-compatible archive and attach to GitHub Release** ## ๐Ÿ› Fixed - plexus-utils 4.0.3 override, CodeQL XSS sanitizer hints - skip NPM publish when atmosphere.js version already published ## ๐Ÿ”ง Changed - vendor submission kit โ€” publish script and onboarding guide - bump version to 4.0.34 - prepare for next development iteration 4.0.35-SNAPSHOT **Full Changelog**: https://github.com/Atmosphere/atmosphere/compare/atmosphere-4.0.34...atmosphere-4.0.35 High4/10/2026
atmosphere-4.0.34 ## โœจ Added - **add validation gates for unchecked returns + no-op tests Architectural validation now fails on unchecked offer() and expect(true).toBe(true). Fixed 4 offer() calls (use add() or check return). Replaced 4 no-op specs with test.skip().** - **bundle atmosphere-skills as classpath JAR for CI reliability** - **migrate all skills to atmosphere-skills registry, remove local prompts** - **SkillFileLoader with GitHub fallback + SHA-256 integrity, AgentRuntime.generate() PromptLoader.loadSMedium4/10/2026
atmosphere-4.0.33 ## ๐Ÿ› Fixed - rename release.yml back to release-4x.yml (NPM OIDC path-sensitive) ## ๐Ÿ”ง Changed - bump version to 4.0.32 - prepare for next development iteration 4.0.33-SNAPSHOT **Full Changelog**: https://github.com/Atmosphere/atmosphere/compare/atmosphere-4.0.32...atmosphere-4.0.33 High4/8/2026
atmosphere-4.0.32 ## โœจ Added - **add JettyHttp3AsyncSupport โ€” native HTTP/3 via Jetty 12 QUIC connector** - **support container-managed executor injection via atmosphereExecutor bean** - **full Quarkus auto-configuration for admin control plane JAX-RS AdminResource with all REST endpoints, CDI AdminProducer for AtmosphereAdmin bean, admin dashboard HTML, and build step for reflection and bean registration** - **port admin auto-config to SB4 starter (default) Admin dashboard, REST API, metrics, and event stream nMedium4/8/2026
atmosphere-4.0.31 ## โœจ Added - **migrate to JReleaser for Maven Central deploys** ## ๐Ÿ”ง Changed - add 19 Playwright E2E specs from gap analysis - bump version to 4.0.30 - prepare next development version 5.0.22 - prepare for next development iteration 4.0.31-SNAPSHOT **Full Changelog**: https://github.com/Atmosphere/atmosphere/compare/atmosphere-4.0.30...atmosphere-4.0.31 Medium4/4/2026
atmosphere-4.0.30 ## ๐Ÿ› Fixed - skip javadoc for Quarkus extension (broken module descriptors) - replace flaky setTimeout waits with vi.waitFor in WebTransport tests - add metadata and flatten plugin to Quarkus extension POMs - remaining concurrency audit items (M2,M7,M8,M12,L1,L3,L10) - thread safety audit across all modules ## ๐Ÿ”ง Changed - modernize Java 21 patterns and add unit tests - bump version to 4.0.29 - prepare next development version 5.0.21 - prepare for next development iteration 4.0.30-SNAPSHOT *Medium4/4/2026
atmosphere-4.0.29 ## โœจ Added - **add `atmosphere compose` to generate multi-agent projects from skill files Interactive wizard + JBang generator produces multi-module Maven projects with @Coordinator, @Fleet, A2A agents, docker-compose. 23 unit tests + 3 E2E tests (a2a-docker, single-jar, local).** - **add E2E tests for agent and multiagent over WebTransport Enable WebTransport on ai-tools and multi-agent samples, fix info controller** - **migrate a2a-agent and grpc-chat to shared atmosphere.js/chat UI Replace cMedium4/2/2026
atmosphere-4.0.28 ## โœจ Added - **serve agent cards at /.well-known/agent.json for discovery** - **markdown rendering in tool cards, async stream fix** - **add Connect-Web frontend and browser-compatible RPCs** - **migrate from Jackson 2.x to Jackson 3.1.0** - **render structured output JSON as formatted fields, handle entity-complete events** - **enforce channel routing validation and export guardrails metadata** - **responseAs, journalFormat, PostPromptHook; comment ADK for OpenAI-compat use** - **add fake LLM Medium3/28/2026
atmosphere-4.0.27 ## โœจ Added - **annotation processing priority for processor ordering @AtmosphereAnnotation(priority=100) defers processing until all default-priority (0) processors complete** - **add tool-start/tool-result rendering for agent collaboration cards Built-in Vue console now shows each agent's work (Web Search, Strategy, Finance, Writer) before CEO synthesis** - **add multi-agent coordination module @Coordinator/@Fleet/@AgentRef annotations, AgentFleet injection, local+A2A transport, 40 tests, CeoCMedium3/26/2026
atmosphere-4.0.26 ## โœจ Added - **trusted skill sources, remote import tests for 3 repos** - **console auto-detects @Agent endpoint, fix CLI version template** - **auto-discover skill files from META-INF/skills/ on classpath** - **add import plugin system (--target) for extensible skill scaffolding** - **atmosphere import and skills commands** ## ๐Ÿ› Fixed - update AdkEventAdapter test for multi-emit behavior - ADK turnComplete truncation, CEO port detection, dentist langchain4j deps - add missing atmosphere-mcp Medium3/25/2026
atmosphere-4.0.25 ## โœจ Added - **unify annotations between @Agent and @ManagedService** ## ๐Ÿ”ง Changed - show protocol annotations directly on @ManagedService - unit tests for annotation unification (46 tests) - multi-agent hero, unified protocol matrix, samples table, MCP migration example - use LLM_API_KEY, remove tagline date - use LLM_API_KEY, remove Since 2008 section - rewrite README with multi-agent hero and unified transport/protocol matrix - bump version to 4.0.24 - prepare next development version 5.0.Medium3/25/2026
atmosphere-4.0.24 ## โœจ Added - **remove @McpServer/@AgUiEndpoint, upgrade LangChain4j to 1.12.2** - **unified @Agent, rename @A2aSkill to @AgentSkill, multi-agent sample** - **unified @Agent with headless mode, remove @A2aServer and fake multi-agent sample** - **add multi-agent startup team with 5 AI agents collaborating via WebSocket** - **unified AI Console across all samples with logo, subtitle, and dark theme** - **add @Agent + @Command module, samples, and streaming fixes** - **add Atmosphere logo to AI ConMedium3/25/2026
atmosphere-4.0.23 ## โœจ Added - **add ChannelFilter chain with MessageSplitting and AuditLogging** - **auto-bridge channels to @AiEndpoint when atmosphere-ai is present** - **wire Discord auto-config + 28 signature/parsing tests** - **add Discord Gateway adapter (ported from Canot)** - **add omnichannel AI chat sample (Web + Telegram + Slack + Discord + WhatsApp)** - **add Discord, WhatsApp, and Messenger adapters** - **add Telegram + Slack messaging channels (ported from Canot)** ## ๐Ÿ› Fixed - handle Slack URL Low3/22/2026
atmosphere-4.0.22 ## โœจ Added - **add Discord Gateway adapter (ported from Canot)** ## ๐Ÿ› Fixed - harden modules for virtual thread safety and production readiness - use ReentrantLock instead of synchronized to avoid virtual thread pinning - harden AI and MCP modules for production readiness - prevent path traversal in console resource filter - prevent BufferUnderflowException in JSR356Endpoint binary message handler ## ๐Ÿ”ง Changed - remove channels module accidentally committed to main - add Embacle to built-inLow3/22/2026
atmosphere-4.0.21 ## โœจ Added - **zero-code AI auto-config, built-in chat console, and atmosphere-bom** ## ๐Ÿ› Fixed - add spring-boot-ai-console to release exclusions, use BOM in root README - cast int to long before bit-shifting in ClassFileBuffer.readLong() ## ๐Ÿ”ง Changed - update AI provider comment to mention Embacle CLI support - move AI adapters line to intro paragraph, trim core abstractions - restructure README quick start with zero-code AI, @AiEndpoint, and @ManagedService - replace ManagedService quickLow3/20/2026
atmosphere-4.0.20 ## โœจ Added - **add A2A, AG-UI protocol modules and atmosphere-protocol-common** - **prepare create-atmosphere-app for npm publish** ## ๐Ÿ› Fixed - wait for HTTP readiness after port open in E2E sample-server - pass realistic maxMessages to SummarizingStrategy in E2E test ## ๐Ÿ”ง Changed - exclude new samples from release deploy (a2a-agent, agui-chat, rag-chat) - add A2A and AG-UI to main README modules table and agent protocols section - add CLI install tests for curl, npx, and brew on macOS + LLow3/19/2026
atmosphere-4.0.19 ## โœจ Added - **add tool-activity panel to adk-tools and langchain4j-tools** - **add Playwright tests for all 17 samples** - **add Playwright e2e tests to CLI build matrix** - **build-from-source distribution, replace pre-built JAR downloads** - **add AI testing framework with AiTestClient, AiResponse, and fluent assertions** - **auto-emit tool events from ToolRegistry, update generator templates** - **demonstrate AiEvent tool events, capability validation, and event streaming** - **add memory sLow3/18/2026
atmosphere-4.0.14 ## โœจ Added - **add auth, offline queue, history cache, typing indicators, and optimistic updates** - **scaffold complete runnable projects with handler, encoder, decoder, and chat UI** - **add interactive sample installer with fzf/numbered-menu picker** - **add Atmosphere CLI, npx launcher, Homebrew formula, and release workflow** - **add shared frontend and Playwright E2E tests for RAG chat sample** - **add ServiceLoader discovery for MicrometerAiMetrics and top-level tracing** - **expand PlayLow3/14/2026
atmosphere-4.0.13 ## ๐Ÿ› Fixed - stash unstaged changes before rebase in release workflow - use recursive docs/ path in release commit step - adapt GrpcProcessor to Action record API - sync version constant with package.json and eliminate hardcoded version - fix contract violations in Response, Request, and diagnostics ## ๐Ÿ”ง Changed - fix doc version drift and automate version updates in release pipeline - extract shared hook lifecycle and expose manual controls - extract NoOpsRequest and stream adapters from AtLow3/12/2026
atmosphere-4.0.11 ### Fixed - **WebSocket XSS sanitization bypass.** Disabled HTML sanitization for WebSocket transport โ€” HTML-encoding JSON in WebSocket frames broke the AI streaming wire protocol. - **XSS and insecure cookie hardening.** Sanitize HTML output in write methods and set the `Secure` flag on cookies over HTTPS. ### Changed - **Token โ†’ Streaming Text rename.** All AI module APIs, javadoc, and the atmosphere.js client now use "streaming text" instead of "token" to describe LLM output chuLow3/11/2026
atmosphere-4.0.10React Native support, per-endpoint model routing, and architectural validation. ## โœจ Added - **React Native / Expo support** in atmosphere.js โ€” RN hooks, EventSource polyfill, NetInfo injection, and a complete Expo classroom sample app with markdown rendering - **Per-endpoint model override** โ€” `@AiEndpoint(model = "...")` allows different endpoints to use different LLM models without changing global config - **Auto-registered broadcast filters** โ€” new `filters()` attribute on `@AiEndpoint` enaLow3/5/2026
atmosphere-4.0.9Framework-agnostic AI tool calling and conversation cache replay. ## โœจ Added - **`@AiTool` annotation** โ€” framework-agnostic tool calling pipeline that works across Spring AI, LangChain4j, and standalone deployments. Includes sample, tests, and documentation. - **Generator `--tools` flag** โ€” scaffolds `@AiTool` methods for ai-chat handler variants - **AI cache replay coalescing** โ€” reconnecting clients receive coalesced cache replay to avoid duplicate token delivery - **`TokenBudgetManager`** โ€”Low3/4/2026
atmosphere-4.0.8Project generator, `fetch` API migration, and comprehensive E2E test suite. ## โœจ Added - **Project generator** (`atmosphere-generator`) โ€” scaffolds new Atmosphere projects with 31 JUnit 5 tests, shell integration tests, and CI workflow - **13 E2E test specs** covering transport (SSE, long-polling, fallback), security (XSS, auth), resilience (reconnection, ordering), payloads, and OpenTelemetry streaming DOM validation ## ๐Ÿ› Fixed - **Long-polling POST handling** and large-payload test failuresLow3/2/2026
atmosphere-4.0.7AI conversation memory, zero-warning enforcement, and developer experience improvements. ## โœจ Added - **`AiConversationMemory` SPI** โ€” multi-turn conversation support for AI endpoints - **Auto-configured LLM clients** โ€” framework-level LLM clients configured automatically from `AiConfig` environment variables - **Pre-push validation hook** โ€” blocks `git push` unless the build passes ## ๐Ÿ› Fixed - **AI unicast** โ€” tokens are now unicast to the originating resource instead of broadcasting to allLow3/1/2026
atmosphere-4.0.6Advanced AI features: filters, fanout, caching, routing, and budget management. ## โœจ Added - **AI filter pipeline** โ€” composable filters for token streams: fanout, caching, routing, and budget enforcement - **Cache listener coalescing** โ€” batches cache notifications to reduce overhead - **Cost/latency routing rules** โ€” route LLM requests by cost and latency characteristics - **25 Playwright E2E tests** for all 5 AI features - **Playwright E2E job** added to CI workflow ## ๐Ÿ› Fixed - **Durable Low2/27/2026
atmosphere-4.0.5MCP tracing, Spring AI advisors, and multiple framework fixes. ## โœจ Added - **OpenTelemetry tracing for MCP** โ€” tool/resource/prompt calls traced with spans and attributes - **Spring Boot auto-configuration for `McpTracing`** + new OTel chat sample - **Spring AI advisor and customizer support** in `SpringAiStreamingAdapter` ## ๐Ÿ› Fixed - **Object factory ordering** โ€” re-configure object factory after init-params are loaded, fixing injection failures - **Action-type reset** โ€” restored and fixedLow2/26/2026
atmosphere-4.0.4New wAsync Java client, AI retry support, and full JUnit 5 migration. ## โœจ Added - **wAsync Java HTTP client** (`atmosphere-wasync`) โ€” powered by `java.net.http`, supports WebSocket, SSE, HTTP streaming, and long-polling transports with E2E integration tests - **AI retry with exponential backoff** โ€” automatic retry for LLM API calls with configurable backoff policy ## ๐Ÿ”ง Changed - **All tests migrated to JUnit 5** โ€” TestNG removed from the entire codebase - **Dependency versions centralized** Low2/24/2026
atmosphere-4.0.3Room protocol fixes, `RawMessage` API, and Playwright E2E test coverage. ## ๐Ÿ› Fixed - **Room protocol broadcast bug** โ€” `DefaultRoom.broadcast()` now wraps messages in `RawMessage` to bypass `@Message` decoder mangling. Room JSON envelopes (join/leave/message events) are delivered intact to clients. - **`enableHistory()` NPE** โ€” `UUIDBroadcasterCache` is now properly configured before use, preventing `NullPointerException` when room history is enabled. - **Native image build** โ€” Spring Boot saLow2/22/2026
atmosphere-4.0.2AI streaming and sample application fixes. ## ๐Ÿ› Fixed - **AI token broadcast** โ€” tokens now broadcast to all subscribed clients, not just the sender - **Room protocol** โ€” added missing `org.json` dependency for Room protocol message parsing - **Duplicate React instances** โ€” resolved across all sample frontends - **`trackMessageLength`** โ€” corrected for each server configuration - **Members display** โ€” fixed and added local message echo in chat samples - **Central Publishing** โ€” skip Central puLow2/22/2026
atmosphere-4.0.1Post-release polish and cleanup following the 4.0.0 launch. ## ๐Ÿ› Fixed - **`configureMetaBroadcaster` restored** โ€” method accidentally removed during the 4.0 refactor - **Sample version alignment** โ€” all samples aligned to 4.0.1-SNAPSHOT - **CI release workflow** โ€” added missing sample modules to reactor and GitHub Packages publishing - **Embabel dependency** โ€” now uses Embabel 0.3.4 release from repo.embabel.com ## ๐Ÿ”ง Changed - **JSONP transport removed entirely** โ€” dead transport cleaned ouLow2/20/2026
atmosphere-4.0.0Atmosphere 4.0 is a **ground-up rewrite** of the framework for **JDK 21+** and **Jakarta EE 10**. It keeps the annotation-driven programming model and transport abstraction from prior versions, and adds support for virtual threads, AI/LLM streaming, rooms and presence, native image compilation, and frontend framework bindings. This release succeeds the 2.x/3.x line (last release: 3.1.0 / 2.7.16). Applications migrating from 2.x or 3.x should consult the [Migration Guide](https://github.com/AtmoLow2/20/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

wanakuWanaku MCP Routerv0.2.0
mcp-meshEnterprise-grade distributed AI agent framework | Develop โ†’ Deploy โ†’ Observe | K8s-native | Dynamic DI | Auto-failover | Multi-LLM | Python + Java + TypeScriptv3.2.2
agenttel-sdkAgent-ready telemetry SDK โ€” enriches OpenTelemetry across Java, Go, Python, Node.js, and browser with structured context for AI-driven observability.v0.3.0-alpha
yu-ai-agent็ผ–็จ‹ๅฏผ่ˆช 2025 ๅนด AI ๅผ€ๅ‘ๅฎžๆˆ˜ๆ–ฐ้กน็›ฎ๏ผŒๅŸบไบŽ Spring Boot 3 + Java 21 + Spring AI ๆž„ๅปบ AI ๆ‹็ˆฑๅคงๅธˆๅบ”็”จๅ’Œ ReAct ๆจกๅผ่‡ชไธป่ง„ๅˆ’ๆ™บ่ƒฝไฝ“YuManus๏ผŒ่ฆ†็›– AI ๅคงๆจกๅž‹ๆŽฅๅ…ฅใ€Spring AI ๆ ธๅฟƒ็‰นๆ€งใ€Prompt ๅทฅ็จ‹ๅ’Œไผ˜ๅŒ–ใ€RAG ๆฃ€็ดขๅขžๅผบใ€ๅ‘้‡ๆ•ฐๆฎๅบ“ใ€Tool Calling ๅทฅๅ…ท่ฐƒ็”จใ€MCP ๆจกๅž‹ไธŠไธ‹ๆ–‡ๅ่ฎฎใ€AI Agent ๅผ€ๅ‘ใ€Curs3.1.5
supersetCode Editor for the AI Agents Era - Run an army of Claude Code, Codex, etc. on your machinedesktop-v1.17.0

More in MCP Servers

supersetCode Editor for the AI Agents Era - Run an army of Claude Code, Codex, etc. on your machine
kreuzbergA polyglot document intelligence framework with a Rust core. Extract text, metadata, images, and structured information from PDFs, Office documents, images, and 91+ formats. Available for Rust, Python
ai-engineering-from-scratchLearn it. Build it. Ship it for others.
CodeGraphContextAn MCP server plus a CLI tool that indexes local code into a graph database to provide context to AI assistants.