# Changelog

## v0.28.1 (2026-06-26)

> Improve chat record viewing, add the import API, and fix import, sync, and local model proxy download issues.

### ✨ Features

- Add the Push Import API with per-session append, deduplication, and incremental index generation
- Automatically generate session indexes after imports across CLI, Desktop, and pull sync paths
- Improve chat record viewer controls and highlight behavior
- Hide the sidebar scrollbar by default and show it on hover

### 🐛 Bug Fixes

- Harden Push/Pull import validation, deduplication, and concurrency locks to avoid invalid writes or duplicate imports
- Include lastPlatformMessageId and importedAt in GET /api/v1/sessions/:id for incremental import boundaries
- Refresh the session list automatically after background pull sync completes
- Fix local semantic index model downloads so they use the configured proxy correctly, and initialize worker logging
- [Desktop] Align the default API port with CLI at 3110 and try following ports automatically when it is occupied
- [Desktop] Resolve HTTP, HTTPS, and SOCKS system proxy results to avoid silently bypassing the proxy for local model downloads

### ♻️ Refactoring

- [CLI] Move pull/sync import paths to the shared streaming importer and remove the legacy parser/write path
- [Desktop] Remove redundant session index generation after incremental imports

### 📝 Documentation

- Fix API port references, examples, and documentation for unavailable capabilities

## v0.28.0 (2026-06-25)

> Add Google Chat import support, introduce a unified app logger with file rotation, and improve the semantic index experience.

### ✨ Features

- Add Google Chat import support across CLI and Desktop
- Add a unified app logger with automatic file rotation and global uncaught error capture
- Replace disable with remove in semantic index management; fix legacy hash and cap list height
- Preload semantic index model on config save and move it to the AI directory
- Simplify semantic index settings by removing the search result count option in favor of a built-in default

### 🐛 Bug Fixes

- Declare stream-json/stream-chain dependencies and fix multi-chat scan fallthrough

### 📝 Documentation

- Add Google Chat to the supported platforms documentation

## v0.27.2 (2026-06-24)

> Fix multiple auth profile lifecycle issues, improve analytics service reliability, and bundle missing local embedding runtime dependencies.

### ✨ Features

- [CLI Web] Unify daily active user reporting through a shared AnalyticsService

### 🐛 Bug Fixes

- Clean up the corresponding auth profile when removing an AI service config

### ♻️ Refactoring

- Remove outdated analytics settings migration

## v0.27.1 (2026-06-23)

> Add batched API embedding for faster index builds and lazy-loaded local models; fix semantic index resume-after-crash, sync cursor regression, and AI conversation export.

### ✨ Features

- Support batched embedding via API providers, significantly speeding up index builds
- Switch local embedding models to lazy worker initialization, reducing startup overhead

### 🐛 Bug Fixes

- Fix AI conversation export to correctly export currently visible AI conversations
- Fix semantic index batched-write resume: prevent unique-constraint errors and stuck sessions after a mid-batch crash
- Fix multiple semantic worker issues: config changes not forwarded to a running worker, availability probes causing failures in normal AI chats, and inaccurate active-build tracking leading to premature worker shutdown
- Fix sync pull cursor: initial empty-page server watermark was discarded before retries, causing repeated refetches of the tail window
- Fix sync pagination cursor regression that caused unnecessary duplicate imports

### ♻️ Refactoring

- Remove dead code and over-engineered abstractions; simplify the tool catalog structure and deep-merge logic

## v0.27.0 (2026-06-22)

> Introduce vector index and evidence retrieval: locate and present chat evidence via semantic search, with a new index management UI.

### ✨ Features

- Add a semantic index management UI with conversation picker and i18n support
- Add retrieve_chat_evidence tool: AI can retrieve time-anchored chat evidence via semantic search
- Planner automatically routes evidence-type questions to the semantic retrieval tool
- Evidence blocks support expand/collapse and click-through to the source message
- Semantic retrieval supports time-range filtering
- Redesign the semantic index model selection UI
- AI process segments are now collapsible
- Streamline evidence source rows and agent tool result display

### 🐛 Bug Fixes

- Fix multi-keyword message search
- Fix UX regression in word cloud dictionary loading
- Fix ranking label formatting and emoji cleanup
- Add missing i18n text for the v8 database migration
- [CLI] Fix missing session context forwarding and preprocessing in the tool adapter

## v0.26.3 (2026-06-15)

> Improve analytics performance with on-disk caching and stale request cancellation for smoother session switching; fix several issues in word cloud, top-word stats, and the timeline panel.

### ✨ Features

- [CLI Web] Add favicon

### ⚡ Performance

- Cache analytics results to disk keyed by database file version, significantly speeding up subsequent loads
- Automatically cancel stale analytics requests when switching sessions or changing filters
- Skip re-segmentation when changing the word cloud word count to reduce unnecessary computation

### 🐛 Bug Fixes

- Fix catchphrase stats including platform reply message placeholders
- Fix word cloud text including media placeholders
- Fix language-preference and word-frequency caches not being invalidated when the Jieba custom dictionary changes
- Fix time-sensitive analytics cache entries not expiring daily
- Fix timeline panel default scroll position and session jump not working
- Fix missing context for segmented messages
- Fix AI conversation count always returning 0
- Fix the home page tutorial link not using the localized path
- Remove the screenshot button from the top of the AI chat panel
- [Desktop] Pre-bundle lazy-route dependencies to avoid 504 errors in dev mode
- [CLI] Fix false update notifications caused by mismatched package version
- [CLI] Support arrow key selection in the update prompt

### ♻️ Refactoring

- Rename the timeline panel label to 'Summary'

## v0.26.2 (2026-06-13)

> Improve the 'Who am I' session identity feature with manual owner profile selection and automatic batch-fill across same-platform sessions; fix several chart rendering and AI cache issues.

### ✨ Features

- Add 'Who am I' session identity feature: manually confirm your identity to save a platform owner profile and automatically match it across other unowned sessions on the same platform
- Automatically apply the saved owner profile after import or pull sync, reducing manual setup

### 🐛 Bug Fixes

