Changelog

Track every update, improvement, and fix to Char

AI

  • Fix Gemini 2.0 and 2.5 models (Flash, Pro) incorrectly being hidden from the AI model list
  • Experimental Cactus inference engine for speech-to-text

Others

  • Linux ARM64 (aarch64) builds are now available (Although Linux support is still experimental)
Read more

UI

  • Transcript search now supports replace, match case, and whole word options, with keyboard shortcuts and improved navigation between matches
  • Search now auto-scrolls to the active result and stays in sync between transcript and editor views
  • Calendar UI has improved visual hierarchy (cleaner header spacing/typography and clearer weekend styling)
  • Calendar onboarding now shows a proper loading state while calendars are being fetched, and onboarding button overflow spacing has been fixed
  • Fixed metadata panel scrolling behavior in session headers for more consistent layout handling
Read more

Transcription

  • Fix bugs where meta-models (e.g. cloud) were incorrectly validated against a specific provider — provider routing is now resolved server-side based on language support
  • Improved language-aware provider selection: the best STT backend (Deepgram vs. Soniox) is now chosen automatically per language

AI

  • AI model selectors now filter out deprecated models (GPT-3.5, Claude 2, etc.), date-snapshot versions, and non-chat models (codex, moderation, realtime)
  • Local provider connection status (Ollama, LM Studio) is now shown with visual indicators — model selection is disabled when the provider is not running

Calendar

  • Improve participant email resolution for Apple Calendar events with a better fallback chain (email → contact → URL → name)

Other fixes and improvements

  • Fix Cmd+Q quit behavior — now triggers on keydown instead of keyup for more predictable behavior
  • Status banner position adjusts dynamically based on timeline visibility
  • Profile avatars now use Facehash-generated faces
  • Fix hover jump on interactive buttons caused by gradient backgrounds
  • Remove contacts permission request from onboarding
Read more

Notification

  • Old MicStarted event and experimental MicProlongedUsage event are merged
  • Now accept threshold configuration, which decides how long the mic must be active before triggering

AI

  • Add Mistral as a new transcription provider
  • Auto-trigger summary generation after transcript upload or batch completion
  • Full-text search now powered by Tantivy, faster indexing and more accurate results

Chat (experimental)

  • Bring back chat as an experimental feature with major improvements
  • Richer session context passed to chat for more relevant responses
  • Search tool results now include full session context

Transcription

  • Live transcription failure is now "non-fatal", recorder keeps running, entering degraded mode instead of crashing the session
  • Show degraded transcription status in the transcript view

Calendar

  • Improve calendar event sync reliability across timeline and notifications
  • Show event descriptions in session metadata chips

Notes & Timeline

  • Multi-select sessions in timeline with bulk delete and undo toast
  • Auto-focus title input when no title is set
  • Remove live session tab pinning

Other fixes and improvements

  • Fix desktop auth refresh edge case tied to window visibility events
  • Replace onboarding window with new onboarding within the main window
  • Preserve preferred audio input device priority across device reconnects
  • Improve audio import experience and error handling for AAC-in-MP4 files
  • Fix fullscreen-to-hidden transition causing black screen on macOS
  • Fix PDF export escaping for special characters in markdown
  • Fix pro model configuration when starting trial from settings
  • Restore relaunch after system audio permission grant
Read more

Notification

  • Old MicStarted event and experimental MicProlongedUsage event are merged
  • Now accept threshold configuration, which decides how long the mic must be active before triggering

AI

  • Add Mistral as a new transcription provider
  • Auto-trigger summary generation after transcript upload or batch completion
  • Full-text search now powered by Tantivy, faster indexing and more accurate results

Chat (experimental)

  • Bring back chat as an experimental feature with major improvements
  • Richer session context passed to chat for more relevant responses
  • Search tool results now include full session context

Transcription

  • Live transcription failure is now "non-fatal", recorder keeps running, entering degraded mode instead of crashing the session
  • Show degraded transcription status in the transcript view

Calendar

  • Improve calendar event sync reliability across timeline and notifications
  • Show event descriptions in session metadata chips

Notes & Timeline

  • Multi-select sessions in timeline with bulk delete and undo toast
  • Auto-focus title input when no title is set
  • Remove live session tab pinning

Other fixes and improvements

  • Fix desktop auth refresh edge case tied to window visibility events
  • Replace onboarding window with new onboarding within the main window
  • Preserve preferred audio input device priority across device reconnects
  • Improve audio import experience and error handling for AAC-in-MP4 files
  • Fix fullscreen-to-hidden transition causing black screen on macOS
  • Fix PDF export escaping for special characters in markdown
  • Fix pro model configuration when starting trial from settings
Read more

Chat

  • Replace feedback modal with support chat — report bugs and suggest features via chat instead of the feedback form
  • Collapse search bar to icon by default, expand on click
  • Advanced search tab with filters (Meeting note, Person, Organization) and date presets (Today, This week, This month)

Keyboard Shortcuts

  • Restore Cmd+Shift+Q for Quit Completely, fix app menu quit handler

UI & Experience

  • Context menu for creating new notes and tabs (right-click in main area)
  • macOS dock right-click menu now shows "New Note" for quick access
  • Fix tab bar blur visibility and set tab width to 160px
  • Tray settings menu labels match in-app: "Open AI" → "AI Settings", "Open General" → "App Settings"

Settings

  • Polish settings UI — simplify labels, timezone selector, week start, and lab settings
  • Download button with dynamic channel selection for updates
  • Add link to local LLM setup guide in AI settings

AI & Transcription

  • Fix model reset when switching STT providers
  • Fix delete model command for local STT
  • Handle BCP47 language codes in summary template filters

Fixes

  • Fix export transcript timestamp offset for multi-transcript sessions
  • Fix auth session handling — separate Supabase sessions for desktop to prevent refresh token competition
  • Fix store initialization racing with persisters — prevents "Welcome to Char" session from disappearing on startup
  • Fix sign-in waiting screen — always show callback URL input inline
  • Fix empty sessions and template tab state transitions
  • Fix calendar timeline events (ignored, all-day types)
Read more

Calendar

  • Redesigned calendar view with week navigation, responsive grid, and event popovers
  • All-day events display and week start configuration

Chat

  • Replace feedback modal with support chat — report bugs and suggest features via chat
  • Chat can now open as a full tab
  • Slash commands in chat input for quick actions
  • Collapse search bar to icon by default, expand on click
  • Advanced search tab with filters (Meeting note, Person, Organization) and date presets (Today, This week, This month)

Keyboard Shortcuts

  • Cmd+Shift+Q to Quit Completely (restored)
  • Cmd+Shift+N to create a new note and start listening
  • Cmd+O now works when search bar is focused on empty tab

UI & Experience

  • Context menu for creating new notes and tabs (right-click in main area)
  • macOS dock right-click menu now shows "New Note"
  • Templates and chat shortcuts accessible as tabs
  • Tray menu labels now match in-app: "AI Settings", "App Settings"

