Releases: similigh/simili-bot
v0.2.0-rc.1
v0.2.0 Release Candidate 1
Feature-complete release candidate for v0.2.0. All milestone features are shipped; this RC is open for final QA validation (#89) before the stable tag.
Highlights
Hybrid Duplicate Detection & Related Issues (#56, PR #100)
- New
defaults.duplicate_candidatesconfig field (default: 5) — controls how many vector candidates are forwarded to the LLM for analysis - Typed
RelatedIssueRefreplaces opaquejson.RawMessage— LLM now classifies every candidate asduplicate,related, ordistinct - Updated prompt prevents related issues being falsely flagged as low-confidence duplicates
- Confidence threshold default raised 0.80 → 0.85 to align with prompt guidance
- GitHub comment now surfaces related-but-not-duplicate issues:
[!WARNING]shows "Also related to: #N";[!NOTE]block emitted when related issues exist but no duplicate found simili pr-duplicate --top-kflag now correctly controls the LLM candidate window (was hardcoded to 3)
PR Indexing & pr-duplicate CLI (#43, PR #97)
simili index --include-prsindexes pull requests into a dedicated Qdrant collection (qdrant.pr_collection)- New
simili pr-duplicate --repo owner/repo --number Ncommand — embeds PR content, searches both issues and PR collections, returns JSON candidates with optional LLM verdict
Hybrid Transfer Routing (#23, PR #90)
- VDB-based semantic routing alongside rule-based routing
- Configurable
transfer.vdb_routingwith confidence thresholds and min-samples guards
OpenAI Retry Parity (#69, PR #99)
- Typed
openAIStatusErrorfor correct 429/5xx retry detection - OpenAI now retries with exponential backoff on par with Gemini
Embedding Model Fix (PR #98)
- Default Gemini embedding model corrected to
gemini-embedding-001(dimensions: 3072)
Other
- Auto-closer grace period configurable in minutes via
--grace-period-minutes(#94) - Provider-neutral
aipackage replaces Gemini-specific naming (#95) fix(triage): LLM config insimili.yamland relaxed validation (#96)
Pending before v0.2.0 stable
- #89 — QA: Integration test for two-phase duplicate detection & human activity signals
- #101 — E2E and workflow modernisation (may be deferred to v0.2.x)
Upgrading
Update simili.yaml to add the new optional field:
defaults:
duplicate_candidates: 5 # max candidates sent to LLM (default: 5)All other changes are backward-compatible with existing configs.
What's Changed
- feat(transfer): hybrid rule-based + VDB semantic routing (closes #23) by @Kavirubc in #90
- Feature/add grace period minutes by @Sachindu-Nethmin in #94
- refactor(integrations): rename gemini package to provider-neutral ai (closes #68) by @Kavirubc in #95
- fix(triage): add llm config to simili.yaml and relax validation by @Kavirubc in #96
- feat(index): PR indexing with dedicated collection + simili pr-duplicate CLI by @Kavirubc in #97
- fix(embedder): replace text-embedding-004 with gemini-embedding-001 by @Kavirubc in #98
- feat(ai): OpenAI retry parity — typed error + tests (closes #69) by @Kavirubc in #99
- feat(duplicate): hybrid reasoning step — typed related issues, configurable top-N, confidence fix (closes #56) by @Kavirubc in #100
Full Changelog: v0.1.7...v0.2.0-rc.1
v0.1.7
Action Release -Draft
What's Changed
- feat: add LLM configuration to YAML config (#37) by @mahsumaktas in #44
- fix: update stale issue/PR state in similar threads by @mahsumaktas in #61
- fix: prevent infinite bot comment loop by @mahsumaktas in #62
- feat: implement exponential backoff for Gemini API by @Openclaw-ai-dev in #63
- fix: harden retry logic - typed error checking and injectable RetryConfig by @Kavirubc in #66
- fix: prevent bot loop on pull_request.edited events by @Kavirubc in #67
- Add OpenAI support by @nick1udwig in #65
- ci: add E2E integration test pipeline by @Kavirubc in #71
- fix: prevent bot loop & enable E2E for forks by @Kavirubc in #74
- fix: run E2E only when review is approved (secure for forks) by @Kavirubc in #78
- fix: use 'e2e' label trigger for secure secrets access by @Kavirubc in #79
- fix: enable E2E report comment for labeled trigger by @Kavirubc in #80
- feat(cli): fetch issue by number directly from GitHub (#17) by @mahsumaktas in #45
- feat(ui): differentiate issues and PRs in similar threads by @mahsumaktas in #75
- feat(config): add environment variable validation by @mahsumaktas in #76
- Workflow concurrency control by @Sachindu-Nethmin in #83
- Introduce core configuration, GitHub client, and bot steps for issue … by @Sachindu-Nethmin in #86
- fix(auto-closer): fix comment-before-close, missing pagination, merge and test bugs by @Kavirubc in #87
- feat(auto-closer): expand human activity detection (issues #54 & #55) by @Kavirubc in #88
New Contributors
- @Openclaw-ai-dev made their first contribution in #63
- @nick1udwig made their first contribution in #65
Full Changelog: v0.1.6...v0.1.7
v0.1.6
What's Changed
- feat: support pull request events in triage pipeline by @mahsumaktas in #39
- fix: PR triage review feedback (synchronize trigger, thread header, comment clarity) by @Kavirubc in #41
- feat: CLI PR indexing (#46) & standardized embedding content (#47) by @Kavirubc in #48
New Contributors
- @mahsumaktas made their first contribution in #39
Full Changelog: v0.1.5...v0.1.6
v0.1.5
Release v0.1.5
🎉 Major Features
🔧 Batch CLI Command
Process multiple issues from JSON files against the vector database without making any GitHub writes.
Features:
- Process arrays of issues from JSON files
- Support JSON (detailed) and CSV (stakeholder-friendly) output formats
- Concurrent processing with configurable worker pool
- Override collection, thresholds, and top-k via CLI flags
- Perfect for testing bot logic on historical data
Usage:
simili batch --file issues.json --out-file results.csv --format csv --workers 5Use Cases:
- Test bot logic on historical issues without spamming repos
- Generate analysis reports for stakeholders
- Validate similarity search and duplicate detection accuracy
- Audit quality assessment without requiring write access
🌐 Web UI (simili-web)
Interactive web interface for real-time issue analysis with minimal shadcn-style design.
Features:
- Submit issues via web form (title, body, org, repo)
- View similar issues with similarity scores
- See duplicate detection with LLM reasoning
- Get quality scores and improvement suggestions
- Receive label and transfer recommendations
- Single-binary deployment with embedded static files
Usage:
export GEMINI_API_KEY=xxx QDRANT_URL=xxx QDRANT_API_KEY=xxx QDRANT_COLLECTION=xxx
./simili-web
# Open http://localhost:8080🐛 Bug Fixes
Duplicate Detection Improvements
- Fixed: Related issues incorrectly marked as duplicates
- Root cause: Only titles were passed to LLM, not full issue bodies
- Solution: Now extracts and passes full text field from Qdrant payload
- Rewrote duplicate detection prompt to be more conservative
- Raised confidence threshold to 0.85
- Added DuplicateReason field to capture LLM reasoning
Before: Issue chain #8640 → #8641 → #8642 incorrectly marked as duplicates
After: Issues correctly identified as related but not duplicates
Transfer Detection
- Fixed transfer comment message when issue stays in current repo
- Prevent incorrect routing by including current repo in candidates
✨ Enhancements
Message Templates
- Redesigned all bot messages with professional branding
- Improved clarity and consistency across all interactions
Hybrid Routing
- Implemented hybrid routing with repository documentation learning
- Combines rule-based and VDB semantic matching for better accuracy
🔧 Technical Changes
- Extracted reusable ExecutePipeline() function for batch processing
- Added URL sanitization to prevent XSS vulnerabilities
- Improved error handling for JSON encoding operations
- Fixed parameter shadowing issues
- Updated embedding model to gemini-embedding-001
📚 Documentation
- Added comprehensive README for simili-web
- Updated main README with batch CLI usage
- Added API documentation and troubleshooting guides
- Included examples for both CLI and web UI
📦 What's Changed
Full Changelog: v0.1.0...v0.1.5
Issues Closed
v0.1.0
Simili-Bot v0.1.0 - Transfer Detection & Smart Routing
This release introduces major improvements to transfer detection, smart routing, and multi-repository issue triage.
Major Features
Smart Issue Routing & Transfer System
- LLM Triage & Smart Routing (#24): Intelligent issue classification and automatic cross-repository routing using AI
- Transfer Rules Engine (#22): Configurable rules-based system for automatic issue transfers between repositories
- Transfer-First Flow with /undo Command (c760085): Issues are transferred immediately with ability to undo incorrect transfers
Transfer Loop Prevention
- GitHub API-Based Transfer Detection (#28, #25): Proper detection using GitHub timeline events API
- Eliminates false positives from time-based heuristics
- Accurately identifies transferred issues to prevent re-triaging
- Queries actual "transferred" events instead of relying on creation timestamps
- Bot Comment Detection (3fdefb0): Prevents bot from triaging its own comments and creating feedback loops
- Skip Indexing for Transferred Issues (0499041): Transferred issues are no longer indexed to avoid duplicate embeddings
Critical Bug Fixes
GitHub Integration
- Repository Parsing from Webhooks (#26): Fixed parsing of repository owner/name from GitHub webhook events
- Event Action Parsing (d298c71): Properly extracts action field (opened, transferred, etc.) from webhook payloads
- TRANSFER_TOKEN Support (aed3242): Use dedicated token for cross-repository operations when available
Configuration & Inheritance
- Configuration Inheritance (c733c39, 134f875): Fixed config merging and boolean field handling in multi-repo setups
- Issue Number Extraction (60ce224): Robust extraction of issue numbers from Qdrant vector store payloads
- Similarity Search Compatibility (541ff8e): Fixed compatibility between similarity search and indexer components
Deployment & Compatibility
- Docker Action Migration (eb22f4c): Migrated to Docker-based GitHub Action for better reliability
- Go Version Standardization: Standardized on Go 1.23+ across all build environments
- Remove TUI Dependencies (a59a717): Switched to standard stdout logging for better CI/CD compatibility
- Embedding Model Updates (2f11d7c, c77eaa2): Updated to latest Gemini embedding models
Improvements
- Enhanced Debug Logging (1bda6dc): Added comprehensive logging to gatekeeper for diagnosing transfer detection
- QDRANT_URL Environment Priority (ebca28d): Prioritize environment variables over config file for container deployments
- Error Visibility (4864464): Use string slices for errors to ensure proper JSON serialization
- CODEOWNERS (#21): Added code ownership definitions
Deployment
This release uses GoReleaser for multi-platform builds:
- Linux (amd64, arm64)
- macOS (amd64, arm64)
- Windows (amd64, arm64)
Migration Notes
If upgrading from v0.0.4:
- The bot now requires GITHUB_TOKEN (or TRANSFER_TOKEN for cross-repo transfers)
- Transfer detection now uses GitHub API - ensure token has repo scope
- Configuration inheritance is more robust - review your extends settings
- LLM features require GEMINI_API_KEY environment variable
Release Stats
- 46 commits since v0.0.4
- 4 merged pull requests
- Multiple critical bug fixes for production stability
- Zero breaking changes to existing configurations
Full Changelog
v0.0.4
v0.0.3
Changelog
- 40fa94b feat: Introduce simili-cli.
- 7e8101e feat: Add CI mode support to skip interactive TUI in non-interactive environments
- 6cfe224 feat: Implement 'index' command for bulk issue backfilling (#19)
- ea5c6bf feat: Implement multi-repository setup examples using GitHub Reusable Workflows and provide corresponding documentation and examples. (#16)
v0.0.2
Changelog
- fd23c74 chore: add .goreleaser.yaml to fix build issue
- 98535f0 Fixes lint and error handling issues, and enhances TUI, configurability, and logging based on code review feedback.
- cc6a91b feat: Implement CLI (Cobra/BubbleTea) & PendingActionScheduler (#14)
- 13eb629 v0.0.2v: Foundation Integration (Gemini + Qdrant + GitHub API) (#12)
- 3e6c234 feat: Initial implementation of Simili-bot v0.0.1 (#1)
- 7f343a4 Initial commit