Release notes
What changed in each version of dynavec, newest first.
dynavec follows semantic versioning. Upgrade with:
pip install --upgrade dynavec
uv pip install --upgrade dynavec
The full machine-readable history lives in CHANGELOG.md, and every version is a GitHub Release.
0.4.0 — 2026-09-12
Headlined by the in-memory hot tier for in-memory-engine latency without a paid cluster.
Added
- In-memory hot tier —
hot_tier=True+db.warm(namespace)serve a namespace entirely from RAM (no S3 Vectors query, no DynamoDB hydration). Write-through keeps it current; filters/rescore/MMR run on the hot path; non-authoritative namespaces fall back to S3 safely. See In-memory hot tier. - Retrieval quality runner — recall@k, MRR, and nDCG@k evaluation.
- Async LangChain retrieval —
asimilarity_searchand friends, so the retrieverainvoke()path runs on an owned async surface. - Graph export to Mermaid and Graphviz DOT; an Ollama embedder; and URL + Markdown ingestion sources.
0.3.0 — 2026-09-10
A big feature release focused on more embedders, async, freshness, ingestion, and observability.
Added
- Async embeddings —
aembed_documents/aembed_queryon every backend, offloading sync clients to threads viaasyncio.to_thread. - New embedding backends — Mistral, Voyage AI, and Bedrock Titan multimodal image embeddings.
- SPFresh hot-tier — incremental hot-index rebalancing for freshly upserted vectors, so new data is searchable without a full rebuild.
- PDF ingestion source for the document pipeline.
- FastMCP server exposing semantic and graph search as MCP tools.
- Observability — a native telemetry recorder plus a stdlib dashboard on
real query data, and a full Next.js + TypeScript + Tailwind + Recharts dashboard under
dashboard/. max_pool_connectionsconfig, threaded into every boto3 client for high-concurrency workloads.list_vectorsmaintenance iterator, optional score normalization, cachehits/missescounters +stats(), an AWS doctor command, ingestion chunk deduplication, and a shippedpy.typedmarker.
Changed
- The semantic cache is now bounded by bytes rather than entry count.
Fixed
- Escape structured-storage key components to avoid namespace/id collisions.
- Drain
QueryVectorspages fully and add apage_sizecontrol. - Pin
crewaiaway from the yanked 1.14.0 release. - Resolve optional dependencies correctly on Python 3.9.
0.2.0 — 2026-08
Initial public release: the hybrid Amazon DynamoDB + Amazon S3 Vectors store, pluggable embedders, namespace RAG, product quantization, RRF fusion, MMR rerank, the GraphRAG layer, caching backends, framework adapters, and one-shot provisioning.