Skip to content

Commit c9abede

Browse files
docs(changelog): rename [Unreleased] → [6.2.0] - 2026-04-28; trim internal entry + scrub PR ref
Cleanup pass on the Java SDK [Unreleased] section ahead of release tagging. - Rename [Unreleased] → [6.2.0] - 2026-04-28. Minor bump (new listLLMProviders + LLMProvider source-compat restoration). - Add release header description aligned with prior version sections. - Remove the pom.xml skipUnitTests entry — pure CI plumbing, violates feedback_changelog_no_internal_entries.md. - Scrub the LLMProvider entry: drop the "review-driven follow-up to PR #148" meta-narrative and the internal PR-number reference, keep the user-facing facts (constructor + return-type restoration, boxed accessor names). Aligns with feedback_no_internal_refs_changelog.md. - Tighten the LLMProvider entry to one paragraph in the prior-section tone. - Keep an empty [Unreleased] heading per Keep-a-Changelog convention. No code changes.
1 parent cbe13d2 commit c9abede

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [6.2.0] - 2026-04-28 — listLLMProviders() + LLMProvider source-compat
11+
12+
Minor release. New LLM-provider listing API closes the parity gap with the Python + Go SDKs; the rest of the cycle restores `LLMProvider` source-compatibility for callers using the 7-arg primitive shape. Coordinated cycle: TypeScript v6.2.0 / Python v6.9.0 / Go v6.0.0 (major: see SDKCompatibility breaking type change in that release) ship same day.
13+
1014
### Added
1115

1216
- **`axonflow.listLLMProviders()`** + `listLLMProviders(String type, Boolean enabled)` — list configured LLM providers and their per-provider health snapshot. Calls `GET /api/v1/llm-providers`. New `LLMProvider` and `LLMProviderHealth` types in `com.getaxonflow.sdk.types`. Async variant `listLLMProvidersAsync()`. Closes the parity gap with the Python SDK's `list_providers()` and the Go SDK's `ListProviders()`.
1317
- **`examples/basic/`** — minimal smoke example exercising `healthCheck()`, `proxyLLMCall()`, and `listConnectors()` against a running AxonFlow agent. Uses try-with-resources so OkHttp's dispatcher + connection pool are cleaned up at exit. Run via `mvn -q compile exec:java` after `mvn install -DskipTests` at the SDK root.
1418

1519
### Fixed
1620

17-
- **`pom.xml`**`mvn verify -DskipUnitTests=true` now actually skips surefire (unit tests). Previously the property was unbound — `-DskipUnitTests` was a no-op flag and unit tests ran redundantly during integration-test invocations. The flag now binds to the surefire `<skipTests>` config; default remains `false`.
18-
- **`LLMProvider` source compatibility** — review-driven follow-up to PR #148. The original PR replaced the public 7-arg primitive constructor (`LLMProvider(name, type, enabled:bool, priority:int, weight:int, hasApiKey:bool, health)`) with a 13-arg boxed constructor and changed `getPriority()` / `getWeight()` from `int` to `Integer`. Pre-existing callers either failed to compile or started seeing nullable return values in what was framed as an additive change. **Restored:** the 7-arg primitive constructor (delegates to the 13-arg one with nulls for the post-PR-#148 optional fields, marked `@Deprecated` to point new callers at the boxed form), and primitive-returning `getPriority()` / `getWeight()` (null-safe-unboxes to 0). Boxed accessors remain available as `getPriorityBoxed()` / `getWeightBoxed()` / `getEnabledBoxed()` / `getHasApiKeyBoxed()` for callers that need to distinguish "explicitly 0" from "field not present". The boxed `getEnabled()` from PR #148 is renamed to `getEnabledBoxed()` (was a brand-new method in #148 with no consumers, safe to rename pre-tag).
21+
- **`LLMProvider` source compatibility restored.** The 7-arg primitive constructor `LLMProvider(name, type, enabled:bool, priority:int, weight:int, hasApiKey:bool, health)` is back (delegates to the new 13-arg boxed form, marked `@Deprecated` so new callers move to the boxed shape). `getPriority()` / `getWeight()` return primitive `int` again (null-safe-unbox to 0). Boxed accessors are available as `getPriorityBoxed()` / `getWeightBoxed()` / `getEnabledBoxed()` / `getHasApiKeyBoxed()` for callers that need to distinguish "explicitly 0" from "field not present".
1922

2023
## [6.1.0] - 2026-04-25 — Plugin Batch 1 explainability fields on MCP responses
2124

0 commit comments

Comments
 (0)