Skip to content

Release v0.6.0

Choose a tag to compare

@github-actions github-actions released this 29 Jun 17:08
· 337 commits to develop since this release

What's New in v0.6.0

Added

  • Batch import (--batch-dir) β€” import all .md/.markdown/.txt/.jsonl files from a
    directory in one command. Two strategies: Document (.md β†’ auto-chunk β†’
    embed, no LLM) and MemoryExtract (.txt/.jsonl β†’ LLM fact extraction).
    Use --as-doc or --as-memory to override auto-detection (mutually exclusive).
    --recursive for nested directories, --dry-run to preview, --max-size to
    skip large files. Path is canonicalized before traversal to prevent symlink
    escapes (#492 review).
  • Embed fallback β€” optional cloud embedding API fallback when local ONNX fails.
    Configured via [embed_fallback] in uteke.toml or env vars
    UTEKE_EMBED_FALLBACK_*. Validates dimension compatibility at startup.
    Requires all three fields (api_key, base_url, model) β€” partial config
    produces a warning instead of a runtime crash.
  • Mode C documentation β€” docs/integrations/hermes.md now documents all three
    Hermes integration modes (A: uteke-tool, B: memory-provider, C: shell hook).
    Getting-started callout updated to reference all modes.
  • Migration upgrade regression test β€” simulates v0.4.x DB (schema_version=11)
    and verifies migration v11β†’v12 completes with all hierarchy columns and indexes.

Changed

  • ensure_embedder() now wraps OnnxEmbedder in FallbackEmbedder when
    fallback settings are present and dims match.

Fixed

  • #492: Schema migration crash on upgrade from v0.4.x β€” duplicate document
    hierarchy indexes (idx_documents_path/parent/depth/sort) in the SCHEMA
    constant caused execute_batch() to fail before versioned migrations ran.
    Columns didn't exist yet in existing DBs. Moved indexes to
    migrate_v11_to_v12() where they belong.
  • Batch import path canonicalization β€” --batch-dir now resolves symlinks
    and .. components before traversal.
  • Batch import silent errors β€” read_dir failures on entries now logged
    instead of silently swallowed.
  • Fallback embedder partial config β€” is_configured() now requires all
    three fields (api_key, base_url, model). Partial config produces a
    clear warning instead of a confusing runtime crash on first embed call.

πŸ“¦ 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.6.0.tar.gz
Linux (ARM64) uteke-aarch64-unknown-linux-gnu-v0.6.0.tar.gz
macOS (Apple Silicon) uteke-aarch64-apple-darwin-v0.6.0.tar.gz
Windows (x86_64) uteke-x86_64-pc-windows-msvc-v0.6.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=0.6.0 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