Skip to content

Releases: dean2021/enno

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 09 May 12:04

Changelog

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

The project follows Semantic Versioning. While the public API is still evolving, releases use the v0.x.y series.

[0.13.0] - 2026-05-09

Changed (breaking)

  • Remove the sdk package; merge all types and configuration into the root enno package. Users now call enno.NewAgent(enno.Config{...}) directly instead of sdk.NewAgent(sdk.Config{...}).
  • Add a setup package (github.com/dean2021/enno/setup) that must be blank-imported to enable built-in tool assembly. Without import _ "github.com/dean2021/enno/setup", using BuiltinTools in enno.Config returns an error.
  • Move SystemPromptSection, BuiltinTools, all tool config types (TaskGraphTool, FilesystemTool, ShellTool, GrepTool, GlobTool, FetchURLTool, SubagentTool, LoadSkillTool, CompactTool), ToolPermissions, and PermissionMode constants into the root enno package.
  • Move AssembleConfig (previously sdk.AssembleConfig) into the root enno package.
  • enno.Config now includes SystemPromptSections, BuiltinTools, Permissions, and CustomTools fields alongside existing Tools, SystemPrompt, etc.

Migration

// Before (v0.12.0):
import (
    "github.com/dean2021/enno"
    "github.com/dean2021/enno/sdk"
)
agent, err := sdk.NewAgent(sdk.Config{...})

// After (v0.13.0):
import (
    "github.com/dean2021/enno"
    _ "github.com/dean2021/enno/setup"
)
agent, err := enno.NewAgent(enno.Config{...})

[0.12.0] - 2026-05-09

