What's new
Release history of ratel-ai-core, the Rust engine both SDKs bundle, with links to every package changelog.
Ratel SDK versions track ratel-ai-core, the Rust engine both SDKs bundle. Its changelog is below. Each published package also keeps its own changelog; those are listed at the end.
ratel-ai-core release history · crates.io · source · docs.rs
Synced verbatim from the package's
CHANGELOG.mdatratel-ai/ratel@3be0ecb— do not edit by hand. Regenerate withpnpm sync:apiinapps/docs.
All notable changes to ratel-ai-core are documented here.
The format follows Keep a Changelog and this crate adheres to Semantic Versioning.
[0.4.0] - 2026-07-09
Fixed
- Re-registering a tool or skill (MCP re-sync, hot-reload) left a stale duplicate in the corpus instead of replacing it in place, causing BM25 score drift and an unbounded memory leak.
ToolRegistry/SkillRegistryare now id-keyed soregisterreplaces in place, and the dense embedding cache invalidates on replace sobuild_embeddingsre-embeds the changed id.
[0.3.0] - 2026-07-06
Added
- Selectable retrieval methods (ADR-0011): a
SearchMethodenum —Bm25(default),Semantic,Hybrid— chosen per registry or per call viaToolRegistry::search_with_method/SkillRegistry::search_with_method. Semantic ranks a localBAAI/bge-small-en-v1.5embedding (pure-Rust Candle); hybrid fuses the BM25 and dense arms with Reciprocal Rank Fusion (no reranker). EmbedderError(surfaced fromsearch_with_methodon the semantic/hybrid path) and aTraceEvent::EmbedderLoad/EmbedderLoadStatusflagging a slow (possibly underpowered machine) or failed model load.ToolRegistry::build_embeddings/SkillRegistry::build_embeddings— pre-compute embeddings for not-yet-embedded tools/skills so a later semantic/hybrid search only embeds the query.
Changed
- BM25 remains the default engine.
search/search_with_originkeep their infallibleVec<SearchHit>signature and BM25 behavior unchanged. - The dense embedding cache is now incremental — a growing prefix of the corpus.
registeronly appends (never invalidates), andbuild_embeddingsembeds only newly-registered tools, so an existing vector is never recomputed (adding one tool costs one embedding, not N). A BM25-only registry still never loads the model. - A semantic/hybrid search over an un-built corpus now returns
EmbedderError::EmbeddingsNotBuiltinstead of embedding inside the search path — a search never silently pays the corpus-embedding cost. Populate the cache withbuild_embeddings()first.
[0.2.1-rc.1] - 2026-07-04
Changed
- First release cut under the per-package release scheme (ADR-0008):
ratel-ai-corenow versions and ships independently, taggedcore-v*. No crate API changes since 0.2.0.
[0.2.0] - 2026-06-16
Added
- First-class skills: a
Skill { id, name, description, tags, tools, metadata, body }type and a separateSkillRegistryBM25 index — ranked independently of tools. Onlyname/description/tagsare indexed;tools(a declared dependency edge surfaced at the gateway),metadata(non-indexed context such asstacks), andbodyare not. Plusskill_search/skill_churn/skill_invoketrace events for the retrieval funnel.
[0.1.6] - 2026-06-10
Changed
- Version bump for the coordinated v0.1.6 release (first release shipping the
ratel-aiPython SDK). No crate source changes since 0.1.5; re-published in lockstep to keep all artifacts version-aligned.
[0.1.5] - 2026-05-10
Added
- Initial release on the v1 (revamp) line. BM25 tool retrieval, MCP ingestion, framework-neutral catalog. See the crate README for the full surface.
tracemodule:TraceEventtagged enum,TraceEnvelope,TraceSinktrait withNoopSink,MemorySink, andJsonlSink(synchronousO_APPEND, mode0600on Unix) — single tagged event stream per ADR-0007.ToolRegistry::with_trace_sink/set_trace_sink/record_eventplus asearch_with_originmethod.registeremitsindex_churn{Add};searchemitssearchwith abm25stage. The origin enum tags each search asdirect(Rust callers, pre-fetch helpers, benchmarks) oragent(LLM-synthesized via the gateway), to let downstream consumers separate the two paths.
Looking for a specific package?
The SDK and telemetry packages version independently. Their changelogs live in the Reference section:
- Rust —
ratel-ai-core·ratel-ai-telemetry - TypeScript —
@ratel-ai/sdk·@ratel-ai/telemetry·@ratel-ai/telemetry-otlp - Python —
ratel-ai·ratel-ai-telemetry
Each package page next to them carries the raw generated API reference — start at the package list.