Settings

  • Polish settings UI — simplify labels, timezone selector, and lab settings
  • Download button with dynamic channel selection for updates
  • Add link to local LLM setup guide in AI settings

Fixes

  • Fix STT model selection resetting unexpectedly; fix local model deletion
  • Fix export transcript timestamp offset for multi-transcript sessions
  • Fix auth session handling — separate Supabase sessions to prevent refresh token competition
  • Fix store initialization racing with persisters — prevents "Welcome to Char" from disappearing on startup
  • Fix sign-in waiting screen — always show callback URL input inline
  • Fix empty sessions and template tab state transitions
  • Fix calendar timeline events (ignored, all-day types)
  • Fix BCP47 language codes in summary template filters
  • Improve Zoom mute detection using native macOS Accessibility API
Read more

Keyboard Shortcuts

  • New Cmd+Q behavior - hold to quit overlay (inspired by Chrome), replacing the previous hide behavior

Notifications

  • Fix notification macOS glass border appearance
  • Experimental in-meeting-reminder notification - opt-in in lab settings, notifies when another app has been using your microphone for 3+ minutes while Char isn't listening

Calendar

  • New calendar view redesign - full calendar interface with week view, event popovers, and improved navigation controls
  • Context menu to unignore calendar events directly from the sidebar timeline
  • Fix refresh after-meeting rotation

Note Management

  • Cmd+Shift+N hotkey to create a new note and start listening in one action
  • Fix opening a note now switches to existing tab instead of creating a duplicate
  • Fix markdown conversion regression causing note content issues
  • Implement backlink mentions for notes, people, and companies with type badges and improved styling
  • Fix: enable Cmd+O hotkey when search bar is focused on empty tab

UI & Experience

  • Fix custom checkbox styling for MDX task lists in prose
Read more
  • New cmd+q behavior inspired by Chrome. cmd+shift+q is removed
  • Fix notification macOS glass border appearance
  • Add version number to Open Char tray menu item
  • Use dynamic product name for Main window title in Mission Control
  • Implement experimental backlink mentions for notes, people, and companies
Read more
  • Add experimental in-meeting-reminder notification.
    • Opt-in in the lab settings. Not tested much yet.
    • This will notify you when another app has been using your microphone for 3+ minutes while Char isn't listening.
  • Add context menu to unignore calendar events in the sidebar timeline
  • Add fallback for local AI models without tool calling support (e.g., Gemma via LM Studio)
  • Fix opening a note now switches to existing tab instead of creating a duplicate
  • Fix markdown conversion regression causing note content issues
  • Fix crash when removing corrupted model file after checksum mismatch
  • Fix empty sessions left behind when closing tabs
  • Fix potential crash on startup related to log directory initialization
  • Various onboarding fixes and simplification
  • Fix bug report submission failing for long reports
Read more

Note Management

  • Undo delete with 5-second countdown timer - accidentally deleted notes can be restored via the "Restore" button or Cmd+Z, with a dissolving animation showing the remaining time
  • Space hotkey for controlling audio player playback
  • Recently opened notes now appear in a "Recent" section at the top of the Open Note dialog (Cmd+O) for quick access

Settings

  • Manual timezone configuration - override the system timezone specifically for how meeting times appear in the sidebar timeline, with 18 common timezone presets
  • AI settings shortcut changed to Cmd+Shift+Comma
  • New searchable dropdown component for language and timezone selection

Calendar

  • Fix duplication of rescheduled recurring calendar events - previously, rescheduling a recurring event instance would show both old and new occurrences

AI & Transcription

  • Auto-enhance now correctly counts words across multiple transcript segments, fixing cases where short segments wouldn't trigger enhancement
  • LM Studio context length errors now show a "Learn how to fix this" link pointing to documentation with step-by-step instructions

UI & Experience

  • Tooltip with keyboard shortcut hint for sidebar toggle button
  • Hide retranscribe button during active listening to reduce visual clutter
  • Improved dropdown keyboard navigation with Tab key support and visual selection indicator
  • Dropdown selections auto-scroll to keep the selected item visible

Stability & Performance

  • Fix memory leaks from actor subscriptions and timer accumulation not being cleaned up
  • Fix high CPU usage caused by MutationObserver watching the entire document tree - now uses targeted ResizeObserver
  • Fix transcript data migration to preserve speaker hints and support multiple transcripts per session

System

  • Tauri 2.10.1
  • Major dependency updates: cpal 0.17 (audio, now using upstream instead of patched fork), reqwest 0.13, cidre 0.14 (macOS bindings), tokio-tungstenite 0.28
Read more
  • Add undo delete with visual feedback: deleted notes show dissolving animation with 5-second countdown timer, hover to pause and reveal "Restore" button, or press Cmd+Z to instantly restore
  • Add manual timezone override in Settings > Language & Region for sidebar timeline display
  • Add recently opened sessions tracking for quick access to recent notes
  • Add space hotkey for controlling audio player playback
  • Add tooltip with keyboard shortcut for sidebar toggle button
  • Rename "Language & Vocabulary" to "Language & Region" in settings
  • Improve subscription status display: show detailed status (PRO, trialing with days remaining, past due, canceled) with urgent styling when trial has 3 or fewer days
  • Improve onboarding flow: new final step that automatically starts Pro trial for eligible users
  • Improve context menu text consistency (capitalized "Open in New Tab", "Delete Note", etc.)
  • Fix "invalid Refresh Token: Already Used" error in authentication
  • Fix auto-enhance logic with proper eligibility checks (minimum 5 words required)
  • Fix transcript data migration to preserve speaker hints and support multiple transcripts per session
  • Fix duplication of rescheduled calendar events
  • Fix memory leaks and high CPU usage
  • Hide retranscribe button during active listening
  • Improve scroll behavior for dropdown selections
  • Remove trial begin/expired modals (replaced with inline status display)
  • Various upstream updates (Tauri 2.10.1)
Read more
  • Add "Open Note" action with Cmd+O shortcut to quickly search and open existing notes
  • Various upstream updates containing critical fixes (unicode handling during markdown conversion, device enumeration segfault, etc.)
Read more
  • Open Note command (Cmd+O) with search palette to quickly find and open existing notes
  • Pinned tabs now persist across app restarts

Transcript

  • Improved empty transcript state with clearer visual feedback

Feedback

  • Select issue type (bug report, feature request, question) when submitting feedback

UI & Experience

  • Meeting icons (Zoom, Meet, Teams, Webex) now load locally for better reliability
  • Tray menu "Hide" renamed to "Close All" for clarity

System

  • Fixed stale single-instance socket that was preventing app launch on macOS
  • Bumped markdown-rs to 1.0, which fixes a panic during markdown conversion containing a Unicode character
Read more
  • Smarter mic notification filtering to reduce noise
  • Fix app startup issue on macOS when stale socket exists
  • Pinned tabs now persist across app restarts
