Skip to content

v1.0.0-rc.41

Pre-release
Pre-release

Choose a tag to compare

@Goldziher Goldziher released this 26 Jul 20:28

v1.0.0-rc.41

Hardening release over rc.40. Fixes real packaging and correctness defects surfaced by
running the test apps against the published rc.40 artifacts, plus two WASM correctness
fixes and a PDF table-extraction quality fix. Adds the standalone xberg-libwpd crate to
crates.io.

Bug fixes

  • WASM: extraction no longer traps. std::time::Instant::now() is unsupported on
    wasm32 and aborted the byte/file extract paths with unreachable whenever the
    tokio-runtime feature was pulled in transitively (e.g. via the tract layout backend).
    The timed path is now cfg-guarded off wasm32, matching the batch path. (541728d8a0)
  • WASM OCR now produces output. The bundled Tesseract WASM build had dropped
    src/api/capi.cpp and the renderer sources from its CMake source list; wasm-bindgen
    silently stubbed the missing C-API symbols to null, so OCR ran but returned nothing.
    Restored capi.cpp plus the alto/hocr/lstmbox/pdf/wordstrbox renderers. (ab7a40300d)
  • PHP package builds against the correct PHP version. System-dependency setup was
    overwriting the matrix-selected PHP, so published PHP binaries could target the wrong
    ABI across platforms. (7e011b9f1a)
  • PDF: fewer fabricated tables. Short, column-aligned prose blocks were being promoted
    to tables; the short-table prose gate now demotes them. (db74878c79)

New

  • xberg-libwpd crate (crates.io, Rust). Standalone WordPerfect (.wpd/.wp) text and
    markdown extraction, built from libwpd + librevenge. Extracts tables (GFM pipe tables),
    hyperlinks, fields, document metadata, footnotes/endnotes and strikethrough. Not yet wired
    into the main xberg extractor pipeline — published as an independent crate for now.
    (555efc805e, 4ad88679ee, 27152b5f34)

Dependencies

  • Bundled Tesseract 5.5.2 → 5.5.3. (bd2a7db2e3)

Packaging & CI

  • Dart/other bindings: all baked module versions synced to rc.41 (fixes the Dart
    nativeModuleVersion that was stale at rc.39 in the rc.40 package).
  • pub.dev publish guarded to tag dispatch; default checkout resolves to the tag. (637c45cc0c)
  • Docker images publish on release creation, in parallel. (0937354e22)
  • Repaired the zig / go / swift test-app smoke tasks. (4096fe7b12)

Internal benchmarking-harness and CI-only changes are omitted from these notes.

Zig

Add to your build.zig.zon:

.dependencies = .{
    .xberg-zig = .{\n        .url = \"https://github.com/xberg-io/xberg/releases/download/v1.0.0-rc.41/xberg-zig-v1.0.0-rc.41.tar.gz\",\n        .hash = \"xberg-1.0.0-rc.41-iV1GrgPPTRVv870M81-2MFnF6wboeQfvZuXDHf3vB3aa\",\n    },\n},\n```\n