Remove the deprecated DoclingServeApiBuilderFactory SPI and related types
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 45/100
- Issue type
- Refactor
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- java
- Domain
- backend-api-design, tooling
Research direction
The work is in the docling-serve-api and docling-serve-client modules. Start by reviewing the deprecation in issue #696 and the serve-api-provider-migration.md guide. The checklist names specific files to delete (e.g., DoclingServeApiBuilderFactory, LegacyProviderAdapter) and tests to update. 'Done' means all deprecated types are removed, tests pass, and documentation is updated.
Written by the indexing model from the issue text.
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.
- Dominant language
- Java
- Stars
- 136
- Forks
- 26
- Avg merge
- 12h 20m
- Merged PRs (30d)
- 49
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from docling-project/docling-java
-
docling-project/docling-java#598 · 9 comments · 1 reaction · 2 assignees ·
-
Difficulty 4/5 3-5 days Newbie friendliness 55/100
docling-project/docling-java#557 · 3 comments ·
-
area:docling-serve documentation good first issue help wanted module:docling-core module:docling-serve-api module:docling-serve-client module:docling-testcontainers
Difficulty 4/5 3-5 days Newbie friendliness 35/100
docling-project/docling-java#350 · 5 comments ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
docling-project/docling-java#184 · 5 comments ·
-
automation enhancement module:version-tester
docling-project/docling-java#134 · 2 comments · 1 assignee ·
All issues in docling-project/docling-java
Similar issues
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
inu-appcenter/memorIN-backend#288 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
frontend maui-pilot pilot-ask question
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
area/plugin
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
kestra-io/plugin-kestra#190 ·