Releases: hyperb1iss/git-iris
Release v2.0.4
Release Notes v2.0.4
Released: 2026-01-09
This release focuses on credential management and provider flexibility. 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.
🌟 Highlights
🔐 Config-Based API Key Resolution
API keys can now be stored directly in your .irisconfig 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.
✨ Google/Gemini Support for Parallel Analysis
The parallel_analyze tool now supports Google/Gemini as a provider alongside OpenAI and Anthropic. All three providers use consistent API key resolution and error handling patterns.
🔒 API Key Format Validation
New validation catches common API key misconfigurations early. The system checks expected prefixes (sk- or sk-proj- for OpenAI, sk-ant- for Anthropic) and minimum length requirements before making API calls.
🛡️ Sanitized Error Messages
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.
🔧 Provider Infrastructure
- Added
resolve_api_key()function insrc/agents/provider.rswithApiKeySourceenum to track where keys originate (Config, Environment, ClientDefault) - Provider builder functions (
openai_builder,anthropic_builder,gemini_builder) now accept optionalapi_keyparameter and returnResult - Added
validate_api_key_format()method toProviderfor format validation with provider-specific prefix checking - OpenAI now accepts both
sk-andsk-proj-prefixes, supporting project-scoped API keys - Added
api_key_if_set()helper toProviderConfigthat returnsNonefor empty strings
🤖 Agent Framework
IrisAgentgainsget_api_key()method to retrieve provider API keys from stored configIrisAgentServiceexposesapi_key()accessor for config-based key retrievalStatusMessageGeneratorconstructor now accepts optional API key parameter- All agent builder paths thread API keys through to subagents and debug agents
⚡ Parallel Analysis
SubagentRunnerenum extended withGeminivariant for Google provider support- Added
resolve_openai_client(),resolve_anthropic_client(), andresolve_gemini_client()helper methods with consistent resolution logic - Removed silent fallback to OpenAI when requested provider fails — users now receive clear error messages indicating which provider failed
ParallelAnalyze::new()andwith_timeout()accept explicitapi_keyparameter
🐛 Fixes
- Fixed error handling in LLM builder functions — replaced panics with context-aware error returns using
anyhow src/studio/app/mod.rsnow passes API key from agent config toStatusMessageGenerator
Breaking Changes
-
Provider builder return type changed —
openai_builder(),anthropic_builder(), andgemini_builder()now returnResult<...Builder>instead of the builder directly. Callers must handle the error case with?or explicit error handling. -
ParallelAnalyze constructor signature changed —
ParallelAnalyze::new()andwith_timeout()now require an additionalapi_key: Option<&str>parameter. -
No silent provider fallback — 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.
Upgrade Notes
-
If you prefer config-based API key storage, add your key to
.irisconfig:git-iris config --api-key YOUR_API_KEY
The key will be stored under the current provider's configuration.
-
Environment variables continue to work as before. Config keys take precedence when both are set.
-
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.
Release v2.0.3
Release Notes v2.0.3
Released: 2025-12-31
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.
🌟 Highlights
🐛 GitHub Action Binary Download Fix
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.
🔧 GitHub Action
- Add wildcard (
*) to thegh release downloadpattern to handle varied asset names likegit-iris-linux-amd64orgit-iris-windows-gnu.exe - Dynamically detect downloaded binary filename using
lsinstead of hardcoding the expected name - Preserve original binary name when moving to
/usr/local/bin/for correct execution
Upgrade Notes
- No breaking changes in this release
- The GitHub Action fix applies automatically—no changes needed in your workflow files
- If you previously experienced "file not found" errors during action runs, this release resolves those failures
Release v2.0.2
Release Notes v2.0.2
Released: 2025-12-31
This release focuses on distribution improvements and CI/CD reliability—expanding package availability for Arch Linux users and hardening the release automation pipeline.
🌟 Highlights
📦 Arch Linux AUR Package
Arch users can now install Git-Iris directly from the AUR using yay -S git-iris-bin or paru -S git-iris-bin. The CI/CD pipeline automatically publishes updated PKGBUILD files with SHA256 checksums for both x86_64 and aarch64 binaries on each release.
📝 Comprehensive GitHub Action Documentation
New dedicated documentation page at /reference/github-action 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.
🐛 Reliable Version Detection
The release workflow now uses explicit semver pattern matching (v[0-9]*.[0-9]*.[0-9]*) to filter tags, preventing major-only tags like v2 from breaking downstream version parsing. Version string splitting also migrated from IFS-based parsing to cut commands for cross-shell reliability.
📦 Distribution
- AUR publishing added to CI/CD pipeline via
KSXGitHub/github-actions-deploy-auraction - PKGBUILD dynamically generates SHA256 checksums from GitHub release binaries
- Package supports both x86_64 and aarch64 Linux architectures
📝 Documentation
- Added
docs/reference/github-action.mdwith 250+ lines covering:- Quick start examples and complete input/output reference tables
- Provider-specific configurations for OpenAI, Anthropic, and Google
- Custom instructions, output handling, and version pinning
- Platform compatibility matrix and troubleshooting tips
- Updated VitePress sidebar navigation to include the new GitHub Action page
- Renamed action from "Git-Iris" to "Git-Iris Action" for marketplace clarity
- Revised action description to emphasize the AI agent aspect
🐛 Fixes
- Version detection filters to semver tags only, excluding malformed tags like
v2 - Version parsing uses
cutinstead of IFS word splitting for reliability across shell environments - Added debug output for parsed version components during workflow runs
Upgrade Notes
- No breaking changes—this is a drop-in upgrade from v2.0.1
- Arch Linux users can now install via AUR:
yay -S git-iris-bin - GitHub Action users should reference
hyperb1iss/git-iris@v2(unchanged)
Release v2.0.1
Release Notes v2.0.1
Released: 2025-12-31
Git-Iris v2.0.1 represents a complete architectural overhaul, transforming from a prompt-based tool into a powerful agent-first platform. At its core is Iris, an LLM-driven agent built on the Rig framework that dynamically explores your codebase through tool calls rather than dumping context upfront. This release also introduces Iris Studio, a stunning terminal interface with the new SilkCircuit Neon design language.
🌟 Highlights
🤖 Agent-First Architecture
Complete rewrite of the AI engine around IrisAgent in src/agents/. Iris now uses multi-turn tool execution with up to 50 rounds of tool calls per task, gathering precisely the context she needs. Capabilities are defined in TOML files (src/agents/capabilities/*.toml) making prompts easily customizable. The new IrisAgentService provides a unified interface for all operations.
🌌 Iris Studio TUI
New terminal user interface in src/studio/ built with Ratatui. Six integrated modes—Explore, Commit, Review, PR, Changelog, and Release Notes—with a pure reducer pattern for predictable state management. Press / in any mode to open chat and interact with Iris directly.
🧠 Iris Companion
Ambient session awareness in src/companion/ that remembers context across sessions. Branch memory persists your last focus, notes, and commit counts. Live file watching via the notify crate detects repository changes in real-time.
🎨 SilkCircuit Theme System
New token-based theme system in src/theme/ 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.
⚡ Parallel Analysis for Large Changesets
New parallel_analyze 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.
📦 One-Liner Installation
New installation methods: curl -fsSL https://hyperb1iss.github.io/git-iris/install.sh | sh for quick install, Homebrew via brew tap hyperb1iss/tap && brew install git-iris, and AUR package for Arch Linux.
🤖 Agent Framework
IrisAgent(src/agents/iris.rs): Core agent with multi-turn execution, JSON schema enforcement, and streaming supportIrisAgentService(src/agents/setup.rs): High-level service handling configuration, agent lifecycle, and task context formattingDynAgentprovider abstraction (src/agents/provider.rs): Runtime dispatch for OpenAI, Anthropic, and Gemini with explicit provider builders (rig-core 0.27+ compatibility)- Capability TOML files:
commit.toml,review.toml,pr.toml,changelog.toml,release_notes.toml,chat.toml,semantic_blame.toml - Tool suite:
git_diff,git_log,git_status,git_changed_files,file_read,code_search,project_docs,workspace,parallel_analyze, content update tools for chat mode
🌌 Studio Features
- Event-driven state management:
StudioEventenum captures all transitions, purereduce()function with side effects returned as data - Mode-specific state:
CommitState,ReviewState,PrState,ChangelogState,ReleaseNotesState,ExploreStatewith dedicated file trees, diff views, and content editors - Components:
CodeViewStatewith syntax highlighting,DiffViewStatewith unified diff rendering,FileTreeStatewith git status indicators,MessageEditorStatefor commit editing - Modals: Help, Chat, Settings, PresetSelector, EmojiSelector, RefSelector, ConfirmCommit, ConfirmAmend
- Keyboard navigation: Vi-style bindings (
j/k,g/G,Ctrl+d/u), Tab for panel cycling,/for chat,?for help - Amend mode: Press
Shift+Ato amend the previous commit with context-aware message regeneration - Commit count picker: Press
#to quickly set refs likeHEAD~N
⚙️ CLI Changes
- Default command launches Studio: Running
git-iriswithout arguments opens Studio with auto-detected mode - New
studiosubcommand:git-iris studio --mode <explore|commit|review|pr|changelog> - New
prsubcommand: Generate pull request descriptions with--from,--to,--copy,--rawflags - New
completionssubcommand: Generate shell completions for bash, zsh, fish, elvish, powershell - New
themessubcommand: List available themes --modelflag: Per-operation model override without changing config--debugflag: Enable gorgeous color-coded output showing agent execution details--themeflag: Override theme for the session--rawflag: Output raw markdown without console formatting (forreview,pr,changelog,release-notes)--amendflag: Amend the previous commit (git-iris gen --amend --auto-commit)--subagent-timeoutconfig: Configure timeout for parallel subagent tasks (default: 120s)genalias:git-iris commitnow works as an alias forgit-iris gen- Explicit
--gitmoji/--no-gitmojiflags: Clearer intent than boolean flag
🔧 Infrastructure
- GitHub Action (
action.yml): Reusable action for CI/CD withrelease-notesandchangelogcommands, cross-platform binary downloads, optional build-from-source mode - Release workflow (
.github/workflows/release.yml): Replaces Python script with declarative GitHub Actions, supports semantic version bumps and dry-run mode - Homebrew formula (
homebrew/git-iris.rb): Pre-built binaries for macOS ARM64 and Linux, automatic formula updates on release - AUR package (
aur/PKGBUILD): Binary downloads for x86_64 and aarch64,update-aur.shfor version bumps - Shell installer (
install.sh): One-liner installation with platform detection, SilkCircuit-styled output
📚 Documentation
- VitePress site: Comprehensive documentation at hyperb1iss.github.io/git-iris with SilkCircuit-themed styling
- Architecture docs: Agent framework, capabilities, tools, context management, output validation
- Studio guides: Mode documentation, navigation, chat integration, component internals
- Theme documentation: Creating custom themes, style tokens, gradient definitions, gallery of built-ins
- UX journey tests: Documented persona-based test scenarios for Ghostty terminal automation
🐛 Fixes
- Fix JSON extraction with sanitization for control characters in LLM responses
- Fix TUI startup blocking by moving git status and companion initialization to async tasks
- Fix tab handling in code/diff views with
expand_tabsutility - Fix theme tests to handle parallel execution safely
- Fix RPM and deb asset paths for cross-compiled targets
- Fix cargo-generate-rpm asset path to include target directory
- Fix GITIRIS_GITMOJI env var handling in Docker entrypoint
- Fix file exclusion pattern precision with anchored regex patterns
- Abort background tasks on Studio exit to prevent hanging
💥 Breaking Changes
- MCP server removed: The
servesubcommand and MCP integration have been removed. The agent-first architecture provides equivalent capabilities through the tool system. - File analyzers removed: Language-specific file analyzers (
src/file_analyzers/) have been replaced by LLM-driven analysis through agent tools. - Token optimizer removed: Manual token counting removed in favor of model-native context management.
- Config changes:
gitmojiboolean replaced with explicit--gitmoji/--no-gitmojiflags; newsubagent_timeout_secsfield added.
📋 Upgrade Notes
- Update installation: Use
curl -fsSL https://hyperb1iss.github.io/git-iris/install.sh | shorbrew upgrade git-iris - Configure provider: Run
git-iris config --provider <anthropic|openai|google> --api-key YOUR_KEY - Try Studio: Run
git-iristo launch the new TUI, orgit-iris genfor CLI commit generation - Update CI/CD: Replace manual release note scripts with the new GitHub Action
- Review scripts: Remove any
--legacyflags or MCP server invocations from automation scripts
Release v1.1.0
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.
✨ Highlights
Model Context Protocol Integration
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.
Project-Specific Configuration
Teams can now share common settings via version control using .irisconfig files, while keeping sensitive API keys private in personal configurations.
Remote Repository Support
Work with remote Git repositories directly without manual checkout, supporting all major commands with appropriate safety guards for read-only operations.
Docker Support
Run Git-Iris in containers with volume mounting for repository access and persistent configuration, particularly useful for CI/CD pipelines.
✨ New Features
- Added Model Context Protocol (MCP) server integration, enabling seamless integration with Claude Desktop, Cursor, and other MCP-compatible clients
- Implemented project configuration command for teams to share common settings via version control without exposing API keys
- Added remote repository support for analyzing Git repositories without manual checkout
- Added Docker support with multi-stage build for minimal image size and comprehensive usage documentation
- Implemented automatic changelog generation and file update functionality
- Added quiet mode (--quiet/-q) and custom log file options (--log-file) for better integration with CI/CD pipelines
- Added support for explicit version name overrides in changelog and release notes commands
🔧 Improvements
- Refactored git module into specialized submodules for commits, files, metadata, and repository operations
- Improved MCP architecture with a cleaner tool structure and consistent error handling
- Added GenericTextAnalyzer for better text file handling and improved file type detection
- Updated default LLM models to latest versions (OpenAI's gpt-4.1 and Anthropic's claude-3-7-sonnet-latest)
- Enhanced package description and keywords for better discoverability on crates.io
- Expanded documentation with project-specific configuration capabilities and MCP integration details
🧰 MCP Tools
- Added code review tool for generating comprehensive code reviews through MCP
- Implemented commit message generation and execution as an MCP tool
- Added changelog generation tool to the MCP implementation
- Implemented release notes generation as an MCP tool
- Added repository parameter to all MCP tools for working with multiple repositories
🐛 Bug Fixes
- Updated dependencies to latest versions for security patches and bug fixes
- Removed WebSocket transport from MCP implementation that was never fully implemented
📝 Documentation
- Added detailed MCP documentation with usage examples and tool parameters
- Updated CHANGELOG with release history for versions 0.9.0 through 1.0.1
- Added Docker usage guide with examples and installation instructions
- Expanded README with remote repository usage examples and MCP integration information
🔧 Upgrade Notes
- Default LLM models have been updated to their latest versions (gpt-4.1 and claude-3-7-sonnet-latest)
📊 Metrics
- Total Commits: 31
- Files Changed: 174
- Insertions: 10446
- Deletions: 2827
Release v1.0.1
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.
✨ Highlights
Multi-dimensional Code Quality Analysis
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.
Performance Optimizations
Significant performance improvements through lazy regex initialization, reducing analysis time and resource usage during file analysis operations.
Enhanced User Experience
Modernized code review UI with better formatting, clear severity indicators, and playful waiting messages to make the review process more engaging and informative.
✨ New Features
- Comprehensive 11-dimension code quality analysis system that evaluates code across multiple aspects including complexity, abstractions, security vulnerabilities, and more
- Added a dedicated 'Best Practices' dimension to the code review system
- Implemented 30 playful, themed waiting messages specific to code quality analysis to improve user experience during reviews
⚡️ Performance Improvements
- Optimized regex pattern compilation across all file analyzers with Lazy static initialization, eliminating redundant compilations and improving runtime performance
♻️ Code Refactoring
- Reorganized code types into dedicated modules for better organization and maintainability
- Refactored JSON parsing with JsonSchema implementation, improving type safety and validation
- Extracted quality dimensions into a dedicated enum, centralizing definitions and simplifying maintenance
💄 UI Enhancements
- Modernized code review UI with decorative Unicode characters, consistent visual styling, and improved readability for long explanations
- Added dimension-specific emojis to visually distinguish different quality categories
- Improved section organization and formatting for issue details with clear severity indicators
📝 Documentation
- Updated README and documentation with comprehensive information about all 11 quality dimensions in code review
- Added detailed descriptions for each dimension including information about severity levels and report structure
🔧 Upgrade Notes
- This release maintains backward compatibility with existing workflows
- No configuration changes are required to use the enhanced code review functionality
📊 Metrics
- Total Commits: 9
- Files Changed: 47
- Insertions: 1941
- Deletions: 908
Full Changelog: v1.0.0...v1.0.1
Release v1.0.0!
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.
✨ Highlights
✨ AI-Powered Code Reviews
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.
♻️ Expanded LLM Provider Support
Major refactoring to use the external llm crate, adding support for multiple new providers including Groq, XAI, DeepSeek, and Phind, while maintaining backward compatibility.
🎨 Enhanced User Experience
Beautiful new configuration display, improved CLI organization, better commit prompt formatting, and rich visual feedback throughout the application.
🛡️ Improved Reliability
Comprehensive error handling improvements, defensive programming practices, and dependency updates create a more stable and resilient application.
New Features
- ✨ AI-powered code review functionality with structured feedback categories and colorized output
- ✨ Command-specific instruction presets with specialized options for commit messages and code reviews
- 🎨 Improved commit prompt formatting with detailed change statistics and visual indicators
- 💄 Beautiful configuration display with rich formatting, color-coding, and logical grouping
- 🎨 Improved CLI interface with logical command grouping and better help text
Major Improvements
- ♻️ Complete refactoring of LLM provider system using external llm crate, adding support for multiple new providers
- 🛡️ Comprehensive error handling improvements with defensive programming throughout the codebase
- ⬆️ Major dependency updates across the project, including git2, ratatui, and more
- 🔧 Modernized CI/CD pipeline with updated GitHub Actions and improved workflow
- 📝 Comprehensive documentation updates, including new guides for code review and changelog features
Fixes & Refinements
- 🐛 Fixed file content handling for deleted files in code review and commit generation
- 🔄 Reordered instruction sections in combined prompts to ensure consistent output formatting
- ♻️ Improved config display to preserve instruction formatting with line-by-line output
- 🔍️ Updated review prompt to focus on staged changes rather than historical context
- ✨ Enhanced Git hooks with improved execution environment and working directory handling
Documentation & Infrastructure
- 📝 Updated man page with comprehensive documentation of all commands and features
- 📝 Added dedicated documentation for code review and changelog/release notes features
- 🔧 Updated Rust edition from 2021 to 2024 for latest language features
- 📝 Updated provider references in documentation to align with llm crate naming
- 📝 Added GitHub funding configuration for project supporters
⚠️ Breaking Changes
- 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. (f657841)
🔧 Upgrade Notes
- If you've been using the 'claude' provider, it will automatically be migrated to 'anthropic', but we recommend updating your configuration file.
- Similarly, the 'gemini' provider is now 'google' for consistency with the llm crate naming.
- Review your custom instructions if you've set any, as the instruction handling has been enhanced with better formatting.
📊 Metrics
- Total Commits: 25
- Files Changed: 117
- Insertions: 4210
- Deletions: 2071
Full Changelog: v0.9.1...v1.0.0
Release v0.9.1
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.
✨ Highlights
Claude 3.7 Model Support
Git-Iris now supports the latest Claude 3.7 Sonnet model, providing improved AI capabilities while maintaining backward compatibility.
Token Optimization Improvements
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.
New Linting Tools
A dedicated Python script for enhanced Rust linting has been added, helping maintain high code quality standards.
✨ New Features
- Added support for Claude 3.7 Sonnet model (claude-3-7-sonnet-20250219)
- Introduced new Python linting script (scripts/lint.py) to enhance Rust code quality with style and consistency checks
- Implemented TokenOptimizer in commit service for more efficient token limit handling
🔧 Improvements
- Simplified token limit handling across providers by removing direct token_limit parameter handling in provider configurations
- Added logging to track token usage and optimization stages for easier debugging
- Refined Clippy lint configuration for better code quality standards
🔧 Upgrade Notes
- 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
- No configuration changes are required to benefit from the improved token handling
📊 Metrics
- Total Commits: 8
- Files Changed: 20
- Insertions: 509
- Deletions: 50
Release v0.9.0
:rocket: Release version 0.9.0
Release v0.8.0
Git-Iris v0.8.0 brings significant enhancements to code quality, performance, and user experience. This release focuses on refactoring core components, improving error handling, and introducing new features to streamline the AI-assisted Git workflow.
✨ Highlights
Revamped Git Repository Handling
Introduced a new GitRepo struct, significantly improving the robustness and flexibility of Git operations throughout the application.
Enhanced Commit Message Generation
Refined the commit message generation process, including support for Conventional Commits format and improved issue and PR extraction.
Improved Code Quality and Linting
Implemented stricter linting rules and resolved numerous Clippy warnings, enhancing overall code quality and maintainability.
New Features
- ✨ Added Conventional Commits preset to InstructionPresetLibrary, allowing users to easily adopt standardized commit message formats.
- 🎨 Implemented gradient application for text, enhancing UI visual appeal.
- 📝 Introduced CHANGELOG.md to track project changes systematically.
Improvements
- ♻️ Refactored GitRepo and test suite, significantly improving Git operations handling and test reliability.
- ⬆️ Upgraded artifact actions to v4 in CI/CD pipeline, potentially enhancing performance and reliability.
- ♻️ Refined commit message generation process for more accurate and consistent results.
- ✨ Enhanced issue and PR extraction in ChangeAnalyzer for more robust change tracking.
- 🚨 Implemented stricter linting rules and resolved numerous Clippy warnings across the project.
Bug Fixes
- 🐛 Fixed gradient application for empty or single-character texts, preventing potential panics.
- 🐛 Improved parent commit handling in analyze_commit to prevent panics with initial repository commits.
Documentation
- 📝 Updated TODO list to reflect current project status and priorities.
- 📝 Added CHANGELOG.md to provide a clear record of project changes.
Maintenance
- 🔧 Updated .gitignore file to exclude log files.
- 🎨 Applied rustfmt to improve code formatting and readability across multiple files.
- 🧹 Removed unused crates, optimizing the project's dependency tree.
🔧 Upgrade Notes
- This release includes significant refactoring and improvements to error handling. While no breaking changes are explicitly noted, users are advised to thoroughly test their workflows after upgrading.
- If you're using custom scripts or integrations that interact with Git-Iris, please review the changes to the GitRepo struct and related functionality to ensure compatibility.
- The new Conventional Commits preset is available for use. Consider updating your commit message workflows to take advantage of this standardized format.
📊 Metrics
- Total Commits: 20
- Files Changed: 156
- Insertions: 2063
- Deletions: 1623