Skip to content

v0.40.0

Choose a tag to compare

@musharna musharna released this 11 Jun 21:40

Full-project audit release: 20+ verified fixes across the core engine, connectors, and security surface, plus a truthful MCP tool surface.

Highlights

Truthful MCP surface — the search tool now advertises all 12 sources (DANDI, OpenML, RCSB PDB, GWAS Catalog, and CZ CELLxGENE were hidden from LLM clients); fetch lists every wired backend with its verification status; server.json documents the full env-var surface (LLM_*, EMBEDDING_*, UNPAYWALL_EMAIL) so deployment tooling can surface the knobs behind understand=, multi_query=, and rank=semantic.

Security hardening — archive extraction now streams in chunks counting actual bytes (no whole-member RAM loads, no header-trust), extraction shares the fetch byte budget (closing a 2× disk-write hole), and fetch/operate enforce an http(s) URL scheme allowlist against poisoned upstream metadata. The registry publish workflow SHA-pins its checkout and sha256-verifies the mcp-publisher binary.

CorrectnessNCBI_EMAIL alone no longer over-claims 10 req/s (inviting 429s); search fan-out survives sub-task cancellation with partial results instead of crashing; cursors are type-validated; collapse_mirrors finds transitive merges; DataONE Solr queries escape user input; GWAS pagination math fixed for size>50; OSF listing page-capped; DataCite/Scholix error-taxonomy escapes closed; OpenNeuro queries use GraphQL variables.

README — full 12-source roster in the intro and sources table, new architecture diagram, PyPI-safe absolute links.

See CHANGELOG.md for the complete list.

🤖 Generated with Claude Code