Skip to content

Releases: kreuzberg-dev/kreuzberg

v4.0.0-rc.5

02 Dec 16:32
v4.0.0-rc.5
0926e64

Choose a tag to compare

v4.0.0-rc.5 Pre-release
Pre-release

Release Candidate 5 - macOS Binary Fix

Bug Fixes

Build System:

  • Fixed macOS CLI binary missing libpdfium.dylib (dyld error at runtime)
    • Build script now correctly copies libpdfium.dylib to target-specific directory when using --target flag
    • Resolves: dyld: Library not loaded: @rpath/libpdfium.dylib
    • Impact: macOS CLI binary now functional in releases

Note: rc.4 workflow fixes for Python, Node, Ruby, and Maven were committed after rc.4 tag, causing those packages not to publish. All fixes are now present for rc.5.

v4.0.0-rc.3

01 Dec 08:01
v4.0.0-rc.3
5e833a8

Choose a tag to compare

Release Candidate 3 - ONNX Runtime Bundling & Test Fixes

Breaking Changes

None - this is a patch release over rc.2

Bug Fixes

ONNX Runtime Distribution

  • Switched from ort-load-dynamic to ort-download-binaries feature
  • ONNX Runtime binaries are now bundled at build time
  • Fixes embeddings feature across ALL release variants (npm, PyPI, RubyGems, Maven, crates.io)
  • Users no longer need to install onnxruntime as a system dependency

Node.js Bindings

  • Fixed TypeScript build configuration (tsconfig.json rootDir)
  • Fixed all test imports from src/ to dist/ (461 tests now passing)
  • Fixed flaky forceOcr: true test (OCR backend isolation issue)
  • Fixed test cleanup to prevent mutex errors

Documentation

  • Added CONTRIBUTING.md symlink to fix broken GitHub link

Known Issues

  • A cosmetic mutex error may appear at the very end of Node.js test runs during C++ static destruction
  • This occurs after all Rust code completes and can be safely ignored
  • Will be resolved when fastembed upgrades to ort >= 2.0.0

Test Results

  • Rust: All tests passing
  • Node.js: 461/461 tests passing (100%)
  • Python, Ruby, Java, Go: TBD via CI

What Changed Since rc.2

  • ONNX Runtime is now properly bundled
  • Node.js package fully functional and tested
  • All test isolation issues resolved

v4.0.0-rc.4

01 Dec 14:03
2567398

Choose a tag to compare

v4.0.0-rc.4 Pre-release
Pre-release

Release Candidate 4 - Critical CI/CD and Build Fixes

Bug Fixes

CI/CD Workflow Fixes:

  • Fixed RubyGems action version (v2 doesn't exist, now using v1.0.0)
  • Fixed pnpm workspace configuration (replaced invalid --cwd flag with -C)
  • Fixed Docker environment variables (undefined $LD_LIBRARY_PATH in Dockerfiles)
  • Fixed Maven credentials timing (env vars now available when setup-java generates settings.xml)
  • Fixed Maven GPG configuration (modernized arguments to --pinentry-mode=loopback format)
  • Removed release notes update job from publish workflow (not needed)

Core Library Fixes:

  • Fixed Tesseract OCR test failure (corrected API call ordering: set_image before set_source_resolution)
  • Fixed Go Windows CGO linking (build Rust FFI with x86_64-pc-windows-gnu target for MinGW compatibility)

Testing:

  • All 24 Tesseract tests now pass (was 23/24 in rc.3)
  • Go bindings now build successfully on Windows

v4.0.0-rc.2

30 Nov 16:47
v4.0.0-rc.2
2fd6cc4

Choose a tag to compare

Release Candidate 2 - C# Support & Infrastructure Improvements

Breaking Changes

TypeScript/Node.js Package Restructuring:

  • NPM package renamed from kreuzberg to @kreuzberg/node (scoped package)
  • Platform-specific packages now use @kreuzberg/{platform} naming scheme
  • TypeScript source consolidated into crates/kreuzberg-node (merged with native bindings)
  • Migration: Replace import { ... } from 'kreuzberg' with import { ... } from '@kreuzberg/node'
  • See Migration Guide for details

New Features

C#/.NET Bindings:

  • Complete C# bindings using .NET 9+ Foreign Function & Memory API
  • Native FFI bridge via kreuzberg-ffi C library
  • Supports .NET 9+ on Linux, macOS, and Windows
  • Package: Kreuzberg on NuGet
  • Full feature parity with other language bindings

Documentation Improvements:

  • New v3 documentation site with MkDocs
  • Comprehensive multi-language code examples for all 7 supported languages
  • API reference documentation for all bindings
  • Migration guides and tutorials

Bug Fixes

CI/CD Fixes:

  • Fixed all CI workflow failures (ONNX Runtime, Maven dependencies, path triggers)
  • Fixed benchmark harness configuration validation (single-file mode)
  • Added ONNX Runtime installation to all relevant CI workflows
  • Updated Maven plugins to latest compatible versions with enforcer plugin

Core Library Fixes:

  • Added lock poisoning recovery to embeddings model cache
  • Improved Tesseract tessdata path detection for Linux systems
  • Fixed Python async test configuration (pytest-asyncio)
  • Resolved Rust formatting issues with edition 2024 let-chain syntax

Benchmark Harness Improvements:

  • Added comprehensive adapter registration diagnostics
  • Fixed Tesseract benchmark path resolution
  • Improved Python async benchmark output with performance metrics
  • Added missing `--max-concurrent` parameter validation

Code Quality:

  • Fixed Python linting issues (ruff complexity, mypy type parameters)
  • Resolved all clippy warnings
  • Fixed C# generated file formatting
  • Improved error handling across all bindings

Developer Experience

Build System:

  • Go FFI library and Ruby native extension build fixes
  • Improved build reproducibility
  • Better error messages during compilation

Testing:

  • 268+ Rust tests passing
  • 13/13 Java tests passing
  • 32/32 benchmark harness tests passing
  • Fixed 27 Python async test failures
  • Unblocked 250+ tests across all language bindings