Skip to content

Marker 2.2.0: 4 Conversion Modes (no_ocr, fast, balanced, vllm), Indra ONNX Integration, Interactive Web Viewer, and OmniParseBench - #1142

Merged
VikParuchuri merged 24 commits into
masterfrom
dev
Nov 12, 2026
Merged

VikParuchuri merged 24 commits into
masterfrom
dev

Conversation

@VikParuchuri

@VikParuchuri VikParuchuri commented Nov 12, 2026 •

Copy link
Copy Markdown
Member

Summary

VikParuchuri and others added 13 commits November 10, 2026 07:19
Indra ONNX integration, 4 conversion modes, and updated viewer/CLI
…w<14) (#1141)

marker declares pillow>=10.1.0,<11, which holds every install on Pillow
10.4.0 and its 52 published GitHub advisories (4 critical, 33 high, 15
moderate), none fixed anywhere in 10.x.

Raising the cap is only worth doing if it reaches 13.0.0: every intermediate
release is at least as bad by count (11.0.0: 54, 11.3.0: 58, 12.0.0: 60,
12.1.1: 59, 12.3.0: 41, each with 5 criticals), and 13.0.0 is the first with
none. One of the criticals is directly reachable here --
GHSA-332p-7hrc-92wf, a heap overflow in _tiffWriteProc when saving TIFF to a
BytesIO, which is what marker/providers/document.py:96 does with images
carried in a DOCX input.

marker uses no Pillow API removed in 11, 12 or 13. The only two module-level
constants it touches are Image.LANCZOS (marker/providers/image.py:52) and
Image.MAX_IMAGE_PIXELS (marker/renderers/html.py:21), both of which still
exist in 13.0.0; the three removed in 10.0.0 (ANTIALIAS, LINEAR, CUBIC)
appear nowhere. The reachable PIL surface was exercised against both
Pillow 13.0.0 and 11.3.0 under -W error::DeprecationWarning with identical
results and no warnings.

This change is necessary but not sufficient on its own: surya-ocr 0.23.0
independently declares pillow>=10.2.0,<11, so until that is relaxed and
released the resolve still lands on Pillow 10.4.0 -- the intersection of the
two caps -- which is why uv.lock moves only marker-pdf's own recorded
specifier here. Pillow 13.0.0 also requires Python >= 3.11, so 3.10 installs
top out at 12.3.0 regardless.

Co-authored-by: Greg Krieg <gkriegspeedbay@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
…the package (#1108)

- FONT_PATH was a class-level default computed from the default FONT_DIR
  at import time, so setting FONT_DIR (environment or local.env) changed
  nothing: the font still downloaded to the package tree. It is now
  derived after validation; an explicit FONT_PATH still wins.
- The default location moves from <package>/static/fonts to
  $XDG_CACHE_HOME/datalab/marker/fonts (~/.cache/... when unset). The font
  is a 14.7 MB runtime download; writing it into site-packages fails on a
  read-only install and, for an editable install, leaves an ignored file
  in the git checkout. Existing installs download it once more at the new
  path, or keep the old one by setting FONT_DIR.
- tests/config/test_font_settings.py: FONT_DIR is honoured, FONT_PATH is
  honoured, and the default lies outside BASE_DIR.

Co-authored-by: tryinget <tryinget@users.noreply.github.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅

pablopupo and others added 11 commits November 12, 2026 12:00
replace_bullets ran re.sub without a count, so it removed every dash or
hyphen surrounded by spaces in the first line instead of just the leading
bullet. A list item whose text held a spaced dash mid-sentence lost that
dash. Passing count=1 limits the substitution to the leading bullet.

Fixes #1024
Parse retryDelay from the google.rpc.RetryInfo error details and use it
as the sleep duration before retrying. Falls back to the existing linear
backoff (tries * retry_wait_time) when the field is absent or malformed.

Ref: googleapis/python-genai#2114
Ref: #490
@VikParuchuri
VikParuchuri merged commit f20c54a into master Nov 12, 2026
4 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Nov 12, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants