Migrating to v0.10.x
Chunker options merging
Chunker option merging uses dataclasses.replace() instead of asdict() so callable fields (e.g. otel_tracer, semantic_embed_fn) are not deep-copied.
If you passed custom callables through ChunkOptions, they should now round-trip reliably; if you relied on accidental deep-copy side effects (unlikely), treat this as a bugfix.
New infrastructure APIs (additive)
ChunkStorefor SQLite-backed incremental indexingChunker.stream_upsert()for batched vector-export rowsomnichunk serve --mcpfor JSON-RPC toolsChunkOptions.otel_tracerfor optional tracing
Breaking changes
None expected for core chunking callers; new features are opt-in.