Read more
  • Add confirmation popover when closing active tabs
  • Sidebar automatically expands when search is triggered
  • Improve feedback submission flow with direct log attachment
  • Video chat link visibility adapts to editor width
  • Fix timeline sorting with fallback to event start time
  • Only show changelog after app update, not on first install
  • Rename tray menu 'Hide' to 'Close All' for clarity
Read more

Audio & Recording

  • Acoustic Echo Cancellation (AEC) eliminates the need for heuristics-based micOnly mode
  • Record microphone and speaker as separate stereo channels for cleaner audio separation
  • Recordings saved as .wav instead of .ogg for better compatibility
  • Sleep detection automatically stops recording when your laptop lid closes or system sleeps
  • Audio visualizer now uses RMS-based amplitude for smoother, more accurate loudness display
  • Improved macOS speaker capture with real-time safe buffer reuse
  • Device priority selector in audio settings
  • Fixed null pointer crash in microphone detection on macOS 26.x

AI & Speech-to-Text

  • Added Mistral as a new LLM provider
  • Added ElevenLabs as a new speech-to-text provider
  • Language support checking warns when your selected STT provider doesn't support your language
  • Show local model in Finder and delete downloaded models from AI settings
  • Improved automatic model selection for Char Cloud users
  • Better Deepgram language variant recommendations
  • Fixed custom OpenAI endpoint configuration not being respected

Editor

  • Added table support for inserting and editing tables directly in notes
  • Added search and replace with case sensitivity option
  • Cmd/Ctrl+click to open links in new tab
  • Search auto-populates from selected text
  • Improved markdown rendering styles and spacing

Attachments

  • Images saved as files in session folder instead of base64
  • Duplicate filenames automatically get numbered suffixes

PDF Export

  • Export beautiful PDFs with metadata cover page including title, date, and participants
  • PDFs save directly to Downloads folder and open automatically

Transcript

  • Regenerate transcript from existing audio files via note header
  • Optimize transcript word rendering and scrolling performance
  • Fixed partial words leaking to inactive session transcripts during live recording

UI & Experience

  • Redesigned app settings with improved layout and UX
  • Changed app font from Inter to SF Pro
  • Recording indicator overlay on dock icon while recording
  • Split floating action button into separate "Join" and "Start listening" buttons
  • Listening tab pinned to fixed left position during recording
  • Sidebar automatically expands when searching
  • Sidebar auto-scrolls to "Now" indicator on initial load
  • Expandable fields in metadata panel
  • "Open in new tab" context menu option
  • Confirmation dialog when closing active listening tabs
  • Video chat link visibility adapts to available editor width
  • Event start times displayed in timeline sidebar
  • Fixed timeline bucket sorting (weeks before months, correct chronological order)
  • Reduced toast notification delays

Contacts

  • Pinned contacts with drag-and-drop reordering
  • Duplicate contact detection with merge functionality
  • Current user pinned at top with "Me" badge
  • Preserve "me" label when merging contacts

Calendar

  • Enhanced context menu: "Open in new tab", "Reveal in Finder", "Delete completely"
  • Create calendar events from Apple Calendar integration
  • Fixed recurring event sync and recurrence series ID population
  • Fixed timezone offset causing dates to appear off by one day
  • Ignored events now persist after app restart

Data & Storage

  • Replaced sqlite-based persisters with json and markdown-based persisters

Authentication & Account

  • Auth session persists across app updates (no more re-login after updates)
  • Stay logged in when app is backgrounded
  • Fixed authentication token refresh errors
  • Pro trial auto-starts on first app launch
  • Prevent trial expired modal from interrupting onboarding
  • Show "Upgrade to Pro" for expired trials instead of disabled features
  • Auto-reset cloud STT and Char LLM settings when trial expires

Feedback & Support

  • In-app feedback modal for bug reports and feature requests via Help menu
  • Report Issue button on error page with pre-filled device info
  • Git hash display in feedback modal

System

  • Cmd+Q intercepted by default; Cmd+Shift+Q to force quit
  • Tray menu shows update download progress
  • Handle menubar "New Note" navigation correctly
  • Reordered onboarding permissions for better UX flow
Read more
  • Fix null pointer crash in mic detection
  • Rust based legacy database loader for faster startup
  • Prevent trial expired modal from interrupting onboarding flow
  • Redesign app settings with improved layout and UX
  • Add option to proceed without account during onboarding
Read more

This is an empty release caused by an automation mistake.

Read more
  • Add echo cancellation. No more heuristics-based micOnly mode which causes confusion
  • Update PDF export to include metadata cover page
  • Make cmd+q be intercepted by default, and introduce cmd+shift+q to force quit the app
  • Save recordings as .wav instead of .ogg for better compatibility with webkit
  • Show microphone and speaker as overlays in audio player inside transcript view
  • Reorder onboarding permissions for better UX flow
  • Reflect update download progress state in tray menu
  • Handle /app/new path in navigation events for menubar New Note
  • Add feature flags plugin, and hide chat button behind it
  • Migrate to streamdown v2 for AI responses
  • Fix custom OpenAI endpoint configuration not being respected
  • Implement rollback for partial folder move operations
  • Improve filename generation and conflict handling
  • Add loading spinner when refreshing plan status in account settings
  • Show "content" and "others" paths in storage settings
Read more
  • Add table support in editor

    • Insert and edit tables directly in your notes
    • Tables render with clean styling
  • Fix authentication when app is backgrounded

    • Token refresh now stays active even when the app loses focus
  • Support MP4 files in audio import

    • MP4 files can now be imported alongside other audio formats
  • Fix message deserialization error with Argmax local server

Read more
  • Split FAB into separate Join and Start listening buttons

    • When a meeting is detected, two buttons now appear: "Join (platform)" and "Start listening"
    • Join button opens the meeting URL without starting listening
    • Start listening button starts listening without opening a new tab
    • Join button hides on narrow screens to keep FAB inside note area
  • Fix image attachment crashes and improve attachment handling

    • Images are now saved as files in session folder instead of base64, preventing app freezes
    • Preserve original attachment filenames (Obsidian-style)
    • Duplicate filenames automatically get numbered suffixes (e.g., "image 1.png")
    • Switch to official TipTap image extension with block-level images
  • Make content folder migration safer

    • Content folder changes now copy data instead of moving it
    • Original folder is preserved for safety
    • Added confirmation dialog explaining the copy-only behavior
  • Fix authentication token refresh errors

    • Handle refresh_token_already_used errors properly
    • Clear invalid sessions to prevent lock timeout warnings
    • Remove duplicate deep link handler
  • Improve feedback modal

    • Add optional checkbox to attach redacted application logs
    • Logs include last 500 lines with user paths, emails, and IP addresses redacted
  • Show spinner instead of checkmark while local STT is initializing

    • Prevents confusing UI state during model initialization
