Skip to content

Releases: lcomplete/huntly

v0.6.1

21 Mar 11:57

Choose a tag to compare

🐛 Bug Fixes

SearchBox

  • Fixed search functionality: Resolved an issue where the search box was not working properly
    • Fixed type errors in autocomplete handlers that prevented search from functioning
    • Corrected event handler logic for search input
    • Improved TypeScript type safety to prevent similar issues

Full Changelog: v0.6.0...v0.6.1

v0.6.0

21 Mar 11:03

Choose a tag to compare

🌐 Internationalization (i18n)

  • 多语言支持(英文/中文)
  • i18next 基础设施
  • 语言选择器

Extension 0.5.4

16 Mar 16:07

Choose a tag to compare

AI Capabilities, Export Engine & Build Modernization

🤖 AI Enhancements

  • Thinking Mode: Added a thinking mode toggle in the toolbar and popup, enabling models that support reasoning to show their thought process before the final response
  • Streaming Preview: Implemented streaming preview functionality with real-time reasoning support and improved UI updates
  • Upgraded AI SDK: Bumped the Vercel AI SDK to ai@6, refactoring background streaming to handle reasoning/thinking deltas
  • New Providers: Added OpenAI-compatible provider helpers and raw streaming support for providers such as DashScope/Qwen, Zhipu, and MiniMax; updated provider registry with new Qwen provider and refreshed model lists

📤 Export Engine

  • Markdown Export: Added markdown export functionality with improved URL cleanup, making it easy to copy article content to note-taking apps
  • PDF / PNG / Clipboard Export: Introduced a full export UI (Original vs AI) backed by robust utilities for PDF, PNG, clipboard, and markdown — with cross-origin safety handling, font inlining, adaptive scale calculation, and taint-error retry logic
  • CORS-Safe Image Export: Cross-origin images are now fetched via the background service worker and converted to data URLs before html2canvas runs, eliminating canvas-taint failures on pages with external images
  • Enhanced Clipboard Copy: Clipboard copy now includes the article title for richer paste output

⚡ Build & Tooling

  • Rspack Migration: Replaced webpack with Rspack (@rspack/core ^1.7.8) for significantly faster extension builds; added rspack.config.js and updated dist outputs and vendor chunk naming for both Chrome and Firefox manifests
  • Popup Refactor: Lazy-loaded heavy UI components (AIToolbar, RssSubscription, SaveDetailPanel); extracted active-tab messaging helpers; converted callbacks to useCallback for better performance

🐛 Bug Fixes

  • OpenAI Stream Parsing: Fixed handling of non-JSON payloads in OpenAI stream extraction to prevent parse errors
  • XHR Response Handling: Fixed an issue where accessing XHR response data with responseType='json' could throw an error in certain cases

🎨 UI Improvements

  • Model Selector: Redesigned with a unified gradient border container; replaced the icon for the selected model indicator for a cleaner look
  • Export Button: Updated icon to IosShareIcon and tightened menu item padding for a more compact feel

v0.5.9

07 Mar 08:50

Choose a tag to compare

RSS Feed Performance & Stability Improvements

🔧 Server Optimizations

  • HTTP Client Caching: Enhanced HttpUtils with connection pooling and client management for RSS feed requests, reducing resource overhead and improving fetch performance
  • Memory Configuration: Increased Docker JVM max heap size to 1024m for better stability under load
  • Connection Timeout: Ensured connection timeout is properly configured in application.yml

🧩 Extension Improvements

  • Dev Mode Indicator: Added DEV flag to context menu titles for easier debugging during development
  • Code Cleanup: Simplified ArticlePreview title rendering logic by removing redundant isXTwitterSite function

v0.5.8

23 Feb 06:18

Choose a tag to compare

Save Details & Core Backend Improvements

🧩 Extension Support Enhancements

This release rolls out the necessary backend support to power the new features introduced in the latest browser extension update:

  • Save Detail API: Added a new PATCH /api/page/{id}/detail endpoint. This allows the extension's new Save Detail panel to seamlessly update saved page metadata (title, description, and source URL).
  • Safe Re-saving Logic: When the extension recaptures a page that already exists in your library, the server now avoids overwriting existing core content fields. This ensures any earlier text edits or previously formatted data are safely preserved.

