Skip to content

Commit 37855ae

Browse files
thegreatalxxclaude
andcommitted
docs: add CHANGELOG.md (Keep a Changelog format, all versions)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 5ee562f commit 37855ae

1 file changed

Lines changed: 123 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
# Changelog
2+
3+
All notable changes to LocalCode will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
---
9+
10+
## [3.1.0] - 2026-03-16
11+
12+
### Added
13+
- **Persistent input history** — last 200 entries saved to `~/.localcode/history.json`; survives restarts and is navigable with arrow keys
14+
- **Braille spinner animation** — displayed during streaming responses and tool calls for clear visual feedback
15+
- **Theme system** — four built-in themes (`dark`, `nord`, `monokai`, `light`) switchable at any time with `/theme`
16+
- **Template system** — save and reuse prompt templates with `/template add`, `/template use`, `/template list`, `/template delete`; stored in `~/.localcode/templates.json`
17+
- **Alias system** — define custom command shortcuts with `/alias <name> <command>`; stored in `~/.localcode/aliases.json`
18+
- **`/explain`** — stream an AI explanation of any file or the last code snippet in the conversation
19+
- **`/test`** — auto-detects and runs `jest`, `vitest`, `pytest`, `cargo test`, or `go test`; on failure, offers an AI-generated fix
20+
- **`/share`** — exports the full conversation as a self-contained HTML file
21+
- **Session history browser**`/history [n]` lists and restores past sessions archived in `~/.localcode/sessions/`
22+
- **`/git` panel** — interactive git panel with status, log, stash, and branch views; raw git commands also pass through
23+
- **`/watch`** — watches a file with `fs.watch` and re-runs the last message automatically on every change
24+
- **Auto-context injection** — on startup, automatically injects `git log` and `git status` into context when no `.nyx.md` project file is found
25+
- **Multi-file diff summary** — after the agent edits multiple files, a grouped diff summary is shown
26+
- **Collapsible tool output** — long tool outputs are truncated and expandable to keep the UI clean
27+
- **Syntax highlighting** — code blocks receive keyword, string, number, and comment highlighting
28+
- **Plugin system** — drop any `.js` file into `~/.localcode/plugins/` to register custom slash commands; manage with `/plugins`
29+
- **`/image`** — vision input via base64 encoding, compatible with Claude, GPT-4o, and Ollama `llava`
30+
- **Streaming token counter** — live `+N▌` token display in the header updates during streaming
31+
- **TF-IDF semantic search**`/index` builds a local search index of project files; `/search <query>` queries it
32+
- **New QoL commands**`/cd`, `/ls`, `/find`, `/ping` added for quick filesystem and network tasks
33+
- **Dynamic version in header** — version number is read directly from `package.json` at runtime
34+
- **Token progress bar** — visual progress bar in the header shows context window utilization
35+
- **Message timestamps** — system messages and tool call messages now display a timestamp
36+
- **Auto-save** — session is automatically saved to disk after every AI response
37+
- **Input character counter** — footer displays a live character count while typing
38+
- **Windows + Wayland clipboard support**`/copy` now works on Windows (`clip.exe`) and Wayland (`wl-copy`)
39+
- **Revamped website** — tabbed command browser, feature comparison table, plugin showcase, and terminal demo
40+
41+
### Changed
42+
- Word wrap applied to all message text for improved readability on narrow terminals
43+
44+
---
45+
46+
## [3.0.0] - 2026-03-16
47+
48+
### Added
49+
- **Markdown renderer** (`MarkdownText` component) — renders fenced code blocks, headers (`#``###`), ordered and unordered lists, bold text, and inline code in the terminal
50+
- **Hooks system** — run shell scripts automatically on `PreToolUse`, `PostToolUse`, and `Notification` events; configured via `~/.localcode/hooks.json`
51+
- **Three-tier approval mode**`suggest` (default), `auto-edit`, and `full-auto`; switch at runtime with `/mode` or grant blanket approval with `/allowall`
52+
- **AbortController integration** — pressing `Escape` cancels the current in-flight streaming request immediately
53+
- **Memory hierarchy** — global memory in `~/.nyx.md` plus per-project memory in `<project>/.nyx.md`; manage with `/memory`
54+
- **MCP (Model Context Protocol)** — connect external tool servers over `stdio` or HTTP transport; manage with `/mcp`
55+
- **Multiline input** — toggle multiline editing mode with `Ctrl+E`; lines are numbered, submit with `Ctrl+D`
56+
- **Unified diff**`/diff` now shows a proper unified diff computed with a pure-JS LCS algorithm
57+
- **New file tools**`delete_file`, `move_file`, `search_files`, `find_files` added to the agent tool set
58+
- **New slash commands**`/review`, `/init`, `/doctor`, `/memory`, `/hooks`, `/mode`, `/steps`, `/sys`, `/persona`, `/pin`, `/unpin`, `/web`, `/export`, `/undo`, `/todo`, `/cost`, `/mcp`
59+
- **Per-model cost table** — token cost estimates for Claude 4.6, GPT-4.1, and o3 shown via `/cost`
60+
- **Configurable max steps**`/steps <n>` sets the agent loop step limit; default is 20
61+
- **Auto-checkpoint** — session checkpointed automatically every 20 messages
62+
- **Polished `NyxHeader`** — dynamic mood-based colors and a `v3.0` version badge
63+
64+
### Security
65+
- **Shell injection prevention** — all `exec()` calls replaced with `execFile()` to eliminate shell injection vectors
66+
- **Path traversal protection** — tool executor now validates and rejects paths that escape the working directory
67+
68+
---
69+
70+
## [2.3.0] - 2025-01-01
71+
72+
### Added
73+
- **Real multi-step agent loop** — the agent now executes tools across multiple reasoning steps rather than a single-shot response
74+
- **MCP server support** — connect to MCP servers over `stdio` transport
75+
- **Ollama provider** — local model support via Ollama
76+
- **Claude SSE provider** — streaming support for Anthropic Claude models
77+
- **OpenAI-compatible provider** — works with any OpenAI-compatible API endpoint
78+
- **Tool set**`read_file`, `write_file`, `patch_file`, `list_dir`, `run_shell`, `git_operation`
79+
- **Session persistence** — sessions are saved to disk with checkpoint and restore support
80+
- **`/commit`** — generates a conventional commit message using AI and commits staged changes
81+
- **`/diff`** — shows a diff of all files modified during the current session
82+
- **`/context`** — adds a file or folder to the active context window
83+
- **Inline context injection**`@file` and `@dir` syntax in any message injects file or directory contents inline
84+
85+
---
86+
87+
## [2.2.0] - 2024-12-01
88+
89+
### Added
90+
- **Custom system prompt** — set a persistent system-level instruction with `/sys`
91+
- **Personas** — five built-in personas: `pair-programmer`, `senior-engineer`, `rubber-duck`, `code-reviewer`, `minimal`; switch with `/persona`
92+
- **13 new slash commands** — including `/compact`, `/status`, `/copy`, `/export`, `/undo`, `/retry`, `/models`, and more
93+
- **Cost tracking**`/cost` displays estimated token cost for the current session
94+
- **Token estimation** — approximate token counts shown before and after messages
95+
96+
---
97+
98+
## [2.1.0] - 2024-11-01
99+
100+
### Added
101+
- **First-run setup wizard** — interactive wizard on first launch guides the user through provider selection and API key entry
102+
- **Searchable command picker**`/` opens a fuzzy-searchable list of all available commands
103+
- **Multi-provider support** — Ollama, Anthropic Claude, OpenAI, and Groq available from a single interface
104+
- **API key management** — add, update, and remove provider API keys from within the app
105+
- **Live provider and model switching** — change the active provider and model mid-session without restarting
106+
107+
---
108+
109+
## [1.0.0] - 2024-10-01
110+
111+
### Added
112+
- Initial release
113+
- Terminal UI built with [Ink](https://github.com/vadimdemedes/ink)
114+
- Ollama support for local model inference
115+
- Simple conversational chat interface
116+
- Basic file tools: read and write files
117+
118+
[3.1.0]: https://github.com/alexanderthegreat/localcode/compare/v3.0.0...v3.1.0
119+
[3.0.0]: https://github.com/alexanderthegreat/localcode/compare/v2.3.0...v3.0.0
120+
[2.3.0]: https://github.com/alexanderthegreat/localcode/compare/v2.2.0...v2.3.0
121+
[2.2.0]: https://github.com/alexanderthegreat/localcode/compare/v2.1.0...v2.2.0
122+
[2.1.0]: https://github.com/alexanderthegreat/localcode/compare/v1.0.0...v2.1.0
123+
[1.0.0]: https://github.com/alexanderthegreat/localcode/releases/tag/v1.0.0

0 commit comments

Comments
 (0)