Changed (breaking)

  • Move built-in tool implementations from internal/builtintools/* to builtintools/*.
  • Move SDK runtime prompt helpers from internal/systemprompt to prompt.
  • Update all documentation to reflect the new package paths.

[0.11.0] - 2026-05-09

Changed

  • Move the former in-repo CLI to the standalone Godo project at ../godo-coding-agent; Enno now focuses on SDK, providers, and built-in tool assembly.
  • Remove CLI-owned code and CLI release/install targets from the Enno SDK repository.

Documentation

  • Document the future standalone CLI module boundary, including public SDK import shape, migration directories, and split changelog strategy.

[0.10.0] - 2026-05-09

Added

  • Add the built-in fetch_url tool for fetching HTTP/HTTPS pages and converting HTML to readable markdown.
  • Refactor CLI system prompt assembly into named sections, add best-effort project instruction loading from AGENTS.md / CLAUDE.md, and keep SDK SystemPrompt control explicit.
  • Add sdk.SystemPromptSection and Config.SystemPromptSections so applications can inject named prompt sections while keeping agent identity application-owned.

Changed

  • Remove default coding-agent identity from the SDK; CLI now owns its identity explicitly through internal/cliconfig.

[0.9.0] - 2026-05-08

Added

  • Add a complete offline SDK walkthrough under examples/sdk_walkthrough.
  • Add github.com/dean2021/enno/sdk for high-level built-in tool configuration and tool permissions.

Changed (breaking)

  • Move built-in tool implementations from public tools/* packages to builtintools/*.
  • Migrate CLI assembly to sdk.Config.BuiltinTools and add YAML allowed_tools, disallowed_tools, and permission_mode.

Documentation

  • Clarify high-level SDK guidance and refresh architecture/config references for the built-in tool API.

[0.8.0] - 2026-05-08

Changed (breaking)

  • Replace the legacy text-only Agent.Run(ctx, input) path with Agent.Run(ctx, session, input) (RunResult, error).
  • Remove Agent.RunDetailed, Agent.RunSession, Agent.Messages, and Agent.Reset; callers now own conversation state through Session.
  • Update Agent.RunStream to require an explicit Session.

CLI

  • Migrate cmd/enno, plain REPL fallback, and Bubble Tea TUI to the explicit Session API.
  • Keep CLI output behavior unchanged by printing RunResult.Content.

Documentation

  • Update README, SDK guide, design notes, migration guide, examples, and agent guidance for the explicit-session SDK.

[0.7.0] - 2026-05-08

Added

  • SDK detailed run APIs with RunDetailed, RunStream, RunSession, RunResult, per-round usage, stop reasons, and tool-call metadata.
  • Provider-neutral request options for temperature, max output tokens, tool choice, response formats, and metadata.
  • Lifecycle hooks and policies for provider calls, tool calls, compaction, and task reminders.
  • Session cloning/reset support for applications that persist or branch conversation state.
  • Schema builder helpers, structured tool results, and early tool definition validation.
  • Consistent built-in tool output limits and timeout options across filesystem, shell, grep, glob, and subagent tools.

Changed

  • Refactored the agent loop around explicit sessions, policies, hooks, and detailed execution state.
  • OpenAI-compatible and Anthropic providers now map shared SDK request options where supported.
  • OpenAI-compatible provider now supports Chat Completions streaming.

Documentation

  • Expanded SDK usage and design docs for advanced APIs, hooks, streaming, sessions, and built-in tool options.
  • Added a migration guide and marked the SDK improvement checklist complete.

[0.6.2] - 2026-05-08

Documentation

[0.6.1] - 2026-05-07

Fixed

  • compaction_impl: declare compaction default const values as untyped integers in one block (avoids “only the first constant has an explicit type” / mixed typing in the same group). Behavior unchanged.

[0.6.0] - 2026-05-07

Changed (breaking)

  • grep / glob: registered tool names are now grep and glob (were Grep / Glob).
  • subagent: child-agent tool registered name is subagent (was task).

CLI / TUI

  • Button-only mouse tracking (MouseButtonEvents): wheel scrolls the main transcript when the pointer is over that pane; ↑ / ↓ navigate input history; drag-select may require Shift in some terminals.
  • Removed F9 transcript-to-clipboard shortcut.

Documentation

  • README, usage, design, examples, and agent guidance updated for renames and TUI behavior.

[0.5.0] - 2025-07-11

Added

  • tools/taskgraph: persistent DAG task plan (task_create, task_update, task_list, task_get). CLI stores JSON under ~/.enno/tasks/<session_id>/ (UUID v4 per run); library default remains Root/.tasks/ when TasksDir is empty. CLI YAML task_graph / --no-task-graph (default: enabled). Replaces the removed todo tool.
  • tools/grep: Grep tool (Claude Code–compatible name) running rg with path scope under Config.Root; CLI YAML grep / flag --no-grep (default: grep enabled). Requires ripgrep installed.
  • tools/glob: Glob tool (Claude Code–compatible name) listing files with rg --files under Config.Root; CLI YAML glob / flag --no-glob (default: glob enabled). Requires ripgrep on PATH.
  • Optional context compaction (Config.Compaction): micro-trimming of older long tool results, automatic summarization when estimated input usage crosses a threshold (writes JSONL transcripts under TranscriptDir, default ~/.enno/transcripts when enabled), and a manual compact tool (same summarization path; must be the only tool call in that turn). Default off; extra model calls and disk writes when enabled. Implementation lives in compaction_impl.go in the root package (a separate compaction subpackage would import-cycle with enno).
  • tools/compact: registers the compact tool name for the runtime; CLI appends it when compaction is set in config.yaml.
  • tools/subagent: optional task tool that runs a child enno.Agent with isolated history; CLI can enable it with subagent: true in ~/.enno/config.yaml or disable with --no-subagent.
  • tools/loadskill: load SKILL.md skills from a directory, inject short descriptions into the system prompt, and register load_skill for on-demand full text; CLI merges default ~/.enno/skills with optional skills_extra_dirs, skills_dir, and --skills-dir (later roots override same skill name).

Fixed

  • TUI: use button-level mouse mode (not full motion/drag reporting) so the main transcript can be click-dragged for copy again; keep wheel scroll routing.

Removed

  • tools/todo and the todo tool: use task_* task graph tools instead. Agent “plan reminder” now tracks task_create / task_update / task_list / task_get and injects <reminder>Update your task plan.</reminder>.

Changed

  • CLI:首次自动创建的 ~/.enno/config.yaml 模板默认包含 compaction.enabled: true(仍可改为 false);库 API 仍为 Compaction == nil 时不启用压缩。
  • Compaction:摘要提示改为 <analysis> / <summary> 结构并后处理为正文;支持 ModelContextTokens + buffer 阈值、MicroCompactToolNames、上一轮 API InputTokens 与估算取 max、摘要失败时半量重试、SkipOnSummarizeError 与同一 Run 内连续失败熔断;手动 compact 仍严格失败即报错。
  • TUI: the main transcript scrolls only with the mouse wheel over that pane; keyboard paging keys no longer scroll it.

[0.4.0] - 2026-05-08

Added

  • Save user input history to ~/.enno/history.jsonl in JSONL format with display text, timestamp, project path, and session ID.
  • TUI prompt supports Up/Down arrow keys to navigate input history with draft preservation.
  • Load last 500 history entries on TUI startup for immediate navigation.
  • Add internal/history package with Recorder (append-only writer) and LoadRecent (reader).
  • Add Project and SessionID fields to CLI config for history tracking.
  • Generate random session ID per CLI invocation.

Changed

  • Main view scrolling changed from Up/Do...
Read more

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 09 May 10:29

Changelog

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

The project follows Semantic Versioning. While the public API is still evolving, releases use the v0.x.y series.

[Unreleased]

[0.11.0] - 2026-05-09

Changed

  • Move the former in-repo CLI to the standalone Godo project at ../godo-coding-agent; Enno now focuses on SDK, providers, and built-in tool assembly.
  • Remove CLI-owned code and CLI release/install targets from the Enno SDK repository.

Documentation

  • Document the future standalone CLI module boundary, including public SDK import shape, migration directories, and split changelog strategy.

[0.10.0] - 2026-05-09

Added

  • Add the built-in fetch_url tool for fetching HTTP/HTTPS pages and converting HTML to readable markdown.
  • Refactor CLI system prompt assembly into named sections, add best-effort project instruction loading from AGENTS.md / CLAUDE.md, and keep SDK SystemPrompt control explicit.
  • Add sdk.SystemPromptSection and Config.SystemPromptSections so applications can inject named prompt sections while keeping agent identity application-owned.

Changed

  • Remove default coding-agent identity from the SDK; CLI now owns its identity explicitly through internal/cliconfig.

[0.9.0] - 2026-05-08

Added

  • Add a complete offline SDK walkthrough under examples/sdk_walkthrough.
  • Add github.com/dean2021/enno/sdk for high-level built-in tool configuration and tool permissions.

Changed (breaking)

  • Move built-in tool implementations from public tools/* packages to internal/builtintools/*.
  • Migrate CLI assembly to sdk.Config.BuiltinTools and add YAML allowed_tools, disallowed_tools, and permission_mode.

Documentation

  • Clarify high-level SDK guidance and refresh architecture/config references for the built-in tool API.

[0.8.0] - 2026-05-08

Changed (breaking)

  • Replace the legacy text-only Agent.Run(ctx, input) path with Agent.Run(ctx, session, input) (RunResult, error).
  • Remove Agent.RunDetailed, Agent.RunSession, Agent.Messages, and Agent.Reset; callers now own conversation state through Session.
  • Update Agent.RunStream to require an explicit Session.

CLI

  • Migrate cmd/enno, plain REPL fallback, and Bubble Tea TUI to the explicit Session API.
  • Keep CLI output behavior unchanged by printing RunResult.Content.

Documentation

  • Update README, SDK guide, design notes, migration guide, examples, and agent guidance for the explicit-session SDK.

[0.7.0] - 2026-05-08

Added

  • SDK detailed run APIs with RunDetailed, RunStream, RunSession, RunResult, per-round usage, stop reasons, and tool-call metadata.
  • Provider-neutral request options for temperature, max output tokens, tool choice, response formats, and metadata.
  • Lifecycle hooks and policies for provider calls, tool calls, compaction, and task reminders.
  • Session cloning/reset support for applications that persist or branch conversation state.
  • Schema builder helpers, structured tool results, and early tool definition validation.
  • Consistent built-in tool output limits and timeout options across filesystem, shell, grep, glob, and subagent tools.

Changed

  • Refactored the agent loop around explicit sessions, policies, hooks, and detailed execution state.
  • OpenAI-compatible and Anthropic providers now map shared SDK request options where supported.
  • OpenAI-compatible provider now supports Chat Completions streaming.

Documentation

  • Expanded SDK usage and design docs for advanced APIs, hooks, streaming, sessions, and built-in tool options.
  • Added a migration guide and marked the SDK improvement checklist complete.

[0.6.2] - 2026-05-08

Documentation

[0.6.1] - 2026-05-07

Fixed

  • compaction_impl: declare compaction default const values as untyped integers in one block (avoids “only the first constant has an explicit type” / mixed typing in the same group). Behavior unchanged.

[0.6.0] - 2026-05-07

Changed (breaking)

  • grep / glob: registered tool names are now grep and glob (were Grep / Glob).
  • subagent: child-agent tool registered name is subagent (was task).

CLI / TUI

  • Button-only mouse tracking (MouseButtonEvents): wheel scrolls the main transcript when the pointer is over that pane; ↑ / ↓ navigate input history; drag-select may require Shift in some terminals.
  • Removed F9 transcript-to-clipboard shortcut.

Documentation

  • README, usage, design, examples, and agent guidance updated for renames and TUI behavior.

[0.5.0] - 2025-07-11

Added

  • tools/taskgraph: persistent DAG task plan (task_create, task_update, task_list, task_get). CLI stores JSON under ~/.enno/tasks/<session_id>/ (UUID v4 per run); library default remains Root/.tasks/ when TasksDir is empty. CLI YAML task_graph / --no-task-graph (default: enabled). Replaces the removed todo tool.
  • tools/grep: Grep tool (Claude Code–compatible name) running rg with path scope under Config.Root; CLI YAML grep / flag --no-grep (default: grep enabled). Requires ripgrep installed.
  • tools/glob: Glob tool (Claude Code–compatible name) listing files with rg --files under Config.Root; CLI YAML glob / flag --no-glob (default: glob enabled). Requires ripgrep on PATH.
  • Optional context compaction (Config.Compaction): micro-trimming of older long tool results, automatic summarization when estimated input usage crosses a threshold (writes JSONL transcripts under TranscriptDir, default ~/.enno/transcripts when enabled), and a manual compact tool (same summarization path; must be the only tool call in that turn). Default off; extra model calls and disk writes when enabled. Implementation lives in compaction_impl.go in the root package (a separate compaction subpackage would import-cycle with enno).
  • tools/compact: registers the compact tool name for the runtime; CLI appends it when compaction is set in config.yaml.
  • tools/subagent: optional task tool that runs a child enno.Agent with isolated history; CLI can enable it with subagent: true in ~/.enno/config.yaml or disable with --no-subagent.
  • tools/loadskill: load SKILL.md skills from a directory, inject short descriptions into the system prompt, and register load_skill for on-demand full text; CLI merges default ~/.enno/skills with optional skills_extra_dirs, skills_dir, and --skills-dir (later roots override same skill name).

Fixed

  • TUI: use button-level mouse mode (not full motion/drag reporting) so the main transcript can be click-dragged for copy again; keep wheel scroll routing.

Removed

  • tools/todo and the todo tool: use task_* task graph tools instead. Agent “plan reminder” now tracks task_create / task_update / task_list / task_get and injects <reminder>Update your task plan.</reminder>.

Changed

  • CLI:首次自动创建的 ~/.enno/config.yaml 模板默认包含 compaction.enabled: true(仍可改为 false);库 API 仍为 Compaction == nil 时不启用压缩。
  • Compaction:摘要提示改为 <analysis> / <summary> 结构并后处理为正文;支持 ModelContextTokens + buffer 阈值、MicroCompactToolNames、上一轮 API InputTokens 与估算取 max、摘要失败时半量重试、SkipOnSummarizeError 与同一 Run 内连续失败熔断;手动 compact 仍严格失败即报错。
  • TUI: the main transcript scrolls only with the mouse wheel over that pane; keyboard paging keys no longer scroll it.

[0.4.0] - 2026-05-08

Added

  • Save user input history to ~/.enno/history.jsonl in JSONL format with display text, timestamp, project path, and session ID.
  • TUI prompt supports Up/Down arrow keys to navigate input history with draft preservation.
  • Load last 500 history entries on TUI startup for immediate navigation.
  • Add internal/history package with Recorder (append-only writer) and LoadRecent (reader).
  • Add Project and SessionID fields to CLI config for history tracking.
  • Generate random session ID per CLI invocation.

Changed

  • Main view scrolling changed from Up/Down arrows to PgUp/PgDn, freeing Up/Down for input history navigation.
  • Updated status bar hints to reflect new key bindings.

[0.3.1] - 2026-05-07

Fixed

  • TUI: keep the main transcript following the end of the output when "follow latest" is enabled (avoid canceling tview track-end mode after scroll).

Changed

  • TUI: softer rounded borders, muted border and title colors, and consistent focus border glyphs between the transcript and prompt panes.
  • TUI: animated transcript title while waiting on the model during network latency.
  • TUI: use a distinct color for the tool: channel label versus the tool name in the conversation stream.

[0.3.0] - 2026-05-07

Changed

  • Replaced the CLI terminal UI dependency from tui-go to tview.

Added

  • Added Agent events and CLI observability panels for model calls, tool calls, tool results, and token usage.

[0.2.0] - 2026-05-07

Changed

  • Changed CLI provider configuration to read model, API key, base URL, and max tokens from config.yaml only.
  • Moved CLI REPL/TUI implementation from the public runner package to internal/cliui.
  • Removed workdir and prompt from CLI YAML configuration.
  • Changed the CLI interactive mode to use a tui-go terminal UI.
  • Removed CLI support for ENNO_* provider configuration environment variables.

Added

  • Added automatic creation of a commented ~/.enno/config.yaml template when the default CLI config file is missing.
  • Added internal CLI UI tests for the non-terminal REPL fallback.
  • Added CLI YAML config loading from `~/.enno...
Read more

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 08 May 12:32

Changelog

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

The project follows Semantic Versioning. While the public API is still evolving, releases use the v0.x.y series.

Unreleased

0.9.0 - 2026-05-08

Added

  • Add a complete offline SDK walkthrough under examples/sdk_walkthrough.
  • Add github.com/dean2021/enno/sdk for high-level built-in tool configuration and tool permissions.

Changed (breaking)

  • Move built-in tool implementations from public tools/* packages to internal/builtintools/*.
  • Migrate CLI assembly to sdk.Config.BuiltinTools and add YAML allowed_tools, disallowed_tools, and permission_mode.

Documentation

  • Clarify high-level SDK guidance and refresh architecture/config references for the built-in tool API.

0.8.0 - 2026-05-08

Changed (breaking)

  • Replace the legacy text-only Agent.Run(ctx, input) path with Agent.Run(ctx, session, input) (RunResult, error).
  • Remove Agent.RunDetailed, Agent.RunSession, Agent.Messages, and Agent.Reset; callers now own conversation state through Session.
  • Update Agent.RunStream to require an explicit Session.

CLI

  • Migrate cmd/enno, plain REPL fallback, and Bubble Tea TUI to the explicit Session API.
  • Keep CLI output behavior unchanged by printing RunResult.Content.

Documentation

  • Update README, SDK guide, design notes, migration guide, examples, and agent guidance for the explicit-session SDK.

0.7.0 - 2026-05-08

Added

  • SDK detailed run APIs with RunDetailed, RunStream, RunSession, RunResult, per-round usage, stop reasons, and tool-call metadata.
  • Provider-neutral request options for temperature, max output tokens, tool choice, response formats, and metadata.
  • Lifecycle hooks and policies for provider calls, tool calls, compaction, and task reminders.
  • Session cloning/reset support for applications that persist or branch conversation state.
  • Schema builder helpers, structured tool results, and early tool definition validation.
  • Consistent built-in tool output limits and timeout options across filesystem, shell, grep, glob, and subagent tools.

Changed

  • Refactored the agent loop around explicit sessions, policies, hooks, and detailed execution state.
  • OpenAI-compatible and Anthropic providers now map shared SDK request options where supported.
  • OpenAI-compatible provider now supports Chat Completions streaming.

Documentation

  • Expanded SDK usage and design docs for advanced APIs, hooks, streaming, sessions, and built-in tool options.
  • Added a migration guide and marked the SDK improvement checklist complete.

0.6.2 - 2026-05-08

Documentation

0.6.1 - 2026-05-07

Fixed

  • compaction_impl: declare compaction default const values as untyped integers in one block (avoids “only the first constant has an explicit type” / mixed typing in the same group). Behavior unchanged.

[0.6.0] - 2026-05-07

Changed (breaking)

  • grep / glob: registered tool names are now grep and glob (were Grep / Glob).
  • subagent: child-agent tool registered name is subagent (was task).

CLI / TUI

  • Button-only mouse tracking (MouseButtonEvents): wheel scrolls the main transcript when the pointer is over that pane; ↑ / ↓ navigate input history; drag-select may require Shift in some terminals.
  • Removed F9 transcript-to-clipboard shortcut.

Documentation

  • README, usage, design, examples, and agent guidance updated for renames and TUI behavior.

[0.5.0] - 2025-07-11

Added

  • tools/taskgraph: persistent DAG task plan (task_create, task_update, task_list, task_get). CLI stores JSON under ~/.enno/tasks/<session_id>/ (UUID v4 per run); library default remains Root/.tasks/ when TasksDir is empty. CLI YAML task_graph / --no-task-graph (default: enabled). Replaces the removed todo tool.
  • tools/grep: Grep tool (Claude Code–compatible name) running rg with path scope under Config.Root; CLI YAML grep / flag --no-grep (default: grep enabled). Requires ripgrep installed.
  • tools/glob: Glob tool (Claude Code–compatible name) listing files with rg --files under Config.Root; CLI YAML glob / flag --no-glob (default: glob enabled). Requires ripgrep on PATH.
  • Optional context compaction (Config.Compaction): micro-trimming of older long tool results, automatic summarization when estimated input usage crosses a threshold (writes JSONL transcripts under TranscriptDir, default ~/.enno/transcripts when enabled), and a manual compact tool (same summarization path; must be the only tool call in that turn). Default off; extra model calls and disk writes when enabled. Implementation lives in compaction_impl.go in the root package (a separate compaction subpackage would import-cycle with enno).
  • tools/compact: registers the compact tool name for the runtime; CLI appends it when compaction is set in config.yaml.
  • tools/subagent: optional task tool that runs a child enno.Agent with isolated history; CLI can enable it with subagent: true in ~/.enno/config.yaml or disable with --no-subagent.
  • tools/loadskill: load SKILL.md skills from a directory, inject short descriptions into the system prompt, and register load_skill for on-demand full text; CLI merges default ~/.enno/skills with optional skills_extra_dirs, skills_dir, and --skills-dir (later roots override same skill name).

Fixed

  • TUI: use button-level mouse mode (not full motion/drag reporting) so the main transcript can be click-dragged for copy again; keep wheel scroll routing.

Removed

  • tools/todo and the todo tool: use task_* task graph tools instead. Agent “plan reminder” now tracks task_create / task_update / task_list / task_get and injects <reminder>Update your task plan.</reminder>.

Changed

  • CLI:首次自动创建的 ~/.enno/config.yaml 模板默认包含 compaction.enabled: true(仍可改为 false);库 API 仍为 Compaction == nil 时不启用压缩。
  • Compaction:摘要提示改为 <analysis> / <summary> 结构并后处理为正文;支持 ModelContextTokens + buffer 阈值、MicroCompactToolNames、上一轮 API InputTokens 与估算取 max、摘要失败时半量重试、SkipOnSummarizeError 与同一 Run 内连续失败熔断;手动 compact 仍严格失败即报错。
  • TUI: the main transcript scrolls only with the mouse wheel over that pane; keyboard paging keys no longer scroll it.

[0.4.0] - 2026-05-08

Added

  • Save user input history to ~/.enno/history.jsonl in JSONL format with display text, timestamp, project path, and session ID.
  • TUI prompt supports Up/Down arrow keys to navigate input history with draft preservation.
  • Load last 500 history entries on TUI startup for immediate navigation.
  • Add internal/history package with Recorder (append-only writer) and LoadRecent (reader).
  • Add Project and SessionID fields to CLI config for history tracking.
  • Generate random session ID per CLI invocation.

Changed

  • Main view scrolling changed from Up/Down arrows to PgUp/PgDn, freeing Up/Down for input history navigation.
  • Updated status bar hints to reflect new key bindings.

[0.3.1] - 2026-05-07

Fixed

  • TUI: keep the main transcript following the end of the output when "follow latest" is enabled (avoid canceling tview track-end mode after scroll).

Changed

  • TUI: softer rounded borders, muted border and title colors, and consistent focus border glyphs between the transcript and prompt panes.
  • TUI: animated transcript title while waiting on the model during network latency.
  • TUI: use a distinct color for the tool: channel label versus the tool name in the conversation stream.

[0.3.0] - 2026-05-07

Changed

  • Replaced the CLI terminal UI dependency from tui-go to tview.

Added

  • Added Agent events and CLI observability panels for model calls, tool calls, tool results, and token usage.

[0.2.0] - 2026-05-07

Changed

  • Changed CLI provider configuration to read model, API key, base URL, and max tokens from config.yaml only.
  • Moved CLI REPL/TUI implementation from the public runner package to internal/cliui.
  • Removed workdir and prompt from CLI YAML configuration.
  • Changed the CLI interactive mode to use a tui-go terminal UI.
  • Removed CLI support for ENNO_* provider configuration environment variables.

Added

  • Added automatic creation of a commented ~/.enno/config.yaml template when the default CLI config file is missing.
  • Added internal CLI UI tests for the non-terminal REPL fallback.
  • Added CLI YAML config loading from ~/.enno/config.yaml and --config.
  • Added CLI config tests for YAML-only provider configuration.
  • Added CLI configuration tests for required model and OpenAI-compatible base URL settings.

[0.1.0] - 2026-05-07

Added

  • Introduced the provider-neutral enno core package with Agent, Config, Provider, Tool, and message types.
  • Added OpenAI-compatible and Anthropic provider packages.
  • Added optional built-in tools for todo tracking, filesystem access, and shell execution.
  • Added reusable runner.REPL and runner.Once helpers.
  • Added installable CLI under cmd/enno.
  • Added usage, design, README, and agent guidance documentation.
  • Added repository verification through make verify.
Read more

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 08 May 10:59

Changelog

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

The project follows Semantic Versioning. While the public API is still evolving, releases use the v0.x.y series.

0.8.0 - 2026-05-08

Changed (breaking)

  • Replace the legacy text-only Agent.Run(ctx, input) path with Agent.Run(ctx, session, input) (RunResult, error).
  • Remove Agent.RunDetailed, Agent.RunSession, Agent.Messages, and Agent.Reset; callers now own conversation state through Session.
  • Update Agent.RunStream to require an explicit Session.

CLI

  • Migrate cmd/enno, plain REPL fallback, and Bubble Tea TUI to the explicit Session API.
  • Keep CLI output behavior unchanged by printing RunResult.Content.

Documentation

  • Update README, SDK guide, design notes, migration guide, examples, and agent guidance for the explicit-session SDK.

0.7.0 - 2026-05-08

Added

  • SDK detailed run APIs with RunDetailed, RunStream, RunSession, RunResult, per-round usage, stop reasons, and tool-call metadata.
  • Provider-neutral request options for temperature, max output tokens, tool choice, response formats, and metadata.
  • Lifecycle hooks and policies for provider calls, tool calls, compaction, and task reminders.
  • Session cloning/reset support for applications that persist or branch conversation state.
  • Schema builder helpers, structured tool results, and early tool definition validation.
  • Consistent built-in tool output limits and timeout options across filesystem, shell, grep, glob, and subagent tools.

Changed

  • Refactored the agent loop around explicit sessions, policies, hooks, and detailed execution state.
  • OpenAI-compatible and Anthropic providers now map shared SDK request options where supported.
  • OpenAI-compatible provider now supports Chat Completions streaming.

Documentation

  • Expanded SDK usage and design docs for advanced APIs, hooks, streaming, sessions, and built-in tool options.
  • Added a migration guide and marked the SDK improvement checklist complete.

0.6.2 - 2026-05-08

Documentation

0.6.1 - 2026-05-07

Fixed

  • compaction_impl: declare compaction default const values as untyped integers in one block (avoids “only the first constant has an explicit type” / mixed typing in the same group). Behavior unchanged.

0.6.0 - 2026-05-07

Changed (breaking)

  • grep / glob: registered tool names are now grep and glob (were Grep / Glob).
  • subagent: child-agent tool registered name is subagent (was task).

CLI / TUI

  • Button-only mouse tracking (MouseButtonEvents): wheel scrolls the main transcript when the pointer is over that pane; ↑ / ↓ navigate input history; drag-select may require Shift in some terminals.
  • Removed F9 transcript-to-clipboard shortcut.

Documentation

  • README, usage, design, examples, and agent guidance updated for renames and TUI behavior.

0.5.0 - 2025-07-11

Added

  • tools/taskgraph: persistent DAG task plan (task_create, task_update, task_list, task_get). CLI stores JSON under ~/.enno/tasks/<session_id>/ (UUID v4 per run); library default remains Root/.tasks/ when TasksDir is empty. CLI YAML task_graph / --no-task-graph (default: enabled). Replaces the removed todo tool.
  • tools/grep: Grep tool (Claude Code–compatible name) running rg with path scope under Config.Root; CLI YAML grep / flag --no-grep (default: grep enabled). Requires ripgrep installed.
  • tools/glob: Glob tool (Claude Code–compatible name) listing files with rg --files under Config.Root; CLI YAML glob / flag --no-glob (default: glob enabled). Requires ripgrep on PATH.
  • Optional context compaction (Config.Compaction): micro-trimming of older long tool results, automatic summarization when estimated input usage crosses a threshold (writes JSONL transcripts under TranscriptDir, default ~/.enno/transcripts when enabled), and a manual compact tool (same summarization path; must be the only tool call in that turn). Default off; extra model calls and disk writes when enabled. Implementation lives in compaction_impl.go in the root package (a separate compaction subpackage would import-cycle with enno).
  • tools/compact: registers the compact tool name for the runtime; CLI appends it when compaction is set in config.yaml.
  • tools/subagent: optional task tool that runs a child enno.Agent with isolated history; CLI can enable it with subagent: true in ~/.enno/config.yaml or disable with --no-subagent.
  • tools/loadskill: load SKILL.md skills from a directory, inject short descriptions into the system prompt, and register load_skill for on-demand full text; CLI merges default ~/.enno/skills with optional skills_extra_dirs, skills_dir, and --skills-dir (later roots override same skill name).

Fixed

  • TUI: use button-level mouse mode (not full motion/drag reporting) so the main transcript can be click-dragged for copy again; keep wheel scroll routing.

Removed

  • tools/todo and the todo tool: use task_* task graph tools instead. Agent “plan reminder” now tracks task_create / task_update / task_list / task_get and injects <reminder>Update your task plan.</reminder>.

Changed

  • CLI:首次自动创建的 ~/.enno/config.yaml 模板默认包含 compaction.enabled: true(仍可改为 false);库 API 仍为 Compaction == nil 时不启用压缩。
  • Compaction:摘要提示改为 <analysis> / <summary> 结构并后处理为正文;支持 ModelContextTokens + buffer 阈值、MicroCompactToolNames、上一轮 API InputTokens 与估算取 max、摘要失败时半量重试、SkipOnSummarizeError 与同一 Run 内连续失败熔断;手动 compact 仍严格失败即报错。
  • TUI: the main transcript scrolls only with the mouse wheel over that pane; keyboard paging keys no longer scroll it.

0.4.0 - 2026-05-08

Added

  • Save user input history to ~/.enno/history.jsonl in JSONL format with display text, timestamp, project path, and session ID.
  • TUI prompt supports Up/Down arrow keys to navigate input history with draft preservation.
  • Load last 500 history entries on TUI startup for immediate navigation.
  • Add internal/history package with Recorder (append-only writer) and LoadRecent (reader).
  • Add Project and SessionID fields to CLI config for history tracking.
  • Generate random session ID per CLI invocation.

Changed

  • Main view scrolling changed from Up/Down arrows to PgUp/PgDn, freeing Up/Down for input history navigation.
  • Updated status bar hints to reflect new key bindings.

0.3.1 - 2026-05-07

Fixed

  • TUI: keep the main transcript following the end of the output when "follow latest" is enabled (avoid canceling tview track-end mode after scroll).

Changed

  • TUI: softer rounded borders, muted border and title colors, and consistent focus border glyphs between the transcript and prompt panes.
  • TUI: animated transcript title while waiting on the model during network latency.
  • TUI: use a distinct color for the tool: channel label versus the tool name in the conversation stream.

0.3.0 - 2026-05-07

Changed

  • Replaced the CLI terminal UI dependency from tui-go to tview.

Added

  • Added Agent events and CLI observability panels for model calls, tool calls, tool results, and token usage.

0.2.0 - 2026-05-07

Changed

  • Changed CLI provider configuration to read model, API key, base URL, and max tokens from config.yaml only.
  • Moved CLI REPL/TUI implementation from the public runner package to internal/cliui.
  • Removed workdir and prompt from CLI YAML configuration.
  • Changed the CLI interactive mode to use a tui-go terminal UI.
  • Removed CLI support for ENNO_* provider configuration environment variables.

Added

  • Added automatic creation of a commented ~/.enno/config.yaml template when the default CLI config file is missing.
  • Added internal CLI UI tests for the non-terminal REPL fallback.
  • Added CLI YAML config loading from ~/.enno/config.yaml and --config.
  • Added CLI config tests for YAML-only provider configuration.
  • Added CLI configuration tests for required model and OpenAI-compatible base URL settings.

0.1.0 - 2026-05-07

Added

  • Introduced the provider-neutral enno core package with Agent, Config, Provider, Tool, and message types.
  • Added OpenAI-compatible and Anthropic provider packages.
  • Added optional built-in tools for todo tracking, filesystem access, and shell execution.
  • Added reusable runner.REPL and runner.Once helpers.
  • Added installable CLI under cmd/enno.
  • Added usage, design, README, and agent guidance documentation.
  • Added repository verification through make verify.

Full Changelog: v0.7.0...v0.8.0

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 08 May 10:28

Changelog

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

The project follows Semantic Versioning. While the public API is still evolving, releases use the v0.x.y series.

0.7.0 - 2026-05-08

Added

  • SDK detailed run APIs with RunDetailed, RunStream, RunSession, RunResult, per-round usage, stop reasons, and tool-call metadata.
  • Provider-neutral request options for temperature, max output tokens, tool choice, response formats, and metadata.
  • Lifecycle hooks and policies for provider calls, tool calls, compaction, and task reminders.
  • Session cloning/reset support for applications that persist or branch conversation state.
  • Schema builder helpers, structured tool results, and early tool definition validation.
  • Consistent built-in tool output limits and timeout options across filesystem, shell, grep, glob, and subagent tools.

Changed

  • Refactored the agent loop around explicit sessions, policies, hooks, and detailed execution state.
  • OpenAI-compatible and Anthropic providers now map shared SDK request options where supported.
  • OpenAI-compatible provider now supports Chat Completions streaming.

Documentation

  • Expanded SDK usage and design docs for advanced APIs, hooks, streaming, sessions, and built-in tool options.
  • Added a migration guide and marked the SDK improvement checklist complete.

0.6.2 - 2026-05-08

Documentation

0.6.1 - 2026-05-07

Fixed

  • compaction_impl: declare compaction default const values as untyped integers in one block (avoids “only the first constant has an explicit type” / mixed typing in the same group). Behavior unchanged.

0.6.0 - 2026-05-07

Changed (breaking)

  • grep / glob: registered tool names are now grep and glob (were Grep / Glob).
  • subagent: child-agent tool registered name is subagent (was task).

CLI / TUI

  • Button-only mouse tracking (MouseButtonEvents): wheel scrolls the main transcript when the pointer is over that pane; ↑ / ↓ navigate input history; drag-select may require Shift in some terminals.
  • Removed F9 transcript-to-clipboard shortcut.

Documentation

  • README, usage, design, examples, and agent guidance updated for renames and TUI behavior.

0.5.0 - 2025-07-11

Added

  • tools/taskgraph: persistent DAG task plan (task_create, task_update, task_list, task_get). CLI stores JSON under ~/.enno/tasks/<session_id>/ (UUID v4 per run); library default remains Root/.tasks/ when TasksDir is empty. CLI YAML task_graph / --no-task-graph (default: enabled). Replaces the removed todo tool.
  • tools/grep: Grep tool (Claude Code–compatible name) running rg with path scope under Config.Root; CLI YAML grep / flag --no-grep (default: grep enabled). Requires ripgrep installed.
  • tools/glob: Glob tool (Claude Code–compatible name) listing files with rg --files under Config.Root; CLI YAML glob / flag --no-glob (default: glob enabled). Requires ripgrep on PATH.
  • Optional context compaction (Config.Compaction): micro-trimming of older long tool results, automatic summarization when estimated input usage crosses a threshold (writes JSONL transcripts under TranscriptDir, default ~/.enno/transcripts when enabled), and a manual compact tool (same summarization path; must be the only tool call in that turn). Default off; extra model calls and disk writes when enabled. Implementation lives in compaction_impl.go in the root package (a separate compaction subpackage would import-cycle with enno).
  • tools/compact: registers the compact tool name for the runtime; CLI appends it when compaction is set in config.yaml.
  • tools/subagent: optional task tool that runs a child enno.Agent with isolated history; CLI can enable it with subagent: true in ~/.enno/config.yaml or disable with --no-subagent.
  • tools/loadskill: load SKILL.md skills from a directory, inject short descriptions into the system prompt, and register load_skill for on-demand full text; CLI merges default ~/.enno/skills with optional skills_extra_dirs, skills_dir, and --skills-dir (later roots override same skill name).

Fixed

  • TUI: use button-level mouse mode (not full motion/drag reporting) so the main transcript can be click-dragged for copy again; keep wheel scroll routing.

Removed

  • tools/todo and the todo tool: use task_* task graph tools instead. Agent “plan reminder” now tracks task_create / task_update / task_list / task_get and injects <reminder>Update your task plan.</reminder>.

Changed

  • CLI:首次自动创建的 ~/.enno/config.yaml 模板默认包含 compaction.enabled: true(仍可改为 false);库 API 仍为 Compaction == nil 时不启用压缩。
  • Compaction:摘要提示改为 <analysis> / <summary> 结构并后处理为正文;支持 ModelContextTokens + buffer 阈值、MicroCompactToolNames、上一轮 API InputTokens 与估算取 max、摘要失败时半量重试、SkipOnSummarizeError 与同一 Run 内连续失败熔断;手动 compact 仍严格失败即报错。
  • TUI: the main transcript scrolls only with the mouse wheel over that pane; keyboard paging keys no longer scroll it.

0.4.0 - 2026-05-08

Added

  • Save user input history to ~/.enno/history.jsonl in JSONL format with display text, timestamp, project path, and session ID.
  • TUI prompt supports Up/Down arrow keys to navigate input history with draft preservation.
  • Load last 500 history entries on TUI startup for immediate navigation.
  • Add internal/history package with Recorder (append-only writer) and LoadRecent (reader).
  • Add Project and SessionID fields to CLI config for history tracking.
  • Generate random session ID per CLI invocation.

Changed

  • Main view scrolling changed from Up/Down arrows to PgUp/PgDn, freeing Up/Down for input history navigation.
  • Updated status bar hints to reflect new key bindings.

0.3.1 - 2026-05-07

Fixed

  • TUI: keep the main transcript following the end of the output when "follow latest" is enabled (avoid canceling tview track-end mode after scroll).

Changed

  • TUI: softer rounded borders, muted border and title colors, and consistent focus border glyphs between the transcript and prompt panes.
  • TUI: animated transcript title while waiting on the model during network latency.
  • TUI: use a distinct color for the tool: channel label versus the tool name in the conversation stream.

0.3.0 - 2026-05-07

Changed

  • Replaced the CLI terminal UI dependency from tui-go to tview.

Added

  • Added Agent events and CLI observability panels for model calls, tool calls, tool results, and token usage.

0.2.0 - 2026-05-07

Changed

  • Changed CLI provider configuration to read model, API key, base URL, and max tokens from config.yaml only.
  • Moved CLI REPL/TUI implementation from the public runner package to internal/cliui.
  • Removed workdir and prompt from CLI YAML configuration.
  • Changed the CLI interactive mode to use a tui-go terminal UI.
  • Removed CLI support for ENNO_* provider configuration environment variables.

Added

  • Added automatic creation of a commented ~/.enno/config.yaml template when the default CLI config file is missing.
  • Added internal CLI UI tests for the non-terminal REPL fallback.
  • Added CLI YAML config loading from ~/.enno/config.yaml and --config.
  • Added CLI config tests for YAML-only provider configuration.
  • Added CLI configuration tests for required model and OpenAI-compatible base URL settings.

0.1.0 - 2026-05-07

Added

  • Introduced the provider-neutral enno core package with Agent, Config, Provider, Tool, and message types.
  • Added OpenAI-compatible and Anthropic provider packages.
  • Added optional built-in tools for todo tracking, filesystem access, and shell execution.
  • Added reusable runner.REPL and runner.Once helpers.
  • Added installable CLI under cmd/enno.
  • Added usage, design, README, and agent guidance documentation.
  • Added repository verification through make verify.

Full Changelog: v0.6.2...v0.7.0

v0.6.2

Choose a tag to compare

@github-actions github-actions released this 08 May 09:01

Changelog

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

The project follows Semantic Versioning. While the public API is still evolving, releases use the v0.x.y series.

0.6.2 - 2026-05-08

Documentation

0.6.1 - 2026-05-07

Fixed

  • compaction_impl: declare compaction default const values as untyped integers in one block (avoids “only the first constant has an explicit type” / mixed typing in the same group). Behavior unchanged.

0.6.0 - 2026-05-07

Changed (breaking)

  • grep / glob: registered tool names are now grep and glob (were Grep / Glob).
  • subagent: child-agent tool registered name is subagent (was task).

CLI / TUI

  • Button-only mouse tracking (MouseButtonEvents): wheel scrolls the main transcript when the pointer is over that pane; ↑ / ↓ navigate input history; drag-select may require Shift in some terminals.
  • Removed F9 transcript-to-clipboard shortcut.

Documentation

  • README, usage, design, examples, and agent guidance updated for renames and TUI behavior.

0.5.0 - 2025-07-11

Added

  • tools/taskgraph: persistent DAG task plan (task_create, task_update, task_list, task_get). CLI stores JSON under ~/.enno/tasks/<session_id>/ (UUID v4 per run); library default remains Root/.tasks/ when TasksDir is empty. CLI YAML task_graph / --no-task-graph (default: enabled). Replaces the removed todo tool.
  • tools/grep: Grep tool (Claude Code–compatible name) running rg with path scope under Config.Root; CLI YAML grep / flag --no-grep (default: grep enabled). Requires ripgrep installed.
  • tools/glob: Glob tool (Claude Code–compatible name) listing files with rg --files under Config.Root; CLI YAML glob / flag --no-glob (default: glob enabled). Requires ripgrep on PATH.
  • Optional context compaction (Config.Compaction): micro-trimming of older long tool results, automatic summarization when estimated input usage crosses a threshold (writes JSONL transcripts under TranscriptDir, default ~/.enno/transcripts when enabled), and a manual compact tool (same summarization path; must be the only tool call in that turn). Default off; extra model calls and disk writes when enabled. Implementation lives in compaction_impl.go in the root package (a separate compaction subpackage would import-cycle with enno).
  • tools/compact: registers the compact tool name for the runtime; CLI appends it when compaction is set in config.yaml.
  • tools/subagent: optional task tool that runs a child enno.Agent with isolated history; CLI can enable it with subagent: true in ~/.enno/config.yaml or disable with --no-subagent.
  • tools/loadskill: load SKILL.md skills from a directory, inject short descriptions into the system prompt, and register load_skill for on-demand full text; CLI merges default ~/.enno/skills with optional skills_extra_dirs, skills_dir, and --skills-dir (later roots override same skill name).

Fixed

  • TUI: use button-level mouse mode (not full motion/drag reporting) so the main transcript can be click-dragged for copy again; keep wheel scroll routing.

Removed

  • tools/todo and the todo tool: use task_* task graph tools instead. Agent “plan reminder” now tracks task_create / task_update / task_list / task_get and injects <reminder>Update your task plan.</reminder>.

Changed

  • CLI:首次自动创建的 ~/.enno/config.yaml 模板默认包含 compaction.enabled: true(仍可改为 false);库 API 仍为 Compaction == nil 时不启用压缩。
  • Compaction:摘要提示改为 <analysis> / <summary> 结构并后处理为正文;支持 ModelContextTokens + buffer 阈值、MicroCompactToolNames、上一轮 API InputTokens 与估算取 max、摘要失败时半量重试、SkipOnSummarizeError 与同一 Run 内连续失败熔断;手动 compact 仍严格失败即报错。
  • TUI: the main transcript scrolls only with the mouse wheel over that pane; keyboard paging keys no longer scroll it.

0.4.0 - 2026-05-08

Added

  • Save user input history to ~/.enno/history.jsonl in JSONL format with display text, timestamp, project path, and session ID.
  • TUI prompt supports Up/Down arrow keys to navigate input history with draft preservation.
  • Load last 500 history entries on TUI startup for immediate navigation.
  • Add internal/history package with Recorder (append-only writer) and LoadRecent (reader).
  • Add Project and SessionID fields to CLI config for history tracking.
  • Generate random session ID per CLI invocation.

Changed

  • Main view scrolling changed from Up/Down arrows to PgUp/PgDn, freeing Up/Down for input history navigation.
  • Updated status bar hints to reflect new key bindings.

0.3.1 - 2026-05-07

Fixed

  • TUI: keep the main transcript following the end of the output when "follow latest" is enabled (avoid canceling tview track-end mode after scroll).

Changed

  • TUI: softer rounded borders, muted border and title colors, and consistent focus border glyphs between the transcript and prompt panes.
  • TUI: animated transcript title while waiting on the model during network latency.
  • TUI: use a distinct color for the tool: channel label versus the tool name in the conversation stream.

0.3.0 - 2026-05-07

Changed

  • Replaced the CLI terminal UI dependency from tui-go to tview.

Added

  • Added Agent events and CLI observability panels for model calls, tool calls, tool results, and token usage.

0.2.0 - 2026-05-07

Changed

  • Changed CLI provider configuration to read model, API key, base URL, and max tokens from config.yaml only.
  • Moved CLI REPL/TUI implementation from the public runner package to internal/cliui.
  • Removed workdir and prompt from CLI YAML configuration.
  • Changed the CLI interactive mode to use a tui-go terminal UI.
  • Removed CLI support for ENNO_* provider configuration environment variables.

Added

  • Added automatic creation of a commented ~/.enno/config.yaml template when the default CLI config file is missing.
  • Added internal CLI UI tests for the non-terminal REPL fallback.
  • Added CLI YAML config loading from ~/.enno/config.yaml and --config.
  • Added CLI config tests for YAML-only provider configuration.
  • Added CLI configuration tests for required model and OpenAI-compatible base URL settings.

0.1.0 - 2026-05-07

Added

  • Introduced the provider-neutral enno core package with Agent, Config, Provider, Tool, and message types.
  • Added OpenAI-compatible and Anthropic provider packages.
  • Added optional built-in tools for todo tracking, filesystem access, and shell execution.
  • Added reusable runner.REPL and runner.Once helpers.
  • Added installable CLI under cmd/enno.
  • Added usage, design, README, and agent guidance documentation.
  • Added repository verification through make verify.

Full Changelog: v0.5.0...v0.6.2

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 07 May 09:54

Changelog

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

The project follows Semantic Versioning. While the public API is still evolving, releases use the v0.x.y series.

0.5.0 - 2025-07-11

Added

  • tools/taskgraph: persistent DAG task plan (task_create, task_update, task_list, task_get). CLI stores JSON under ~/.enno/tasks/<session_id>/ (UUID v4 per run); library default remains Root/.tasks/ when TasksDir is empty. CLI YAML task_graph / --no-task-graph (default: enabled). Replaces the removed todo tool.
  • tools/grep: Grep tool (Claude Code–compatible name) running rg with path scope under Config.Root; CLI YAML grep / flag --no-grep (default: grep enabled). Requires ripgrep installed.
  • tools/glob: Glob tool (Claude Code–compatible name) listing files with rg --files under Config.Root; CLI YAML glob / flag --no-glob (default: glob enabled). Requires ripgrep on PATH.
  • Optional context compaction (Config.Compaction): micro-trimming of older long tool results, automatic summarization when estimated input usage crosses a threshold (writes JSONL transcripts under TranscriptDir, default ~/.enno/transcripts when enabled), and a manual compact tool (same summarization path; must be the only tool call in that turn). Default off; extra model calls and disk writes when enabled. Implementation lives in compaction_impl.go in the root package (a separate compaction subpackage would import-cycle with enno).
  • tools/compact: registers the compact tool name for the runtime; CLI appends it when compaction is set in config.yaml.
  • tools/subagent: optional task tool that runs a child enno.Agent with isolated history; CLI can enable it with subagent: true in ~/.enno/config.yaml or disable with --no-subagent.
  • tools/loadskill: load SKILL.md skills from a directory, inject short descriptions into the system prompt, and register load_skill for on-demand full text; CLI merges default ~/.enno/skills with optional skills_extra_dirs, skills_dir, and --skills-dir (later roots override same skill name).

Fixed

  • TUI: use button-level mouse mode (not full motion/drag reporting) so the main transcript can be click-dragged for copy again; keep wheel scroll routing.

Removed

  • tools/todo and the todo tool: use task_* task graph tools instead. Agent “plan reminder” now tracks task_create / task_update / task_list / task_get and injects <reminder>Update your task plan.</reminder>.

Changed

  • CLI:首次自动创建的 ~/.enno/config.yaml 模板默认包含 compaction.enabled: true(仍可改为 false);库 API 仍为 Compaction == nil 时不启用压缩。
  • Compaction:摘要提示改为 <analysis> / <summary> 结构并后处理为正文;支持 ModelContextTokens + buffer 阈值、MicroCompactToolNames、上一轮 API InputTokens 与估算取 max、摘要失败时半量重试、SkipOnSummarizeError 与同一 Run 内连续失败熔断;手动 compact 仍严格失败即报错。
  • TUI: the main transcript scrolls only with the mouse wheel over that pane; keyboard paging keys no longer scroll it.

0.4.0 - 2026-05-08

Added

  • Save user input history to ~/.enno/history.jsonl in JSONL format with display text, timestamp, project path, and session ID.
  • TUI prompt supports Up/Down arrow keys to navigate input history with draft preservation.
  • Load last 500 history entries on TUI startup for immediate navigation.
  • Add internal/history package with Recorder (append-only writer) and LoadRecent (reader).
  • Add Project and SessionID fields to CLI config for history tracking.
  • Generate random session ID per CLI invocation.

Changed

  • Main view scrolling changed from Up/Down arrows to PgUp/PgDn, freeing Up/Down for input history navigation.
  • Updated status bar hints to reflect new key bindings.

0.3.1 - 2026-05-07

Fixed

  • TUI: keep the main transcript following the end of the output when "follow latest" is enabled (avoid canceling tview track-end mode after scroll).

Changed

  • TUI: softer rounded borders, muted border and title colors, and consistent focus border glyphs between the transcript and prompt panes.
  • TUI: animated transcript title while waiting on the model during network latency.
  • TUI: use a distinct color for the tool: channel label versus the tool name in the conversation stream.

0.3.0 - 2026-05-07

Changed

  • Replaced the CLI terminal UI dependency from tui-go to tview.

Added

  • Added Agent events and CLI observability panels for model calls, tool calls, tool results, and token usage.

0.2.0 - 2026-05-07

Changed

  • Changed CLI provider configuration to read model, API key, base URL, and max tokens from config.yaml only.
  • Moved CLI REPL/TUI implementation from the public runner package to internal/cliui.
  • Removed workdir and prompt from CLI YAML configuration.
  • Changed the CLI interactive mode to use a tui-go terminal UI.
  • Removed CLI support for ENNO_* provider configuration environment variables.

Added

  • Added automatic creation of a commented ~/.enno/config.yaml template when the default CLI config file is missing.
  • Added internal CLI UI tests for the non-terminal REPL fallback.
  • Added CLI YAML config loading from ~/.enno/config.yaml and --config.
  • Added CLI config tests for YAML-only provider configuration.
  • Added CLI configuration tests for required model and OpenAI-compatible base URL settings.

0.1.0 - 2026-05-07

Added

  • Introduced the provider-neutral enno core package with Agent, Config, Provider, Tool, and message types.
  • Added OpenAI-compatible and Anthropic provider packages.
  • Added optional built-in tools for todo tracking, filesystem access, and shell execution.
  • Added reusable runner.REPL and runner.Once helpers.
  • Added installable CLI under cmd/enno.
  • Added usage, design, README, and agent guidance documentation.
  • Added repository verification through make verify.

Full Changelog: v0.4.0...v0.5.0

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 07 May 07:27

Changelog

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

The project follows Semantic Versioning. While the public API is still evolving, releases use the v0.x.y series.

Unreleased

0.4.0 - 2026-05-08

Added

  • Save user input history to ~/.enno/history.jsonl in JSONL format with display text, timestamp, project path, and session ID.
  • TUI prompt supports Up/Down arrow keys to navigate input history with draft preservation.
  • Load last 500 history entries on TUI startup for immediate navigation.
  • Add internal/history package with Recorder (append-only writer) and LoadRecent (reader).
  • Add Project and SessionID fields to CLI config for history tracking.
  • Generate random session ID per CLI invocation.

Changed

  • Main view scrolling changed from Up/Down arrows to PgUp/PgDn, freeing Up/Down for input history navigation.
  • Updated status bar hints to reflect new key bindings.

0.3.1 - 2026-05-07

Fixed

  • TUI: keep the main transcript following the end of the output when "follow latest" is enabled (avoid canceling tview track-end mode after scroll).

Changed

  • TUI: softer rounded borders, muted border and title colors, and consistent focus border glyphs between the transcript and prompt panes.
  • TUI: animated transcript title while waiting on the model during network latency.
  • TUI: use a distinct color for the tool: channel label versus the tool name in the conversation stream.

0.3.0 - 2026-05-07

Changed

  • Replaced the CLI terminal UI dependency from tui-go to tview.

Added

  • Added Agent events and CLI observability panels for model calls, tool calls, tool results, and token usage.

0.2.0 - 2026-05-07

Changed

  • Changed CLI provider configuration to read model, API key, base URL, and max tokens from config.yaml only.
  • Moved CLI REPL/TUI implementation from the public runner package to internal/cliui.
  • Removed workdir and prompt from CLI YAML configuration.
  • Changed the CLI interactive mode to use a tui-go terminal UI.
  • Removed CLI support for ENNO_* provider configuration environment variables.

Added

  • Added automatic creation of a commented ~/.enno/config.yaml template when the default CLI config file is missing.
  • Added internal CLI UI tests for the non-terminal REPL fallback.
  • Added CLI YAML config loading from ~/.enno/config.yaml and --config.
  • Added CLI config tests for YAML-only provider configuration.
  • Added CLI configuration tests for required model and OpenAI-compatible base URL settings.

0.1.0 - 2026-05-07

Added

  • Introduced the provider-neutral enno core package with Agent, Config, Provider, Tool, and message types.
  • Added OpenAI-compatible and Anthropic provider packages.
  • Added optional built-in tools for todo tracking, filesystem access, and shell execution.
  • Added reusable runner.REPL and runner.Once helpers.
  • Added installable CLI under cmd/enno.
  • Added usage, design, README, and agent guidance documentation.
  • Added repository verification through make verify.

Full Changelog: v0.3.1...v0.4.0

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 07 May 06:58

Changelog

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

The project follows Semantic Versioning. While the public API is still evolving, releases use the v0.x.y series.

Unreleased

0.3.1 - 2026-05-07

Fixed

  • TUI: keep the main transcript following the end of the output when "follow latest" is enabled (avoid canceling tview track-end mode after scroll).

Changed

  • TUI: softer rounded borders, muted border and title colors, and consistent focus border glyphs between the transcript and prompt panes.
  • TUI: animated transcript title while waiting on the model during network latency.
  • TUI: use a distinct color for the tool: channel label versus the tool name in the conversation stream.

0.3.0 - 2026-05-07

Changed

  • Replaced the CLI terminal UI dependency from tui-go to tview.

Added

  • Added Agent events and CLI observability panels for model calls, tool calls, tool results, and token usage.

0.2.0 - 2026-05-07

Changed

  • Changed CLI provider configuration to read model, API key, base URL, and max tokens from config.yaml only.
  • Moved CLI REPL/TUI implementation from the public runner package to internal/cliui.
  • Removed workdir and prompt from CLI YAML configuration.
  • Changed the CLI interactive mode to use a tui-go terminal UI.
  • Removed CLI support for ENNO_* provider configuration environment variables.

Added

  • Added automatic creation of a commented ~/.enno/config.yaml template when the default CLI config file is missing.
  • Added internal CLI UI tests for the non-terminal REPL fallback.
  • Added CLI YAML config loading from ~/.enno/config.yaml and --config.
  • Added CLI config tests for YAML-only provider configuration.
  • Added CLI configuration tests for required model and OpenAI-compatible base URL settings.

0.1.0 - 2026-05-07

Added

  • Introduced the provider-neutral enno core package with Agent, Config, Provider, Tool, and message types.
  • Added OpenAI-compatible and Anthropic provider packages.
  • Added optional built-in tools for todo tracking, filesystem access, and shell execution.
  • Added reusable runner.REPL and runner.Once helpers.
  • Added installable CLI under cmd/enno.
  • Added usage, design, README, and agent guidance documentation.
  • Added repository verification through make verify.

Full Changelog: v0.1.0...v0.3.1

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 07 May 04:33

Changelog

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

The project follows Semantic Versioning. While the public API is still evolving, releases use the v0.x.y series.

Unreleased

0.1.0 - 2026-05-07

Added

  • Introduced the provider-neutral enno core package with Agent, Config, Provider, Tool, and message types.
  • Added OpenAI-compatible and Anthropic provider packages.
  • Added optional built-in tools for todo tracking, filesystem access, and shell execution.
  • Added reusable runner.REPL and runner.Once helpers.
  • Added installable CLI under cmd/enno.
  • Added usage, design, README, and agent guidance documentation.
  • Added repository verification through make verify.

Full Changelog: https://github.com/dean2021/enno/commits/v0.1.0