🔧 Server Operations & Fixes

  • Performance Tuning: Increased the default JVM heap limits in the Docker configuration and tuned server executor thread limits to optimize overall application responsiveness under heavy loads.

Extension 0.5.3

23 Feb 06:05

Choose a tag to compare

Save Details & UX Improvements (server update required)

✨ Save Detail Panel & UX Enhancements

A significant update bringing new ways to interact with saved content directly from the extension:

  • Save Detail Panel: Edit page metadata (title, description), assign collections, and select specific parsers before saving or re-saving content.
  • Save Status Badges: Added badge indicators so you can see at a glance if the current tab's URL is already saved in your library.
  • Context Menus: Added right-click context menu entry points for opening Reading Mode directly from the page or selection.

🤖 AI Models & Connection

  • Provider Updates: Updated DeepSeek descriptions/models and changed default Gemini ID to gemini-3-flash-preview.
  • Connection Testing: Improved provider connection testing by correctly supporting empty-string responses from models.

🌐 Localization

  • Multilingual Support: Localized the extension name and description for both English and Chinese.

🔧 Under the Hood improvements

  • Readability: Bumped @mozilla/readability to v0.6.0 to improve parsing speed and accuracy.

Extension 0.5.2

31 Jan 10:23

Choose a tag to compare

🐛 improve server connection handling

  • Add graceful handling when Huntly server connection fails, showing
    warning and allowing AI features to work with external providers
  • Hide Huntly AI option in toolbar when server is not connected

v0.5.7

30 Jan 14:43

Choose a tag to compare

AI-Powered Web Extension & Enhanced Twitter Controls

🤖 AI-Powered Web Extension

A major new feature that brings AI content processing directly to your browser extension:

  • AI content processing: Summarize, translate, extract key points, and more with streaming AI support
  • Multiple AI providers: Configure your preferred AI provider (OpenAI, Anthropic, etc.) directly in extension settings
  • Multilingual support: Built-in system prompts for multiple languages with customizable templates
  • Article preview: Real-time preview with AI processing results before saving
  • Defuddle integration: Enhanced content extraction using Defuddle parser

🐦 Enhanced Twitter/X Auto-Save

New controls for fine-tuning which tweets get automatically saved:

  • Minimum likes filter: Set a threshold to only auto-save tweets with a minimum number of likes
  • X settings page: Dedicated settings page in the web client for Twitter/X configuration
  • Concurrent save prevention: Prevent duplicate saves when multiple capture requests occur simultaneously
  • Server-side optimization: Moved minLikes lookup to server-side for reduced API calls and better performance

🔧 Technical Improvements

  • Separate extension releases: Independent versioning and release workflow for the browser extension
  • Improved excerpt extraction: Better content parsing from HTML for article summaries
  • X/Twitter URL detection: Automatic identification of Twitter URLs for special handling
  • Caching optimization: Added caching in GlobalSettingService for improved performance

Full Changelog: v0.5.6...v0.5.7

Extension 0.5.1

30 Jan 14:44

Choose a tag to compare

AI-Powered Web Extension

🤖 AI-Powered Web Extension

A major new feature that brings AI content processing directly to your browser extension:

  • AI content processing: Summarize, translate, extract key points, and more with streaming AI support
  • Multiple AI providers: Configure your preferred AI provider (OpenAI, Anthropic, etc.) directly in extension settings
  • Multilingual support: Built-in system prompts for multiple languages with customizable templates
  • Article preview: Real-time preview with AI processing results before saving
  • Defuddle integration: Enhanced content extraction using Defuddle parser

v0.5.6

20 Jan 20:07

Choose a tag to compare

Sorting & Data Consistency Improvements

🔄 Simplified Sorting for Unsorted Pages

Improved the sorting mechanism for unsorted (un-collected) pages:

  • Simplified sorting: Use createdAt directly instead of complex multi-field fallback logic
  • Clearer labels: "Unsorted" pages now display "Created" as the sort criteria
  • Better consistency: Removed multi-field sort support for cleaner, more predictable behavior

🛠️ Data Integrity Fixes

  • CollectedAt auto-population: Ensure collectedAt timestamp is always set when pages are added to collections
  • Capture service fix: Pages captured with a collection assignment now properly set the collected timestamp
  • Batch operation reliability: Batch move operations now reliably populate collection timestamps

Full Changelog: v0.5.5...v0.5.6