v2.0.7 — Crawl4AI auth and safer video extraction
Patch release with two fixes: Crawl4AI Docker mode works again with Crawl4AI >= 0.9.0, and video extraction no longer writes next to your source file. Validated with the canonical unit + integration suite (308 tests), the packaging gate on all three surfaces (library import, CLI, MCP handshake) from the built wheel, and all optional extras resolving. Media e2e (real STT calls) is unverified this release due to a provider billing issue on the maintainer's side; the video pipeline is covered by unit tests.
✨ New features
Library / CLI / MCP
crawl4ai_api_tokenconfig setting, with theCRAWL4AI_API_TOKENenv var taking precedence, mirroringCRAWL4AI_API_URL(#80). Set it to authenticate against a Crawl4AI Docker instance.- CLI:
content-core config listandconfig setnow mask credential-like values (keys containingtoken,key,secret,password) so a stored token never lands on stdout (#80).
🐛 Notable fixes
- Crawl4AI Docker mode was rejected by any Crawl4AI >= 0.9.0 instance (#80). Recent versions require a bearer token for external connections by default, and the client sent no
Authorizationheader. When the token is configured it is sent asAuthorization: Bearer <token>; unset keeps the previous unauthenticated behavior for older instances. - Video extraction wrote an intermediate
<name>_audio.mp3next to your source video and deleted it afterwards (#74). A pre-existing file with that name was silently overwritten and removed, read-only source directories failed, and concurrent extractions of the same video collided. The intermediate now lives in a temporary directory, like audio transcription already did.
⚠️ Breaking changes & deprecations
None.
🙏 Thanks
Thanks to the Open Notebook users who reported the Crawl4AI authentication failure downstream (lfnovo/open-notebook#1243).
Full details in the CHANGELOG.
Install: pip install content-core==2.0.7
Extras: content-core[docling], [crawl4ai], [langchain]
Zero-install: uvx content-core extract <source>
MCP: uvx content-core mcp