v1.1.0: persistent DocumentConverter cache
Performance and library-mode hygiene release.
Replaces per-file DocumentConverter construction with a process-lifetime 2-slot LRU cache. Adds public release_models() and docling_session() (experimental for v1.1.0), ANY2MD_DOCLING_CACHE=0 env-var kill switch, and __all__. Adds tests job to CI. Updates docs with measured warmup numbers.
Performance
Measured: CPU first-call ~2.47s (model load), warm calls ~0.87s (vs prior ~2.47s per file in v1.0.x). Mac MPS first-call ~2.77s, warm ~0.14s. Maintainer benchmark scripts/bench_docling_cache.py confirmed 60.6× speedup on Mac during release validation.
Migration
None required for CLI users. Library/embedder users holding any2md across long-running processes should call any2md.release_models() or use with any2md.docling_session(): to free model state — see docs/troubleshooting.md.
Review trail
Survived two 5-round adversarial review cycles (abstract design + written spec) + two saturation rounds + Copilot PR review (caught a real clear()-stats-reset bug + docstring/docs convert_file re-export inconsistency). TestPyPI dress rehearsal published as v1.1.0-rc1; install verified end-to-end before this final release.
See CHANGELOG.md for full entry, including Stability notice and Known limitations.