Skip to content

Releases: wafik/ArboOCR

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 03:37
a945235
v0.3.0 — model auto-download, and a GPU package that actually works

Missing models are now fetched, SHA-256 verified against a manifest
compiled into the binary, and cached per platform. The URL is pinned to an
immutable release tag, so it is a version rather than a moving target.

Also fixes a bug present since the first release: the packaged binary
shipped no onnxruntime_providers_shared library, so --cuda and --tensorrt
could not load from a release archive on either platform.

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 07 Aug 16:38
08f9083
v0.2.0 — accuracy, API and packaging improvements

First release since v0.1.0-php1. All four language wrappers pin that
tag, so nothing in this changelog has reached wrapper users until they
bump to v0.2.0.

Behaviour changes wrappers must know about:
  - arboocr_demo is silent on stderr unless --log-level is passed.
  - Exit code 2 for model-load / recognition failure, distinct from 1.
  - --help now exits 0 instead of 1.
  - Batch --json emits an array; single-image still emits a bare object.
  - "words" appears in JSON only with --word-boxes.

Fixes
  - ORT CPU memory arena disabled: 235 MB -> 135 MB peak RSS, +17.6%
    latency (measured on the SROIE smoke set, small, CPU).
  - getScaleParam no longer upscales; detLimitSideLen is a true ceiling.
  - Reading-order tolerance derives from median line height instead of a
    hard-coded 12px, so ordering is scale-invariant.
  - downloadOcrModels fetches the recognizer dict; without it the
    documented download path produced a silently broken models dir.
  - Engine construction failure no longer terminates the CLI.

Features
  - CLI accuracy flags (det thresholds, unclip ratio, limit side len,
    rec batch, min confidence, split-overmerged, trt cache dir) plus
    --log-level, --draw, --markdown, --word-boxes.
  - Batch input via --images-from: one Engine for a whole list instead
    of one process and one model load per image.
  - Encoded-bytes input (recognizeEncoded) for callers already holding
    image bytes.
  - drawResult visualizer (boxes only; putText cannot render CJK).
  - Word / character boxes, opt-in via returnWordBoxes.
  - Markdown export (toMarkdown): paragraphs, headings, lists, and
    key/value tables.
  - intraOpNumThreads / interOpNumThreads for multi-worker hosts.
  - CMake install/export: find_package(arboOCR CONFIG) and link
    arboOCR::arboOCR instead of vendoring the tree.
  - Python bindings cover all of the above.

Accuracy is unchanged on the SROIE smoke set (within -0.2 pts).
119 tests pass on Windows and Linux.

Not yet validated: useFp16 = true is the TensorRT default and no test
exercises it. scripts/fp16_ab.py is ready but needs NVIDIA hardware.

v0.1.0-php1

Choose a tag to compare

@github-actions github-actions released this 05 Aug 15:39
ci(release): tolerate zero extra shared libs when packaging Linux binary

The ldd|awk|grep|grep -v|while-read pipeline that bundles vcpkg-built
shared libs failed the whole Package step under set -o pipefail: the
final grep -v exits 1 when nothing matches (e.g. most deps are static
.a libs here, so there's nothing left outside /lib or /usr/lib to
bundle) — a completely valid outcome, not an error. Configure/Build/Test
all passed this run; this was the last remaining blocker.