Skip to content

chore: update locked docling dependencies - #4985

Open
docling-ops[bot] wants to merge 4 commits into
mainfrom
ci/update-locked-deps
Open

docling-ops[bot] wants to merge 4 commits into
mainfrom
ci/update-locked-deps

Conversation

@docling-ops

@docling-ops docling-ops Bot commented Oct 23, 2026

Copy link
Copy Markdown

Automated update of the locked Docling dependencies.

Versions

Package Old New
docling-core 2.103.1 2.104.0
docling-parse 7.22.4 7.23.0

Reference data regeneration

Suite Tests with DOCLING_GEN_TEST_DATA=1
asr passed
core failed
ocr passed
pdf-model passed
vlm passed

Changed reference files:

 tests/data/doc/groundtruth/legacy_sample.doc.json  |   2 +-
 .../docx/groundtruth/docx_grouped_images.docx.json |  12 +-
 .../docx/groundtruth/docx_rich_cells.docx.json     |   4 +-
 tests/data/docx/groundtruth/drawingml.docx.json    |   6 +-
 .../data/docx/groundtruth/test_emf_docx.docx.json  |   6 +-
 tests/data/docx/groundtruth/textbox.docx.json      |  48 +++----
 .../groundtruth/unit_test_formatting.docx.json     |   2 +-
 .../docx/groundtruth/word_image_anchors.docx.json  |   4 +-
 tests/data/docx/groundtruth/word_sample.docx.json  |   2 +-
 .../epub/groundtruth/epub_purvis_poetry.epub.json  | 130 ++++++++---------
 .../html/groundtruth/example_01_images.html.json   |   2 +-
 tests/data/html/groundtruth/wiki_duck.html.md      | 102 +++++++-------
 .../latex/groundtruth/1706.03762_main.tex.dclg     |   2 +-
 .../latex/groundtruth/2305.03393_main.tex.dclg     |   2 +-
 .../latex/groundtruth/2305.03393_main.tex.json     |   2 +-
 .../latex/groundtruth/2310.06825_main.tex.dclg     |   2 +-
 .../latex/groundtruth/2412.19437_main.tex.dclg     |   2 +-
 .../latex/groundtruth/2501.00089_main.tex.dclg     |   2 +-
 .../groundtruth/arXiv-2501.01300v2_main.tex.dclg   |   2 +-
 tests/data/latex/groundtruth/example_01.tex.dclg   |   2 +-
 tests/data/latex/groundtruth/example_02.tex.dclg   |   2 +-
 .../data/md/groundtruth/escaped_characters.md.json |  16 +--
 tests/data/md/groundtruth/escaped_characters.md.md |   6 +-
 .../md/groundtruth/inline_and_formatting.md.yaml   | 156 ++++++++++-----------
 tests/data/md/groundtruth/mixed.md.md              |  14 +-
 tests/data/md/groundtruth/mixed_without_h1.md.md   |   2 +
 tests/data/md/groundtruth/mixed_without_h1.md.yaml |  32 +++--
 tests/data/md/groundtruth/nested.md.md             |   6 +-
 .../data/md/groundtruth/signature_stamp_01.md.json |  75 ++--------
 tests/data/md/groundtruth/signature_stamp_01.md.md |   8 +-
 .../full_page/ocr_test.easyocr.full_page.json      |   4 +-
 .../ocr_test.easyocr.layout_regions.json           |   4 +-
 .../ocr_test.easyocr.pdf_aware_layout_regions.json |   4 +-
 .../full_page/ocr_test.rapidocr.full_page.json     |   2 +-
 ...ocr_test.rapidocr.pdf_aware_layout_regions.json |   4 +-
 ..._test_rotated_180.tesseract.layout_regions.json |   2 +-
 ...r_test_rotated_90.tesseract.layout_regions.json |   4 +-
 ...cr_test.tesseract.pdf_aware_layout_regions.json |   4 +-
 .../ocr_test.tesseract.pdf_aware_layout_regions.md |   2 +-
 ...ted_180.tesseract.pdf_aware_layout_regions.json |   6 +-
 ...tated_180.tesseract.pdf_aware_layout_regions.md |   2 +-
 ...ted_270.tesseract.pdf_aware_layout_regions.json |   4 +-
 ...tated_270.tesseract.pdf_aware_layout_regions.md |   2 +-
 ...ated_90.tesseract.pdf_aware_layout_regions.json |   8 +-
 ...otated_90.tesseract.pdf_aware_layout_regions.md |   2 +-
 tests/data/pdf/groundtruth/2203.01017v2.json       |   4 +-
 tests/data/pdf/groundtruth/2206.01062.json         |  16 +--
 tests/data/pdf/groundtruth/2305.03393v1.json       |  22 +--
 .../data/pdf/groundtruth/amt_handbook_sample.json  |   8 +-
 tests/data/pdf/groundtruth/elsevier-00.md          | 104 +++++++-------
 tests/data/ppt/groundtruth/legacy_sample.ppt.json  |  96 ++++++-------
 .../full_page/webp-test.rapidocr.full_page.json    |   2 +-
 ...ebp-test.rapidocr.pdf_aware_layout_regions.json |  14 +-
 .../webp-test.rapidocr.pdf_aware_layout_regions.md |   2 +-
 tests/data/xlsx/groundtruth/xlsx_01.xlsx.json      |   2 +-
 .../xlsx/groundtruth/xlsx_04_inflated.xlsx.json    |   2 +-
 tests/data/xlsx/groundtruth/xlsx_emf.xlsx.json     |   8 +-
 57 files changed, 463 insertions(+), 524 deletions(-)

