Skip to content

Release v0.5.0

Choose a tag to compare

@github-actions github-actions released this 27 Jun 10:25
· 337 commits to develop since this release

What's New in v0.5.0

Added

  • Hermes memory-provider plugin β€” uteke init --agent hermes --memory-provider
    installs a MemoryProvider plugin to ~/.hermes/plugins/uteke/ that makes
    uteke Hermes's default long-term memory: automatic recall injected into the
    prompt each turn, plus opt-in LLM fact extraction on session end / pre-compress.
    Talks to the uteke binary directly (no uteke-serve daemon) and has a
    circuit breaker so a bad endpoint never blocks the agent. Templates live in
    extensions/hermes-memory-provider/ and are embedded via include_str!.
    Docs: docs/integrations/hermes.md (Mode B). Complements the existing
    uteke-tool plugin (Mode A) rather than replacing it.
  • #46: LLM-backed fact extraction on import β€” uteke import --extract
    distills noisy source text (chat transcripts, long notes, exported dumps)
    into atomic facts via an OpenAI-compatible chat-completions endpoint, storing
    one memory per fact instead of importing raw text verbatim. Opt-in and
    offline-first: without --extract the importer makes no network calls and
    behaves exactly as before. Configurable via the [extraction] config section
    or UTEKE_EXTRACTION_* env vars (MODEL, API_KEY, BASE_URL,
    ENDPOINT_PATH, MAX_FACTS), plus per-run flags --extract-model,
    --extract-api-key, --extract-base-url, and --extract-max-facts. The
    extraction API key falls back to the embedding/OPENAI_API_KEY credential so
    an existing OpenAI-compatible setup needs no duplication.
  • #473: Configurable embedding endpoint path β€” endpoint_path in [embedding]
    config or UTEKE_EMBEDDING_ENDPOINT_PATH env var. Auto-normalizes leading
    slash for non-standard API paths (e.g. Azure, custom proxies).
  • #472: Default max_seq_length increased to 2048 β€” ONNX embedding backend
    now defaults to 2048 tokens (was 256). Configurable via max_seq_length in
    config or UTEKE_MAX_SEQ_LENGTH env var.
  • #466: Public store() accessor β€” Uteke::store() exposes the internal
    Store handle for downstream crates that need direct room/tag operations.

Changed

  • rusqlite 0.31 β†’ 0.40 β€” upgraded to match CorIn's dependency. All
    COUNT(*) results and LIMIT/OFFSET bindings migrated from usize to i64
    (rusqlite β‰₯0.32 breaking change).

πŸ™ Contributors

Thank you to everyone who contributed to v0.5.0:

Contributor PRs
gnoviawan #477 (LLM fact extraction), #479 (Hermes memory-provider)
ajianaz #465, #466, #474, #475, #476, #478, #480–#484
dependabot #467

Special thanks to gnoviawan for the two headline features β€” fact extraction and the Hermes memory-provider plugin. πŸš€

πŸ“¦ Binaries

Each archive contains two binaries:

  • uteke β€” CLI tool
  • uteke-serve β€” HTTP server daemon
Platform File
Linux (x86_64) uteke-x86_64-unknown-linux-gnu-v0.5.0.tar.gz
Linux (ARM64) uteke-aarch64-unknown-linux-gnu-v0.5.0.tar.gz
macOS (Apple Silicon) uteke-aarch64-apple-darwin-v0.5.0.tar.gz
Windows (x86_64) uteke-x86_64-pc-windows-msvc-v0.5.0.zip

πŸš€ Quick Start

# Quick install (Linux / macOS)
curl -fsSL https://raw.githubusercontent.com/codecoradev/uteke/main/install.sh | sh

# Pin a specific version
UTEKE_VERSION= curl -fsSL https://raw.githubusercontent.com/codecoradev/uteke/main/install.sh | sh

# Store a memory
uteke remember "Important context" --tags project

# Recall by meaning
uteke recall "what was that context?"

# Start server for fast AI agent access
uteke-serve --port 8767

Full changelog: https://github.com/codecoradev/uteke/blob/main/CHANGELOG.md