|
| 1 | +## [2.0.1] - 2025-12-31 |
| 2 | + |
| 3 | +This release introduces **Iris Studio**, a stunning terminal interface for AI-powered Git workflows, and completes the transition to an **agent-first architecture** where Iris actively explores your codebase using tool calls rather than static context dumps. |
| 4 | + |
| 5 | +### Added |
| 6 | + |
| 7 | +- ✨ Add **Iris Studio** TUI with six specialized modes: Explore, Commit, Review, PR, Changelog, and Release Notes (82ad0ac) |
| 8 | +- ✨ Add **agent-first architecture** powered by the Rig framework with dynamic tool-based context gathering |
| 9 | +- ✨ Add **interactive chat** with Iris in all Studio modes via `/` key—Iris can modify content directly through tool calls (eae0604, b53dc1b) |
| 10 | +- ✨ Add **token-based theme system** with TOML configuration and 13 built-in themes: SilkCircuit (Neon, Soft, Glow, Vibrant, Dawn), Catppuccin (Mocha, Latte), Dracula, Nord, Tokyo Night, Gruvbox Dark, One Dark, Solarized Light (bf4e80f, f72b66b, 372b7dc) |
| 11 | +- ✨ Add **Iris Companion** for ambient session awareness with branch memory persistence and live file watching (6c42718) |
| 12 | +- ✨ Add **GitHub Action** for automated release notes and changelog generation in CI/CD pipelines (fb776c5) |
| 13 | +- ✨ Add **shell installer** (`curl -fsSL ... | sh`) and **Homebrew tap** (`brew install hyperb1iss/tap/git-iris`) for easy installation (bda1718) |
| 14 | +- ✨ Add **AUR package** for Arch Linux users (0c93043) |
| 15 | +- ✨ Add **semantic blame** feature—press `w` in Explore mode to ask "why does this code exist?" (1dc5dd6) |
| 16 | +- ✨ Add **amend mode** (`git-iris gen --amend` and `Shift+A` in Studio) for modifying previous commits (c877314, 7e34b94) |
| 17 | +- ✨ Add **real-time streaming** response display for chat and generation tasks (443ed16, 5a15d42) |
| 18 | +- ✨ Add **dynamic status messages** using fast model for witty, contextual waiting feedback (7ccdb9a) |
| 19 | +- ✨ Add **file history panel** in Explore mode with commit navigation and `y` to copy hash (a6ecb66) |
| 20 | +- ✨ Add **syntax highlighting** for code blocks in chat and Explore mode using syntect (dd811c0, 5a15d42) |
| 21 | +- ✨ Add **commit count picker** modal (`#` key) for quick HEAD~N ref selection (624644d) |
| 22 | +- ✨ Add **shell completions** for bash, zsh, fish, elvish, and powershell via `completions` subcommand (bebffef) |
| 23 | +- ✨ Add `--model` flag for per-operation LLM model override without changing global config (3e51088) |
| 24 | +- ✨ Add `--amend` flag to `gen` command and `--update`/`--file` flags to `release-notes` command (bebffef) |
| 25 | +- ✨ Add `--raw` flag to `review`, `pr`, `changelog`, and `release-notes` for clean markdown output (c67f17c) |
| 26 | +- ✨ Add **project context** doc type for unified README and agent instructions fetching (a26592f) |
| 27 | +- ✨ Add **parallel subagent analysis** for processing large changesets concurrently |
| 28 | +- ✨ Add **progressive diff analysis**—summaries by default, full diffs on request (f4bd00e) |
| 29 | +- ✨ Add **automatic commit style detection** that mirrors repository format (gitmoji, conventional, plain) (05d26bc) |
| 30 | +- ✨ Add **commit message history** preservation across regenerations with arrow key navigation (9becc01) |
| 31 | +- ✨ Add **content update tools** (`UpdateCommitTool`, `UpdatePRTool`, `UpdateReviewTool`) for chat integration (f241f14) |
| 32 | +- ✨ Add **VitePress documentation site** at hyperb1iss.github.io/git-iris with comprehensive guides (6069a03) |
| 33 | +- ✨ Add **theme selector modal** with live preview and search filtering (bc4ae63) |
| 34 | +- ✨ Add **settings modal** (`Shift+S`) for in-app provider, model, theme, and preset configuration (dee1161, 62e285b) |
| 35 | +- ✨ Add **file staging controls** (`s`/`u` for individual, `a`/`U` for bulk) in Commit mode (04138723) |
| 36 | +- ✨ Add **mouse interaction** with click-to-navigate, double-click, and drag selection (8566330) |
| 37 | +- ✨ Add **visual selection mode** (`v` key) with multi-line copy support in code views (8566330) |
| 38 | +- ✨ Add **clipboard support** (`y` key) with visual feedback across all modes (6d48879) |
| 39 | + |
| 40 | +### Changed |
| 41 | + |
| 42 | +- ♻️ Migrate from prompt-based generation to **agent-first architecture** with Iris making tool calls to gather context dynamically (dfbd9c5) |
| 43 | +- ♻️ Replace `DynClientBuilder` with explicit provider dispatch for rig-core 0.27+ compatibility (dfbd9c5) |
| 44 | +- ♻️ Switch Studio generation tasks from streaming to non-streaming execution for reliable structured output parsing (228afdab) |
| 45 | +- ♻️ Reorganize codebase with new `src/agents/`, `src/studio/`, `src/theme/`, `src/companion/`, `src/services/`, and `src/types/` modules |
| 46 | +- ♻️ Split monolithic Studio files into modular submodules for handlers, render, state, and reducer (f34bda3, faf7ab5) |
| 47 | +- ♻️ Implement **reducer pattern** for predictable, testable state management in Studio (82ad0ac) |
| 48 | +- ♻️ Separate emoji styling logic for commits vs non-commit outputs—`--gitmoji`/`--no-gitmoji` now work independently of presets (a6381c8) |
| 49 | +- ♻️ Skip serializing default config values for cleaner `.irisconfig` files (dccd1ea) |
| 50 | +- ♻️ Improve JSON extraction with sanitization and markdown fallback handling (101ac8a) |
| 51 | +- ♻️ Improve file exclusion patterns with path boundary anchoring for precision (6b8e204) |
| 52 | +- ♻️ Replace Python release script with declarative GitHub Actions workflow (e231ad8) |
| 53 | +- ♻️ Use git tags instead of Cargo.toml for release version detection (6cf244b) |
| 54 | +- ♻️ Make TUI startup non-blocking with async git status loading and companion initialization (f470abf) |
| 55 | +- ♻️ Replace unbounded channels with bounded channels (capacity 100) for backpressure handling (b5656049) |
| 56 | +- 📝 Streamline README to ~10% of original size with links to hosted documentation (d6a4a5e6) |
| 57 | +- 📝 Update documentation for Studio TUI and agent architecture (2770e5d7, 104cbe96) |
| 58 | + |
| 59 | +### Fixed |
| 60 | + |
| 61 | +- 🐛 Fix **tab handling** in TUI with `expand_tabs` utility that converts tabs to spaces and strips control characters (cd12f2b) |
| 62 | +- 🐛 Fix **UTF-8 string truncation** to use char boundaries instead of byte slicing (f4bd00e, cccfbcdb) |
| 63 | +- 🐛 Fix **background task cleanup** on Studio exit by aborting tasks in Drop implementation (b398b2b) |
| 64 | +- 🐛 Fix **RPM artifact upload path** for cross-compiled targets (68f517c, c8dbadd) |
| 65 | +- 🐛 Fix **DEB package asset path** to include target directory (0eb4ebd) |
| 66 | +- 🐛 Fix **theme tests** for parallel execution safety by removing global state assertions (be6476a) |
| 67 | +- 🐛 Fix **state management** when opening settings modal and switching to Explore mode (5dd47cd) |
| 68 | +- 🐛 Fix **Docker entrypoint** gitmoji handling to use boolean flags correctly (45df4e0) |
| 69 | +- 🐛 Fix **scroll direction** in chat modal to match standard conventions (e5e11bb) |
| 70 | +- 🐛 Fix **search modal** input handling for character input and backspace (e5e11bb) |
| 71 | +- 🐛 Fix **custom instructions** (`--instructions` flag) propagation to agent (cd12f2b) |
| 72 | +- 🐛 Fix **file tree path construction** using full_path components (cccfbcdb) |
| 73 | +- 🐛 Fix **scroll bounds** to clamp offsets and prevent over-scrolling (cccfbcdb) |
| 74 | +- 🐛 Fix **memory growth** in long sessions with bounded capacity limits for chat (500 messages), tool history (20 entries), and content versions (50 per mode) (ee86f6c) |
| 75 | +- 🐛 Fix **panicking unwrap/expect calls** replaced with proper error handling in ParallelAnalyze, FileWatcherService, and GitRepo (ee4a7dfe) |
| 76 | +- ⚡️ Pass release notes between workflows via artifact to eliminate redundant generation (1c76200) |
| 77 | + |
| 78 | +### Removed |
| 79 | + |
| 80 | +- 🔥 **Remove MCP server** (`git-iris serve` command and all MCP tooling in `src/mcp/`)—the agent architecture provides superior integration |
| 81 | +- 🔥 **Remove legacy TUI** (`src/tui/`)—fully replaced by Iris Studio |
| 82 | +- 🔥 **Remove file analyzers module** (`src/file_analyzers/`)—the LLM agent handles file analysis directly via tool calls |
| 83 | +- 🔥 **Remove token optimizer** (`src/token_optimizer.rs`)—no longer needed with agent-based context management |
| 84 | +- 🔥 **Remove old generation modules** (`src/changes/`, `src/commit/`)—replaced by unified agent capabilities |
| 85 | +- 🔥 **Remove `src/llm.rs`**—provider logic moved to `src/agents/` and `src/providers.rs` |
| 86 | +- 🔥 **Remove Python release script** (`scripts/release.py`)—replaced by GitHub Actions workflow |
| 87 | +- 🔥 Remove unused dependencies: `once_cell`, `tiktoken-rs`, `tokio-retry` |
| 88 | + |
| 89 | +### Breaking Changes |
| 90 | + |
| 91 | +- **MCP server removed**: The `git-iris serve` command no longer exists. Users relying on MCP integration should migrate to the GitHub Action or direct CLI usage |
| 92 | +- **Architecture overhaul**: Internal APIs have changed significantly. Extensions built against v1.x will need updates for the new agent-based system |
| 93 | + |
| 94 | +### Metrics |
| 95 | + |
| 96 | +- Total Commits: 100 |
| 97 | +- Files Changed: 356 |
| 98 | +- Insertions: +62,529 |
| 99 | +- Deletions: -16,771 |
| 100 | + |
1 | 101 | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
2 | 102 | # Changelog |
3 | 103 |
|
|
0 commit comments