Docling, the document processing library, just dropped version 2.95.0 with three focused improvements. The release brings a scoped settings context manager, expanded document metadata in callbacks, and support for custom headers in the HTML backend image fetching. For teams building document pipelines, these changes tighten control and open new extensibility points.
The headline feature is a new scoped settings context manager. You can now temporarily override configuration settings within a block of code without affecting global state. It's a small API addition—just a single patch—but it simplifies testing and temporary adjustments. The commit d907d21 shows the implementation under 50 lines of code.
Next up, callbacks now receive more document metadata. The second pr, #3485, enriches the callback payloads with additional fields—like document type and processing version—so downstream logic can act on richer context. This means fewer manual lookups and more expressive callbacks.
Finally, the HTML backend gets a custom headers injection point. When fetching images (think external resources in HTML documents), you can now pass custom HTTP headers. That's huge for authentication and rate limiting compliance. The feature is tucked under the HTML backend, so it won't affect other parsers.
These aren't flashy features. They're the kind of plumbing that makes a library dependable. The scoped settings manager, for instance, is a godsend for anyone writing regression tests. Instead of monkey-patching config globals, you wrap your test in a with settings(...) block and move on. Clean, predictable, Pythonic.
The metadata enrichment in callbacks might seem minor, but consider a pipeline that routes documents based on type or version. Without this, you'd have to parse metadata separately or rely on hacks. Now the callback gets it as part of the event. It's a step toward making Docling's callback system truly self-contained.
Custom headers for HTML image fetching? That one's a direct response to real-world obstacles. Many internal document sources require bearer tokens or custom headers to serve images. Previously, users had to pre-fetch images or patch the library. Not anymore. This is the kind of incremental gain that reduces friction for enterprise deployments.
Version 2.95.0 is a small but meaningful release. It doesn't rewrite the architecture—it refines the edges. And in a library like Docling, those edges are where production systems live or die.
Official Source: https://github.com/docling-project/docling/releases/tag/v2.95.0