Skip to content

2.0.0 synchup 1.0.1 - #82

Merged
alexheifetz merged 9 commits into
mainfrom
2.0.0-synchup-1.0.1
Jul 23, 2026
Merged

2.0.0 synchup 1.0.1#82
alexheifetz merged 9 commits into
mainfrom
2.0.0-synchup-1.0.1

Conversation

@alexheifetz

Copy link
Copy Markdown
Collaborator

This pull request updates the Embabel build and dependency management to support Spring Boot 4.1, Spring AI 2.0, and the latest OpenAI and Anthropic SDKs. It also bumps Kotlin to 2.2 and makes several changes to ensure compatibility with new nullness annotations introduced in Spring and related libraries.

The most important changes are:

Major Dependency Upgrades:

  • Updated spring-boot.version to 4.1.0, spring-ai.version to 2.0.0, and mcp-sdk.version to 2.0.0 in embabel-build-dependencies/pom.xml and pom.xml. [1] [2]
  • Bumped kotlin.version to 2.2.21 and kotlin.compiler.apiVersion to 2.2 across all POMs. [1] [2]
  • Updated OpenAI and Anthropic Java SDKs to match the versions used by Spring AI 2.0, preventing ABI drift: openai-java.version to 4.36.0 and added anthropic-java.version at 2.40.1.

Dependency Management and Scope Adjustments:

  • Added explicit dependencies on openai-java-client-okhttp, anthropic-java-core, and anthropic-java-client-okhttp to the BOM for proper agent support, and changed openai-java to compile scope.
  • Updated parent POM versions (embabel-build-parent, embabel-dependencies-parent, embabel-build-dependencies) to 2.0.0-SNAPSHOT. [1] [2] [3]

Kotlin Compiler Configuration:

  • Added -Xjspecify-annotations=ignore and adjusted warning suppression to accommodate stricter nullness annotations in Spring 7, Spring AI 2.0, and related libraries, ensuring smoother migration to new APIs.

These changes collectively modernize the build to the latest ecosystem versions and address compatibility with new nullness and generics constraints.

alexheifetz and others added 9 commits May 27, 2026 16:05
… flag

- openai-java bumped to 4.36.0 (matches spring-ai-openai 2.0.0-M8) and
  moved to compile scope; openai-java-client-okhttp managed; HTML-escape
  typo in version expression fixed.
- kotlin-maven-plugin: -Xjspecify-annotations=ignore so K2 doesn't reject
  unbounded <T> overrides of Spring 7 / Spring AI 2.0 / Jackson 3 / JUnit 6
  APIs that now tighten generic upper bounds to non-null via @NullMarked.
embabel-build-dependencies: manage the Anthropic Java SDK (anthropic-java-core + anthropic-java-client-okhttp) via a new anthropic-java.version property, mirroring the existing openai-java handling. spring-ai-anthropic depends only on anthropic-java-core, but the agent uses AnthropicOkHttpClient directly, so the OkHttp client artifact needs a managed version.

pom.xml: rename the Kotlin compiler arg -Xsuppress-warning=UNCHECKED_CAST to -Xwarning-level=UNCHECKED_CAST:disabled (the flag was renamed in Kotlin 2.2).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@alexheifetz
alexheifetz merged commit 5d26bc9 into main Jul 23, 2026
3 checks passed
@alexheifetz
alexheifetz deleted the 2.0.0-synchup-1.0.1 branch July 23, 2026 02:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant