Skip to content

chore: remove retired Spring Boot 2 starter - #827

Merged
jbeckwith-oai merged 2 commits into
mainfrom
codex/address-dependabot-alerts
Aug 3, 2026
Merged

chore: remove retired Spring Boot 2 starter#827
jbeckwith-oai merged 2 commits into
mainfrom
codex/address-dependabot-alerts

Conversation

@jbeckwith-oai

Copy link
Copy Markdown
Contributor

Summary

  • remove the retired openai-java-spring-boot-starter module, its tests, and its active version-support entry
  • keep the final 4.45.0 artifact and tagged source available for existing Spring Boot 2 users
  • preserve the starter's origin, customer-facing purpose, retirement rationale, and migration path in the EOL documentation
  • replace the full legacy guide in the active README with links to the EOL decision and archived 4.45.0 documentation

History and intent

The starter was introduced in SDK 2.18.0 to resolve #480, an external request for Spring Boot application.properties and application.yml support. It was a customer-facing convenience artifact—not a test fixture—and provided property binding plus an injectable OpenAIClient bean.

PR #820 subsequently declared the Spring Boot 2 integration EOL. Version 4.45.0 is already the final supported and published release; later SDK releases do not publish the starter.

Why remove the source now?

Keeping the module on main did not verify the frozen 4.45.0 release. Its build used project(":openai-java"), so every repository build compiled and tested an unpublished combination of the current SDK with Spring Boot 2.7.18.

That also kept the EOL Spring dependency graph active. Eleven of the twelve currently open Dependabot alerts are Spring/Spring Boot advisories attributable to this module. Spring Boot 2.7.18 is the final public OSS release in that generation, so there is no supported OSS patch upgrade within Boot 2.

This change does not assume that there are no existing users and does not withdraw their artifact. Maven Central and the v4.45.0 tag retain the exact final release, while the active repository stops maintaining and scanning a combination that is neither published nor supported.

A future supported Spring integration remains a separate, generation-specific artifact decision under the repository's version-support policy. This PR does not change the existing coordinate to a newer and incompatible Spring generation.

Consumer impact

  • Existing Boot 2 consumers can continue pinning com.openai:openai-java-spring-boot-starter:4.45.0.
  • The archived 4.45.0 README and tagged source retain final installation and configuration instructions.
  • New Spring applications should depend on openai-java directly and provide an application-owned OpenAIClient bean.
  • Current published SDK artifacts and their public APIs are unchanged.

Validation

Run with JDK 21:

  • ./scripts/gradle projects verifyVersionSupportPolicy --no-configuration-cache
  • ./scripts/lint
  • ./scripts/build --no-configuration-cache
  • ./scripts/test --no-daemon --no-configuration-cache (including ProGuard and R8)
  • ./scripts/detect-breaking-changes origin/main
  • git diff --check
  • repository-wide search confirms no active Spring dependency declarations remain

The required thermo-nuclear code-quality review found one documentation-ownership issue: the active README still carried the full EOL starter guide. The guide is now archived with v4.45.0 and the active README contains only the lifecycle warning and historical link. No remaining findings.

Copilot AI review requested due to automatic review settings July 31, 2026 16:35

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Removes the retired Spring Boot 2 starter module from the active Gradle build while preserving user-facing guidance via EOL documentation and links to the archived v4.45.0 tag/README.

Changes:

  • Deletes the openai-java-spring-boot-starter module sources, resources, and tests so it no longer compiles/tests against main.
  • Updates the version-support policy data/docs to remove the retired artifact from active support tracking while documenting its retirement and archival location.
  • Replaces the active README’s legacy Spring Boot 2 guide with links to the EOL decision and v4.45.0 archived documentation.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated no comments.

Show a summary per file
File Description
README.md Removes the legacy Spring Boot 2 starter guide and links to the EOL doc + v4.45.0 archived README section.
openai-java-spring-boot-starter/src/test/kotlin/com/openai/springboot/SpringBootLoggingCompatibilityTest.kt Deletes Spring Boot 2 starter logging compatibility test (module removed).
openai-java-spring-boot-starter/src/test/kotlin/com/openai/springboot/OpenAIClientAutoConfigurationTest.kt Deletes Spring Boot 2 starter property binding / autoconfiguration tests (module removed).
openai-java-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports Deletes Boot autoconfiguration imports file (module removed).
openai-java-spring-boot-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json Deletes Spring configuration metadata (module removed).
openai-java-spring-boot-starter/src/main/kotlin/com/openai/springboot/OpenAIClientProperties.kt Deletes Spring Boot 2 configuration properties class (module removed).
openai-java-spring-boot-starter/src/main/kotlin/com/openai/springboot/OpenAIClientCustomizer.kt Deletes starter customizer SPI (module removed).
openai-java-spring-boot-starter/src/main/kotlin/com/openai/springboot/OpenAIClientAutoConfiguration.kt Deletes starter autoconfiguration class (module removed).
openai-java-spring-boot-starter/build.gradle.kts Deletes starter module Gradle build definition (module removed).
gradle/version-support.properties Removes retired starter artifact entries from the active version-support properties.
docs/version-support-policy.md Updates the support-policy table entry to explicitly reflect the starter is retired and no longer built.
docs/spring-boot-2-eol.md Adds “History and source removal” section documenting rationale and linking to archived v4.45.0 source/README.
CONTRIBUTING.md Updates project structure section to reflect the starter is retired and points contributors to EOL docs and the v4.45.0 tag.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jbeckwith-oai
jbeckwith-oai marked this pull request as ready for review July 31, 2026 17:01
@jbeckwith-oai
jbeckwith-oai requested a review from a team as a code owner July 31, 2026 17:01
@openai-sdks