Read more
  • Add sleep detection (macOS)

    • Recording automatically stops when you close your laptop lid or put the system to sleep
    • Prevents unintended recording while the system is inactive
  • Enhanced context menu for calendar events

    • Events with notes now show: "Open in new tab", "Reveal in Finder", and "Delete completely"
    • "Delete completely" removes both the event and all associated session data
    • Ignoring events without notes now automatically cleans up empty sessions
  • Fix credentials being lost after app restart

    • Session tokens now refresh automatically in the background
    • Switched to browser-native lock mechanism, eliminating spurious timeout warnings
  • Fix memory growth during long recordings

    • Removed audio data accumulation that could consume ~19GB/day of memory
    • Added bounded audio channels with backpressure to prevent unbounded memory growth
  • Fix Ollama model list not loading for remote instances

    • Model list now populates correctly when connecting to Ollama via Tailscale or other remote setups
  • Fix starting recording from enhanced view

    • Clicking "Start listening" while viewing a summary now correctly switches to raw view
  • Improved timeline event display

    • Events now use end time to determine past/future visibility
    • Event start times are displayed in the timeline sidebar
Read more
  • Support custom base through CONTENT_BASE env and lab settings

  • Fix changed tables detection in TinyBase persisters which might cause data loss

  • Persist auth session across app updates

    • Stay logged in after updating Char
  • Fix note title sync in left sidebar for event-attached sessions

    • Editing a note title attached to an event now updates the sidebar correctly
  • Preserve ignored calendar events after app restart

    • Previously ignored events stay ignored after calendar sync
  • Improve trial expiration handling

    • Show "Upgrade to Pro" for expired trials instead of "Start Free Trial"
    • Auto-reset cloud STT and Char LLM settings when trial expires
  • Fix notification settings for mic detection

    • Mic detection notifications now respect the notification_detect setting
  • Preserve 'me' label when merging contacts

    • The 'me' contact label is no longer lost when merging duplicate contacts
  • Add git hash display in feedback modal

Read more
  • Fix potential data loss from automatic stamp repair

    • Removed stamp repair logic that could incorrectly modify stored data
    • Improves data integrity during sync operations
  • Fix transcript migration for existing sessions

    • Resolves migration issues with transcript.json files
Read more
  • Fix date-fns panic errors in timeline and session metadata

    • Prevents invalid time value errors when displaying dates
    • Improves reliability of date parsing and formatting
  • Optimize transcript word rendering and scrolling performance

    • Faster rendering of transcript words during active transcription
    • Smoother scrolling experience in transcript view
  • Improve audio visualizer amplitude computation

    • Better perceived loudness using RMS (Root Mean Square) instead of peak detection
    • Logarithmic scaling that matches human hearing perception
    • Smoother animations with reduced jitter
    • Noise gate to hide background noise floor
  • Websocket connection timeout tuning

Read more
  • Add dynamic recording indicator overlay on dock icon

    • Visual indicator shows when audio recording is active
    • Recording state persists when dock icon changes during active recording
  • Add icon buttons to show model in Finder and delete model in AI settings

    • Quick access to model files from settings
    • Delete models directly from AI settings interface
  • Add in-app feedback modal for bug reports and feature requests

    • Integrated feedback system for user reports
    • Streamlined bug reporting workflow
  • Attempt to fix invalid time value errors in startup.

Read more

AI & Model Selection

  • Add ElevenLabs STT adapter support

    • Use ElevenLabs for speech-to-text transcription
  • Improve Deepgram language variant recommendations

    • Better region-specific language variant suggestions for Deepgram adapter
  • Add language normalization in adapters

    • Deduplicate languages with same ISO639 code
    • Prefer base language variants over regional variants when both are present
  • Fix hardcoded Char path in language configuration

Audio

  • Fix OGG audio generation and enable stereo output

    • Improved audio quality with proper stereo encoding
    • Fixed OGG file generation issues
  • Fix OpenAI proxy to use correct sample rate and add intent=transcription parameter

    • Ensures proper audio format for OpenAI transcription API

Transcript

  • Prevent partial words from leaking to inactive session transcripts

    • Fixes issue where incomplete words could appear in transcripts of inactive sessions
  • Prevent active listening session tab from being replaced

    • Active transcription sessions are now protected from accidental tab replacement

Data & Storage

  • Fix session loading to search recursively in subfolders

    • Sessions in nested folders are now properly discovered and loaded
  • Fix TinyBase stamp leaking issue

    • Prevents data corruption by properly flushing and syncing after local persister load
  • Fix template_id field in imported enhanced notes to prevent duplicates

    • Ensures proper template association when importing notes from previous versions

UI

  • Fix timeline bucket sorting order in left sidebar

    • Week and month buckets now display in correct chronological order
    • Future events properly sorted with weeks before months
  • Add pinned contacts with reordering support

    • Pin frequently used contacts for quick access
    • Drag and drop to reorder pinned contacts
  • Add Report Issue button to error page

    • Includes device information for easier troubleshooting
  • Fix conditional styling for skip reason text color

    • Skip reason banners now display with appropriate text color based on context

Calendar

  • Fix recurring event sync and recurrence series ID population
    • Recurring events now properly sync and maintain their series relationships

Plugins

  • Add AWS Bedrock plugin
    • List foundation models from AWS Bedrock
    • Filter models by provider, customization type, output modality, and inference type
    • Fix async AWS config loading to prevent blocking issues

Settings

  • Move base and obsidian_vaults from path2 to settings plugin
    • Consolidates path-related settings into unified settings plugin

Developer Experience

  • Refactor LLM proxy with provider abstraction

    • Extract OpenRouter-specific code into provider abstraction
    • Add e2e tests and CI workflow for LLM proxy
  • Refactor transcribe proxy

    • Add tests and reduce code duplication in relay module
    • Improve code maintainability
  • Move scroll-fade imports to @hypr/ui package

    • Better code organization and reusability
  • Refactor hooks: rename use-permissions to usePermissions

    • Consistent naming convention across codebase

Web

  • Add content admin UI
    • Manage website content including articles, changelog, and documentation
    • Browse and edit MDX files with integrated editor
Read more

Transcript

  • Add regenerate transcript feature
    • Regenerate transcriptions from existing audio files
    • Accessible from the note header

Audio

  • Improve macOS speaker capture performance

    • Make speaker capture real-time safe
    • Reuse conversion buffer for better efficiency
  • Filter out internal tap devices from audio device selection

    • Prevents internal system devices from appearing in user-facing device lists

AI & Model Selection

  • Improve model selection when using Char cloud

    • Better automatic model selection based on language and provider compatibility
  • Enhance language support checking for STT providers

    • Improved language compatibility evaluation for Deepgram and AssemblyAI adapters
    • Better language configuration handling across adapters

UI

  • Add gap between audio player and transcript for better visual separation
Read more

AI & LLM

  • Add Mistral support for LLM provider

Speech-to-Text

  • Add language support checking for STT providers
    • Check if selected provider/model supports configured languages
    • Suggest compatible providers based on selected languages
    • Show warnings when language/provider combination is not supported

Settings

  • Apply system language defaults on settings load

UI

  • Move chat trigger up when audio timeline is visible

Fixes

  • Fix timeline date parsing to use local timezone instead of UTC
  • Fix importer failing when encountering null words
Read more

Data & Storage

  • Add migration for transcript file naming (_transcript.jsontranscript.json)
