anna

Changelog

All notable changes to anna.

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

[0.5.0] - 2026-03-13

✨ Features

  • Memory: Add Lossless Context Management (LCM) — DAG-based memory system with identity files, semantic retrieval tools, and session-scoped context (#46)

♻️ Refactoring

  • Database: Restructure database layer with Atlas and sqlc (#46)
  • Database: Remove store.Store + RPCEvent — SQLite-only persistence with ai.Message (#47)
  • Database: Replace hardcoded migrations with Atlas-generated SQL files (#48)
  • Cron: Merge heartbeat/ package into internal/cron/ — heartbeat is now a built-in cron task (#49)

📝 Documentation

  • Rewrite README as marketing-oriented product page
  • Add MIT license
  • Rewrite memory system docs to match LCM implementation
  • Sync builtin anna skill with new README

Full Changelog: v0.4.2...v0.5.0

[0.4.2] - 2026-03-12

✨ Features

  • Channels: Add /whoami command to all channels (#44)

Full Changelog: v0.4.1...v0.4.2

[0.4.1] - 2026-03-11

♻️ Refactoring

  • Flatten packages, split large files, and improve structure (#43)

Full Changelog: v0.4.0...v0.4.1

[0.4.0] - 2026-03-11

✨ Features

  • CLI: Add version and self-upgrade commands (#41)
  • Gateway: Add heartbeat support for gateway channels (#40)
  • Config: Add enabled and enable_notify toggles for channels

🐛 Bug Fixes

  • Notifications: Respect channel enabled flag for notification routing
  • Gateway: Skip persisted cron jobs for heartbeat-only gateway runs
  • Upgrade: Harden self-upgrade target replacement

📝 Documentation

  • CLI: Document version and upgrade commands

Full Changelog: v0.3.0...v0.4.0

[0.3.0] - 2026-03-10

✨ Features

  • Feishu: Add Feishu (Lark) bot channel with WebSocket, streaming cards, image I/O, rich text, and group support (#39)
  • Skills: Add builtin anna skill embedded in binary (#37)

♻️ Refactoring

  • Add Channel interface and extract shared command/util logic (#38)

Full Changelog: v0.2.0...v0.3.0

[0.2.0] - 2026-03-09

✨ Features

  • QQ Bot: Add QQ Bot channel support (#33)
  • Onboard: Add onboard subcommand with web-based setup UI (#36)
  • Telegram: Image input support (#35)
  • Telegram: Tool summary with history, timing, and result status (#32)
  • Tools: Add webfetch tool for fetching web pages as markdown (#28)

🐛 Bug Fixes

  • Telegram: Use channel-scoped UUID sessions for /new command (#31)

♻️ Refactoring

  • Flatten package structure and merge runner packages (#27)
  • Flatten config structure and move workspace to ~/.anna (#26)

Full Changelog: v0.1.0...v0.2.0

[0.1.0] - 2026-03-07

✨ Features

  • CI/CD: Add CI/CD workflows, Docker, and release infrastructure (#25)
  • Skills: Native skill management tool (#23)
  • Cron: Add one-time scheduled jobs (#20)
  • Telegram: Add streaming draft support (#18)
  • Telegram: Paginated model list with text filter
  • Telegram: Notification channel, group support & model switch fix (#13)
  • Telegram: Enhance bot UX (#12)
  • Telegram: Add allowed_ids access control
  • Tools: Truncate large tool outputs to temp file (#9)
  • Models: Tiered model config (strong/worker/fast) (#10)
  • Session: Session compaction with LLM-generated handoff summaries (#4)
  • Memory: Persistent memory system with consolidated file layout (#3)
  • Context: Support AGENTS.md project context files in system prompt
  • Cron: Cron scheduling system (#2)

🐛 Bug Fixes

  • Docker: Support multi-platform builds with TARGETARCH/TARGETOS
  • CI: Resolve 50 errcheck lint issues and add coverage reporting (#26)
  • Telegram: Notification SendOptions bug and missing callback updates
  • Telegram: Callback guard in groups and cron startup race
  • Core: Nil sender panic and notify tool in CLI mode

♻️ Refactoring

  • Fix remaining lint issues (gocritic, gofmt, staticcheck, ineffassign)
  • Multi-backend notification dispatcher
  • Remove Pi runner (agent/runner/pi) (#8)
  • Move restart-gateway.sh to mise file-based task

📝 Documentation

  • Restructure README and docs for maintainability
  • Add notification system design doc
  • Clarify exclusive scope for memory files to prevent duplication (#21)

📦 Dependencies

  • Bump github.com/cloudflare/circl from 1.6.1 to 1.6.3 (#24)

Full Changelog: v0.1.0

On this page