Updated iscc-tika to 0.6.0 (Apache Tika 3.3.x), removing the <0.5.0 stability pin — the macOS
native-image crash on embedded images is fixed upstream and linux/aarch64 wheels are now
available
Updated iscc-lib to 0.6.0 — restores linux/aarch64 wheels (absent since 0.2.0)
BREAKING: Text metadata extraction now picks the first value when Tika returns multiple values
for single-valued IsccMeta fields (e.g. an EPUB3 with multiple <dc:title> elements);
Meta-Code and metahash differ from earlier releases for such assets
Fixed EPUB metadata embed→extract round-trip: the embedded title is now returned instead of the
document's pre-existing title
Added regression tests for upstream Tika EPUB parser fixes (TIKA-198 spine path traversal,
TIKA-237 deeply nested XML)
Updated test expectations for Tika 3 whitespace normalization in extracted text
Updated lint configuration for the expanded default rule set of ruff 0.16 (protects the
load-order-sensitive imports in iscc_sdk/__init__.py from autofix re-sorting)
Updated CLI tests for typer 0.27 error message formatting
Updated sct/sci extras to request the CPU ONNX runtime (iscc-sct[cpu], iscc-sci[cpu]) —
iscc-sct 0.2.x and iscc-sci 0.3.x moved the onnxruntime dependency behind cpu/gpu extras
Fixed process abort (uncatchable std::terminate → SIGABRT) in image_meta_extract() when an
image carries a metadata value that exiv2 cannot convert to UTF-8, e.g. an EXIF UserComment
declared UNICODE with an invalid UTF-16 payload as written by some early-2000s digital cameras;
undecodable fields are now skipped with a warning instead of crashing the process
Added SVG cover image support for EPUB thumbnails (rasterized via resvg)
Added IsccThumbExtractionError for recoverable thumbnail extraction failures
Changed code_iscc() to handle thumbnail extraction failures gracefully (logs warning, continues
without thumbnail instead of raising); genuinely corrupt or invalid source files still raise
IsccExtractionError
Changed code_iscc() to generate thumbnails early, before heavy content processing
Removed EPUB cover fallback to first manifest image (only explicit cover references are used)
Fixed EPUB3 cover-image detection for manifests with multiple space-separated property tokens
Fixed EPUB cover extraction when archive entries store UTF-8 filename bytes without the ZIP UTF-8
flag (CP437→UTF-8 recovery)
Fixed PNG cover thumbnail extraction failing on Photoshop-exported covers with large zTXt metadata
chunks (raised PngImagePlugin.MAX_TEXT_CHUNK to 4 MB)
Wrapped iscc-tika parse failures (TypeError from native bridge, e.g. TIKA-237 on EPUBs with
deeply nested XHTML) as IsccExtractionError in text_extract and text_meta_extract
Improved API documentation for code_iscc(), code_iscc_mt(), code_content(), and
code_text() options
Refactored code_iscc_mt() for improved parallelism: text extraction runs before submitting
content/semantic futures, thumbnail generation overlaps with sum/meta computation, and result
merging follows the same order as code_iscc()
Removed redundant onnxruntime from sci and sct optional dependency groups (already a
transitive dependency of iscc-sci and iscc-sct)
Fixed CI: skip semantic code tests on macOS Python 3.12 (onnxruntime 1.26.0 has no macOS wheels
for that version)
Updated iscc-schema floor to >=0.8.0 (version-pinned @context/$schema URLs now resolve to
0.8.0)