- Fix ownerId cache inconsistency when batch-filling sessions on name-match platforms (WhatsApp / Line / Instagram)
- Fix owner profile being overwritten by stale values when multiple routes share independent PreferencesManager instances
- [CLI] Fix stale preferences cache in the sync module causing newly imported sessions to miss the owner profile during long-running server sessions
- Fix temporary files not being fully deleted after import
- Fix chart flickering during AI streaming generation
- Fix unstable render order in AI-generated charts
- Fix empty placeholder rows appearing in AI-generated charts
- Add progress indicator during AI chart generation
- Fix charts appearing incomplete in screenshots due to missing resize step before capture
- Clarify that last_message_time represents data coverage end time, not the group's last activity time
- Fix stale overview and analysis caches not being invalidated after incremental import

## v0.26.1 (2026-06-10)

> Fix several tool-call history replay issues and complete tool-call persistence and replay support; add Token cache usage stats to the status bar and support multiple export formats.

### ✨ Features

- Add Token cache hit/miss usage display to the chat status bar
- Support TXT, JSON, and Markdown export formats

### 🐛 Bug Fixes

- Persist and replay tool calls across conversation turns to maintain multi-turn AI context
- Fix tool-only assistant turns being filtered out during history replay, causing tool results to be lost
- Fix repeated exports of the same session silently overwriting the previous file due to a deterministic filename
- Desktop: Fix large session exports failing prematurely due to the 60-second IPC timeout
- Fix DeepSeek tool-call turns not replaying `reasoning_content` in history
- Fix replayed tool results not being counted correctly in history compression token accounting
- Fix raw message data leaking into the tool result text sent to the model
- Fix the tool panel not closing when clicking outside

### ♻️ Refactoring

- Extract the session page header into a shared component

## v0.26.0 (2026-06-10)

> Add an AI analysis planner with streaming structured plan generation and chart planning integration; improve chart mode tool availability and fix several AI and import issues.

### ✨ Features

- Add an AI analysis planner with streaming structured plan generation and block rendering
- Integrate chart planning support so AI analysis plans can automatically transition into chart generation
- Provide the planner with startup context and extended data snapshots for deeper, higher-quality analysis
- Prefer high-level tools over raw SQL when rendering charts to reduce permission requirements
- Improve overall AI analysis and chart behavior
- Add a chart auto-mode preference setting
- Add copy-message-ID actions
- Add LLM fallback for shadow routing and log routing decisions
- CLI: Expose full agent stream events

### 🐛 Bug Fixes

- Fix the `render_chart` tool being dropped when a chart skill is explicitly selected
- Fix tool availability gaps in explicit chart mode and plan status after errors
- Migrate ECharts 6 `containLabel` configuration and hide redundant pie chart legends
- Fix settings page navigation order, `skillSettings` key naming, and SubTabs line-wrapping
- Fix assistant messages not filling the full chat area width
- Improve the visual layout of the analysis plan generation block
- Fix thinking-level selection not persisting across restarts
- Fix JSONL timestamp normalization causing incremental import failures
- Desktop: Fix `execute_sql` tool not being registered in the desktop tool registry

### test

- Add an evaluation set for agent routing decisions

## v0.25.1 (2026-06-08)

> Introduce a data directory compatibility gate to prevent older runtimes from writing to upgraded data directories, and add a CLI `ai chat` command.

### ✨ Features

- Add a data directory compatibility gate: after writing v6 schema data, record the minimum required runtime version to prevent older runtimes from corrupting upgraded directories
- Verify data directory compatibility before each database operation and reject access when the version requirement is not met
- Desktop: Check data directory compatibility at startup and show an error dialog before quitting if the requirement is not met
- CLI: Check data directory compatibility at startup and exit immediately if the requirement is not met
- CLI: Add the `ai chat` command for multi-turn AI conversations directly in the terminal

### 🐛 Bug Fixes

