Skip to content

Release history

kael-bit/engram-rs releases

Hierarchical memory engine for AI agents with automatic decay, promotion, semantic dedup, and self-organizing topic tree. Single Rust binary, zero external dependencies.

All releases

16 shown

No immediate action
v0.17.0 New feature

Incremental insert + naming improvements

Review required
v0.16.1 Breaking risk
Auth Dependencies

Data loss & indexing fixes

No immediate action
v0.16.0 Breaking risk

IDF-weighted recall overhaul

No immediate action
v0.15.0 Breaking risk

Multi-agent support

v0.14.0 Breaking risk
Breaking changes
  • `rerank` field removed from `RecallRequest`
  • Global audit replaced with focused topic distillation (condenses overlapping entries when a topic reaches 10+ memories)
  • Sandbox functionality removed
Notable features
  • Episodic Core block: episodic memories cannot be promoted to Core (enforced at collection and DB level)
  • Web UI split into `index.html`, `style.css`, and `app.js` for easier maintenance
  • Sort by weight added to web UI memory list with four modes (Newest, Oldest, Weight ↓, Weight ↑)
Full changelog

Breaking Changes

  • Rerank removedrerank field removed from RecallRequest. LLM re-ranking was default-off and unnecessary; FTS + semantic scoring is sufficient. Reduces recall latency.
  • Audit → Topic Distillation — old three-powers global audit replaced with focused topic distillation. When a topic grows to 10+ memories, overlapping entries are condensed into fewer, richer ones. More efficient, fewer wasted LLM calls.
  • Sandbox removed — no longer needed with the simpler distillation model.

New Features

  • Episodic Core block — episodic memories can never be promoted to Core. Enforced at both candidate collection and DB level.
  • Web UI split — single 1300-line index.html split into index.html + style.css + app.js. Easier to maintain and read.
  • Sort by weight — web UI memory list supports 4 sort modes: Newest, Oldest, Weight ↓, Weight ↑. Uses the same memory_weight() formula as recall scoring.

Improvements

  • Centralized prompts — all LLM prompts and JSON tool schemas in src/prompts.rs
  • Centralized thresholds — all 60+ magic numbers from 15+ files in src/thresholds.rs
  • Epoch-based decay — decay only during active consolidation, not wall-clock time
  • Buffer redesign — all new memories enter Buffer; promotion requires consolidation
  • Reconcile merge — auto-detects same-topic memories where newer supersedes older
  • ~1400 lines removed net across refactoring and feature removal
No immediate action
v0.13.1 Breaking risk

Docker + Chinese README

v0.13.0 Breaking risk
Breaking changes
  • /recall and /triggers now return clean MemoryResult (id, content, score, layer, tags, kind only — internal fields removed)
  • Working memories are never deleted or demoted to Buffer
Notable features
  • Unified scoring via new memory_weight() function with additive formula
  • Activity‑driven consolidation skips when no write activity since last run
  • Gate improvements: promotion gate batches candidates into a single LLM call and adds _gate-pending cooldown tag
Full changelog

Breaking Changes

  • /recall and /triggers now return clean MemoryResult (id, content, score, layer, tags, kind only — internal fields removed)
  • Working memories are never deleted or demoted to Buffer

Unified Scoring

  • New memory_weight() function used across all ranking contexts
  • Additive formula: (importance + rep_bonus + access_bonus) × kind_boost × layer_boost
  • Importance floor changed from 0.3 to 0.0 — memories with high repetition/access stay discoverable even at zero importance
  • Recall weights: 0.5 relevance + 0.3 weight + 0.2 recency

Activity-Driven Consolidation

  • Consolidation loop skips when no write activity since last run — zero waste during idle periods
  • Audit loop follows the same pattern
  • Agent frozen = system frozen. No phantom decay while inactive.

Gate Improvements

  • Promotion gate now batches all candidates into a single LLM call (was per-item)
  • _gate-pending cooldown tag prevents retry storms on LLM errors (2h TTL)
  • Triage dedup via _triaged filter

Memory Protection

  • Working layer: importance decays to 0 but memory persists — findable via recall and topic tree
  • Buffer: still evictable when over capacity
  • Core: unchanged (permanent)

Full Changelog: https://github.com/kael-bit/engram-rs/compare/v0.12.2...v0.13.0

No immediate action
v0.12.2 Breaking risk

Resume duration increase

No immediate action
v0.12.1 New feature

Self‑organizing topic tree + 4‑segment resume

No immediate action
v0.12.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
v0.11.0 New feature

Embed queue + embed-only mode + HNSW optimization

No immediate action
v0.10.0 New feature

Anthropic support + component LLM routing

No immediate action
v0.9.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
v0.7.0 Maintenance

Routine maintenance and dependency updates.

Beta — feedback welcome: [email protected]