Skip to content

Releases: Atmosphere/atmosphere

Atmosphere 4.0.26

25 Mar 22:49
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

✨ 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 dep to dentist-agent
  • last echo to printf in tool loop to prevent backslash mutation
  • printf over echo for content, writable tmpdir fallback, test false-green
  • ensure cache dir for local files, use printf over echo
  • write tool stubs to file to avoid subshell variable loss
  • POSIX sh compat, numeric names, backslash escaping, shift guard
  • sanitize imports, path traversal, GitHub URL normalization
  • correct imports, model, Spring Boot version, add a2a/mcp deps

🔧 Changed

  • add channels-chat e2e tests, fix repackage plugin
  • add dentist agent e2e tests — 9 specs covering commands, streaming, MCP
  • complete annotation reference with all 23 SPI/config annotations
  • portability bullets, Broadcaster annotation, npx install, client links
  • add portability bullets, fix Broadcaster annotation, link Vue/Svelte/RN
  • clarify LLM backend portability and no-lock-in story
  • annotation reference, 3.x compat table, LLM backend value props
  • skills ecosystem in README, import/skills/trusted sources in CLI docs
  • 33 tests for atmosphere import command
  • bump version to 4.0.25
  • prepare next development version 5.0.17
  • prepare for next development iteration 4.0.26-SNAPSHOT
  • fix missing Broadcaster injection in README example

Full Changelog: atmosphere-4.0.25...atmosphere-4.0.26

Atmosphere 4.0.25

25 Mar 17:05
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

✨ Added

🔧 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.16
  • prepare for next development iteration 4.0.25-SNAPSHOT

Full Changelog: atmosphere-4.0.24...atmosphere-4.0.25

Atmosphere 4.0.24

25 Mar 02:24
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

✨ 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 Console header

