Releases: AmintaCCCP/GithubStarsManager
Release list
v0.6.9
What's Changed
Bug Fixes
IME Real-time Search Stability (PR #235)
- Fixed real-time repository search to properly handle IME composition input (e.g., Chinese, Japanese input methods)
- Search results now pause during text composition and resume after completion
- Resetting search to whitespace now correctly restores the full repository list instead of showing stale results
- Added regression tests for IME preedit and whitespace-only input scenarios
Vector Incremental Index Persistence (PR #236)
- Fixed incremental-index button triggering full reindex on every reload
- Preserved embeddingFormatVersion across store hydration to prevent unnecessary reindexing
- Centralized vector search config defaults and normalization for consistent persistence
- Added safe value clamping for config thresholds to prevent corrupted values
- Incremental indexing now correctly processes only new or content-updated repositories
New Contributors
Thanks to all contributors who made this release possible!
Full Changelog: v0.6.8...v0.6.9
Desktop Application Release
This release includes desktop applications for multiple platforms.
Available Downloads:
- Windows: GitHub.Stars.Manager.Setup.0.6.9.exe
- macOS (Intel): GitHub.Stars.Manager-0.6.9.dmg
- macOS (ARM): GitHub.Stars.Manager-0.6.9-arm64.dmg
- Linux: GitHub.Stars.Manager-0.6.9.AppImage
v0.6.8
v0.6.8 - Vector Search Optimization & True Incremental Indexing
What is New
True Incremental Vector Indexing
- Added
vector_indexed_atfield across the full data pipeline: Repository type, SQLite schema, backend CRUD, sync import, and repository merge operations - Incremental indexing now only processes unindexed or updated repositories (comparing
vector_indexed_atvslast_edited/analyzed_at) - Rebuild indexing clears all
vector_indexed_atfields before processing and only sets them for successfully indexed repos - Added unindexed repo count badge next to the incremental index button
Vector Search Optimization
- Implemented true semantic reranking: replaces the previous approach of keyword extraction and substring matching with LLM-based semantic relevance sorting of candidate repositories
- Added HyDE (Hypothetical Document Embedding) preprocessing: generates an ideal repository description from user queries before embedding, significantly improving recall for short, Chinese, and conceptual queries
- Structured embedding text with semantic labels (
Repository:,Description:,Topics:) to help embedding models understand field roles - Added lightweight keyword boosting for exact matches in name/description/tags
- Search parameters (similarity threshold, TopK, HyDE toggle, reranking toggle) are now configurable in Settings UI
Performance Improvements
- README fetching is now concurrent with Promise.allSettled batches of 5 instead of sequential processing
- Sync button no longer triggers automatic indexing (which was effectively a no-op for new repos without
analyzed_at)
Bug Fixes
- Fixed JSON parsing greedy regex in gist and semantic reranking that could fail when LLM output contains multiple bracket sections
- Fixed variable shadowing issue in keyword boosting
- Added
EMBEDDING_FORMAT_VERSIONtracking to auto-trigger full reindex when embedding text format changes - HyDE timeout now properly aborts underlying HTTP requests and cleans up timers
- Fixed stale closure issues with
onRepoIndexedusinggetState()for latest data - Added ISO 8601 validation for
vector_indexed_atin bulk upsert operations
Related
- PR #230: feat: true incremental vector index with concurrent README fetching
- PR #231: feat: optimize vector search with HyDE, semantic reranking, and structured embeddings
Update Notes
Users upgrading from v0.6.7: Please re-index your vectors and upgrade your Worker deployment to ensure compatibility with the new incremental indexing features.
v0.6.7
v0.6.7 - Vector Semantic Search (Experimental)
⚠️ Important Notice
Vector Search is an EXPERIMENTAL feature. It may contain unknown issues and unexpected behaviors. Please carefully evaluate whether you need this feature before upgrading. If you encounter any problems, you can disable vector search in Settings and fall back to the traditional keyword search.
New Features
-
Vector Semantic Search: Added Cloudflare Vectorize integration for semantic search of starred repositories. You can now search using natural language (e.g., "tools for managing Docker containers"), and the system will understand semantic intent beyond simple keyword matching.
-
Embedding Support: Supports 6 embedding providers:
- OpenAI
- OpenAI-compatible endpoints
- SiliconFlow (free embedding models available)
- Gemini
- Cohere
- Ollama (local)
-
Index Modes: Choose between "Description" mode (fast, lower precision) and "README" mode (higher precision, slower with richer semantic context).
-
Auto-indexing: New repositories are automatically indexed after star sync when vector search is enabled.
-
Incremental Indexing: Added "Incremental Index" button for upserting new repos without cleanup.
Search Enhancements
- AI reranking step after vector search for improved result quality
- Automatic fallback to keyword search when vector search is unavailable
- Phase progress display during indexing (readme/embedding/uploading)
- Indexing state persists across page navigation
Bug Fixes & Improvements
- Fixed filter effects overwriting vector search results
- Fixed sort operations preserving vector similarity rankings
- Worker authentication security improvements
- Various CodeRabbit review audit fixes
Deployment
For deployment instructions, please refer to the project documentation. The Cloudflare Worker can be deployed via CLI (wrangler deploy) or directly through the Cloudflare Dashboard.
Note: SiliconFlow offers free embedding models that can be used with this feature.
Related
- PR #228: Vector Semantic Search - Cloudflare Vectorize Integration
v0.6.6
What's New in v0.6.6
Bug Fixes
- Gist Proxy Support (PR #224): Fixed gist file fetching by routing Gist API requests through the backend proxy when available. Added a raw content proxy for truncated gist files, extensionless files now render as plaintext, and language normalization handles GitHub's "Text" label correctly.
New Features
-
Header Menu Customization (PR #226): Added a "Menu Management" tab in Settings to show/hide and reorder header navigation items via drag-and-drop or arrow buttons. The Repositories and Settings menus are always visible. Configuration persists across sessions with automatic data migration from older versions.
-
Sync Button Relocation (PR #226): Moved the starred-repo sync button and "last synced" timestamp from the header into the Repositories page control bar, matching the refresh pattern used by Gist and Release pages. The sync spinner no longer conflicts with the AI analysis loading state.
-
Responsive Navigation (PR #226): Replaced JavaScript-based ResizeObserver with pure CSS responsive breakpoints. Small screens show icon-only navigation; xl and wider show icons with text. Eliminates the previous text-wrapping issue on narrow viewports.
Improvements
- Header Code Simplification (PR #226): Header.tsx reduced from ~528 lines to ~215 lines. Removed the number badges from Repositories and Gist tabs for a cleaner look.
v0.6.5
What's New in v0.6.5
New Features
-
Gist Management (PR #223): Added a dedicated Gist tab with full CRUD support. Browse all gists, starred gists, and your own gists with card-based UI, AI-powered analysis and semantic search, syntax-highlighted code viewer, and create/edit/delete capabilities for your gists.
Important: The Gist feature requires your GitHub Personal Access Token to have the
gistscope enabled. Please go to GitHub → Settings → Developer settings → Personal access tokens → check thegistscope → then re-enter your token in the app. -
Release Timeline Latest Only Mode (PR #219): Added a "Latest Version Only" dropdown filter on the Release Timeline page. When enabled, each repository shows only its most recent release. Marking the latest release as read automatically marks all other releases of that repo as read. The preference is persisted across sessions.
Bug Fixes
- Data Cleanup Improvements (PR #220): Fixed an issue where running the "Read Release Marks" cleanup in Settings > Data Management was incorrectly clearing all read-release markers. The cleanup now only removes orphaned markers that no longer correspond to existing releases. The "Outdated Release Records" cleanup also properly cleans up associated read markers.
v0.6.4
What's Changed
New Features
- Configurable Release Sources: Added Release Sources modal to toggle sources (starred, watched, custom repos), view per-source counts, manage custom/watch repos with add/remove and pagination, and sync watched GitHub repos. Source settings are included in export/import backups and backend auto-sync. (PR #215)
Bug Fixes
- README Fallback: Added direct GitHub API fallback for README content when the backend proxy fails but a frontend GitHub token is available, covering both single and multilingual README scenarios. (PR #214)
- Lint/Build/Typecheck Cleanup: Resolved React hook and Fast Refresh lint warnings; cleaned Vite build warning noise by aligning bundle warning thresholds and Rolldown options; fixed TypeScript errors across store types, backup/import panels, diagnostic log rendering, and markdown code block typing. (PR #217)
Improvements
- Prevent disabling all release sources with a clear error message; custom/watch repos are properly deduplicated and removed consistently. (PR #215)
- Automatic update check on startup that surfaces available updates. (PR #217)
- Fixed backup restore to properly handle backups without encrypted keys. (PR #217)
- Improved diagnostic logs display to correctly show all HTTP-related information. (PR #217)
Full Changelog: v0.6.3...v0.6.4
0.6.3
GitHub Stars Manager 0.6.3
What's new
- Added pre-built backend Docker images published to GHCR, including semantic version tags and
latest, so users can deploy without building locally. The Docker Compose and deployment docs now point to the registry image. (PR #190) - Docker images now support both
linux/amd64andlinux/arm64, making Apple Silicon Macs and ARM servers easier to run. (PR #191) - Added official DeepSeek and MiMo AI provider options, improved endpoint handling, disabled thinking output where appropriate, increased the analysis token budget, and prevented reasoning chains from leaking into repository summaries. (PR #193)
- Added multilingual README detection and switching, including README variant discovery, cached switching, backend proxy support, and a language selector in the README modal. (PR #205)
- Added standardized GitHub issue templates for bug reports and feature requests. (PR #204)
- Added an optional backup/export toggle for including sensitive keys. Keys are excluded by default, masked exports preserve existing secrets on import, and the UI warns when imported data contains masked secrets. (PR #209)
Fixes and improvements
- Reduced UI jank when running AI analysis on repository cards by narrowing state subscriptions, adding immediate local loading state, avoiding redundant repository updates, idle-scheduling persisted-state serialization, and optimizing category filtering. Thanks to external contributor @xinvxueyuan for PR #199.
- Fixed stale search state after manually clearing the repository search input, so sorting and filtering no longer keep using the old query. (PR #202)
- Fixed tooltips remaining visible over README preview modals across repository, discovery, and trending cards. (PR #203)
- Improved AI summary validation so prompt-like or invalid summaries are rejected and retried before being saved. Thanks to external contributor @Chenpeel for PR #208.
- Fixed Markdown code block rendering so inline code and block code are detected more reliably, code blocks preserve layout without unwanted wrapping, and translated code tags keep their attributes. (PR #210)
- Added organization fork support with owner discovery, an owner selector, owner-scoped refresh, filtered counts/search/pagination, better empty states, and tests. (PR #211)
- Fixed AI category sync and README proxy behavior by normalizing nullable custom categories, persisting GitHub tokens for backend README requests, surfacing README proxy errors clearly, restoring code block line numbers, and stripping client Authorization headers from WebDAV proxy requests. (PR #212)
Downloads
- Windows:
GitHub.Stars.Manager.Setup.0.6.3.exe - macOS Intel:
GitHub.Stars.Manager-0.6.3.dmg - macOS Apple Silicon:
GitHub.Stars.Manager-0.6.3-arm64.dmg - Linux:
GitHub.Stars.Manager-0.6.3.AppImage
v0.6.2
v0.6.2 Release Notes
New Features
- Remote RPC Download: Added aria2 remote download integration in Settings > Network. Configure RPC host, port, and optional secret to route release asset downloads to a remote aria2 instance, with connection testing and SSRF protection. (PR #186)
Bug Fixes
- Proxy toggle persistence: Fixed proxy switch in Network Settings reverting after navigating away. Changes are now immediately synced to Zustand store, backend, and Electron process. (PR #185)
- Encryption key normalization: Fixed AI config sync returning 422 when ENCRYPTION_KEY is a 32-char hex string. Keys are now auto-normalized to 32 bytes via SHA-256 derivation. (PR #187)
- AI tag sync preservation: Fixed AI tags disappearing after backend sync. Empty arrays no longer overwrite existing AI analysis data during repository updates. (PR #187)
- RPC secret persistence: Fixed RPC download secret (aria2 --rpc-secret) being lost after app restart by including it in Zustand's IndexedDB persistence. (PR #189)
Downloads
| Platform | File |
|---|---|
| Windows | .exe installer |
| macOS | .dmg installer |
| Linux | .AppImage portable |
v0.6.1
What's Changed
Features
- Diagnostic Logs Panel: Added a dedicated "Diagnostic Logs" settings tab with an in-app log viewer and debug capture mode, replacing the old embedded log export section. Includes frontend/backend debug toggles, event type filtering, real-time log updates, HTTP request details with color-coded status codes, and log management (search, filter, clear, export). (PR #176)
Bug Fixes
- Diagnostic Logs — AI Details & Event Mapping: AI analysis logs now capture detailed request/response content (headers, body preview) across OpenAI, Claude, and Gemini providers. Fixed debug log event type classification with proper operationTag mapping. Level filter pills now show a checkmark when selected. Debug indicator click correctly navigates to the logs tab. (PR #177)
- Release Page Unread Filter: Fixed empty-state icon not centered due to missing space in className. Items in unread-only mode no longer disappear immediately after marking as read — introduced a snapshot-based filtering mechanism that preserves items until the view is refreshed. (PR #178)
- Tooltip Behavior: Fixed tooltips getting stuck on hover by adding a pointermove listener with debounce to detect when the pointer leaves both the trigger and tooltip areas. Fixed two tooltips showing simultaneously on the Trends page by splitting the shared hide timer into independent timers for description and AI summary tooltips. (PR #179)
Full Changelog: v0.6.0...v0.6.1
v0.6.0
v0.6.0 Release Notes
New Features
-
Network Proxy Settings (HTTP/SOCKS5): Added proxy configuration in Settings for Electron client and backend-connected browser modes. Supports HTTP and SOCKS5 protocols with optional username/password authentication. Proxy applies to all external requests (GitHub API, AI providers, WebDAV) but not to backend communication. Includes Electron IPC bridge for session-level proxy via
session.setProxy, and backend proxy config API endpoints (GET/PUT/test). (PR #163) -
Release Filter & Mark All as Read: Replaced the top paginator on the Releases page with a "Show All / Unread Only" dropdown filter. Added a "Mark All as Read" button with local state and backend persistence. Unread mode shows unread count badges, and empty state provides a quick "View All" shortcut. (PR #171)
-
Structured Logging System: Added centralized frontend and backend logging with automatic sensitive data sanitization (tokens, API keys, passwords, emails). Replaced ~100
console.*calls across 17 files with structuredlogger.*calls. New "Log Export" UI in Settings > Data Management allows exporting logs as JSON for AI-powered debugging, with scope and level filters. (PR #172)
Bug Fixes
-
AI API Error Details: AI API error responses (4xx/5xx) now include the full response body for better diagnostics. Backend proxy path correctly extracts nested error messages (e.g., DeepSeek's
error.message). (PR #158) -
AI JSON Parse Errors: Added
sanitizeForPrompt()to clean README and repo description content before inserting into AI prompts. Removes null bytes, control characters, and lone surrogates that caused 400 errors from DeepSeek and similar models. (PR #159) -
AI Config Test CORS Fix: Fixed "Test Connection" button failing with network error for
openai-compatibleendpoints. Form tests now route through the backend proxy when available, even without a saved config ID. (PR #161) -
AI Config Lookup Failure: Fixed "AI config not found" error when testing AI connection from the service list page or using AI analysis in backend mode. Always uses inline config data to avoid configId lookup failures due to sync debounce. (PR #167)
-
AI/WebDAV Config Sync Hardening: Hardened config sync to prevent data loss. Individual encryption failures no longer roll back the entire transaction. All-skipped configs return 422 instead of silently clearing the database. Added retry logic consistent with other sync operations. (PR #168)
-
Tooltip Improvements: Removed unreliable truncation detection - tooltips now always show on hover for repository descriptions. Added description and AI summary tooltips to the Trending page's SubscriptionRepoCard. (PR #170)
-
Default AI Prompt Optimization: Optimized the default AI analysis prompt to reduce models returning their thinking process. Enforced JSON-only output, standardized platform classification with explicit enum values, and added platform detection hints from Dockerfile/CLI markers. (PR #175)
Improvements
- Dockerfile Node.js Upgrade: Upgraded frontend Dockerfile from Node 18 to Node 22 to satisfy Vite's version requirement (20.19+ or 22.12+). (PR #162)