openai-sdks Bot commented Jul 31, 2026

Copy link
Copy Markdown

OkTest Summary

237/237 SDK tests passed in 17.58s for Java SDK PR #827.

Test results — 42 files
Test Result Time
tests/chat-completions-complex-body.test.ts ✅ Passed 752ms
tests/chat-completions-create.test.ts ✅ Passed 624ms
tests/chat-completions-stream.test.ts ✅ Passed 332ms
tests/files-content-binary.test.ts ✅ Passed 256ms
tests/files-create-multipart.test.ts ✅ Passed 441ms
tests/files-list-pagination.test.ts ✅ Passed 252ms
tests/initialize-config.test.ts ✅ Passed 387ms
tests/instance-isolation.test.ts ✅ Passed 235ms
tests/models-list.test.ts ✅ Passed 173ms
tests/responses-background-lifecycle.test.ts ✅ Passed 336ms
tests/responses-body-method-errors.test.ts ✅ Passed 543ms
tests/responses-cancel-timeout.test.ts ✅ Passed 222ms
tests/responses-cancel.test.ts ✅ Passed 379ms
tests/responses-compact-retries.test.ts ✅ Passed 313ms
tests/responses-compact.test.ts ✅ Passed 294ms
tests/responses-create-advanced-stream.test.ts ✅ Passed 685ms
tests/responses-create-advanced.test.ts ✅ Passed 1.415s
tests/responses-create-disconnect.test.ts ✅ Passed 1.171s
tests/responses-create-errors.test.ts ✅ Passed 378ms
tests/responses-create-malformed-api-responses.test.ts ✅ Passed 342ms
tests/responses-create-retries.test.ts ✅ Passed 321ms
tests/responses-create-stream-failures.test.ts ✅ Passed 245ms
tests/responses-create-stream-timeout.test.ts ✅ Passed 271ms
tests/responses-create-stream-wire.test.ts ✅ Passed 6.708s
tests/responses-create-stream.test.ts ✅ Passed 76ms
tests/responses-create-terminal-states.test.ts ✅ Passed 377ms
tests/responses-create-timeout.test.ts ✅ Passed 230ms
tests/responses-create.test.ts ✅ Passed 1.028s
tests/responses-delete.test.ts ✅ Passed 365ms
tests/responses-input-items-errors.test.ts ✅ Passed 278ms
tests/responses-input-items-list.test.ts ✅ Passed 338ms
tests/responses-input-items-options.test.ts ✅ Passed 187ms
tests/responses-input-tokens-count-timeout.test.ts ✅ Passed 259ms
tests/responses-input-tokens-count.test.ts ✅ Passed 374ms
tests/responses-malformed-inputs.test.ts ✅ Passed 5.367s
tests/responses-not-found-errors.test.ts ✅ Passed 383ms
tests/responses-parse.test.ts ✅ Passed 684ms
tests/responses-retrieve-retries.test.ts ✅ Passed 344ms
tests/responses-retrieve.test.ts ✅ Passed 336ms
tests/responses-stored-method-errors.test.ts ✅ Passed 1.02s
tests/retry-behavior.test.ts ✅ Passed 3.63s
tests/sdk-error-shape.test.ts ✅ Passed 418ms

View OkTest run #30711102845

SDK merge (cc8d341c0f2b) · head (35ce5f3aea78) · base (63a6d269acaa) · OkTest (91635c6a2723)

@HAYDEN-OAI HAYDEN-OAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the complete diff and prior review/history at 6089d3c9cc573e939fab0e9693fc7720f76658cf, including issue #480, prior EOL decision #820, Gradle project discovery, version-support/runtime-compatibility policy, release/publication wiring, README, and migration ADR. The starter was already unpublished before this change; removing its source cleanly retires the Spring Boot 2 dependency graph while preserving com.openai:openai-java-spring-boot-starter:4.45.0, its published POM/JAR/sources, tagged implementation and configuration guide, and consumer migration path. No actionable findings.

Copilot AI review requested due to automatic review settings August 1, 2026 17:47

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated no new comments.

@jbeckwith-oai
jbeckwith-oai merged commit 52e3c64 into main Aug 3, 2026
14 checks passed
@stainless-app stainless-app Bot mentioned this pull request Aug 3, 2026
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.

Support Spring Boot application.properties

3 participants