Read more

Audio & Settings

  • Add audio priority selector in settings
  • Add audio section in settings
  • Fix listen mode heuristic around headphones with wrong terminal type
  • Increase speaker buffer size for better audio quality
  • Fix missing permission for detect plugin

Data & Storage

  • Replaced sqlite-based persisters with json and markdown-based persisters
  • Avoid accidental data loss on load failure
  • UUID folder migration for better data organization

UI & Navigation

  • Expandable fields in metadata panel
  • Swap Inter for SF Pro fonts
  • Add "Open in new tab" context menu option
  • Force pin listening tab with fixed left section
  • Scroll left sidebar to 'now' indicator on initial load
  • Add 'coming soon' tooltips to unimplemented features
  • Show chat coming soon indicator

AI

  • Add display name for Char auto model
  • Add toast notification for logged-out users with Pro models configured
  • Enable dismissing AI onboarding toast
  • Add congratulatory modal when pro trial begins

Authentication

  • Preserve auth session by saving store on app exit
  • Enhance authentication flow with redirect handling

Calendar

  • Parse date strings as local time to fix timezone offset

Performance

  • Optimize scroll fade performance and memoize overlay
  • Improve title input with local state management
  • Reduce delay for toast appearance
  • Move amplitude observation to ingest time for faster visualization
Read more

Char 1.0.1 brings significant improvements to plugin architecture, data management, and overall user experience.

Calendar Integration

  • Display calendar event info in metadata chip
    • Show video icon and truncated event title
    • Display event details including title, location, meeting link, and date/time
    • Add Join button for meeting links

Auto-Enhancement & Title Generation

  • Automatically switch to summary tab and start summarizing when listening stops
  • Re-trigger summarization even if summary already exists
  • Require minimum words before auto-enhancement triggers
  • Show dismissible consent banner when listening starts (fades out after 5 seconds)
  • Display skip reason banner when auto-enhance is skipped
  • Prevent unnecessary title regeneration when switching tabs
  • Restore focus to memos editor when switching tabs during meeting

Plugins

  • Consolidate export, frontmatter, and folder plugins into unified fs-sync plugin

    • Move folder operations to fs-sync plugin
    • Move export functionality to fs-sync plugin
    • Move frontmatter operations to fs-sync plugin
    • Add audio operations (delete, exist, import, path) to fs-sync plugin
    • Add chat directory, entity directory, and scan utilities to fs-sync plugin
    • Add orphan cleanup commands (cleanup_orphan_dirs, cleanup_orphan_files)
  • Add apple-contacts plugin

    • Implement Apple Contacts integration for importing contacts
    • Add import command for batch importing contacts

Persistence & Storage

  • Major persister consolidation and refactoring
    • Merge note and transcript persisters into single session persister
    • Add chat shortcuts persister for storing chat shortcuts
    • Remove memories feature and related code
    • Refactor persister utilities into shared factories
    • Add factory helpers for JSON file and markdown directory persistence
    • Add generic transforms in human persister
    • Add values persister for key-value pairs
  • Store transcript words inline instead of separate table
  • Store array fields as JSON instead of comma-separated strings
  • Move language settings to top-level 'language' key
  • Remove extension_state and ai_providers from main store

Search & Indexing

  • Tantivy search engine improvements
    • Refactor to consolidate search args into SearchRequest struct
    • Phase 1 foundation fixes for better search infrastructure
    • Phase 2 feature parity with Orama search capabilities
    • Add advanced search features including filters and sorting
    • Improve batching, concurrency, and index versioning

Audio & Devices

  • Add DeviceListChanged event for device connect/disconnect detection
  • Fix wrong sample rate returned from audio buffer
  • Add com.apple.Sound-Settings.extension to microphone detection exclusion list
  • Add error propagation from STT adapters
    • Improve error handling in Argmax, AssemblyAI, Fireworks, Gladia, OpenAI, and Soniox adapters
    • Better error reporting in listener actor

Speech-to-Text

  • Fix Deepgram language configuration
  • Remove unsupported detect_language option from Deepgram streaming
  • Don't force accordion in STT config UI

Editor

  • Add resizable image extension to Tiptap editor
    • Resize handles with hover effects
    • Preserve custom attachmentId attribute

Data Import

  • Add Templates import to Char importer (supports v0 stable and nightly)
  • Refactor importer plugin with simplified import flow
  • Remove LIMIT in session queries for better import handling
  • Remove auto import on app startup
  • Remove data tab from main navigation (consolidated into settings)
  • Update data import UI in settings
  • Fix path display and reveal behavior for Char sources
  • Improve legacy HTML-to-markdown conversion
  • Use Tiptap native markdown conversion for better parsing

Performance

  • Implement incremental persister save optimization using content hashing
  • Optimize TinyBase store by inlining nested words

Meeting View

  • Prefer listener view when re-entering a meeting

macOS Notification

  • Improve progress bar animation with correct pause/resume behavior
  • Move progress bar to bottom of notification

Fixes

  • Fix edge-case for is_builtin_display_inactive on macOS
  • Compute Ollama Origin header from baseUrl to fix Forbidden error
  • Simplified error UI with single "Restart App" button
  • Read AI language from settings store instead of main store
  • Normalize bullet points (•) to dashes (-) in AI summaries
  • Better Sentry config with user-id tracking
  • Improve accessibility for tab button interaction
Read more

Calendar Integration

  • Display calendar event info in metadata chip
    • Show video icon and truncated event title
    • Display event details including title, location, meeting link, and date/time
    • Add Join button for meeting links

Auto-Enhancement

  • Automatically switch to summary tab and start summarizing when listening stops
  • Re-trigger summarization even if summary already exists

Audio & Devices

  • Add DeviceListChanged event for device connect/disconnect detection
  • Fix wrong sample rate returned from audio buffer
  • Add com.apple.Sound-Settings.extension to microphone detection exclusion list

Speech-to-Text

  • Fix Deepgram language configuration
  • Remove unsupported detect_language option from Deepgram streaming
  • Don't force accordion in STT config UI

Data Import

  • Improve legacy HTML-to-markdown conversion
  • Use Tiptap native markdown conversion for better parsing

Fixes

  • Read AI language from settings store instead of main store
  • Normalize bullet points (•) to dashes (-) in AI summaries
  • Better Sentry config with user-id tracking
Read more

Meeting View

  • Prefer listener view when re-entering a meeting

Data Import

  • Fix path display and reveal behavior for Char sources
  • Store transcript words inline instead of separate table

macOS Notification

  • Improve progress bar animation with correct pause/resume behavior
  • Move progress bar to bottom of notification
Read more

Auto-Enhancement & Title Generation

  • Require minimum words before auto-enhancement triggers
  • Show dismissible consent banner when listening starts (fades out after 5 seconds)
  • Display skip reason banner when auto-enhance is skipped
  • Prevent unnecessary title regeneration when switching tabs
  • Restore focus to memos editor when switching tabs during meeting

