Skip to content

Commit 4709386

Browse files
🔮 Release v2.0.1
1 parent a34ff04 commit 4709386

File tree

3 files changed

+102
-2
lines changed

3 files changed

+102
-2
lines changed

CHANGELOG.md

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,103 @@
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+
1101
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2102
# Changelog
3103

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "git-iris"
3-
version = "1.99.0"
3+
version = "2.0.1"
44
edition = "2024"
55
authors = ["Stefanie Jane <[email protected]>"]
66
description = "AI-powered Git workflow assistant for smart commits, code reviews, changelogs, and release notes"

0 commit comments

Comments
 (0)