[4.0.0-rc.9] - 2025-12-15
Added
PDFIUM_STATIC_LIB_PATHenvironment variable for custom static library paths (build.rs)- Enables Docker builds with pdfium compiled from source
- Allows users to specify exact location of
libpdfium.afor static linking - Validates path existence and library presence with clear error messages
- Enables fully static binaries for minimal Docker images (FROM scratch)
- Platform-specific system library linking (pthread, dl on Linux)
Fixed
- Java: Maven publish now bundles native libraries (including Windows DLLs)
- Fixed Maven Central publish step to stage
java-natives-*into the JAR and fail early if missing
- Fixed Maven Central publish step to stage
- Node: npm optional native packages now contain the
.nodebinary- Fixed packaging to copy the built
.nodeinto each@kreuzberg/node-<rid>platform package before publish - Added a publish-time guard to fail if any platform package is missing its
.nodefile
- Fixed packaging to copy the built
- WASM: Node.js runtime no longer crashes with
self is not defined- Made
wasm-bindgen-rayonthread pool support opt-in and removed it from default Node-target WASM builds - Fixed Node.js WASM initialization to import the wasm-pack glue from
pkg/kreuzberg_wasm.js
- Made
- PDFium static linking (
pdf-staticfeature) (build.rs)- Fixed
link_statically()to correctly search for static library (libpdfium.a) instead of dynamic library (.dylib/.so) - Added macOS fallback to dynamic linking when static library unavailable (bblanchon/pdfium-binaries only provides dynamic libraries)
- Improved error messages explaining that
bblanchon/pdfium-binariesdoesn't provide static archives - Added clear guidance for users needing static linking: build PDFium yourself, use
PDFIUM_STATIC_LIB_PATH, or use alternative features - Prevents build failures with helpful warnings on macOS, actionable errors on Linux
- Fixed