|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to the Gemini Search Plugin will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [0.1.1] - 2025-10-21 |
| 9 | + |
| 10 | +### Changed |
| 11 | +- **BREAKING**: Updated Gemini CLI command format to use explicit `googleSearch` tool invocation |
| 12 | + - Changed from: `gemini -p "query" --yolo --output-format json` |
| 13 | + - Changed to: `gemini -p "/tool:googleSearch query:\"search_text\" raw:true" --yolo --output-format json -m "gemini-2.5-flash"` |
| 14 | +- Improved search reliability and consistency with explicit tool usage |
| 15 | +- Updated all scripts to use new Gemini CLI format: |
| 16 | + - `scripts/search-wrapper.sh` |
| 17 | + - `scripts/extract-content.sh` |
| 18 | + |
| 19 | +### Fixed |
| 20 | +- Fixed validation function arithmetic operation that could cause script exit with `set -e` |
| 21 | +- Improved ShellCheck compliance: |
| 22 | + - Split variable declarations and assignments (SC2155) |
| 23 | + - Changed to direct exit code checking instead of `$?` (SC2181) |
| 24 | + - Replaced `sed` with bash parameter expansion (SC2001) |
| 25 | + - Fixed array expansion using `read -ra` instead of unquoted expansion (SC2206) |
| 26 | +- Fixed false positive validation to properly detect and filter invalid domains |
| 27 | + |
| 28 | +### Improved |
| 29 | +- Enhanced code quality and reliability with ShellCheck best practices |
| 30 | +- Better error handling in validation and search functions |
| 31 | +- More robust script execution with proper return value handling |
| 32 | + |
| 33 | +## [0.1.0] - 2025-10-20 |
| 34 | + |
| 35 | +### Added |
| 36 | +- Initial release of Gemini Search Plugin |
| 37 | +- Core search functionality using Gemini CLI with `google_web_search` tool |
| 38 | +- Smart caching system with 1-hour TTL and MD5 keying |
| 39 | +- Three slash commands: |
| 40 | + - `/search` - Perform web searches |
| 41 | + - `/search-stats` - View usage statistics |
| 42 | + - `/clear-cache` - Clear search cache |
| 43 | +- Subagent architecture for context isolation |
| 44 | +- Comprehensive error handling and retry logic |
| 45 | +- Dynamic content extraction from websites |
| 46 | +- False positive validation with relevance scoring |
| 47 | +- Static link validation for URL accessibility |
| 48 | +- Two hooks: |
| 49 | + - Error detection hook |
| 50 | + - Pre-edit suggestion hook |
| 51 | +- Complete analytics and logging system |
| 52 | +- Production-ready scripts: |
| 53 | + - `scripts/search-wrapper.sh` - Main search wrapper |
| 54 | + - `scripts/analytics.sh` - Usage tracking |
| 55 | + - `scripts/extract-content.sh` - Content extraction |
| 56 | + - `scripts/validate-links.sh` - Link validation |
| 57 | + - `scripts/prepare-release.sh` - Release preparation |
| 58 | + |
| 59 | +### Features |
| 60 | +- **Gemini CLI Integration**: Uses Gemini CLI in headless mode with `--yolo` flag |
| 61 | +- **Tool Restriction**: Limits Gemini to only `google_web_search` tool via `.gemini/settings.json` |
| 62 | +- **Grounded Results**: All results from Google's web search via Gemini |
| 63 | +- **Smart Caching**: MD5-based cache with configurable TTL |
| 64 | +- **Auto-retry Logic**: Exponential backoff on failures |
| 65 | +- **Comprehensive Logging**: Detailed JSON logging for debugging |
| 66 | +- **Security**: URL validation, content size limits, timeout handling |
| 67 | + |
| 68 | +### Documentation |
| 69 | +- Comprehensive README.md with features, usage, and configuration |
| 70 | +- GEMINI.md explaining Gemini CLI integration |
| 71 | +- Detailed agent documentation |
| 72 | +- Command documentation with examples |
| 73 | +- Validation methodology documentation |
| 74 | + |
| 75 | +### Configuration |
| 76 | +- Environment variable support for all settings |
| 77 | +- Configurable cache TTL, retry logic, and timeouts |
| 78 | +- Adjustable content extraction limits |
| 79 | +- Flexible logging configuration |
| 80 | + |
| 81 | +## [Unreleased] |
| 82 | + |
| 83 | +### Planned |
| 84 | +- Enhanced content extraction with better parsing |
| 85 | +- Additional search engine fallbacks |
| 86 | +- Improved relevance scoring algorithms |
| 87 | +- Performance optimizations |
| 88 | +- Extended analytics and reporting |
| 89 | + |
| 90 | +--- |
| 91 | + |
| 92 | +## Version History |
| 93 | + |
| 94 | +- **0.1.1** - Gemini CLI format update and ShellCheck improvements |
| 95 | +- **0.1.0** - Initial release with core functionality |
| 96 | + |
| 97 | +## Upgrade Guide |
| 98 | + |
| 99 | +### Upgrading to 0.1.1 from 0.1.0 |
| 100 | + |
| 101 | +The 0.1.1 update includes a breaking change to how the Gemini CLI is invoked. No user action is required as the change is internal to the plugin scripts. However, if you have customized any scripts, you'll need to update them to use the new format. |
| 102 | + |
| 103 | +**What Changed:** |
| 104 | +- Gemini CLI now explicitly invokes the `googleSearch` tool |
| 105 | +- Added `-m "gemini-2.5-flash"` flag for model specification |
| 106 | +- Added `raw:true` parameter for unprocessed results |
| 107 | + |
| 108 | +**Benefits:** |
| 109 | +- More reliable search results |
| 110 | +- Explicit tool usage prevents ambiguity |
| 111 | +- Better control over response format |
| 112 | + |
| 113 | +--- |
| 114 | + |
| 115 | +For more information, see the [README](README.md) or visit the [GitHub repository](https://github.com/anthropics/claude-code). |
0 commit comments