🐛 Fixed

  • handle empty find results in update-doc-versions.sh
  • update confirmation flow test for unicast command responses
  • update integration tests for unified @agent processor
  • restore missing run commands in release workflow
  • skip chat broadcast tests in MCP sample (headless @agent conflict)
  • P0-P2 fixes, MCP path registration, doc cleanup
  • update multi-agent test to match new headless log format
  • upgrade ai-tools sample to LangChain4j 1.12.2
  • make multi-agent test resilient to GEMINI_API_KEY presence in CI
  • lazy tool registration — rebuild ADK runner on first request with tools
  • skip remaining broken console tests for ai-chat and ai-tools
  • fix all remaining demo assertions and skip broken console tests
  • skip broken console tests, replace demo assertions with generic checks
  • replace demo-specific text assertions with generic response checks
  • force A2A agent to demo mode, tests verify protocol not LLM
  • loosen assertions for a2a-agent and history-cache with real API
  • pass GEMINI_API_KEY secret to E2E test runner
  • include atmosphere SNAPSHOT artifacts in E2E build cache
  • use tar -m to prevent Maven recompilation in E2E jobs
  • include modules/*/target in E2E build artifact for exec:java

🔧 Changed

  • consolidate samples — remove 9 redundant, update all references
  • rename multi-agent to startup-advisor for accuracy
  • consolidate test suites, add build caching and WS readiness probe
  • split E2E into separate workflow, fix mcp-tools browser test
  • split E2E into 7 parallel matrix jobs for faster feedback
  • replace module list with one-liner link to docs
  • move channel matrix to docs/channels.md, slim README
  • add --skill-file example, trim description
  • clean up stale overlays, add sample READMEs, update release exclusions
  • link to channel bot setup tutorial
  • rebrand README with @agent as first-class citizen
  • prepare next development version 5.0.15
  • prepare for next development iteration 4.0.24-SNAPSHOT

Full Changelog: atmosphere-4.0.23...atmosphere-4.0.24

Atmosphere 4.0.23

22 Mar 20:31
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

✨ 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 verification challenge in webhook controller
  • add explicit @PathVariable name for Spring Boot 4 compatibility
  • address code review — security, threading, and design fixes

🔧 Changed

  • add channels-chat sample to CLI registry and release exclusions
  • prepare next development version 5.0.14
  • prepare for next development iteration 4.0.23-SNAPSHOT

Full Changelog: atmosphere-4.0.22...atmosphere-4.0.23

Atmosphere 4.0.22

22 Mar 14:26
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

✨ 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-in backends table, remove CLI-powered LLM section
  • condense modules, requirements, and docs sections in root README
  • improve zero-code AI description
  • add brew install to zero-code AI demo section
  • update support section in root README
  • collapsible React/Vue/Svelte/React Native client examples in README
  • replace BOM XML with one-liner CLI command in zero-code AI section
  • add React/Vue/Svelte client examples for AI streaming in root README
  • lead README with zero-code AI demo, move JBang above modules
  • Merge pull request #2551 from Atmosphere/dependabot/npm_and_yarn/atmosphere.js/npm_and_yarn-67fcbebea9
  • Merge pull request #2554 from Atmosphere/cli-version-bump-4.0.21
  • Improve README formatting and structure
  • bump version to 4.0.21
  • prepare next development version 5.0.13

Full Changelog: atmosphere-4.0.21...atmosphere-4.0.22

Atmosphere 4.0.21

20 Mar 19:22
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

✨ 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 quick start with zero-code AI demo in root README
  • skip PMD on JDK 26 (ASM does not support class file version 70)
  • use Oracle distribution for JDK 26 (Temurin not yet available)
  • add JDK 26 to build matrix
  • add Playwright E2E tests for A2A agent and AG-UI chat samples
  • prepare next development version 5.0.12
  • prepare for next development iteration 4.0.21-SNAPSHOT

Full Changelog: atmosphere-4.0.20...atmosphere-4.0.21

Atmosphere 4.0.20

19 Mar 00:50
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

✨ 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 + Linux
  • bump version to 4.0.19
  • prepare next development version 5.0.11
  • prepare for next development iteration 4.0.20-SNAPSHOT

Full Changelog: atmosphere-4.0.19...atmosphere-4.0.20

Atmosphere 4.0.19

18 Mar 14:00
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

✨ 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 strategies, StructuredOutputParser, RAG enhancements, event bridging
  • add AiEvent sealed interface, identity fields, capability validation
  • add detail modals to all cards in both sections
  • add ./room, ./streaming, ./queue subpath exports
  • add AI streaming guide CTA alongside getting started
  • add Embabel and link all AI adapter vendors
  • add About section, deep-link capability cards, reorder sections

🐛 Fixed

  • use fallback git-add for optional paths in release workflow
  • remove stale docs/ from release git-add, use --ignore-missing
  • skip docs/ version update when directory is absent
  • add ConditionalOnBean to nested McpTracing config
  • rebuild frontend bundle to include ToolActivity component
  • fix ai-tools timing and adk-chat demo streaming
  • otel-chat uses simple connectivity tests (no Room Protocol)
  • catch Throwable from OTel SDK init (NoSuchMethodError)
  • gracefully handle OTel SDK init failure with noop fallback
  • isolate McpTracing auto-config to avoid NoClassDefFoundError
  • set SAMPLE env var in Playwright step for project discovery
  • increase message latch timeout to 20s for slow CI long-polling
  • revert byte-path sanitization that broke WebSocket JSON responses
  • isolate tests with per-room broadcasters to eliminate flaky CI failures
  • stabilize ChatIntegrationTest with proper inter-test cleanup
  • update adapter tests for AiEvent wire format
  • remove requires=TOOL_CALLING from ai-tools (built-in lacks it in demo mode)
  • populate identity fields in stream(), implement sendContent for binary
  • update test assertion for renamed ai-chat description
  • sanitize byte output paths for XSS (CodeQL alerts 19-24)

🔧 Changed

  • move website and docs to Atmosphere/atmosphere.github.io
  • move website deploy to atmosphere.github.io, add dispatch trigger
  • support workflow_dispatch with tag input for release-samples
  • add workflow_dispatch trigger to release-samples.yml
  • prepare next development version 5.0.10
  • prepare for next development iteration 4.0.16-SNAPSHOT
  • bump Jackson 2.18.3→2.18.6, Jetty 12.0.16→12.0.32 (CVE fixes)
  • add AiEvent, identity fields, MemoryStrategy to AI reference
  • add AiEvent, capability validation, memory strategies to tutorials and whats-new
  • update READMEs for @aiendpoint model, add generator contract tests
  • add Playwright specs for AiEvent, identity fields, memory strategies
  • AI-first cards, business-value reasons, all clickable
  • remove doc deep links, use value-focused copy throughout
  • document lock ordering, tighten catch blocks, add null guards
  • replace code example with 'Why developers choose Atmosphere' section

Full Changelog: atmosphere-4.0.14...atmosphere-4.0.19

Atmosphere 4.0.14

14 Mar 15:12
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

✨ 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 Playwright coverage to 4 samples with 15 tests Fix multi-browser bug in App.tsx and add multi-project Playwright infrastructure
  • add Micrometer observability and tracing session decorator
  • add bidirectional tool invocation bridge for server-to-client tool calls
  • add RAG context provider module with Spring AI and LangChain4j bridges

🐛 Fixed

  • use renamed SessionStats properties in AI chat frontend
  • prevent broadcaster cache from replaying user prompts on new connections Add BroadcasterCacheInspector to only cache RawMessage (AI responses), not String (user prompts)
  • send auth token from AI chat frontend and increase durable session timeout
  • enable reconnect for long-polling client in WAsync integration test
  • add spring-ai and adk modules to Samples CI install step
  • align RAG chat endpoint path and add actuator metrics support
  • update cache coalescing tests for streaming-text rename
  • update all JS bundles for streaming-text wire protocol rename
  • update AI integration tests for streaming-text wire protocol rename
  • wire MicrometerAiMetrics auto-discovery and top-level session tracing

🔧 Changed

  • add CLI section to main README with install, run, and npx examples
  • add 74-test CLI suite and add CLI/JBang sections to samples README
  • expand Playwright coverage across 11 sample specs with 24 new tests
  • update README to reflect auto-discovery and contextProviders attribute
  • add multi-sample broadcast and room test suites
  • add RAG module README and update docs for MCP bidirectional and observability
  • add Playwright WebSocket broadcast tests with 3 Chrome windows
  • unify AI adapters with AbstractAiSupport and shared tool utilities
  • prepare next development version 5.0.8
  • prepare for next development iteration 4.0.14-SNAPSHOT

Full Changelog: atmosphere-4.0.13...atmosphere-4.0.14

Atmosphere 4.0.13

12 Mar 22:53
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

🐛 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 AtmosphereRequestImpl
  • isolate container patching into ContainerPatcher with opt-out
  • centralize reflective type registry for Spring AOT and Quarkus native
  • use Duration for time-based configuration properties
  • decompose AtmosphereResponseImpl into ResponseWriter and metadata
  • replace boolean soup with LifecycleState in AtmosphereResourceImpl
  • extract lifecycle and membership from DefaultBroadcaster
  • extract init pipeline into FrameworkBootstrap
  • centralize annotation metadata into AtmosphereAnnotations registry
  • use Duration for time-based configuration properties
  • convert Body to sealed interface with StringBody, BytesBody, EmptyBody records
  • remove redundant method re-declarations from Request/Response interfaces
  • convert configureTransport to switch expression

Full Changelog: atmosphere-4.0.11...atmosphere-4.0.13