Skip to content

Releases: AmintaCCCP/GithubStarsManager

v0.6.9

Choose a tag to compare

@AmintaCCCP AmintaCCCP released this 08 Jul 07:00
5fea62c

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

Choose a tag to compare

@AmintaCCCP AmintaCCCP released this 27 Jun 15:44
1bf4768

v0.6.8 - Vector Search Optimization & True Incremental Indexing

What is New

True Incremental Vector Indexing

  • Added vector_indexed_at field 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_at vs last_edited/analyzed_at)
  • Rebuild indexing clears all vector_indexed_at fields 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_VERSION tracking 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 onRepoIndexed using getState() for latest data
  • Added ISO 8601 validation for vector_indexed_at in 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

Choose a tag to compare

@github-actions github-actions released this 24 Jun 15:42
d7ba290

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

Choose a tag to compare

@AmintaCCCP AmintaCCCP released this 22 Jun 16:51
37a057d

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

Choose a tag to compare

@github-actions github-actions released this 18 Jun 08:59
486de40

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 gist scope enabled. Please go to GitHub → Settings → Developer settings → Personal access tokens → check the gist scope → 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

Choose a tag to compare

@AmintaCCCP AmintaCCCP released this 11 Jun 08:26

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

Choose a tag to compare

@AmintaCCCP AmintaCCCP released this 07 Jun 17:40
d1702f8

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/amd64 and linux/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

Choose a tag to compare

@github-actions github-actions released this 02 Jun 10:15
e7b918e

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

Choose a tag to compare

@github-actions github-actions released this 30 May 07:53
c8efb8d

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

Choose a tag to compare

@github-actions github-actions released this 29 May 13:12
8d65063

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 structured logger.* 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-compatible endpoints. 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)