This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch automated/upgrade-docling-container-v1.30.0-fixed in repository https://gitbox.apache.org/repos/asf/camel.git
commit fba447ab5f69454d1a8d103e1ba21a3fc6cf1ce1 Author: Claus Ibsen <[email protected]> AuthorDate: Wed Aug 12 13:53:23 2026 +0200 chore(camel-test-infra-docling): upgrade docling.container to v1.30.0 Since docling v1.30.0, page furniture (headers/footers) is included in the default body export. Update the sentinel test assertion in OcrExtractionIT to expect this new behavior and update the documentation note accordingly. Supersedes #25417. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> Signed-off-by: Claus Ibsen <[email protected]> --- .../apache/camel/catalog/docs/docling-component.adoc | 17 +++++------------ .../org/apache/camel/catalog/test-infra/metadata.json | 4 ++-- .../camel-docling/src/main/docs/docling-component.adoc | 17 +++++------------ .../component/docling/integration/OcrExtractionIT.java | 11 +++-------- .../src/generated/resources/META-INF/metadata.json | 4 ++-- .../test/infra/docling/services/container.properties | 2 +- 6 files changed, 18 insertions(+), 37 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/docling-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/docling-component.adoc index 94f0fa53cdc1..5749758df6fb 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/docling-component.adoc +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/docling-component.adoc @@ -301,18 +301,11 @@ YAML:: === OCR and page headers/footers Docling recognizes page headers and footers (page numbers, copyright lines, running titles, footnotes, and similar -content) during OCR, but it classifies them as page _furniture_: they are assigned to docling's `FURNITURE` content -layer rather than the document `BODY`. Docling's Markdown, text and HTML exports include only the `BODY` layer by -default, so header and footer text is omitted from the converted output even though the OCR engine read it correctly. - -When using `useDoclingServe=true`, the component cannot currently change this, because the docling-serve API does not -expose an option to choose which content layers are included in the export — even though docling's Python library can -include the `FURNITURE` layer. This is tracked upstream in -https://github.com/docling-project/docling-serve/issues/271[docling-serve#271]. The docling CLI -(`useDoclingServe=false`) has the same limitation. - -If you need header or footer content in the output, restructure the source document so the text is part of the body, -or track the upstream issue for a future option to include the furniture layer. +content) during OCR, classifying them as page _furniture_ in docling's `FURNITURE` content layer. + +Since docling v1.30.0, page furniture (headers and footers) is included in the default body export (Markdown, text +and HTML). Earlier versions excluded the `FURNITURE` layer, so header and footer text was omitted from the converted +output even though the OCR engine read it correctly. === Using headers to control processing diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/test-infra/metadata.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/test-infra/metadata.json index f29c0dd77ea1..8eb4c7822a3d 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/test-infra/metadata.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/test-infra/metadata.json @@ -7,7 +7,7 @@ "groupId" : "org.apache.camel", "artifactId" : "camel-test-infra-milvus", "version" : "4.23.0-SNAPSHOT", - "serviceVersion" : "v2.6.21", + "serviceVersion" : "v2.6.22", "uiSupported" : false }, { "service" : "org.apache.camel.test.infra.aws.common.services.AWSInfraService", @@ -744,7 +744,7 @@ "groupId" : "org.apache.camel", "artifactId" : "camel-test-infra-docling", "version" : "4.23.0-SNAPSHOT", - "serviceVersion" : "v1.29.0", + "serviceVersion" : "v1.30.0", "uiSupported" : false }, { "service" : "org.apache.camel.test.infra.aws.common.services.AWSInfraService", diff --git a/components/camel-ai/camel-docling/src/main/docs/docling-component.adoc b/components/camel-ai/camel-docling/src/main/docs/docling-component.adoc index 94f0fa53cdc1..5749758df6fb 100644 --- a/components/camel-ai/camel-docling/src/main/docs/docling-component.adoc +++ b/components/camel-ai/camel-docling/src/main/docs/docling-component.adoc @@ -301,18 +301,11 @@ YAML:: === OCR and page headers/footers Docling recognizes page headers and footers (page numbers, copyright lines, running titles, footnotes, and similar -content) during OCR, but it classifies them as page _furniture_: they are assigned to docling's `FURNITURE` content -layer rather than the document `BODY`. Docling's Markdown, text and HTML exports include only the `BODY` layer by -default, so header and footer text is omitted from the converted output even though the OCR engine read it correctly. - -When using `useDoclingServe=true`, the component cannot currently change this, because the docling-serve API does not -expose an option to choose which content layers are included in the export — even though docling's Python library can -include the `FURNITURE` layer. This is tracked upstream in -https://github.com/docling-project/docling-serve/issues/271[docling-serve#271]. The docling CLI -(`useDoclingServe=false`) has the same limitation. - -If you need header or footer content in the output, restructure the source document so the text is part of the body, -or track the upstream issue for a future option to include the furniture layer. +content) during OCR, classifying them as page _furniture_ in docling's `FURNITURE` content layer. + +Since docling v1.30.0, page furniture (headers and footers) is included in the default body export (Markdown, text +and HTML). Earlier versions excluded the `FURNITURE` layer, so header and footer text was omitted from the converted +output even though the OCR engine read it correctly. === Using headers to control processing diff --git a/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/integration/OcrExtractionIT.java b/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/integration/OcrExtractionIT.java index a3254eeade56..a86b26e272ce 100644 --- a/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/integration/OcrExtractionIT.java +++ b/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/integration/OcrExtractionIT.java @@ -179,15 +179,10 @@ class OcrExtractionIT extends CamelTestSupport { assertTrue(foundFirst && foundSecond, "OCR should extract at least some of the expected text. Got: " + result); - // The footer is recognized by OCR, but docling classifies it as a page_footer, which lives in the - // FURNITURE content layer. docling's default body export (Markdown/text/HTML) excludes that layer, and - // docling-serve exposes no option to include it (upstream: https://github.com/docling-project/docling-serve/issues/271). - // The footer text is therefore absent from the result. See the "OCR and page headers/footers" note in - // docling-component.adoc. This assertion documents and pins that behavior; it will start failing if a - // future docling release includes page furniture in the body export, prompting us to revisit the limitation. + // Since docling v1.30.0, page furniture (headers/footers) is included in the default body export. boolean foundFooter = resultLower.contains("footer"); - assertFalse(foundFooter, - "Footer text is page furniture and is excluded from the docling body export. Got: " + result); + assertTrue(foundFooter, + "Footer text (page furniture) should be included in the docling body export since v1.30.0. Got: " + result); LOG.info("OCR extraction with multiple text blocks result:\n{}", result); LOG.info("Successfully extracted text from image with multiple text blocks"); diff --git a/test-infra/camel-test-infra-all/src/generated/resources/META-INF/metadata.json b/test-infra/camel-test-infra-all/src/generated/resources/META-INF/metadata.json index f29c0dd77ea1..8eb4c7822a3d 100644 --- a/test-infra/camel-test-infra-all/src/generated/resources/META-INF/metadata.json +++ b/test-infra/camel-test-infra-all/src/generated/resources/META-INF/metadata.json @@ -7,7 +7,7 @@ "groupId" : "org.apache.camel", "artifactId" : "camel-test-infra-milvus", "version" : "4.23.0-SNAPSHOT", - "serviceVersion" : "v2.6.21", + "serviceVersion" : "v2.6.22", "uiSupported" : false }, { "service" : "org.apache.camel.test.infra.aws.common.services.AWSInfraService", @@ -744,7 +744,7 @@ "groupId" : "org.apache.camel", "artifactId" : "camel-test-infra-docling", "version" : "4.23.0-SNAPSHOT", - "serviceVersion" : "v1.29.0", + "serviceVersion" : "v1.30.0", "uiSupported" : false }, { "service" : "org.apache.camel.test.infra.aws.common.services.AWSInfraService", diff --git a/test-infra/camel-test-infra-docling/src/main/resources/org/apache/camel/test/infra/docling/services/container.properties b/test-infra/camel-test-infra-docling/src/main/resources/org/apache/camel/test/infra/docling/services/container.properties index ec8c8f2682fc..2dbd98e58847 100644 --- a/test-infra/camel-test-infra-docling/src/main/resources/org/apache/camel/test/infra/docling/services/container.properties +++ b/test-infra/camel-test-infra-docling/src/main/resources/org/apache/camel/test/infra/docling/services/container.properties @@ -15,4 +15,4 @@ ## limitations under the License. ## --------------------------------------------------------------------------- ## Docling container configuration for test-infra -docling.container=quay.io/docling-project/docling-serve:v1.29.0 +docling.container=quay.io/docling-project/docling-serve:v1.30.0