Review the reference data changes before you merge. A failed suite
needs a code fix on this branch. The nightly job stops updating this
branch once it has commits from other authors.
Generated by this run.

Signed-off-by: docling-ops[bot] <203151778+docling-ops[bot]@users.noreply.github.com>
@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

✅ DCO Check Passed

Thanks @docling-ops[bot], all your commits are properly signed off. 🎉

@mergify

mergify Bot commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

Merge Protections

🔴 1 of 2 protections blocking · waiting on 👀 reviews

Protection Waiting on
🔴 Require two reviewer for test updates 👀 reviews
🟢 Enforce conventional commit —

🔴 Require two reviewer for test updates

Waiting for

  • #approved-reviews-by >= 2
This rule is failing.

When test data is updated, we require two reviewers

  • #approved-reviews-by >= 2

Show 1 satisfied protection

🟢 Enforce conventional commit

Make sure that we follow https://www.conventionalcommits.org/en/v1.0.0/

  • title ~= ^(fix|feat|docs|style|refactor|perf|test|build|ci|chore|revert)(?:\(.+\))?(!)?:

@codecov

codecov Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 85.71429% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
docling/backend/md_backend.py 85.71% 0 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

The Markdown backend sends documents with raw HTML blocks through the
HTML backend. It stored each block as a code item between markers and
removed the markers after HTML serialization. docling-core 2.104.0
escapes code text in the HTML serializer, so the blocks reached the HTML
backend as escaped text: `<div>note</div>` became the text
`&lt;div&gt;note&lt;/div&gt;`, and pictures inside HTML blocks were lost.

Keep the raw blocks in a list and store only a numbered placeholder in
the code item. After serialization, replace each placeholder with its
original block. This does not depend on how the serializer escapes code.

Regenerate the Markdown reference files that the escaped blocks changed.

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
@dolfim-ibm

Copy link
Copy Markdown
Member

Fix and reference data changes

eec1b26 fixes the 4 failing core tests. docling-core 2.104.0 escapes code text in the HTML serializer (docling-project/docling-core#894). The Markdown backend stored raw HTML blocks as code items and relied on unescaped output, so <div>note</div> became the text &lt;div&gt;note&lt;/div&gt;, and pictures in HTML blocks were lost. The backend now stores a numbered placeholder and restores the original block after serialization.

Reference data changes in this PR, by cause:

  • Markdown with raw HTML (mixed, mixed_without_h1, nested, signature_stamp_01): the bot's regeneration had the escaped HTML. eec1b26 restores the parsed HTML, for example the nested HTML list and the 2 pictures of signature_stamp_01.
  • Code text in Markdown (escaped_characters): entities in code spans and code blocks stay literal (&amp;), as CommonMark requires. Before, the HTML round trip decoded them.
  • Hyperlink destinations are escaped (fix(serializer): escape hyperlink destinations and skip unsupported schemes docling-core#920): ( and ) in URLs become %28 and %29 in wiki_duck.html.md and elsevier-00.md.
  • DocLang 0.8 (feat(doclang): add partial DocLang 0.8 support with multiple captions docling-core#880): the .dclg files change version="0.7" to "0.8".
  • Embedded PNG images (fix: support Pillow 13 and integer PNG exports docling-core#907): the image data URIs in docx, doc, xlsx, html and latex JSON files change. Some sizes change by 1 px. One picture in textbox.docx.json changes from 217×222 to 310×129. Please check this one.
  • Table rich cells (inline_and_formatting.md.yaml): the groups of rich table cells have a new order and new indexes. The content is the same.
  • EPUB text (epub_purvis_poetry.epub.json): typographic quotes and dashes from the source are kept (o’er, —). Some dashes now come with U+FEFF from the source. Please check this one.
  • PDF and OCR geometry (docling-parse 7.23.0): small bounding box changes in the PDF, OCR, webp and ppt files. Some OCR text also changes, for example in → In in the tesseract pdf_aware_layout_regions files.

Tests: the Markdown, HTML, DocLang and input tests pass locally (269 passed). A full local core regeneration with DOCLING_GEN_TEST_DATA=1 changed only these Markdown files. The other local differences were PNG encoding differences on macOS, and I did not commit them.

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

# Conflicts:
#	docling/backend/md_backend.py
…pping on Python 3.10

Pillow 13 moved the WMF stub handler from the module to WmfStubImageFile and
needs Python >= 3.11, so the lock resolves Pillow 12 on Python 3.10. Clear the
handler in both places so that the EMF tests run with every supported Pillow
version, instead of skipping them on Python 3.10.

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

This branch has not been deployed

No deployments
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