Skip to content

Commit 50cea6c

Browse files
🔮 Release v2.0.6
1 parent d383170 commit 50cea6c

File tree

3 files changed

+52
-2
lines changed

3 files changed

+52
-2
lines changed

CHANGELOG.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,53 @@
1+
## [2.0.6] - 2026-03-02
2+
3+
This release migrates the **theme engine to the standalone Opaline library** (removing ~3,600 lines of code), adds **Google/Gemini support for parallel subagents**, and improves **API key security** with validation and sanitized error messages.
4+
5+
### Added
6+
7+
- ✨ Add **Google/Gemini provider support** to `parallel_analyze` subagents alongside OpenAI and Anthropic (14c27a9)
8+
- ✨ Expand OpenAI API key validation to accept both `sk-` and `sk-proj-` prefixes for project-scoped keys
9+
- ✨ Add `api_key_if_set()` helper to `ProviderConfig` for cleaner empty-string handling
10+
- ✨ Add content update tools (`UpdateCommitTool`, `UpdatePRTool`, `UpdateReviewTool`) to agent builders for chat mode (f241f14)
11+
12+
### Changed
13+
14+
- ♻️ Replace custom theme engine with **Opaline library** (`opaline = "0.2.0"`), removing entire `src/theme/` directory (~4,262 lines) (7f364d1)
15+
- ♻️ Replace hardcoded theme token strings with `opaline::names` constants for compile-time validation (4eeb8c3)
16+
- ⬆️ Upgrade dependencies: `ratatui` 0.29→0.30, `crossterm` 0.28→0.29, `tui-textarea``ratatui-textarea` 0.8.0
17+
- ♻️ Replace `DynClientBuilder` with explicit provider dispatch using `DynAgent` enum for rig-core 0.27+ compatibility (dfbd9c5)
18+
- ♻️ Switch Studio generation tasks from streaming to non-streaming execution for clean structured output parsing (228afda)
19+
- ♻️ Migrate CI/CD workflows to shared-workflows repository, reducing workflow files from 887→654 lines (1ff091d)
20+
- ⬆️ Bump GitHub Actions: `actions/checkout` v4→v6, `actions/setup-node` v4→v6, `docker/build-push-action` v5→v6
21+
- ♻️ Switch to **OIDC trusted publishing** for crates.io via `rust-lang/crates-io-auth-action`
22+
- ♻️ Apply Clippy suggestions: `sort_by_key`, `is_ok_and()`, `checked_div()` for idiomatic Rust patterns (d66dd2f)
23+
- ♻️ Replace `unwrap()` with `expect()` in tests for clearer failure diagnostics (5d5f81e)
24+
25+
### Fixed
26+
27+
- 🐛 Remove silent fallback to OpenAI when configured provider fails in `parallel_analyze`—now returns clear error (713a9fe)
28+
- 🐛 Fix state management: mark state dirty when opening settings modal, load file tree when switching to Explore mode (5dd47cd)
29+
- 🐛 Fix theme tests to handle parallel execution safely by removing global state assertions (be64764)
30+
- 🐛 Replace panicking `unwrap`/`expect` calls with proper error handling in `ParallelAnalyze`, `FileWatcherService`, and `GitRepo` (ee4a7df)
31+
32+
### Security
33+
34+
- 🔒️ **Prevent API key exposure in error messages**: sanitize client creation errors to avoid leaking key material (aeefd91)
35+
- 🔒️ Add `validate_api_key_format()` for format validation (prefix and length checks) to catch misconfigurations early (d2b02e6)
36+
- 🔒️ Make `resolve_api_key()` and `ApiKeySource` public for consistent resolution across codebase
37+
- 🔒️ Update test assertions to verify error messages don't contain key fragments
38+
39+
### Removed
40+
41+
- 🔥 Remove entire `src/theme/` directory (36 files): `color.rs`, `gradient.rs`, `schema.rs`, `loader.rs`, `resolver.rs`, adapters, and 13 builtin theme TOML files
42+
- 🔥 Remove unused dependencies: `once_cell`, `tiktoken-rs`, `tokio-retry`
43+
44+
### Metrics
45+
46+
- Total Commits: 14
47+
- Files Changed: 61
48+
- Insertions: +611
49+
- Deletions: -4,987
50+
151
## [2.0.4] - 2026-01-09
252

353
This release improves **API key management** with config-based credential resolution, adds **Google/Gemini support** for parallel analysis subagents, and strengthens error handling across provider operations.

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 = "2.0.4"
3+
version = "2.0.6"
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)