Skip to content

Releases: similigh/simili-bot

v0.2.0-rc.1

05 Mar 08:46
3002181

Choose a tag to compare

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_candidates config field (default: 5) — controls how many vector candidates are forwarded to the LLM for analysis
  • Typed RelatedIssueRef replaces opaque json.RawMessage — LLM now classifies every candidate as duplicate, related, or distinct
  • 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-k flag now correctly controls the LLM candidate window (was hardcoded to 3)

PR Indexing & pr-duplicate CLI (#43, PR #97)

  • simili index --include-prs indexes pull requests into a dedicated Qdrant collection (qdrant.pr_collection)
  • New simili pr-duplicate --repo owner/repo --number N command — 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_routing with confidence thresholds and min-samples guards

OpenAI Retry Parity (#69, PR #99)

  • Typed openAIStatusError for 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 ai package replaces Gemini-specific naming (#95)
  • fix(triage): LLM config in simili.yaml and 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

05 Mar 08:40
ea34a71

Choose a tag to compare

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

Full Changelog: v0.1.6...v0.1.7

v0.1.6

13 Feb 17:08
40a11b4

Choose a tag to compare

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

Full Changelog: v0.1.5...v0.1.6

v0.1.5

11 Feb 12:15
cee4697

Choose a tag to compare

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 5

Use 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

  • Closes #34: Batch Issue Processing CLI
  • Closes #35: Simple Web Dashboard for Dry run

v0.1.0

04 Feb 15:46
a8f96d8

Choose a tag to compare

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:

  1. The bot now requires GITHUB_TOKEN (or TRANSFER_TOKEN for cross-repo transfers)
  2. Transfer detection now uses GitHub API - ensure token has repo scope
  3. Configuration inheritance is more robust - review your extends settings
  4. 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.1.0

v0.0.4

03 Feb 05:32
66f66b3

Choose a tag to compare

Implement configuration inheritance and environment variable fallback.

v0.0.3

03 Feb 04:28
40fa94b

Choose a tag to compare

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

02 Feb 07:41
fd23c74

Choose a tag to compare

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