Skip to content

Commit 254d609

Browse files
committed
docs: scrub all <atmosphere.version> hardcoded 4.0.38 across 30+ files
Sweeps every tutorial, integration, reference, infrastructure, client, agent page: drops the <properties><atmosphere.version>4.0.38</atmosphere.version></properties> block and rewrites every \${atmosphere.version} reference to \${project.version}, matching the tutorial 13 pattern already in use. WAR deployment gets correct third-party versions (jakarta.inject-api 2.0.1, jackson-databind 3.1.1) instead of the 4.0.38 copy-paste. Semantic Kernel integration page pins the real library version (1.4.0) and its capability matrix now reflects TOOL_CALLING / TOOL_APPROVAL / PER_REQUEST_RETRY being declared after the SemanticKernelToolBridge + AbstractAgentRuntime.executeWithOuterRetry work landed — the "Deferred in 4.0.36" note was stale.
1 parent 7bf2c24 commit 254d609

31 files changed

Lines changed: 631 additions & 141 deletions

docs/src/content/docs/agents/embeddings.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,29 +53,25 @@ callers bypass the resolver and use the Built-in implementation unconditionally.
5353
Add the corresponding `atmosphere-*` dependency to your project:
5454

5555
```xml
56-
<properties>
57-
<atmosphere.version>4.0.38</atmosphere.version>
58-
</properties>
59-
6056
<!-- Spring AI embedding runtime (priority 200) -->
6157
<dependency>
6258
<groupId>org.atmosphere</groupId>
6359
<artifactId>atmosphere-spring-ai</artifactId>
64-
<version>${atmosphere.version}</version>
60+
<version>${project.version}</version>
6561
</dependency>
6662

6763
<!-- or LangChain4j (priority 190) -->
6864
<dependency>
6965
<groupId>org.atmosphere</groupId>
7066
<artifactId>atmosphere-langchain4j</artifactId>
71-
<version>${atmosphere.version}</version>
67+
<version>${project.version}</version>
7268
</dependency>
7369

7470
<!-- or Semantic Kernel (priority 180) -->
7571
<dependency>
7672
<groupId>org.atmosphere</groupId>
7773
<artifactId>atmosphere-semantic-kernel</artifactId>
78-
<version>${atmosphere.version}</version>
74+
<version>${project.version}</version>
7975
</dependency>
8076
```
8177

docs/src/content/docs/clients/java.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,10 @@ Supports **WebSocket**, **Server-Sent Events (SSE)**, **HTTP Streaming**, **Long
1212
## Maven Coordinates
1313

1414
```xml
15-
<properties>
16-
<atmosphere.version>4.0.38</atmosphere.version>
17-
</properties>
18-
1915
<dependency>
2016
<groupId>org.atmosphere</groupId>
2117
<artifactId>atmosphere-wasync</artifactId>
22-
<version>${atmosphere.version}</version>
18+
<version>${project.version}</version>
2319
</dependency>
2420
```
2521

docs/src/content/docs/infrastructure/kafka.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,10 @@ Cross-node broadcasting via Kafka. Messages broadcast on one node are delivered
1010
## Maven Coordinates
1111

1212
```xml
13-
<properties>
14-
<atmosphere.version>4.0.38</atmosphere.version>
15-
</properties>
16-
1713
<dependency>
1814
<groupId>org.atmosphere</groupId>
1915
<artifactId>atmosphere-kafka</artifactId>
20-
<version>${atmosphere.version}</version>
16+
<version>${project.version}</version>
2117
</dependency>
2218
```
2319

docs/src/content/docs/infrastructure/redis.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,10 @@ Cross-node broadcasting via Redis pub/sub. Messages broadcast on one node are de
1010
## Maven Coordinates
1111

1212
```xml
13-
<properties>
14-
<atmosphere.version>4.0.38</atmosphere.version>
15-
</properties>
16-
1713
<dependency>
1814
<groupId>org.atmosphere</groupId>
1915
<artifactId>atmosphere-redis</artifactId>
20-
<version>${atmosphere.version}</version>
16+
<version>${project.version}</version>
2117
</dependency>
2218
```
2319