Editor

  • Add resizable image extension to Tiptap editor
    • Resize handles with hover effects
    • Preserve custom attachmentId attribute

Data Import

  • Add Templates import to Char importer (supports v0 stable and nightly)
  • Refactor importer plugin with simplified import flow
  • Remove LIMIT in session queries for better import handling
  • Remove auto import on app startup
  • Remove data tab from main navigation (consolidated into settings)
  • Update data import UI in settings

Performance

  • Implement incremental persister save optimization using content hashing
  • Optimize TinyBase store by inlining nested words
  • Improve Tantivy search batching, concurrency, and index versioning

Fixes

  • Compute Ollama Origin header from baseUrl to fix Forbidden error
  • Simplified error UI with single "Restart App" button

Other

  • Store array fields as JSON instead of comma-separated strings
  • Move language settings to top-level 'language' key
  • Add values persister for key-value pairs
  • Remove extension_state and ai_providers from main store
  • Improve accessibility for tab button interaction
Read more

Plugins

  • Consolidate export, frontmatter, and folder plugins into unified fs-sync plugin

    • Move folder operations to fs-sync plugin
    • Move export functionality to fs-sync plugin
    • Move frontmatter operations to fs-sync plugin
    • Add audio operations (delete, exist, import, path) to fs-sync plugin
    • Add chat directory, entity directory, and scan utilities to fs-sync plugin
    • Add orphan cleanup commands (cleanup_orphan_dirs, cleanup_orphan_files)
  • Add apple-contacts plugin

    • Implement Apple Contacts integration for importing contacts
    • Add import command for batch importing contacts

Persistence & Storage

  • Major persister consolidation and refactoring
    • Merge note and transcript persisters into single session persister
    • Merge persister/note into persister/session
    • Add chat shortcuts persister for storing chat shortcuts
    • Remove memories feature and related code
    • Refactor persister utilities into shared factories
    • Add factory helpers for JSON file and markdown directory persistence
    • Move frontmatter loading to fs-sync plugin
    • Add generic transforms in human persister
    • Move scan utils into fs-sync plugin

Search & Indexing

  • Tantivy search engine improvements
    • Refactor to consolidate search args into SearchRequest struct
    • Phase 1 foundation fixes for better search infrastructure
    • Phase 2 feature parity with Orama search capabilities
    • Add advanced search features including filters and sorting

Audio & Transcription

  • Add error propagation from STT adapters
    • Improve error handling in Argmax, AssemblyAI, Fireworks, Gladia, OpenAI, and Soniox adapters
    • Better error reporting in listener actor

Bug Fixes

  • Fix edge-case for is_builtin_display_inactive on macOS

Developer Experience

  • Add changelog workflow for automated changelog generation
  • Add clean-plugins utils for plugin management
Read more

v1.0.0

We're excited to announce Char 1.0.0, our first stable release! This release consolidates all the improvements from our nightly builds into a polished, production-ready experience.

Platform Support

  • macOS support for Apple Silicon (aarch64) and Intel (x86_64)
  • Linux support with AppImage and .deb distributions
  • Standardized artifact naming with architecture info

Speech-to-Text Providers

  • Deepgram - Full support with API key validation and keyword handling
  • Gladia - Complete support with code switching, partial transcripts, multi-channel audio, custom vocabulary, and speaker diarization
  • OpenAI - Realtime and batch transcription
  • AssemblyAI - Streaming and batch transcription
  • Soniox - STT provider support
  • Whisper Large V3 - Local STT option
  • Language detection and multi-language support across providers

AI & LLM Support

  • Google Generative AI provider
  • OpenAI and Anthropic model providers
  • Ollama support with CORS fix
  • LLM configuration error rendering in editor

Audio & Recording

  • Scrolling waveform visualization in the listen button
  • Fixed recording issues with headphones (sample rate, distortion)
  • VAD (Voice Activity Detection) improvements with continuous masking
  • AGC (Automatic Gain Control) with VAD integration
  • Dual-websocket mode for multichannel support with local STT
  • 24k sample-rate on macOS to minimize resampling
  • Linux audio support via PulseAudio with headphone detection

Search & Indexing

  • Tantivy-based full-text search replacing Pagefind
  • Language detection and language-aware tokenization
  • Multi-collection indexing for scalable search
  • Search results with highlighted matches

Folder Management

  • Create, rename, delete, and move sessions between folders
  • Reveal session in Finder
  • Folder detection based on directory structure

Export

  • PDF export with typst-based formatting
  • JSON export with batch support
  • VTT export with speaker information
  • Transcript export improvements
  • Tab-aware export menu (memo, enhanced, transcript)

Editor

  • Tiptap document JSON validation
  • List navigation and backspace behavior improvements
  • Tab and shift-tab support for list indentation
  • Prompt editor with readonly ranges support
  • 20x faster tiptap JSON to markdown export with custom Rust implementation

Chat

  • Dedicated chat editor with slash command support
  • Chat trigger on hover near bottom
  • Resizable chat window

Settings

  • Unified settings.json configuration
  • Prompt, shortcut, template, and extensions tabs
  • Custom template support
  • App settings organized into tabs

Window & UI

  • Window size based on screen size
  • Persistent window position and size across restarts
  • macOS traffic light button positioning
  • Native menu support
  • Keyboard shortcuts for tab navigation
  • Tab restore functionality
  • Progressive blur effect at scroll ends
  • Responsive search with manual expansion
  • 20% rendering optimization for long transcripts
  • Fancy NotFound and ErrorBoundary components

Onboarding

  • Redesigned onboarding experience with background music
  • Free trial support
  • Auto model and provider selection for Pro trial
  • Back navigation in permissions and configuration screens

Updates & Distribution

  • OTA (Over-the-Air) updates with cache support
  • Tray menu with update check, status dialogs, and settings
  • Changelog tab shown automatically after updates
  • CLI update command
  • Homebrew distribution

Notifications

  • macOS notification enhancements
  • Notification collapse animation
  • Auto-start trigger improvements

Plugins

  • JS Plugin - JavaScript code evaluation via rquickjs
  • Notify Plugin - Filesystem watching with debouncing
  • Overlay Plugin - Floating controls with click-through behavior
  • Hooks Plugin - Event handling with 5-second timeout for user scripts
  • Listener2 Plugin - Batch and subtitle functionality
  • Updater2 Plugin - Update check functionality
  • Deeplink2 Plugin - Type-safe deep link handling
  • Network Plugin - Network availability monitoring

Calendar

  • Calendar picker UI with permission handling
  • Contact view opens in new tab when clicking participant chip

CLI

  • Experimental CLI support
  • CLI installer in app menu
  • --help and --version flags

Developer Experience

  • Deno-powered extensions runtime with iframe-based isolation
  • Separate devtool window
  • E2E tests using Linux WebDriver
  • PostHog analytics fixes
  • Sentry monitoring integration

Other Improvements

  • Prevent closing tab or quitting app during active listening
  • Session failure error surfacing in listen button tooltip
  • Disable listen button when offline with non-local model
  • Title generation after meetings
  • Inline codeblock wrapping
  • Sound effects playback fixes
  • Keyboard navigation improvements
