tag:github.com,2008:https://github.com/hyperb1iss/git-iris/releases Release notes from git-iris 2026-03-02T20:30:06Z tag:github.com,2008:Repository/834947056/v2.0.6 2026-03-02T20:44:48Z Release v2.0.6 <h1>Release Notes v2.0.6</h1> <p><strong>Released:</strong> 2026-03-02</p> <p>This release introduces <strong>Opaline theme library integration</strong>, strengthens <strong>API key security</strong>, and modernizes the CI/CD pipeline with <strong>shared workflows and OIDC trusted publishing</strong>. The theme engine extraction removes ~4,000 lines while adding type-safe token constants.</p> <h2>✨ Highlights</h2> <h3>🎨 Opaline Theme Library Migration</h3> <p>Replaced the custom 4,262-line theme engine in <code>src/theme/</code> with the standalone <strong>Opaline</strong> library (v0.2.0). Git-Iris becomes the first consumer of this extracted theming system, gaining compile-time token constants via <code>opaline::names::{tokens, styles, gradients}</code> that provide autocomplete and typo prevention. All 36 theme files removed; net <strong>-3,595 lines</strong> of code.</p> <h3>πŸ”’ API Key Security Hardening</h3> <p>API key handling now validates format prefixes (<code>sk-</code> or <code>sk-proj-</code> for OpenAI, <code>sk-ant-</code> for Anthropic) and minimum lengths before making calls. Error messages are sanitized to prevent accidental credential exposure in logs or user-facing output. The <code>ApiKeySource</code> enum tracks where keys originate (config, environment, or client default) for improved observability.</p> <h3>🌐 Google Gemini Provider for Parallel Analyze</h3> <p>The <code>parallel_analyze</code> subagent tool now supports Google/Gemini alongside OpenAI and Anthropic. Uses the same API key resolution pattern with proper error sanitization. Silent fallback to OpenAI removedβ€”failures now return clear provider-specific error messages.</p> <h3>πŸ”§ CI/CD Modernization with Shared Workflows</h3> <p>Migrated CI/CD from inline jobs to <code>hyperb1iss/shared-workflows</code>, reducing workflow configuration from <strong>887 to 654 lines</strong>. Enabled OIDC trusted publishing for crates.io (no more stored tokens). Updated action versions: checkout v4β†’v6, Node 20β†’24, pnpm 9β†’10, docker/build-push-action v5β†’v6.</p> <h2>πŸ€– Provider &amp; Agent Improvements</h2> <ul> <li><strong>OpenAI project key support</strong>: Added <code>sk-proj-</code> prefix to valid OpenAI API key patterns via new <code>api_key_prefixes()</code> method</li> <li><strong>Config-based API keys</strong>: Provider builders (<code>openai_builder</code>, <code>anthropic_builder</code>, <code>gemini_builder</code>) now accept optional API keys from config, falling back to environment variables when not provided</li> <li><strong>Consolidated key resolution</strong>: Made <code>resolve_api_key()</code> and <code>ApiKeySource</code> public for reuse across the codebase, ensuring consistent resolution order (config β†’ env β†’ client default)</li> <li><strong>Better error handling</strong>: Replaced panics with context-aware error returns using <code>anyhow</code> in builder functions across <code>provider.rs</code>, <code>iris.rs</code>, and <code>status_messages.rs</code></li> </ul> <h2>⬆️ Dependencies</h2> <ul> <li><strong>ratatui</strong> 0.29 β†’ 0.30</li> <li><strong>crossterm</strong> 0.28 β†’ 0.29</li> <li><strong>tui-textarea</strong> replaced with <strong>ratatui-textarea</strong> 0.8.0</li> <li><strong>opaline</strong> 0.2.0 added with features: <code>ratatui</code>, <code>gradients</code>, <code>global-state</code>, <code>builtin-themes</code>, <code>discovery</code>, <code>cli</code></li> </ul> <h2>♻️ Code Quality</h2> <ul> <li>Replaced <code>unwrap()</code> with <code>expect("reason")</code> across test files for clearer failure diagnostics</li> <li>Applied clippy recommendations: <code>sort_by_key</code> for clearer sorting, <code>is_ok_and()</code> for predicate checks, <code>checked_div().unwrap_or()</code> for scroll calculations</li> <li>Replaced raw string literals <code>r#"..."#</code> with <code>r"..."</code> where single-character escapes suffice</li> <li>Used <code>std::time::Duration::from_secs()</code> instead of <code>from_millis(2000)</code></li> <li>Reformatted long function signatures for readability</li> </ul> <h2>πŸ”§ CI/CD Changes</h2> <ul> <li>Replaced <code>build-and-test</code> job with <code>rust-ci.yml</code> shared workflow</li> <li>Replaced <code>docker-publish</code> job with <code>docker-publish.yml</code> shared workflow</li> <li>Replaced <code>cargo-publish</code> with <code>rust-publish.yml</code> using OIDC trusted publishing</li> <li>Simplified <code>docs.yml</code> to call <code>docs-deploy.yml</code> shared workflow</li> <li>Added artifact download pattern filter (<code>git-iris-*</code>) in release job to avoid pulling unrelated artifacts</li> </ul> <h2>πŸ“¦ Installation &amp; Packaging</h2> <ul> <li><strong>AUR package</strong>: New <code>update-aur</code> job automatically publishes to Arch User Repository on release tags</li> <li><strong>Homebrew tap</strong>: Automated formula updates continue via <code>update-homebrew</code> job</li> <li>Binary artifact naming standardized to <code>git-iris-{platform}</code> pattern</li> </ul> <h2>Upgrade Notes</h2> <ul> <li><strong>Theme API changes</strong>: Replace <code>.to_ratatui()</code> calls with <code>.into()</code> or <code>Color::from()</code>, and <code>.to_rgb()</code> with <code>.to_rgb_tuple()</code>. String literals for tokens should migrate to <code>opaline::names</code> constants.</li> <li><strong>API key behavior</strong>: Empty config strings are now treated as "not configured" and fall back to environment variablesβ€”this matches user expectations but may affect edge cases.</li> <li><strong>Provider errors</strong>: The <code>parallel_analyze</code> tool no longer silently falls back to OpenAI when your configured provider fails. Check your API key and network connectivity if you see new errors.</li> </ul> github-actions[bot] tag:github.com,2008:Repository/834947056/v2 2026-03-02T20:44:56Z v2 <p>Update v2 to v2.0.6</p> github-actions[bot] tag:github.com,2008:Repository/834947056/v2.0.4 2026-01-09T06:11:16Z Release v2.0.4 <h1>Release Notes v2.0.4</h1> <p><strong>Released:</strong> 2026-01-09</p> <p>This release focuses on <strong>credential management</strong> and <strong>provider flexibility</strong>. API keys can now be stored in git-iris configuration instead of relying solely on environment variables, and the parallel analysis tool gains full Google/Gemini support with improved error handling.</p> <h2>🌟 Highlights</h2> <h3>πŸ” Config-Based API Key Resolution</h3> <p>API keys can now be stored directly in your <code>.irisconfig</code> file instead of requiring environment variables. The resolution order is: config β†’ environment variable β†’ client default. This improves portability for containerized deployments and IDE-integrated workflows.</p> <h3>✨ Google/Gemini Support for Parallel Analysis</h3> <p>The <code>parallel_analyze</code> tool now supports Google/Gemini as a provider alongside OpenAI and Anthropic. All three providers use consistent API key resolution and error handling patterns.</p> <h3>πŸ”’ API Key Format Validation</h3> <p>New validation catches common API key misconfigurations early. The system checks expected prefixes (<code>sk-</code> or <code>sk-proj-</code> for OpenAI, <code>sk-ant-</code> for Anthropic) and minimum length requirements before making API calls.</p> <h3>πŸ›‘οΈ Sanitized Error Messages</h3> <p>Error messages during authentication failures no longer risk exposing API key material. Client creation errors return generic messages without revealing key prefixes or partial credentials.</p> <h2>πŸ”§ Provider Infrastructure</h2> <ul> <li>Added <code>resolve_api_key()</code> function in <code>src/agents/provider.rs</code> with <code>ApiKeySource</code> enum to track where keys originate (Config, Environment, ClientDefault)</li> <li>Provider builder functions (<code>openai_builder</code>, <code>anthropic_builder</code>, <code>gemini_builder</code>) now accept optional <code>api_key</code> parameter and return <code>Result</code></li> <li>Added <code>validate_api_key_format()</code> method to <code>Provider</code> for format validation with provider-specific prefix checking</li> <li>OpenAI now accepts both <code>sk-</code> and <code>sk-proj-</code> prefixes, supporting project-scoped API keys</li> <li>Added <code>api_key_if_set()</code> helper to <code>ProviderConfig</code> that returns <code>None</code> for empty strings</li> </ul> <h2>πŸ€– Agent Framework</h2> <ul> <li><code>IrisAgent</code> gains <code>get_api_key()</code> method to retrieve provider API keys from stored config</li> <li><code>IrisAgentService</code> exposes <code>api_key()</code> accessor for config-based key retrieval</li> <li><code>StatusMessageGenerator</code> constructor now accepts optional API key parameter</li> <li>All agent builder paths thread API keys through to subagents and debug agents</li> </ul> <h2>⚑ Parallel Analysis</h2> <ul> <li><code>SubagentRunner</code> enum extended with <code>Gemini</code> variant for Google provider support</li> <li>Added <code>resolve_openai_client()</code>, <code>resolve_anthropic_client()</code>, and <code>resolve_gemini_client()</code> helper methods with consistent resolution logic</li> <li>Removed silent fallback to OpenAI when requested provider fails β€” users now receive clear error messages indicating which provider failed</li> <li><code>ParallelAnalyze::new()</code> and <code>with_timeout()</code> accept explicit <code>api_key</code> parameter</li> </ul> <h2>πŸ› Fixes</h2> <ul> <li>Fixed error handling in LLM builder functions β€” replaced panics with context-aware error returns using <code>anyhow</code></li> <li><code>src/studio/app/mod.rs</code> now passes API key from agent config to <code>StatusMessageGenerator</code></li> </ul> <h2>Breaking Changes</h2> <ul> <li> <p><strong>Provider builder return type changed</strong> β€” <code>openai_builder()</code>, <code>anthropic_builder()</code>, and <code>gemini_builder()</code> now return <code>Result&lt;...Builder&gt;</code> instead of the builder directly. Callers must handle the error case with <code>?</code> or explicit error handling.</p> </li> <li> <p><strong>ParallelAnalyze constructor signature changed</strong> β€” <code>ParallelAnalyze::new()</code> and <code>with_timeout()</code> now require an additional <code>api_key: Option&lt;&amp;str&gt;</code> parameter.</p> </li> <li> <p><strong>No silent provider fallback</strong> β€” Previously, if the configured provider (e.g., Anthropic) failed to initialize, the system would silently fall back to OpenAI. This release removes that behavior. If your configured provider fails, you'll receive an explicit error message.</p> </li> </ul> <h2>Upgrade Notes</h2> <ul> <li> <p>If you prefer config-based API key storage, add your key to <code>.irisconfig</code>:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="git-iris config --api-key YOUR_API_KEY"><pre>git-iris config --api-key YOUR_API_KEY</pre></div> <p>The key will be stored under the current provider's configuration.</p> </li> <li> <p>Environment variables continue to work as before. Config keys take precedence when both are set.</p> </li> <li> <p>If you were relying on silent fallback to OpenAI when another provider failed, ensure your provider credentials are valid or explicitly configure OpenAI as your provider.</p> </li> </ul> github-actions[bot] tag:github.com,2008:Repository/834947056/v2.0.3 2025-12-31T19:34:34Z Release v2.0.3 <h1>Release Notes v2.0.3</h1> <p><strong>Released:</strong> 2025-12-31</p> <p>This patch release fixes a binary download issue in the GitHub Action that caused installation failures when release asset names varied from the expected pattern.</p> <h2>🌟 Highlights</h2> <h3>πŸ› GitHub Action Binary Download Fix</h3> <p>Resolved an installation failure in the GitHub Action caused by release asset naming variations. The download step now uses a wildcard pattern to match asset names and dynamically detects the downloaded filename rather than assuming a fixed naming convention.</p> <h2>πŸ”§ GitHub Action</h2> <ul> <li>Add wildcard (<code>*</code>) to the <code>gh release download</code> pattern to handle varied asset names like <code>git-iris-linux-amd64</code> or <code>git-iris-windows-gnu.exe</code></li> <li>Dynamically detect downloaded binary filename using <code>ls</code> instead of hardcoding the expected name</li> <li>Preserve original binary name when moving to <code>/usr/local/bin/</code> for correct execution</li> </ul> <h2>Upgrade Notes</h2> <ul> <li>No breaking changes in this release</li> <li>The GitHub Action fix applies automaticallyβ€”no changes needed in your workflow files</li> <li>If you previously experienced "file not found" errors during action runs, this release resolves those failures</li> </ul> github-actions[bot] tag:github.com,2008:Repository/834947056/v2.0.2 2025-12-31T19:00:29Z Release v2.0.2 <h1>Release Notes v2.0.2</h1> <p><strong>Released:</strong> 2025-12-31</p> <p>This release focuses on <strong>distribution improvements</strong> and <strong>CI/CD reliability</strong>β€”expanding package availability for Arch Linux users and hardening the release automation pipeline.</p> <h2>🌟 Highlights</h2> <h3>πŸ“¦ Arch Linux AUR Package</h3> <p>Arch users can now install Git-Iris directly from the AUR using <code>yay -S git-iris-bin</code> or <code>paru -S git-iris-bin</code>. The CI/CD pipeline automatically publishes updated PKGBUILD files with SHA256 checksums for both x86_64 and aarch64 binaries on each release.</p> <h3>πŸ“ Comprehensive GitHub Action Documentation</h3> <p>New dedicated documentation page at <code>/reference/github-action</code> covers the complete Action API: all inputs/outputs, provider-specific examples (OpenAI, Anthropic, Google), custom instructions, and platform compatibility. The action metadata was also updated to "Git-Iris Action" with clearer marketplace descriptions.</p> <h3>πŸ› Reliable Version Detection</h3> <p>The release workflow now uses explicit semver pattern matching (<code>v[0-9]*.[0-9]*.[0-9]*</code>) to filter tags, preventing major-only tags like <code>v2</code> from breaking downstream version parsing. Version string splitting also migrated from IFS-based parsing to <code>cut</code> commands for cross-shell reliability.</p> <h2>πŸ“¦ Distribution</h2> <ul> <li><strong>AUR publishing</strong> added to CI/CD pipeline via <code>KSXGitHub/github-actions-deploy-aur</code> action</li> <li>PKGBUILD dynamically generates SHA256 checksums from GitHub release binaries</li> <li>Package supports both x86_64 and aarch64 Linux architectures</li> </ul> <h2>πŸ“ Documentation</h2> <ul> <li>Added <code>docs/reference/github-action.md</code> with 250+ lines covering: <ul> <li>Quick start examples and complete input/output reference tables</li> <li>Provider-specific configurations for OpenAI, Anthropic, and Google</li> <li>Custom instructions, output handling, and version pinning</li> <li>Platform compatibility matrix and troubleshooting tips</li> </ul> </li> <li>Updated VitePress sidebar navigation to include the new GitHub Action page</li> <li>Renamed action from "Git-Iris" to "Git-Iris Action" for marketplace clarity</li> <li>Revised action description to emphasize the AI agent aspect</li> </ul> <h2>πŸ› Fixes</h2> <ul> <li><strong>Version detection</strong> filters to semver tags only, excluding malformed tags like <code>v2</code></li> <li><strong>Version parsing</strong> uses <code>cut</code> instead of IFS word splitting for reliability across shell environments</li> <li>Added debug output for parsed version components during workflow runs</li> </ul> <h2>Upgrade Notes</h2> <ul> <li>No breaking changesβ€”this is a drop-in upgrade from v2.0.1</li> <li>Arch Linux users can now install via AUR: <code>yay -S git-iris-bin</code></li> <li>GitHub Action users should reference <code>hyperb1iss/git-iris@v2</code> (unchanged)</li> </ul> github-actions[bot] tag:github.com,2008:Repository/834947056/v2.0.1 2025-12-31T10:47:06Z Release v2.0.1 <h1>Release Notes v2.0.1</h1> <p><strong>Released:</strong> 2025-12-31</p> <p>Git-Iris v2.0.1 represents a complete architectural overhaul, transforming from a prompt-based tool into a powerful <strong>agent-first platform</strong>. At its core is <strong>Iris</strong>, an LLM-driven agent built on the <a href="https://docs.rs/rig-core" rel="nofollow">Rig framework</a> that dynamically explores your codebase through tool calls rather than dumping context upfront. This release also introduces <strong>Iris Studio</strong>, a stunning terminal interface with the new <strong>SilkCircuit Neon</strong> design language.</p> <h2>🌟 Highlights</h2> <h3>πŸ€– Agent-First Architecture</h3> <p>Complete rewrite of the AI engine around <code>IrisAgent</code> in <code>src/agents/</code>. Iris now uses <strong>multi-turn tool execution</strong> with up to 50 rounds of tool calls per task, gathering precisely the context she needs. Capabilities are defined in TOML files (<code>src/agents/capabilities/*.toml</code>) making prompts easily customizable. The new <code>IrisAgentService</code> provides a unified interface for all operations.</p> <h3>🌌 Iris Studio TUI</h3> <p>New terminal user interface in <code>src/studio/</code> built with <a href="https://ratatui.rs" rel="nofollow">Ratatui</a>. Six integrated modesβ€”<strong>Explore</strong>, <strong>Commit</strong>, <strong>Review</strong>, <strong>PR</strong>, <strong>Changelog</strong>, and <strong>Release Notes</strong>β€”with a <strong>pure reducer pattern</strong> for predictable state management. Press <code>/</code> in any mode to open chat and interact with Iris directly.</p> <h3>🧠 Iris Companion</h3> <p>Ambient session awareness in <code>src/companion/</code> that remembers context across sessions. Branch memory persists your last focus, notes, and commit counts. Live file watching via the <code>notify</code> crate detects repository changes in real-time.</p> <h3>🎨 SilkCircuit Theme System</h3> <p>New token-based theme system in <code>src/theme/</code> with 13 built-in themes including the signature SilkCircuit variants (Neon, Glow, Vibrant, Soft, Dawn), plus Catppuccin, Dracula, Nord, Tokyo Night, and more. Themes are defined in TOML with color palettes, semantic tokens, composed styles, and gradient definitions.</p> <h3>⚑ Parallel Analysis for Large Changesets</h3> <p>New <code>parallel_analyze</code> tool spawns concurrent subagents with independent context windows, preventing overflow when analyzing large PRs. Each subagent operates in isolation, and results are aggregated for coherent output.</p> <h3>πŸ“¦ One-Liner Installation</h3> <p>New installation methods: <code>curl -fsSL https://hyperb1iss.github.io/git-iris/install.sh | sh</code> for quick install, Homebrew via <code>brew tap hyperb1iss/tap &amp;&amp; brew install git-iris</code>, and AUR package for Arch Linux.</p> <h2>πŸ€– Agent Framework</h2> <ul> <li><strong><code>IrisAgent</code></strong> (<code>src/agents/iris.rs</code>): Core agent with multi-turn execution, JSON schema enforcement, and streaming support</li> <li><strong><code>IrisAgentService</code></strong> (<code>src/agents/setup.rs</code>): High-level service handling configuration, agent lifecycle, and task context formatting</li> <li><strong><code>DynAgent</code> provider abstraction</strong> (<code>src/agents/provider.rs</code>): Runtime dispatch for OpenAI, Anthropic, and Gemini with explicit provider builders (rig-core 0.27+ compatibility)</li> <li><strong>Capability TOML files</strong>: <code>commit.toml</code>, <code>review.toml</code>, <code>pr.toml</code>, <code>changelog.toml</code>, <code>release_notes.toml</code>, <code>chat.toml</code>, <code>semantic_blame.toml</code></li> <li><strong>Tool suite</strong>: <code>git_diff</code>, <code>git_log</code>, <code>git_status</code>, <code>git_changed_files</code>, <code>file_read</code>, <code>code_search</code>, <code>project_docs</code>, <code>workspace</code>, <code>parallel_analyze</code>, content update tools for chat mode</li> </ul> <h2>🌌 Studio Features</h2> <ul> <li><strong>Event-driven state management</strong>: <code>StudioEvent</code> enum captures all transitions, pure <code>reduce()</code> function with side effects returned as data</li> <li><strong>Mode-specific state</strong>: <code>CommitState</code>, <code>ReviewState</code>, <code>PrState</code>, <code>ChangelogState</code>, <code>ReleaseNotesState</code>, <code>ExploreState</code> with dedicated file trees, diff views, and content editors</li> <li><strong>Components</strong>: <code>CodeViewState</code> with syntax highlighting, <code>DiffViewState</code> with unified diff rendering, <code>FileTreeState</code> with git status indicators, <code>MessageEditorState</code> for commit editing</li> <li><strong>Modals</strong>: Help, Chat, Settings, PresetSelector, EmojiSelector, RefSelector, ConfirmCommit, ConfirmAmend</li> <li><strong>Keyboard navigation</strong>: Vi-style bindings (<code>j/k</code>, <code>g/G</code>, <code>Ctrl+d/u</code>), Tab for panel cycling, <code>/</code> for chat, <code>?</code> for help</li> <li><strong>Amend mode</strong>: Press <code>Shift+A</code> to amend the previous commit with context-aware message regeneration</li> <li><strong>Commit count picker</strong>: Press <code>#</code> to quickly set refs like <code>HEAD~N</code></li> </ul> <h2>βš™οΈ CLI Changes</h2> <ul> <li><strong>Default command launches Studio</strong>: Running <code>git-iris</code> without arguments opens Studio with auto-detected mode</li> <li><strong>New <code>studio</code> subcommand</strong>: <code>git-iris studio --mode &lt;explore|commit|review|pr|changelog&gt;</code></li> <li><strong>New <code>pr</code> subcommand</strong>: Generate pull request descriptions with <code>--from</code>, <code>--to</code>, <code>--copy</code>, <code>--raw</code> flags</li> <li><strong>New <code>completions</code> subcommand</strong>: Generate shell completions for bash, zsh, fish, elvish, powershell</li> <li><strong>New <code>themes</code> subcommand</strong>: List available themes</li> <li><strong><code>--model</code> flag</strong>: Per-operation model override without changing config</li> <li><strong><code>--debug</code> flag</strong>: Enable gorgeous color-coded output showing agent execution details</li> <li><strong><code>--theme</code> flag</strong>: Override theme for the session</li> <li><strong><code>--raw</code> flag</strong>: Output raw markdown without console formatting (for <code>review</code>, <code>pr</code>, <code>changelog</code>, <code>release-notes</code>)</li> <li><strong><code>--amend</code> flag</strong>: Amend the previous commit (<code>git-iris gen --amend --auto-commit</code>)</li> <li><strong><code>--subagent-timeout</code> config</strong>: Configure timeout for parallel subagent tasks (default: 120s)</li> <li><strong><code>gen</code> alias</strong>: <code>git-iris commit</code> now works as an alias for <code>git-iris gen</code></li> <li><strong>Explicit <code>--gitmoji</code>/<code>--no-gitmoji</code> flags</strong>: Clearer intent than boolean flag</li> </ul> <h2>πŸ”§ Infrastructure</h2> <ul> <li><strong>GitHub Action</strong> (<code>action.yml</code>): Reusable action for CI/CD with <code>release-notes</code> and <code>changelog</code> commands, cross-platform binary downloads, optional build-from-source mode</li> <li><strong>Release workflow</strong> (<code>.github/workflows/release.yml</code>): Replaces Python script with declarative GitHub Actions, supports semantic version bumps and dry-run mode</li> <li><strong>Homebrew formula</strong> (<code>homebrew/git-iris.rb</code>): Pre-built binaries for macOS ARM64 and Linux, automatic formula updates on release</li> <li><strong>AUR package</strong> (<code>aur/PKGBUILD</code>): Binary downloads for x86_64 and aarch64, <code>update-aur.sh</code> for version bumps</li> <li><strong>Shell installer</strong> (<code>install.sh</code>): One-liner installation with platform detection, SilkCircuit-styled output</li> </ul> <h2>πŸ“š Documentation</h2> <ul> <li><strong>VitePress site</strong>: Comprehensive documentation at <a href="https://hyperb1iss.github.io/git-iris" rel="nofollow">hyperb1iss.github.io/git-iris</a> with SilkCircuit-themed styling</li> <li><strong>Architecture docs</strong>: Agent framework, capabilities, tools, context management, output validation</li> <li><strong>Studio guides</strong>: Mode documentation, navigation, chat integration, component internals</li> <li><strong>Theme documentation</strong>: Creating custom themes, style tokens, gradient definitions, gallery of built-ins</li> <li><strong>UX journey tests</strong>: Documented persona-based test scenarios for Ghostty terminal automation</li> </ul> <h2>πŸ› Fixes</h2> <ul> <li>Fix JSON extraction with sanitization for control characters in LLM responses</li> <li>Fix TUI startup blocking by moving git status and companion initialization to async tasks</li> <li>Fix tab handling in code/diff views with <code>expand_tabs</code> utility</li> <li>Fix theme tests to handle parallel execution safely</li> <li>Fix RPM and deb asset paths for cross-compiled targets</li> <li>Fix cargo-generate-rpm asset path to include target directory</li> <li>Fix GITIRIS_GITMOJI env var handling in Docker entrypoint</li> <li>Fix file exclusion pattern precision with anchored regex patterns</li> <li>Abort background tasks on Studio exit to prevent hanging</li> </ul> <h2>πŸ’₯ Breaking Changes</h2> <ul> <li><strong>MCP server removed</strong>: The <code>serve</code> subcommand and MCP integration have been removed. The agent-first architecture provides equivalent capabilities through the tool system.</li> <li><strong>File analyzers removed</strong>: Language-specific file analyzers (<code>src/file_analyzers/</code>) have been replaced by LLM-driven analysis through agent tools.</li> <li><strong>Token optimizer removed</strong>: Manual token counting removed in favor of model-native context management.</li> <li><strong>Config changes</strong>: <code>gitmoji</code> boolean replaced with explicit <code>--gitmoji</code>/<code>--no-gitmoji</code> flags; new <code>subagent_timeout_secs</code> field added.</li> </ul> <h2>πŸ“‹ Upgrade Notes</h2> <ol> <li><strong>Update installation</strong>: Use <code>curl -fsSL https://hyperb1iss.github.io/git-iris/install.sh | sh</code> or <code>brew upgrade git-iris</code></li> <li><strong>Configure provider</strong>: Run <code>git-iris config --provider &lt;anthropic|openai|google&gt; --api-key YOUR_KEY</code></li> <li><strong>Try Studio</strong>: Run <code>git-iris</code> to launch the new TUI, or <code>git-iris gen</code> for CLI commit generation</li> <li><strong>Update CI/CD</strong>: Replace manual release note scripts with the new GitHub Action</li> <li><strong>Review scripts</strong>: Remove any <code>--legacy</code> flags or MCP server invocations from automation scripts</li> </ol> github-actions[bot] tag:github.com,2008:Repository/834947056/v1.1.0 2025-04-17T05:19:12Z Release v1.1.0 <p>This release significantly enhances Git-Iris with Model Context Protocol (MCP) integration, project-specific configuration capabilities, and remote repository support. The update also refactors the Git module structure, adds comprehensive changelog generation features, and improves the overall user experience with quiet mode and custom logging options.</p> <h2>✨ Highlights</h2> <h3>Model Context Protocol Integration</h3> <p>Git-Iris now integrates with the Model Context Protocol, allowing it to be used directly from AI assistants like Claude Desktop and Cursor without requiring command-line interaction.</p> <h3>Project-Specific Configuration</h3> <p>Teams can now share common settings via version control using .irisconfig files, while keeping sensitive API keys private in personal configurations.</p> <h3>Remote Repository Support</h3> <p>Work with remote Git repositories directly without manual checkout, supporting all major commands with appropriate safety guards for read-only operations.</p> <h3>Docker Support</h3> <p>Run Git-Iris in containers with volume mounting for repository access and persistent configuration, particularly useful for CI/CD pipelines.</p> <h2>✨ New Features</h2> <ul> <li>Added Model Context Protocol (MCP) server integration, enabling seamless integration with Claude Desktop, Cursor, and other MCP-compatible clients</li> <li>Implemented project configuration command for teams to share common settings via version control without exposing API keys</li> <li>Added remote repository support for analyzing Git repositories without manual checkout</li> <li>Added Docker support with multi-stage build for minimal image size and comprehensive usage documentation</li> <li>Implemented automatic changelog generation and file update functionality</li> <li>Added quiet mode (--quiet/-q) and custom log file options (--log-file) for better integration with CI/CD pipelines</li> <li>Added support for explicit version name overrides in changelog and release notes commands</li> </ul> <h2>πŸ”§ Improvements</h2> <ul> <li>Refactored git module into specialized submodules for commits, files, metadata, and repository operations</li> <li>Improved MCP architecture with a cleaner tool structure and consistent error handling</li> <li>Added GenericTextAnalyzer for better text file handling and improved file type detection</li> <li>Updated default LLM models to latest versions (OpenAI's gpt-4.1 and Anthropic's claude-3-7-sonnet-latest)</li> <li>Enhanced package description and keywords for better discoverability on crates.io</li> <li>Expanded documentation with project-specific configuration capabilities and MCP integration details</li> </ul> <h2>🧰 MCP Tools</h2> <ul> <li>Added code review tool for generating comprehensive code reviews through MCP</li> <li>Implemented commit message generation and execution as an MCP tool</li> <li>Added changelog generation tool to the MCP implementation</li> <li>Implemented release notes generation as an MCP tool</li> <li>Added repository parameter to all MCP tools for working with multiple repositories</li> </ul> <h2>πŸ› Bug Fixes</h2> <ul> <li>Updated dependencies to latest versions for security patches and bug fixes</li> <li>Removed WebSocket transport from MCP implementation that was never fully implemented</li> </ul> <h2>πŸ“ Documentation</h2> <ul> <li>Added detailed MCP documentation with usage examples and tool parameters</li> <li>Updated CHANGELOG with release history for versions 0.9.0 through 1.0.1</li> <li>Added Docker usage guide with examples and installation instructions</li> <li>Expanded README with remote repository usage examples and MCP integration information</li> </ul> <h2>πŸ”§ Upgrade Notes</h2> <ul> <li>Default LLM models have been updated to their latest versions (gpt-4.1 and claude-3-7-sonnet-latest)</li> </ul> <h2>πŸ“Š Metrics</h2> <ul> <li>Total Commits: 31</li> <li>Files Changed: 174</li> <li>Insertions: 10446</li> <li>Deletions: 2827</li> </ul> github-actions[bot] tag:github.com,2008:Repository/834947056/v1.0.1 2025-03-30T23:58:33Z Release v1.0.1 <p>This release significantly enhances Git-Iris with a comprehensive multi-dimensional code review system, performance optimizations, UI improvements, and better code organization. The update focuses on improving developer experience while maintaining compatibility with existing workflows.</p> <h2>✨ Highlights</h2> <h3>Multi-dimensional Code Quality Analysis</h3> <p>Completely redesigned code review system now analyzes code across 11 quality dimensions including complexity, security, performance, and best practices, providing more comprehensive and actionable feedback.</p> <h3>Performance Optimizations</h3> <p>Significant performance improvements through lazy regex initialization, reducing analysis time and resource usage during file analysis operations.</p> <h3>Enhanced User Experience</h3> <p>Modernized code review UI with better formatting, clear severity indicators, and playful waiting messages to make the review process more engaging and informative.</p> <h2>✨ New Features</h2> <ul> <li>Comprehensive 11-dimension code quality analysis system that evaluates code across multiple aspects including complexity, abstractions, security vulnerabilities, and more</li> <li>Added a dedicated 'Best Practices' dimension to the code review system</li> <li>Implemented 30 playful, themed waiting messages specific to code quality analysis to improve user experience during reviews</li> </ul> <h2>⚑️ Performance Improvements</h2> <ul> <li>Optimized regex pattern compilation across all file analyzers with Lazy static initialization, eliminating redundant compilations and improving runtime performance</li> </ul> <h2>♻️ Code Refactoring</h2> <ul> <li>Reorganized code types into dedicated modules for better organization and maintainability</li> <li>Refactored JSON parsing with JsonSchema implementation, improving type safety and validation</li> <li>Extracted quality dimensions into a dedicated enum, centralizing definitions and simplifying maintenance</li> </ul> <h2>πŸ’„ UI Enhancements</h2> <ul> <li>Modernized code review UI with decorative Unicode characters, consistent visual styling, and improved readability for long explanations</li> <li>Added dimension-specific emojis to visually distinguish different quality categories</li> <li>Improved section organization and formatting for issue details with clear severity indicators</li> </ul> <h2>πŸ“ Documentation</h2> <ul> <li>Updated README and documentation with comprehensive information about all 11 quality dimensions in code review</li> <li>Added detailed descriptions for each dimension including information about severity levels and report structure</li> </ul> <h2>πŸ”§ Upgrade Notes</h2> <ul> <li>This release maintains backward compatibility with existing workflows</li> <li>No configuration changes are required to use the enhanced code review functionality</li> </ul> <h2>πŸ“Š Metrics</h2> <ul> <li>Total Commits: 9</li> <li>Files Changed: 47</li> <li>Insertions: 1941</li> <li>Deletions: 908</li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/hyperb1iss/git-iris/compare/v1.0.0...v1.0.1"><tt>v1.0.0...v1.0.1</tt></a></p> github-actions[bot] tag:github.com,2008:Repository/834947056/v1.0.0 2025-03-25T05:37:55Z Release v1.0.0! <p>Git-Iris 1.0.0 marks a major milestone in the project's evolution, transforming from a commit message generator into a comprehensive Git workflow assistant. This release introduces AI-powered code reviews, expanded LLM provider support via the llm crate, improved UI/UX, and enhanced documentation. With significant error handling improvements and modernized infrastructure, v1.0.0 delivers a more powerful, reliable, and user-friendly experience.</p> <h2>✨ Highlights</h2> <h3>✨ AI-Powered Code Reviews</h3> <p>Get professional, constructive feedback on code changes before committing with the new 'review' command. Reviews include summary, code quality assessment, positive aspects, issues identified, and suggestions for improvement.</p> <h3>♻️ Expanded LLM Provider Support</h3> <p>Major refactoring to use the external llm crate, adding support for multiple new providers including Groq, XAI, DeepSeek, and Phind, while maintaining backward compatibility.</p> <h3>🎨 Enhanced User Experience</h3> <p>Beautiful new configuration display, improved CLI organization, better commit prompt formatting, and rich visual feedback throughout the application.</p> <h3>πŸ›‘οΈ Improved Reliability</h3> <p>Comprehensive error handling improvements, defensive programming practices, and dependency updates create a more stable and resilient application.</p> <h2>New Features</h2> <ul> <li>✨ AI-powered code review functionality with structured feedback categories and colorized output</li> <li>✨ Command-specific instruction presets with specialized options for commit messages and code reviews</li> <li>🎨 Improved commit prompt formatting with detailed change statistics and visual indicators</li> <li>πŸ’„ Beautiful configuration display with rich formatting, color-coding, and logical grouping</li> <li>🎨 Improved CLI interface with logical command grouping and better help text</li> </ul> <h2>Major Improvements</h2> <ul> <li>♻️ Complete refactoring of LLM provider system using external llm crate, adding support for multiple new providers</li> <li>πŸ›‘οΈ Comprehensive error handling improvements with defensive programming throughout the codebase</li> <li>⬆️ Major dependency updates across the project, including git2, ratatui, and more</li> <li>πŸ”§ Modernized CI/CD pipeline with updated GitHub Actions and improved workflow</li> <li>πŸ“ Comprehensive documentation updates, including new guides for code review and changelog features</li> </ul> <h2>Fixes &amp; Refinements</h2> <ul> <li>πŸ› Fixed file content handling for deleted files in code review and commit generation</li> <li>πŸ”„ Reordered instruction sections in combined prompts to ensure consistent output formatting</li> <li>♻️ Improved config display to preserve instruction formatting with line-by-line output</li> <li>πŸ”οΈ Updated review prompt to focus on staged changes rather than historical context</li> <li>✨ Enhanced Git hooks with improved execution environment and working directory handling</li> </ul> <h2>Documentation &amp; Infrastructure</h2> <ul> <li>πŸ“ Updated man page with comprehensive documentation of all commands and features</li> <li>πŸ“ Added dedicated documentation for code review and changelog/release notes features</li> <li>πŸ”§ Updated Rust edition from 2021 to 2024 for latest language features</li> <li>πŸ“ Updated provider references in documentation to align with llm crate naming</li> <li>πŸ“ Added GitHub funding configuration for project supporters</li> </ul> <h2><g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> Breaking Changes</h2> <ul> <li>LLM provider names have changed to align with the llm crate: 'claude' is now 'anthropic' and 'gemini' is now 'google'. Backward compatibility is maintained, but users should update their configurations. (<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/hyperb1iss/git-iris/commit/f657841519c8a4ae4859c15dfc21250502fffce2/hovercard" href="https://github.com/hyperb1iss/git-iris/commit/f657841519c8a4ae4859c15dfc21250502fffce2"><tt>f657841</tt></a>)</li> </ul> <h2>πŸ”§ Upgrade Notes</h2> <ul> <li>If you've been using the 'claude' provider, it will automatically be migrated to 'anthropic', but we recommend updating your configuration file.</li> <li>Similarly, the 'gemini' provider is now 'google' for consistency with the llm crate naming.</li> <li>Review your custom instructions if you've set any, as the instruction handling has been enhanced with better formatting.</li> </ul> <h2>πŸ“Š Metrics</h2> <ul> <li>Total Commits: 25</li> <li>Files Changed: 117</li> <li>Insertions: 4210</li> <li>Deletions: 2071</li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/hyperb1iss/git-iris/compare/v0.9.1...v1.0.0"><tt>v0.9.1...v1.0.0</tt></a></p> github-actions[bot] tag:github.com,2008:Repository/834947056/v0.9.1 2025-02-27T19:18:03Z Release v0.9.1 <p>This release brings major improvements to token handling and optimization, adds support for the latest Claude 3.7 model, and introduces new developer tools. The update focuses on enhanced efficiency, better AI model integration, and improved code quality standards.</p> <h2>✨ Highlights</h2> <h3>Claude 3.7 Model Support</h3> <p>Git-Iris now supports the latest Claude 3.7 Sonnet model, providing improved AI capabilities while maintaining backward compatibility.</p> <h3>Token Optimization Improvements</h3> <p>Significant enhancements to token handling make Git-Iris more efficient with AI provider token limits, allowing for better resource usage when generating commit messages and other content.</p> <h3>New Linting Tools</h3> <p>A dedicated Python script for enhanced Rust linting has been added, helping maintain high code quality standards.</p> <h2>✨ New Features</h2> <ul> <li>Added support for Claude 3.7 Sonnet model (claude-3-7-sonnet-20250219)</li> <li>Introduced new Python linting script (scripts/lint.py) to enhance Rust code quality with style and consistency checks</li> <li>Implemented TokenOptimizer in commit service for more efficient token limit handling</li> </ul> <h2>πŸ”§ Improvements</h2> <ul> <li>Simplified token limit handling across providers by removing direct token_limit parameter handling in provider configurations</li> <li>Added logging to track token usage and optimization stages for easier debugging</li> <li>Refined Clippy lint configuration for better code quality standards</li> </ul> <h2>πŸ”§ Upgrade Notes</h2> <ul> <li>Users working with Claude should note the default model has been updated to claude-3-7-sonnet-20250219. Use "git iris config --provider claude --model claude-3-7-sonnet-20250219" to update your local configuration</li> <li>No configuration changes are required to benefit from the improved token handling</li> </ul> <h2>πŸ“Š Metrics</h2> <ul> <li>Total Commits: 8</li> <li>Files Changed: 20</li> <li>Insertions: 509</li> <li>Deletions: 50</li> </ul> github-actions[bot]