Repository navigation
Remove the deprecated DoclingServeApiBuilderFactory SPI and related types #697
Copy link
Copy link
Open
Labels
area:docling-serveSomething related to docling-serveSomething related to docling-servemodule:docling-serve-apiThe docling-serve-api moduleThe docling-serve-api modulemodule:docling-serve-clientThe docling-serve-client moduleThe docling-serve-client module
Description
#696 replaced the DoclingServeApiBuilderFactory SPI with DoclingServeApiProvider and deprecated the old types for removal in 0.7.0, keeping a fallback so existing implementations keep working. This issue tracks removing them.
Before removing
- At least one minor release has shipped with the deprecation, so no earlier than 0.8.0.
- Known third-party implementations, such as the Quarkus integration, have moved to
DoclingServeApiProvider.
docling-serve-api
- Delete
ai.docling.serve.api.spi.DoclingServeApiBuilderFactory, and itsusesclause inmodule-info.java. - Delete
DoclingServeApi.DoclingApiBuilderandDoclingServeApi.toBuilder(). - Delete
LegacyProviderAdapterandLegacyProviderAdapterTests. -
DoclingServeApiProviders: remove the legacy fallback, the warning logged when both SPIs are present, and the "(or of the deprecated …)" part of the no-provider message. UpdateDoclingServeApiProvidersTestsandDoclingServeApiTests. - Update the Javadoc of
DoclingServeApi.builder(), which describes the fallback. -
TestApis.StubDoclingServeApi: remove itstoBuilder()override.
docling-serve-client
- Delete
DoclingServeClientBuilderFactoryandDoclingServeClientBuilderFactoryTests. The Jackson detection lives inDoclingServeClient.builder(). -
DoclingServeClientBuilder: dropimplements DoclingApiBuilder<C, B>and the@Overrideannotations of its setters. The setters themselves stay. - Keep
DoclingServeJackson2Client.toBuilder()andDoclingServeJackson3Client.toBuilder(), which return the concrete builder and aren't deprecated, but drop their@Override. - Tests calling
DoclingServeApi.toBuilder()(DoclingServeJackson2ClientTests,DoclingServeJackson3ClientTests,AbstractDoclingServeClientAsyncExecutorTests, which show[removal]warnings today) should useconfig().toBuilder()or the concrete client type. -
AbstractDoclingServeClientConfigTests.toBuilderKeepsEverySettingandtoBuilderKeepsFollowingRedirectscalltoBuilder()on aDoclingServeClient, which resolves to the deprecatedDoclingServeApi.toBuilder()(warnings suppressed). They test the copy constructor, so they must calltoBuilder()on the concrete client type, notconfig().toBuilder().
Both modules
- Remove every
@SuppressWarnings("removal")that only existed for these types, in main and test code.
Docs
-
serve-api-provider-migration.md: remove the Compatibility section on the fallback, or retire the page if it's no longer useful. -
serve-api.md: remove the "Migrating fromDoclingServeApiBuilderFactory" subsection. -
CLAUDE.md: remove the mention of the fallback. -
whats-new.md: add a "Breaking" entry for the removal.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:docling-serveSomething related to docling-serveSomething related to docling-servemodule:docling-serve-apiThe docling-serve-api moduleThe docling-serve-api modulemodule:docling-serve-clientThe docling-serve-client moduleThe docling-serve-client module
Activity
test(client): stop using the deprecated DoclingServeApi.toBuilder() (#…