github kreuzberg-dev/kreuzberg v4.2.0

latest release: v4.2.1
21 hours ago

Major Release: Complete API Consistency Across All 10 Language Bindings

This release achieves 100% API parity across Rust, Python, TypeScript, Ruby, Java, Go, PHP, C#, Elixir, and WebAssembly bindings. Every ExtractionConfig field is now available in all languages with consistent naming conventions and type safety.

📊 Release Stats:

  • 70 files changed
  • 11,839 lines added
  • 300+ new tests across all bindings
  • 4,500+ total tests passing
  • Complete backward compatibility for all SDK APIs

What's New

MCP Interface

  • Full config parameter support: All ExtractionConfig options now available via MCP tools
  • Enables complete configuration pass-through from AI agents to Rust core
  • Standardizes parameter handling across all MCP tools

CLI Improvements

  • --output-format flag: Canonical replacement for --content-format
  • --result-format flag: Controls result structure (unified, element_based)
  • --config-json flag: Inline JSON configuration
  • --config-json-base64 flag: Base64-encoded configuration support

Language Bindings

  • All 10 bindings now expose identical API surface
  • Added missing fields to PHP, Go, and Java bindings
  • Fixed Ruby batch chunking operations
  • Complete type safety across all languages

Testing & Documentation

  • 300+ new tests across all bindings
  • API consistency validator with CI integration
  • Comprehensive migration guide (757 lines)
  • Deprecation guide with code examples

Breaking Changes ⚠️

MCP Interface Only (AI agents only, no end-user impact):

  • enable_ocr and force_ocr moved under config object
  • Old parameter names still work with deprecation warnings

Deprecations

  • CLI: --content-format → use --output-format instead
  • Environment: KREUZBERG_CONTENT_FORMAT → use KREUZBERG_OUTPUT_FORMAT

All deprecated features remain functional in v4.2.0 and will be removed in v5.0.0.

Migration

See the Migration Guide for complete upgrade instructions.


Full Changelog: https://github.com/kreuzberg-dev/kreuzberg/blob/main/CHANGELOG.md#420---2026-01-26

Don't miss a new kreuzberg release

NewReleases is sending notifications on new releases.