Read more

Search & Indexing

  • Replace Pagefind plugin with Tantivy-based full-text search plugin
    • Implement Tantivy search engine as Orama replacement for better performance and scalability
    • Add language detection and language-aware tokenization for improved search accuracy
    • Support multi-collection indexing for scalable search across different document types
    • Merge search and search_fuzzy into single unified search function with options
    • Simplify API to expose only search and reindex commands
    • Refactor tantivy and language crates for better organization
    • Improve orphan removal error handling in search index

Folder Management

  • Add new folder plugin for organizing sessions
    • Implement folder operations: create, rename, delete, and move sessions between folders
    • Add unified folder operations layer for bidirectional persistence
    • Remove _default folder concept - sessions without folders now live directly under sessions/
    • Add folder migration persister to handle legacy folder structure
    • Implement folder detection based on directory structure (folders don't contain _meta.json)
    • Add reveal session in finder command

Persistence & Storage

  • Major persister refactoring
    • Refactor with createSessionDirPersister helper for consistent session directory handling
    • Add createSingleTablePersister helper for simpler single-table persistence
    • Migrate existing persisters to use new helper functions
    • Refactor local persister, folder persister, chat persister, setting persister
    • Refactor calendar and event persisters with store merging
    • Remove PersisterMode enum
    • Remove legacy enhanced_md from session store
    • Add per-path content hashing to reduce unnecessary file writes
    • Fix folder persistence issues and add missing save-only persisters

Plugins

  • Add JS plugin with eval command using rquickjs

    • Enable JavaScript code evaluation from Rust backend
    • Useful for scripting and automation
  • Add notify plugin for filesystem watching

    • Implement filesystem change notifications with debouncing
    • Add start/stop commands for watching file changes
    • Emit FileChanged events when files are modified
    • Add default permission set for notify plugin
  • Add overlay plugin extracted from windows plugin

    • Implement overlay window functionality for floating controls
    • Add fake window bounds tracking for click-through behavior
    • Support overlay listeners with configurable options
  • Remove pagefind plugin (replaced by tantivy)

Export

  • Add JSON export support in export plugin
    • Support exporting sessions and data as JSON format
    • Add exportJsonBatch command for batch JSON exports
    • Make overflow menu export tab-aware (memo, enhanced, transcript)

UI & UX Improvements

  • Chat UI design cleanup

    • Polish empty view appearance
    • Show chat trigger when hovering near bottom
    • Improve chat input UI and interactions
    • Update chat window minimum width
    • Resize window on right chat toggle
  • Profile menu improvements

    • Polish expandable profile menu
    • Remove keyboard shortcuts from profile menu items
  • Settings improvements

    • Add tabs to app settings tab
    • Add trial expiration modal in dev panel
  • Notification improvements

    • Refactor notification-macos with rustbridge
    • Reorganize Swift file structure for better maintainability
    • Add macOS notification enhancement with serialized arg passing
    • Adjust close button in notification and add timer
    • Fix notification collapse animation
    • Fix notification UI and auto-start trigger
    • Make path relative in notify event
  • Title generation

    • Add title generation button
    • Improve auto-title generation
    • Update title generation prompt
    • Generate title after meeting
  • Other UI improvements

    • Fix inline codeblocks to wrap instead of overflow
    • Surface session failure error in listen button tooltip
    • Disable listen button when offline with non-local model
    • Add root supervisor in listener for better session failure handling

Audio & Transcription

  • Note enhancing changes
  • Various refactors in audio actor system

Control Window

  • Add overlay plugin architecture improvements
  • Add Control window UI for quick access to recording controls
  • Add widget expand/collapse functionality to control window
  • Various control window visibility groundwork

Developer Experience

  • Write AGENTS.md to base directory on app startup
  • Add permission check troubleshooting utils in frontend and dev
  • Preserve inner tab scroll; skip transcript restore during meetings

Other Improvements

  • Improve orphan removal error handling
  • Various refactors and code cleanup
  • Fix tests and improve error handling
Read more
  • Fix file upload and batch transcription.
  • Various refactors in audio actor system.
  • Fix outdated navigation event from tray icon.
  • Fix session deletion logic.
  • Improve WebSocket error handling. E.g. no retry on auth error.
  • Keyboard navigation improvements.
  • Other UI improvements and refactors.
Read more
  • Fix search results to display proper UI with highlighted matches instead of raw JSON.
  • Hide floating action buttons (FABs) when typing near the bottom of the editor.
  • Fix native menu item panic and action handling.
  • Fix most of the problems existing in the onboarding flow.
  • Enable the open -a "Char Staging" --args --onboarding $(date +%s) command for reliable QA in staging environment.
Read more
  • Fix race condition in Windows command operations.
  • Refine template rendering, including proper output language instructions.
Read more
  • Fix onboarding freeze issue.
  • Separate data folder for staging environment.
Read more
  • Add calendar picker UI with permission handling.
  • Improve templates tab view.
  • Add draggable header region to error and 404 screens.
  • Add scroll fade overlay for better scrolling UX.
  • Open contacts view in new tab when clicking participant chip.
  • Add speaker information to VTT export.
  • Fix traffic light position.
  • Fix sound effects playback issues.
  • Migrate to TinyBase 7.3.
Read more
  • Fix fatal error around keywords handling for Deepgram and Gladia.
  • Optimize tiptap json to markdown export performance by 20x with custom rust implementation.
  • Await beforeListeningStarted hook before starting session.
  • Add 5 second timeout for user-provided hook scripts.
Read more
  • New onboarding experience with background music.
  • Add PDF export with typst-based formatting.
  • Fix transcript export.
  • Add tab restore functionality.
  • Add keyboard shortcuts for tab navigation and new tabs.
  • Show keyboard shortcut badges on sidebar menu items.
  • Add progressive blur effect at scroll ends in AI view.
  • Use native menu.
  • Fix spoken language configuration for live STT.
  • Migrate from Typescript to Rust for Char Cloud Proxy.
Read more
  • Fix OTA update check interval.
Read more
  • Remove react-scan that was accidentally included in the production build.
  • Add OTA updates installed from cache.
Read more

Session

  • Prevent closing tab during active listening.
  • Prevent quitting app during live session.
  • Add Deepgram API key validation.

Window

  • Fix window sizing validation.
  • Add min/max size caps to prevent oversized windows.
  • Fix traffic light position for macOS.

Others

  • Rendering optimizations for long transcript. (around 20% improvement)
  • Responsive search with manual expansion.
  • Various UI fixes and refactors.
Read more

Notification

  • Fix handlers for notification events.

Window

  • Window size is now decided based on the screen size.
  • Window position and size are now persisted across restarts.
  • Traffic lights are now positioned correctly across different macOS versions.

Others

  • Mostly UI fixes and refactors.
Read more

Onboarding

  • Auto set model and provider when Pro trial is enabled during onboarding.

Others

  • Fix auto-update flow.
  • Fix deep-link event registration.
  • Fix small UI issues.
Read more

Onboarding

  • Redesign onboarding UI.
  • Add back navigation to permissions and configuration screens.
  • Fix onboarding login flow.

Editor

  • Improve list navigation and backspace behavior.
  • Add tab and shift-tab support for list indentation.

Others

  • Add sub-menus to settings menu in tray.
Read more

OTA

  • Extract update check functionality into a new updater2 plugin.
  • Add "Check for Updates" and "Settings" menu items to the tray with icons and status dialogs.
  • Add update command to CLI.
  • Add new updater behaviors and UI, including a 3-state conditional update menu in the tray.
  • Show changelog tab automatically after app update.

Settings

  • Replace Settings window with multiple dedicated tabs for better organization and user experience.
  • Implement unified settings.json by merging hooks.json into settings.json with top-level merging.

Others

  • Fixed Homebrew distribution.
  • Conditionally hide tab chat button based on tab type.
  • Add refresh button to model combobox when list is empty.
  • Improve transcript auto-scroll behavior when user scrolls up.
  • Fix handling of stale sessions on app launch and during sign out.
  • Remove email login functionality.
  • Add Lithuanian language support.
  • Add Pro icon and runtime dock icon modification.
  • Adjust traffic light position for better macOS window controls alignment.
  • Update ONNX runtime to latest version.
  • Add autocorrect=off attribute to disable browser autocomplete in editors.
  • Various UI fixes and improvements.
Read more
  • Add app info to MicStopped event, so that the app ignored list can also be applied to MicStopped events, consistent with MicStarted events.
  • Fix store data loading from disk in non-main windows (e.g., Settings), eliminating a 1-2 second delay.
  • Fix analytics app_version to use the APP_VERSION environment variable.
  • Add scrolling waveform visualization showing audio amplitude in the listen button.
Read more
  • Add Export Transcript menu item to session overflow menu.
  • Extract device-heuristic crate with improved channel mode detection for audio devices.
  • Remove unused calendar crates (outlook, google) and inline apple-calendar crate.
  • Remove large unused dependencies (kalosm, graph-rs-sdk, apalis-sql) for smaller builds.
  • Fix PostHog analytics (stale API key, empty version)
Read more
  • Implement free trial support in desktop app with new onboarding flow.
  • Add full Gladia STT support with code switching, partial transcripts, multi-channel audio, custom vocabulary, and speaker diarization.
  • Fix hooks plugin functionality and improve event handling.
  • Introduce keys.json for better state management in TinyBase store.
  • Improve profile name rendering in sidebar.
Read more
  • Fix Ollama CORS error by adding Origin header for requests.
  • Use different deeplink schema per bundle for proper app routing.
  • Apply clippy fixes to Rust crates (whisper-local, analytics, vvad, buffer, llama).
  • Fix onboarding flow issues.
Read more
  • Unify VAD logic with StreamingVad for better audio processing.
  • Fix batch audio processing bugs in listener2 plugin.
  • Update onboarding flow with new model selection.
  • Fix release name for Sentry monitoring.
Read more
  • Add Gladia STT provider with realtime and batch transcription support.
  • Add OpenAI STT provider with realtime and batch transcription support.
  • Add prompt, shortcut, template, and extensions tabs in settings.
  • Add custom template support to template plugin.
  • Update DMG background image for macOS installer.
  • Small UI fixes.
Read more
  • Add .deb build for Linux x86_64.
  • Add network availability monitoring plugin.
  • Add NetworkContext for network status in desktop app.
  • Add dedicated chat editor with slash command support.
  • Add AssemblyAI adapter for streaming and batch transcription.
  • Add main language configuration support.
  • Add fancy NotFound and ErrorBoundary components with animations.
  • Skip permissions step in onboarding on Linux.
  • Improve language support in Deepgram-compatible adapters.
  • Refactor STT adapter selection.
  • Fix model download issues.
  • Small Linux fixes.
Read more
  • Add Intel macOS (x86_64) support.
  • Add Deno-powered extensions runtime with iframe-based isolation and TinyBase sync.
  • Add calendar extension. (not included yet)
  • Add VTT export functionality to listener2 plugin.
  • Add macOS-style traffic light buttons for Linux.
  • Add Whisper Large V3 support to STT settings.
  • Add Soniox STT provider.
  • Remove native titlebar on Linux for custom titlebar support.
  • Improve STT health check status in listen button.
  • Improve language handling per STT adapter.
  • Fix Linux notification window issue.
  • Fix deeplink for Linux.
  • Fix infinite loop in TranscriptContainer selectors.
Read more
  • Remove memory settings from preferences.
  • Fix macOS audio tap.
  • Fix CLI --help and --version flags handling.
  • Add listener2 plugin with batch and subtitle functionality.
Read more
  • Fix AGC with VAD and config modification.
  • Add Linux implementation for app listing features and device monitoring using PulseAudio.
  • Add Linux headphone detection support for automatic channel mode switching.
  • Dynamic linking ONNX runtime for improved performance.
  • Replace alphabetic speaker labels (A, B, C) with numeric indexing (1, 2, 3) for unknown speakers.
  • Add streaming state to VadAgc for cross-call framing.
  • Ensure Summary tab always renders when transcript exists.
  • Add dual-websocket mode as multichannel workaround for local STT providers.
  • Add prompt editor with readonly ranges support.
  • Improve Linux system audio permission check.
  • Fix audio autoplay issues by adding URL guard in AudioPlayerProvider.
  • Implement continuous VAD masking for microphone stream.
  • Add deeplink2 plugin for type-safe deep link handling.
  • Fix shutdown handling during realtime audio and await control sends.
  • Fix duplicated enhanced tab and enhance streaming UI.
  • Add amplitude floor in VAD masking.
  • Add root supervisor in desktop app.
  • Enhance transcript store with partial hints preservation and channel-aware speaker hints.
Read more
  • Add "Show in Finder" option to overflow menu.
  • Fix recording issues when using headphones. (Wrong sample rate, Distorted recording)
  • Add CLI installer in app menu.
  • Fix sample drop in resampler on rate change boundary.
  • Add basic E2E tests using Linux WebDriver.
  • Initial Linux support with AppImage distribution. (Not functional yet)
  • Standardize artifact naming with architecture info (hyprnote-macos-aarch64.dmg, hyprnote-linux-x86_64.AppImage).
Read more
  • 1.0.0-nightly.5 add experimental CLI, which breaks the app in release builds. This release fixes the issue.
Read more
  • Show only version string for OTA status.
  • Use 24k sample-rate in macOS to minimize resampling.
  • Prevent drag-and-drop by default.
  • Add experimental CLI support.
Read more
  • Add Google Generative AI provider support.
  • Fix OpenAI and Anthropic model provider support.
  • Add separate window for devtool.
  • Add LLM config error rendered in editor area.
  • Introduce hooks plugin.
Read more
  • Validate Tiptap document JSON before initializing editor.
Read more
  • Fix app icon padding.
Read more