- Use the packaged app version (not Electron's dev-mode 0.0.0) when writing the compatibility gate, and require a valid runtime identity
- Write the compatibility gate after database migrations and imports complete; abort startup migrations immediately on failure instead of failing silently
- MCP: Check data directory compatibility at startup and exit early to prevent writing incompatible data
- Desktop: Map compatibility gate errors to 409 responses in the HTTP API so the frontend can show an upgrade prompt
- CLI: Normalize AI tool names and fix edge cases in the `ai chat` command

### ♻️ Refactoring

- Align AI chat and segment identifier naming

### test

- Add test coverage for the parser, config migration, database migration, HTTP routes, and AI tools

### 📝 Documentation

- Add public documentation for the data directory compatibility gate, explaining version restrictions and upgrade rules when sharing a data directory

## v0.25.0 (2026-06-07)

> AI chat can now generate charts through skills, with fixes for tool rounds, the desktop title bar, and the development service lifecycle.

### ✨ Features

- Add a slash-activated AI chart runtime that can generate and render ECharts charts in conversations
- Improve the AI chart result experience with clearer rendering states and support for more chart types

### 🐛 Bug Fixes

- Increase the default AI Agent tool round limit to reduce early stops in complex tasks
- Fix preset question chips and sidebar elements stacking incorrectly
- CLI Web: Fix incomplete cleanup of the development backend lifecycle
- Desktop: Register the chart tool for automatic skills so chart skills can run correctly
- Desktop: Refresh the Windows title bar overlay cache after theme changes and smooth its display

### ♻️ Refactoring

- Centralize the AI chart runtime policy and unify chart tool enablement across CLI and desktop
- Deduplicate skill menu and Skill Manager logic

### 📝 Documentation

- Update the iMessage chat export guide

### 🔧 Chores

- Move maintainer-only skills out of the public repository into private maintenance context

## v0.24.1 (2026-06-04)

> Adds in-app update notices and default AI preprocessing rules, with fixes for update badges and desensitization settings.

### ✨ Features

- Add an in-app update notice entry so the sidebar can surface the latest release details
- Add default AI preprocessing settings for data cleaning, denoising, and desensitization
- Support grouped AI desensitization rules to make built-in and custom rules easier to manage

### 🐛 Bug Fixes

- Fix incorrect New badges caused by failed update checks, stale update caches, and CLI Web development placeholder versions
- Fix built-in desensitization rules not being applied before AI preprocessing runs
- Fix empty desensitization preference overrides not clearing previously saved built-in rule switches
- Fix legacy built-in desensitization rule overrides being lost during migration

### 📝 Documentation

- Add a public development guide covering local setup, directory responsibilities, and collaboration conventions

### 👷 CI

- Add Markdown changelog links to the release workflow

## v0.24.0 (2026-06-03)

> Adds CLI Web authentication and data directory migration, unifies cross-platform HTTP routes, and fixes data migration, AI settings, and import refresh issues.

### ✨ Features

- Add Markdown generation for multilingual release notes
- Allow legacy data migration prompts to be ignored from storage management
- [CLI Web] Add a login page, token authentication, and persistent login state
- [CLI Web] Support data directory migration from Web settings
- [CLI] Add the --require-auth flag to protect /\_web/\* API access
- [Desktop] Add an internal HTTP service so the frontend can use shared service adapters

### 🐛 Bug Fixes

- Fix multiple edge cases in data directory and database migrations to prevent missing legacy columns or failed reads after path changes
- Fix legacy data migration prompts appearing incorrectly when no legacy data exists or after directory changes
- Fix sidebar message counts not refreshing after incremental imports
- Fix sidebar collapsed state being lost after refresh because it was stored only in sessionStorage
- Fix fetch-models and validate buttons not being enabled when editing AI settings with a saved key
- Fix stability issues in shared AI SSE streaming
- Fix custom data source creation not requiring a token
- [Desktop] Move chart plugin computation to a worker to avoid blocking the main thread

### ♻️ Refactoring

- Extract the @openchatlab/http-routes shared package to unify HTTP route implementations across CLI Web and Desktop
- Move AI settings, assistants, skills, conversations, streaming responses, cache, and merge APIs to shared HTTP routes
- Trim the desktop IPC bridge by removing legacy AI, session index, LLM, Assistant, Skill, and NLP compatibility handlers
- Unify the frontend service layer to reduce Electron/Web mode branching

### ⚡ Performance

- Minify the main process bundle and lazy-load the tiktoken rank table to reduce startup and package size pressure

### 👷 CI

- Fix the Windows release workflow zstd cache issue and add CLI update notes to release notes

### 🔧 Chores

- Align Node type-check projects to cover desktop and shared Node code

## v0.23.1 (2026-06-01)

> Adds a clb command alias and port conflict detection with actionable guidance. Fixes daemon silent exit and several UI issues in dark mode.

### ✨ Features

- Improve the page header and toolbar layout
- [CLI] Detect port conflicts before startup and display clear guidance (switch port or run lsof) instead of a delayed EADDRINUSE error
- [CLI] Add clb as a short alias for the chatlab command

### 🐛 Bug Fixes

- Fix sidebar tooltip misplacement and Nuxt UI v4 API compatibility
- Fix red background and incorrect z-index layering in the title bar under dark mode
- Tighten AI message role parameter types and strengthen conversation test assertions
- [CLI] Fix daemon entry point error that caused the service to exit silently after startup
- [CLI] Improve error handling and messaging for port conflict detection
- [CLI] Fix missing chatlab.fun reverse proxy route in web mode

## v0.23.0 (2026-05-31)

> Overhauls message editing with a fork/regenerate model, adds per-model thinking level controls, unifies the CLI entry point, and fixes multiple reasoning detection and computation issues.

### ✨ Features

- Add a Fork button to AI replies to branch the conversation from any point into an independent session
- Add a per-model thinking level selector in the status bar, with the choice remembered per model slot
- Extend thinking level controls with default and auto options, covering Kimi, Doubao, Gemini, and more model families
- Split the message analysis view into Type Analysis and Time Analysis tabs, each with enriched statistical insight cards
- Add a confirmation dialog before regenerating all session indexes to prevent accidental data loss
- Expand demo data to 4 files covering group and multiple private chat scenarios
- 【CLI】Add unified chatlab start command with --headless and --no-open flags
- 【CLI】Add daemon mode via chatlab start --daemon to install as a system service, with stop and status commands

### 🐛 Bug Fixes

- Fix multiple concurrency issues in message editing that could cause data loss or stale state
- Fix thinking level and context window computation not using the active model ID
- Fix reasoning detection failure for custom models with only chat capabilities by adding a heuristic fallback
- Fix thinking being silently disabled for Kimi, Doubao, and similar models when the auto level is selected
- 【CLI】Fix the start command failing to launch the web development backend
- 【CLI】Fix daemon startup failure on Linux when the service path contains spaces

### ♻️ Refactoring

- Refactor the message branching system to an edit-and-regenerate model, supporting both current-round-only and overwrite-all modes
- Remove the manual Reasoning Model and Disable Thinking toggles in favor of automatic inference from model capabilities
- Simplify the model switcher button UI and improve session index loading performance

## v0.22.1 (2026-05-29)

> Adds session summary detail level settings, and fixes CLI Web batch summary freeze, AI config edit misidentification, and several API credential detection issues.

### ✨ Features

- Add session summary detail level setting with "Brief" and "Standard" strategies, configurable in AI settings

### 🐛 Bug Fixes

- Fix missing credential revalidation when changing Base URL in OpenAI-compatible mode
- Fix incorrect API key detection logic to prevent stale key reuse
- Fix stop button not responding immediately during batch summary generation
- [CLI Web] Fix page freeze caused by batch summary generation
- [CLI Web] Fix batch summary generation not honoring the selected session scope
- [CLI Web] Fix third-party AI service misidentified as local when editing config

### ♻️ Refactoring

- Move session index i18n keys from the storage namespace to the ai namespace

### 💄 Styles

- Improve chat record list density and message bubble styling

### 📝 Documentation

- Restructure documentation site navigation and move Quick Start under the Usage section

## v0.22.0 (2026-05-26)

> This update improves the default UI styling, adds CLI Web update and storage management features, and strengthens home import, documentation, and multi-platform stability.

### ✨ Features

- Restructure the home import area into separate entry points, with new API import and auto-sync options
- Bundle changelogs with the app to reduce runtime dependency on remote resources
- 【CLI Web】Add storage management in Web settings for viewing and managing data cache
- 【CLI】Add update checking and auto-update flow, with update checks exposed in CLI Web
- 【Docs】Add the standalone docs.chatlab.fun documentation site

### 🐛 Bug Fixes

- Restore missing quick start buttons on the home page
- Fix incorrect i18n key paths and deprecated ECharts api.style() usage
- Harden self-update and migration retry safety checks
- 【Desktop】Prevent unified migration from reverting data directory changes
- 【CLI Web】Remove the broken Update Now action when a new version is detected
- 【CLI Web】Disable the unavailable Web self-update execution path
- 【CLI Web】Fix file manager actions that relied on shell execution, improving compatibility and safety
- 【CLI Web】Keep the Web service running after data directory warnings
- 【CLI Web】Add compatibility shims for merge-related APIs
- 【CLI】Improve update checks with async caching, better keypress handling, and a development-mode bypass

### ♻️ Refactoring

- Move documentation links to docs.chatlab.fun
- 【Settings】Move session index into AI settings and reorder the settings tabs

### 💄 Styles

- Improve sidebar density and increase tab selector contrast in dark mode

### 📝 Documentation

- Restructure the public documentation site and export guide

### 🔧 Chores

- Migrate workspace packages to ESM
- Isolate documentation site workspace dependencies
- Move release changelogs out of the docs directory

## v0.21.1 (2026-05-23)

> Improve pull sync reliability and data safety, add an option to clean up imported chats when removing subscriptions, and fix UI animation and modal interaction issues.

### ✨ Features

- Auto-generate session index after pull sync
- Add option to delete imported chats when removing a subscription
- 【CLI Web】Support per-version screenshots in the changelog modal and make Markdown list fixes opt-in
- 【MCP】Add icon and i18n support for the ci change type

### 🐛 Bug Fixes

- Fix potential data loss on small pages during pull sync and validate retry import results
- Fix session index not auto-generating after pull sync completes
- Fix sidebar session list not refreshing after pull completes or data is deleted
- Fix inability to fetch all sessions when the remote server lacks pagination support
- Improve pull sync retry logic and pagination strategy for better stability
- Fix missing schema check in session existence validation that caused 'no such table' errors
- Fix forced session index modal unexpectedly closing on generation failure
- Fix session index modal blocking the page when sessions are empty
- 【Desktop】Fall back to the package.json version when app.getVersion returns 0.0.0
- 【CLI Web】Sync icon now spins in-place instead of showing a separate loader

### 📝 Documentation

- Update Pull protocol docs to the since+nextSince pagination model

## v0.21.0 (2026-05-22)

> This update adds MCP support, unifies multi-platform import and service layers, and improves Web, AI, sync, and release stability.

### ✨ Features

- Support a unified folder import flow across Electron and Web mode for multi-file chat history formats
- 【MCP】Add a standalone command entry and integrate MCP settings into the settings page
- 【MCP】Expand the server to 19 tools with compact text and JSON output formats

### 🐛 Bug Fixes

- Harden directory import path handling to reduce import failure risks
- Fix a race condition that could occur when adding new subscriptions
- Parse MiniMax streaming <think> content correctly as thinking events
- 【CLI Web】Fix incremental import support
- 【CLI Web】Keep session not-found and member history behavior aligned with the desktop app
- 【CLI Web】Fix the Node runtime configuration for the development server
- 【MCP】Fix native module ABI binding mismatches during startup

### ♻️ Refactoring

- Unify the shared service layer for CLI Web and Electron to reduce duplicated route and IPC logic
- 【MCP】Trim the externally exposed tool registry to reduce tool schema cost for external AI agents
- 【MCP】Extract core MCP capabilities into a standalone shared package and simplify CLI and desktop integration
- 【MCP】Simplify settings page integration and reduce desktop-side helper complexity

### 👷 CI

- 【CLI】Publish the npm package as part of the release workflow

### 📝 Documentation

- Document prefix and ordering rules for platform-specific changelog entries

### 🔧 Chores

- 【CLI】【MCP】Complete the configuration and release notes needed for npm publishing

## v0.20.0 (2026-05-19)

> This update unifies the core multi-platform architecture and improves AI, import, sync, and desktop build stability. It also prepares for the standalone Web, CLI, and MCP capabilities in the next release; please update before using the CLI so data can be pre-migrated.

### ✨ Features

- Add standalone CLI, HTTP API service, and MCP Server foundations for command-line use, Web, and AI agent integrations
- Add a standalone Web build and one-command startup flow, including launching the Web UI from the CLI and opening the browser automatically
- Support core Web-mode workflows, including chat import, demo import, session queries, member queries, search, and analysis
- Connect Web mode to AI chat, model configuration, custom providers and models, context compression, and streamed event display
- Upgrade imports to a shared streaming pipeline with multi-format parsing, incremental import, import analysis, and automatic session index generation
- Add server-side capabilities for merge workflows, Markdown export, and session caching
- Add the shared sync package and CLI automation support as groundwork for future multi-platform sync
- Add backend persistence for preferences and automatically detect and migrate desktop data on first CLI run

### 🐛 Bug Fixes

- Fix Web-mode issues around session indexes, CORS proxying, demo safeguards, and runtime errors
- Fix the app version showing as empty in Web mode
- Fix AI Agent evidence retrieval, Web event streaming, and error formatting issues
- Fix inconsistencies between sync display and import logic
- Fix ESM module resolution in CLI development mode
- Fix cases where the CLI could not find existing desktop data after installation
- Fix data migration path mismatches after extracting the Electron package
- Fix packaged Worker crashes caused by an indirect dependency on the electron module
- Fix Electron build, dependency installation, and better-sqlite3 native rebuild issues

### ♻️ Refactoring

- Move the project to a multi-platform workspace structure with apps/desktop, apps/cli, and shared packages
- Extract parser, configuration, database adapters, queries, migrations, NLP, session cache, import, merge, export, and sync logic into shared modules
- Extract AI Agent, tools, preprocessing, context compression, RAG, LLM configuration, assistant, and skill management into shared runtime capabilities
- Unify AI tool naming, tool registration, and data access across Electron, CLI Web, and MCP
- Unify core logic for data directories, message queries, member queries, session indexes, SQL execution, and import deduplication
- Move the CLI from packages/server to apps/cli and complete the npm publishing build pipeline
- Move frontend-only chart modules into src/features so packages only contain reusable shared libraries
- Remove several Electron-side passthrough files and obsolete code to reduce duplicate implementations

### build

- Upgrade Vite and related build tooling
- Add CLI tsup builds, Web asset bundling, and npm publishing configuration
- Adjust Electron desktop build settings and remove Linux desktop build targets

### 📝 Documentation

- Document versioning, commit scope conventions, and related development notes

## v0.19.0 (2026-05-06)

> This update adds AI context auto-compression, introduces demo data for new users, and improves model configuration and debugging.

### ✨ Features

- Add model context window presets and custom configuration.
- Add AI chat context auto-compression and related settings.
- Improve the context compression flow and status display.
- Add raw data viewing in debug mode and record full LLM context.
- Improve AI model configuration copy, forms, and settings displays.
- Remove vector model configuration to simplify related settings.
- Let new users try demo data directly from the empty state.
- Migrate the project structure to pnpm workspace.

### 🐛 Bug Fixes

- Fix the fast model follow-assistant mode using the wrong model in some cases.
- Fix the demo button not appearing in the empty data state.
- Fix a startup risk caused by undeclared axios imports in the main process.

## v0.18.4 (2026-04-29)

> This update optimizes model stability, supports fetching remote model lists, improves AI error detail presentation, and refines some styles.

### ✨ Features

- Support fetching remote model lists.
- Auto-complete `/v1` for OpenAI-compatible API addresses with real-time preview support.
- Improve the presentation of AI chat error details.
- Refine parts of the display styling.

### 🐛 Bug Fixes

- Fix some logic vulnerabilities.

### 🔧 Chores

- Optimize the logic of the sync-changelog skill.

## v0.18.3 (2026-04-28)

> This release adds configurable quick tool entry placement, improves the default time filter, and fixes modal layering and data directory safety messaging.

### ✨ Features

- Add a setting for the placement of the quick tool entry.
- Improve the default time filter experience.
- Prevent data directories from being set inside the app installation directory.

### 🐛 Bug Fixes

- Fix modal style override issues.
- Fix modal layering issues in the settings page.

## v0.18.2 (2026-04-26)

> This release adds session type filters for subscriptions, paginated remote session discovery, and configurable per-request message limits.

### ✨ Features

- Add session type filtering and selection when subscribing to sessions.
- Add paginated remote session discovery with on-demand loading.
- Allow each data source to configure how many messages are fetched per request.

## v0.18.1 (2026-04-24)

> This release adds DeepSeek V4 support and a launch-at-startup option, improves the settings and overall UI experience, and fixes how links open in AI chat.<br/>Starting with this release, the project is officially moving to the ChatLab organization.

### ✨ Features

- Move the project to the ChatLab organization.
- Refine the global visual style.
- Improve how quick prompts are presented.
- Improve how the settings modal opens.
- Add launch-at-startup support.
- Add support for the DeepSeek V4 model.

### 🐛 Bug Fixes

- Fix links in AI chat so they open in the browser.

## v0.18.0 (2026-04-23)

> This release improves AI chat interactions, consolidates several analysis entry points, and makes data source sync and Windows updates more reliable.

### ✨ Features

- Improve AI assistant interactions.
- Update the helper text in the Add Data Source form.
- Add a Mini mode to the Tool Panel.
- Move the chat history viewer into the Tool Panel.
- Unify the relationship analysis tabs.
- Move the Quotes module into Insights.
- Move keyword analysis into Labs.

### 🐛 Bug Fixes

- Fix existing type warnings.
- Add a 60-second overlap window to Pull incremental sync to prevent missed messages.
- Set Pull requests to `limit=1000` to avoid slowdowns when remote sources export too much data at once.
- Fix a Windows update issue where an NSIS popup could interrupt silent installation.

## v0.17.5 (2026-04-21)

> This release focuses on a broad set of bug fixes to improve overall stability.

### ✨ Features

- Refined the visual style of relationship cards.
- Replaced the `node-machine-id` dependency with native machine identity logic to improve API key update reliability on Linux.
- Added an option to keep original records when merging chat histories.
- Added a verification button next to API endpoints for preset and third-party services.

### 🐛 Bug Fixes

- Hardened the data source migration strategy for safer migrations.
- Fixed incorrect empty-state rendering for topics with very few messages.
- Fixed local model validation failures.
- Fixed an issue where the selected tab reset after switching conversations.
- Fixed a white-screen issue in Automation pages after upgrading legacy `dataSources` structures.

## v0.17.4 (2026-04-19)

> Implemented the full Import API v1 protocol and added hierarchical data source management, now supporting automatic chat history sync.

### ✨ Features

- Implement the full Import API v1 protocol with hierarchical data source management.

## v0.17.3 (2026-04-17)

> This release adds a language preference tab for private chats, introduces sorting and filtering in the sidebar conversation list, improves AI provider and model configuration, and fixes a time filter reset issue.

### ✨ Features

- Add sorting and filtering to the conversation list.
- Add a Language Preference tab for viewing language preferences.
- Refine UI details for better visual consistency.
- Add Anthropic as an AI provider option.
- Allow selecting API interface types for third-party model services.
- Allow custom display names for AI model configurations.

### 🐛 Bug Fixes

- Fix an issue where the time filter reset to "All" after returning from Settings or the AI Chat page.

### ♻️ Refactoring

- Extract language preference definitions into shared types to reduce duplication.

## v0.17.2 (2026-04-15)

> This update adds cross-platform data merge and member message merge, strengthens dictionary and update security checks, improves the dark theme experience and logging, and fixes several bugs.

### ✨ Features

- Support merging member messages in member management.
- Support merging chat data across platforms.
- Add sorting support to selected table columns in data management.
- Move the topic analysis entry point to Insights.
- Add original file path recording for AI log files.
- Improve dark theme colors for better visual comfort.

### 🐛 Bug Fixes

- Fix dictionary refresh and merge ID collision issues.
- Add runtime User-Agent headers for OpenAI-compatible requests.
- Fix transparent background issues when exporting dark-theme screenshots.
- Add SHA256 integrity verification for dictionary downloads.
- Tighten remote config fetching and strengthen update installation confirmation.

### 🔧 Chores

- Add deb package build support for ARM Linux.
- Optimize the changelog sync flow.

### 📝 Documentation

- Add Traditional Chinese documentation.

## v0.17.1 (2026-04-13)

> Refactored the Topics module with a new topic card view, improved word cloud keyword filtering and query caching, added remote tokenizer dictionary downloads with Traditional Chinese support, and improved WhatsApp detection.

### ✨ Features

- Refactor the Topics module and add a topic card view.
- Add keyword filtering to the word cloud.
- Support remote tokenizer dictionary downloads with Traditional Chinese dictionary included.
- Improve query cache logic for faster lookups.
- Standardize loading indicators across components.
- Improve WhatsApp chat detection reliability.

### 👷 CI

- Launch the official documentation site with automated sync and deployment.

## v0.17.0 (2026-04-12)

> This release strengthens WhatsApp import parsing and specified-format imports, while refreshing Overview cards and adding sharing, screenshots, and debugging utilities.

### ✨ Features

- Add a flexible WhatsApp V2 timestamp parser that adapts to export variants across regions.
- Improve WhatsApp chat log detection.
- Add specified-format import support.
- Add a sharing card in the Messages tab.
- Add quick debugging tools in DEBUG mode.
- Improve the Overview identity card and unify time-range query logic.
- Refactor Overview module cards and extract a theme color card with reserved palette modes.
- Unify maximum card width and elevate Home tools into a global tools sidebar.
- Add screenshot support for theme cards and disable mobile screenshot adaptation by default.
- Remove diagnostic suggestions and add new prompts.

### 🐛 Bug Fixes

- Fix inconsistency between WhatsApp time-parsing regex rules and line-matching regex rules.
- Fix compatibility issues when parsing WhatsApp 12-hour time formats and NNBSP characters.

### 🔧 Chores

- Cache electron and electron-builder binaries to speed up CI packaging.

## v0.16.0 (2026-04-10)

> This update adds a new initiative analysis view for private chats and fixes missing custom models in the model-edit dialog.

### ✨ Features

- Add a new initiative analysis view for private chats.
- Improve the footer presentation and interactions.
- Refine the logic in the lower section of the quotes module.

### 🐛 Bug Fixes

- Fix an issue where multiple custom models could disappear in the third-party/local service edit dialog.

## v0.15.0 (2026-04-08)

> This release significantly improves search and query performance with context-aware search, streamlines AI model configuration with added providers, and adds Linux platform support.

### ✨ Features

- Add query caching to speed up access.
- Enable automatic context carry-over in search tools.
- Refactor the model configuration flow.
- Show a language selection dialog on first launch for new users.
- Add basic debugging tools in the Lab.
- Remove legacy prompts.

### 🐛 Bug Fixes

- Fix inconsistent title bar button background color in Windows light mode.
- Fix CI packaging workflow alignment issues between Node 24 and pnpm.
- Fill in missing i18n translations for tool invocation display names.

### ♻️ Refactoring

- Improve the code organization of the AI configuration modal.

### 🔧 Chores

- Upgrade to Node 24.
- Add Linux packaging support.

### 📝 Documentation

- Update documentation.

## v0.14.2 (2026-04-07)

> This update improves the AI chat experience with copy support, cleaner UI, new FTS5 full-text search tools, leaner search parameters, and clearer error feedback with stronger test coverage.

### ✨ Features

- Add a 7-day memory for assistant selection.
- Add one-click message copying in AI chat.
- Improve AI chat styling and overall interaction flow.
- Add FTS5 full-text search support with a quick search tool.
- Trim search parameters in selected tools to reduce token usage.
- Add an E2E testing framework for Electron apps with port management and instance isolation.

### 🐛 Bug Fixes

- Improve AI chat error messages to make issues easier to diagnose.

### ♻️ Refactoring

- Reorganize the AI chat module code structure.
- Extract shared logic from the session analysis page and unify header copy.

### test

- Add reusable smoke-test coverage for the E2E app launcher.

### 📝 Documentation

- Update intro images in project documentation.

### 💄 Styles

- Standardize parts of the code formatting to improve readability.

## v0.14.1 (2026-04-02)

> This update refines the Home information architecture and UI, while improving SQL conversation UX, stats read performance, and AI tool quality.

### ✨ Features

- Improve the Overview page styling.
- Improve interaction flows in the SQL conversation module.
- Move member management to Home and adjust related tab layouts.
- Add new AI tools, including a tool for chat overview retrieval.
- Add a conversation data cache manager to speed up stats loading.
- Improve changelog modal type presentation.

### 🐛 Bug Fixes

- Fix silently swallowed AI errors in SQL Lab and summary generation.

### ♻️ Refactoring

- Refactor AI tool categorization to improve maintainability.

### 🔧 Chores

- Deprecate low-value AI tools to keep the toolset focused.

## v0.14.0 (2026-03-28)

> Add API import/export and preset prompts, improve Overview and settings flows, and fix message deduplication, AI conversation flow, and daily trend display.

### ✨ Features

- Add API import
- Add API export
- Let preset questions send immediately when selected
- Add a Settings option for the default tab when opening a chat session
- Improve the Overview page styling
- Refine the overall UI and the API service settings screen
- Improve identity cards and assistant selection interactions

### 🐛 Bug Fixes

- Fix false positives in message deduplication and unify empty-string deduplication behavior
- Fix AI conversation flow issues and frontend type-check errors
- Add a fallback default assistant for edge cases
- Fix daily message trends not rendering

### ♻️ Refactoring

- Clean up legacy typing issues across the parser, worker, RAG, and merger modules

### 🔧 Chores

- Add a skill for generating assistant configurations

## v0.13.0 (2026-03-16)

> Assistant Mode is here with skills in chat, quick input actions, improved chat and settings UI, Traditional Chinese and Japanese support, UI refinements, and multiple stability fixes.

### ✨ Features

- Shipped the first Assistant Mode release with improved assistant logic and analysis tools
- Launched the Assistant and Skill marketplaces; chats can now use skills
- Added @-mention member selection for collaboration
- Added Traditional Chinese and Japanese localization
- Refactored Settings and refined UI details
- Improved Overview styling and chat experience
- Moved the export chat history entry point
- Removed the legacy prompt system and custom AI filtering
- Model calls no longer stop when switching pages

### 🐛 Bug Fixes

- Fixed Gemini API configuration issues
- Fixed an error caused by stopword processing order in NLP

### ♻️ Refactoring

- Refactored AIChat organization
- Restructured directory and project layout

### 📝 Documentation

- Updated the user agreement and project docs

### 🔧 Chores

- Improved the changelog build pipeline

### 💄 Styles

- Standardized code formatting and lint output

## v0.12.1 (2026-02-27)

> Add chat-history preprocessing and AI debugging, refactor the Agent/LLM architecture, and fix i18n and Windows theme consistency issues.

### ✨ Features

- Add a chat-history preprocessing pipeline.
- Add preprocessing settings UI and configuration management.
- Add session-based context timelines and runtime status for the Agent.
- Add an AI debug mode with improved log observability.

### 🐛 Bug Fixes

- Fix partial UI text not being localized under English settings.
- Fix overlay color updates not matching the active theme on Windows.

### ♻️ Refactoring

- Split the monolithic Agent implementation into a modular architecture.
- Refactor the tool system to AgentTool + TypeBox and complete i18n support.
- Unify the LLM access layer under the pi-ai implementation.
- Refactor data-flow direction and IPC contracts, with corresponding frontend adaptation.
- Introduce shared types and improve ChatStatusBar i18n.
- Refactor parts of the chart stack into a plugin-based architecture.

### 🔧 Chores

- Remove the over-engineered sessionLog module.
- Remove @ai-sdk dependencies and legacy LLM service implementations.
- Temporarily hide the vector model configuration entry.
- Update project description copy.

### 💄 Styles

- Run ESLint auto-fix to unify code style.

## v0.11.2 (2026-02-15)

> Improve chat import workflows and management tools, while enhancing cross-platform parser compatibility.

### ✨ Features

- Improve parser compatibility for LINE and WhatsApp formats.
- Improve the chat sniffing layer with polling detection and a fallback strategy.
- Support Shift multi-select in the Manage page.
- Show chat summary count and AI conversation count in the Manage page.
- Optimize the main-page layout to provide more usable space.
- Improve top-right window controls styling on Windows.

### 📝 Documentation

- Update project documentation.

## v0.11.0 (2026-02-13)

> Add Telegram import, improve incremental import UX, strengthen i18n coverage, and fix indexing and page flicker issues.

### ✨ Features

- Expand i18n support across AI calls, logs, and main-process configuration.
- Add support for importing Telegram chat history.
- Improve the incremental import flow and related copy.
- Improve the interaction flow when opening protocol links.

### 🐛 Bug Fixes

- Fix index invalidation after incremental imports (resolve #81).
- Fix WhatsApp iPhone-exported chats not being recognized (resolve #82).
- Fix a double-flicker issue when switching to the chat page.

### 🔧 Chores

- Optimize TypeScript configuration.
- Adjust i18n build configuration.
- Improve skill-related project configuration.

## v0.10.0 (2026-02-11)

> Add interaction frequency analysis, improve the session query pipeline, and fix issues in incremental indexing and database scanning.

### ✨ Features

- Add an interaction frequency analysis view to make member interaction trends easier to understand.
- Improve session query logic and processing flow.

### 🐛 Bug Fixes

- Fix inaccurate session index generation scope after incremental updates (fix #79).
- Fix non-chat SQLite files being incorrectly processed during migration and session scanning.

### ♻️ Refactoring

- Refactor the session query module to improve maintainability.

### 🔧 Chores

- Remove transformers-related dependencies and update project configuration.

## v0.9.4 (2026-02-08)

> Improved time filtering and AI configuration UX, added local API key encryption, and fixed LINE chat log parsing.

### ✨ Features

- Add more flexible time-filtering options.
- Store API keys with local encryption.
- Hide release notes for first-time users.
- Improve the configuration status display in the AI chat footer.
- Allow the app to restart immediately after data directory migration.

### 🐛 Bug Fixes

- Fix parsing issues for LINE chat logs.

### 📝 Documentation

- Update project documentation.

## v0.9.3 (2026-02-03)

> Support custom data directories and fix many known issues.

### ✨ Features

- Add a data directory location setting
- Optimize data directory migration logic
- Add a confirmation dialog for directory switching
- Improve parser logic (WeFlow / Echotrace)

### 🐛 Bug Fixes

- Fix crashes on Windows when custom filtering processes large message volumes
- Fix conversations ending early when third-party relay APIs call tool_call
- Fix some WhatsApp chat logs not being detected correctly
- Fix manage page header stacking above settings

### ♻️ Refactoring

- Refactor session query module
- Improve migration logging

## v0.9.2 (2026-02-02)

> Rankings are now displayed as charts; word cloud generation and the local AI inference model are optimized; chat record filtering and the date picker are improved; and key routes are preloaded after launch.

### ✨ Features

- Refactor rankings to chart-based views
- Optimize word cloud output
- Optimize inference models
- Improve linked search + filter in chat records
- Enhance date picker interactions
- Preload key routes after app launch

### 🔧 Chores

- Modularize preload APIs
- Optimize analytics logic
- Upgrade ESLint and format code

## v0.9.1 (2026-01-30)

> Add LINE chat import, batch management, and chat search, plus fixes for known issues.

### ✨ Features

- Add batch management with batch delete and merge
- Support chat conversation search
- Support LINE chat import
- Compatible with WeFlow exported JSON format
- Member list uses backend pagination
- Improve some copy

### 🐛 Bug Fixes

- Fix Windows app not closing during updates due to Worker occupation

## v0.9.0 (2026-01-28)

> Add NLP capabilities with a word cloud page under the Quotes tab; add a Views tab for more charts; support following system proxy settings; and refine some pages and styles.

### ✨ Features

- Optimize user selector performance with virtualized loading
- Move rankings to the Views tab
- Introduce tokenization and add a word cloud sub-tab
- Improve group chat tab copy
- Network proxy follows system proxy settings
- Optimize release notes display logic

### 💄 Styles

- Improve Markdown rendering styles

## v0.8.0 (2026-01-26)

> This update adds session summaries and vector retrieval; shows release notes after each update; improves parts of the UI; and fixes some known issues.

### ✨ Features

- Remove Help & Feedback from the sidebar
- Add a footer on the home page with common links
- Automatically open release notes after updating to a new version
- Optimize batch session summary generation
- Add session summaries in chat
- Support vector model configuration and retrieval
- Log more detailed errors when chat import fails

### 🐛 Bug Fixes

- Fix shuakami-jsonl parsing error (fix #50)

## v0.7.0 (2026-01-23)

> Improve the AI chat experience, and refine update logic and charting.

### ✨ Features

- Improve update logic
- Improve AI chat error logs
- Quick model selection at the bottom of chat
- Improve default prompts with a touch of humor
- Replace chart.js with ECharts
- Remove registration agreement logic

## v0.6.0 (2026-01-21)

> Integrate AI SDK to improve AI chat stability; add a thinking content block; and refine some styles

### ✨ Features

- Add a log locator feature
- Integrate AI SDK
- Add a thinking content block
- Fix global modals being covered by the home page drag area
- Improve top-right close button style on Windows

## v0.5.2 (2026-01-20)

> Support merged imports; fix several issues

### ✨ Features

- Support merged imports
- Show chat log start/end time on the main panel
- Improve the drag-and-drop area

### 🐛 Bug Fixes

- Improve build config to fix macOS x64 compilation
- Fix close button style in the message viewer on Windows
- Require building on the target architecture for macOS packaging (fixes #36)

## v0.5.1 (2026-01-16)

> Fix several issues

### ✨ Features

- Improve copy

### 🐛 Bug Fixes

- Fix app process not exiting on Windows when closing (#33)
- Fix number input bug (resolve #34)

## v0.5.0 (2026-01-14)

> Support Instagram chat import; add batch and incremental import

### ✨ Features

- Support Instagram chat import
- Logic improvements
- Improve system prompt presets
- Support incremental import
- Support batch import
- Style improvements
- Support native window controls and theme sync on Windows (#31)

### 🔧 Chores

- Remove componenst.d.ts

## v0.4.1 (2026-01-13)

> This release focuses on style and interaction improvements, with no major new features

### ✨ Features

- Prompt preview support
- Improve AI chat status bar
- Improve table migration logic
- Show avatars in the sidebar
- Style improvements
- Replace native window controls bar
- Improve global background color
- Clean up Worker on app exit

### 🐛 Bug Fixes

- Fix theme-follow-system setting not working
- Fix update modal layout issues

## v0.4.0 (2026-01-12)

> Import now supports shuakami-jsonl; AI chat is optimized to save tokens; imports can generate session indexes and the viewer can jump by index; updates now support acceleration mirrors

### ✨ Features

- Compatibility with shuakami-jsonl
- Improve loading state
- Add custom filters
- Refactor preset system with shared presets
- Trim system prompts to save tokens
- Add session-related function calling
- Handle message jumps with context
- Message viewer supports session index and quick jump
- Refactor settings modal and add session index settings
- Generate session index when importing chats
- Refactor settings modal
- Improve base component interactions
- Improve home page styling
- Improve update acceleration logic
- Add acceleration mirrors

## v0.3.1 (2026-01-09)

> Add Discord import support; parsers now import reply messages; storage moves to a more standard location; role import is supported; import errors provide more detailed diagnostics; and various improvements

### ✨ Features

- Move table upgrades to the main process
- Ignore beta versions during auto-update checks
- Move data storage to userData
- Parsers re-enable reply message import
- Support platform message IDs and reply IDs with table migration
- Support Tyrrrz/DiscordChatExporter import format
- Support roles in the member table
- Enhance ChatLab format detection
- Align click import and drag import behaviors
- Provide more detailed format diagnostics

### 🐛 Bug Fixes

- Fix some users having empty platformId

## v0.3.0 (2026-01-08)

> Add English support and various improvements

### ✨ Features

- SQL Lab supports export
- AI chat supports export
- Finalize localization
- Show explicit errors for AI model failures
- SQL results can jump to the message viewer
- Improve system prompts and support a prompt marketplace

## v0.2.0 (2025-12-29)

> Support proxy configuration; show error logs on import; improve some UI interactions; and add feature updates

### ✨ Features

- Message manager shows system messages
- Improve import flow and show logs on errors
- WhatsApp supports English-format message import
- Support proxy configuration (resolve #7)
- Improve AI model UI interactions
- Add API tutorial for user configuration
- Add two free GLM models; add Doubao provider and latest models
- AI replies no longer output think content

## v0.1.3 (2025-12-25)

> Fix several issues

### 🐛 Bug Fixes

- Fix Echotrace parser errors

## v0.1.2 (2025-12-25)

> Add dark mode and allow passing user identity in system prompts during AI chats

### ✨ Features

- Allow passing user identity in system prompts during AI chats
- Show Owner on the right in the message viewer
- Support database upgrades
- Allow Owner view in the Members tab
- Support dark mode

### 🐛 Bug Fixes

- Fix private chats misidentified as group chats

## v0.1.1 (2025-12-24)

> Support WhatsApp and legacy QQ chat analysis

### ✨ Features

- Show token usage at the bottom of chat sessions
- Support native WhatsApp message format
- Support legacy QQ txt group format

### 🐛 Bug Fixes

- Fix message manager z-index being too low

## v0.1.0 (2025-12-23)

> Project launch

### ✨ Features

- Initial release