docs/src/content/docs/integrations/adk.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,10 @@ Bridges [Google Agent Development Kit (ADK)](https://github.com/google/adk-java)
1010
## Maven Coordinates
1111

1212
```xml
13-
<properties>
14-
<atmosphere.version>4.0.38</atmosphere.version>
15-
</properties>
16-
1713
<dependency>
1814
<groupId>org.atmosphere</groupId>
1915
<artifactId>atmosphere-adk</artifactId>
20-
<version>${atmosphere.version}</version>
16+
<version>${project.version}</version>
2117
</dependency>
2218
```
2319

docs/src/content/docs/integrations/embabel.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,10 @@ description: "AgentRuntime backed by Embabel AgentPlatform"
1010
## Maven Coordinates
1111

1212
```xml
13-
<properties>
14-
<atmosphere.version>4.0.38</atmosphere.version>
15-
</properties>
16-
1713
<dependency>
1814
<groupId>org.atmosphere</groupId>
1915
<artifactId>atmosphere-embabel</artifactId>
20-
<version>${atmosphere.version}</version>
16+
<version>${project.version}</version>
2117
</dependency>
2218
```
2319

docs/src/content/docs/integrations/koog.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,10 @@ description: "AgentRuntime backed by JetBrains Koog — Kotlin-native AI framewo
1010
## Maven Coordinates
1111

1212
```xml
13-
<properties>
14-
<atmosphere.version>4.0.38</atmosphere.version>
15-
</properties>
16-
1713
<dependency>
1814
<groupId>org.atmosphere</groupId>
1915
<artifactId>atmosphere-koog</artifactId>
20-
<version>${atmosphere.version}</version>
16+
<version>${project.version}</version>
2117
</dependency>
2218
```
2319

docs/src/content/docs/integrations/langchain4j.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,10 @@ description: "AgentRuntime backed by LangChain4j"
1010
## Maven Coordinates
1111

1212
```xml
13-
<properties>
14-
<atmosphere.version>4.0.38</atmosphere.version>
15-
</properties>
16-
1713
<dependency>
1814
<groupId>org.atmosphere</groupId>
1915
<artifactId>atmosphere-langchain4j</artifactId>
20-
<version>${atmosphere.version}</version>
16+
<version>${project.version}</version>
2117
</dependency>
2218
```
2319

docs/src/content/docs/integrations/quarkus.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,10 @@ A Quarkus extension that integrates Atmosphere with Quarkus 3.31.3+. Provides bu
1010
## Maven Coordinates
1111

1212
```xml
13-
<properties>
14-
<atmosphere.version>4.0.38</atmosphere.version>
15-
</properties>
16-
1713
<dependency>
1814
<groupId>org.atmosphere</groupId>
1915
<artifactId>atmosphere-quarkus-extension</artifactId>
20-
<version>${atmosphere.version}</version>
16+
<version>${project.version}</version>
2117
</dependency>
2218
```
2319

docs/src/content/docs/integrations/semantic-kernel.md

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,10 @@ Semantic Kernel is the **7th runtime** added to Atmosphere in 4.0.36.
1212
## Maven Coordinates
1313

1414
```xml
15-
<properties>
16-
<atmosphere.version>4.0.38</atmosphere.version>
17-
</properties>
18-
1915
<dependency>
2016
<groupId>org.atmosphere</groupId>
2117
<artifactId>atmosphere-semantic-kernel</artifactId>
22-
<version>${atmosphere.version}</version>
18+
<version>${project.version}</version>
2319
</dependency>
2420
```
2521

@@ -29,12 +25,12 @@ You will also need Semantic Kernel's own dependencies (kernel core + the aiservi
2925
<dependency>
3026
<groupId>com.microsoft.semantic-kernel</groupId>
3127
<artifactId>semantickernel-api</artifactId>
32-
<version>4.0.38</version>
28+
<version>1.4.0</version>
3329
</dependency>
3430
<dependency>
3531
<groupId>com.microsoft.semantic-kernel</groupId>
3632
<artifactId>semantickernel-aiservices-openai</artifactId>
37-
<version>4.0.38</version>
33+
<version>1.4.0</version>
3834
</dependency>
3935
```
4036

@@ -72,25 +68,27 @@ The service is a JVM-level static — set it once at application startup, usuall
7268

7369
`SemanticKernelAgentRuntime.execute()` builds an SK `ChatHistory` from `AgentExecutionContext.systemPrompt()` + `history()` + `message()`, calls `chatService.getStreamingChatMessageContentsAsync(...)`, and collects the resulting `Flux<StreamingChatContent>` with `blockLast()` inside the sync SPI boundary. Each content frame's `content()` text is fed into `session.send(text)`.
7470

75-
Text streaming, system prompts, conversation memory, structured output (via pipeline-layer schema injection), and token usage reporting all work identically to the other runtimes.
71+
Text streaming, system prompts, conversation memory, tool calling (via `SemanticKernelToolBridge`), structured output (via pipeline-layer schema injection), token usage reporting, and per-request retry all work identically to the other runtimes.
7672

7773
## Capability matrix
7874

7975
| Capability | Status | Notes |
8076
|------------|:------:|-------|
8177
| `TEXT_STREAMING` || `Flux<StreamingChatContent>` unwrapped via `blockLast()` |
8278
| `SYSTEM_PROMPT` || Threaded into the `ChatHistory` |
83-
| `CONVERSATION_MEMORY` || Per-session memory threaded through `AgentExecutionContext` |
84-
| `STRUCTURED_OUTPUT` || Via pipeline-layer schema injection (no runtime-specific support needed) |
79+
| `STRUCTURED_OUTPUT` || Pipeline-layer schema injection — any runtime honoring `SYSTEM_PROMPT` gets it free |
80+
| `CONVERSATION_MEMORY` || Native SK `ChatHistory` replays `context.history()` on every dispatch |
81+
| `TOOL_CALLING` || `SemanticKernelToolBridge` builds one `AtmosphereSkFunction` per `@AiTool` and attaches them to a fresh `Kernel`'s `KernelPlugin`; the SK auto-invoke loop dispatches through `AtmosphereSkFunction.invokeAsync` |
82+
| `TOOL_APPROVAL` || Every `AtmosphereSkFunction.invokeAsync` routes through `ToolExecutionHelper.executeWithApproval`, so `@RequiresApproval` gates fire uniformly with the other runtimes |
8583
| `TOKEN_USAGE` || Reported via `TokenUsage` when SK surfaces it |
86-
| `AGENT_ORCHESTRATION` || Not declared. SK can participate in a `@Coordinator` fleet as a worker runtime, but it does not own a multi-agent dispatch loop the way ADK / Embabel / Koog do, so the capability flag is not advertised. |
87-
| `TOOL_CALLING` || **Deferred in 4.0.36.** SK's Java tool-calling API is still stabilizing; bridging will land in a follow-up. Documented as an honest exclusion in `modules/semantic-kernel/README.md`. |
88-
| `TOOL_APPROVAL` || Requires `TOOL_CALLING` — see above |
84+
| `PER_REQUEST_RETRY` || Honored via `AbstractAgentRuntime.executeWithOuterRetry` on top of SK's `OpenAIAsyncClient` retry layer |
85+
| `AGENT_ORCHESTRATION` || SK can participate in a `@Coordinator` fleet as a worker runtime, but does not own a multi-agent dispatch loop the way ADK / Embabel / Koog do, so the flag is not advertised |
8986
| `VISION` || SK Java does not yet expose a stable multi-modal input API |
87+
| `AUDIO` || Same limitation |
9088
| `MULTI_MODAL` || Same limitation |
9189
| `PROMPT_CACHING` || SK does not surface a `prompt_cache_key` pass-through |
9290

93-
Exclusions are **honest** — the runtime's `capabilities()` set does not advertise tool-calling, so `@AiEndpoint(requires = {TOOL_CALLING})` explicitly fails at startup when SK is the only adapter available. Correctness Invariant #5 (Runtime Truth) is preserved.
91+
The runtime's `capabilities()` set is pinned by `SemanticKernelRuntimeContractTest.expectedCapabilities()`, so adding or removing a capability from the code without updating this table (or vice versa) breaks the build. Correctness Invariant #5 Runtime Truth.
9492

9593
## Semantic Kernel Embedding Runtime
9694

0 commit comments

Comments
 (0)