Changelog

Track every update, improvement, and fix to Hyprnote

Stable

1.0.2

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 Hyprnote 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 Hyprnote 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
Beta#15

1.0.2

  • 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
Beta#14

1.0.2

This is an empty release caused by an automation mistake.

Read more
Beta#13

1.0.2

  • 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
Beta#12

1.0.2

  • 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
Beta#11

1.0.2

  • 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
Beta#10

1.0.2

  • 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
Beta#9

1.0.2

  • 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 Hyprnote
  • 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 Hyprnote 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
Beta#8

1.0.2

  • 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
Beta#7

1.0.2

  • 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
Beta#6

1.0.2

  • 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
Beta#5

1.0.2

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 hyprnote 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
Beta#4

1.0.2

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 hyprnote 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
Beta#3

1.0.2

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
Beta#2

1.0.2

Data & Storage

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

1.0.2

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 Hyprnote 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
Stable

1.0.1

Hyprnote 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 Hyprnote 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 Hyprnote 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
Beta#4

1.0.1

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
Beta#3

1.0.1

Meeting View

  • Prefer listener view when re-entering a meeting

Data Import

  • Fix path display and reveal behavior for Hyprnote 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
Beta#2

1.0.1

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 Hyprnote 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
Beta#1

1.0.1

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
Stable

1.0.0

v1.0.0

We're excited to announce Hyprnote 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
Beta#32

1.0.0

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
Beta#31

1.0.0

  • 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
Beta#30

1.0.0

  • 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 "Hyprnote Staging" --args --onboarding $(date +%s) command for reliable QA in staging environment.
Read more
Beta#29

1.0.0

  • Fix race condition in Windows command operations.
  • Refine template rendering, including proper output language instructions.
Read more
Beta#28

1.0.0

  • Fix onboarding freeze issue.
  • Separate data folder for staging environment.
Read more
Beta#27

1.0.0

  • 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
Beta#26

1.0.0

  • 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
Beta#25

1.0.0

  • 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 Hyprnote Cloud Proxy.
Read more
Beta#24

1.0.0

  • Fix OTA update check interval.
Read more
Beta#23

1.0.0

  • Remove react-scan that was accidentally included in the production build.
  • Add OTA updates installed from cache.
Read more
Beta#22

1.0.0

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
Beta#21

1.0.0

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
Beta#20

1.0.0

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
Beta#19

1.0.0

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
Beta#18

1.0.0

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
Beta#17

1.0.0

  • 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
Beta#16

1.0.0

  • 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
Beta#15

1.0.0

  • 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
Beta#14

1.0.0

  • 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
Beta#13

1.0.0

  • 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
Beta#12

1.0.0

  • 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
Beta#11

1.0.0

  • 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
Beta#10

1.0.0

  • 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
Beta#9

1.0.0

  • 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
Beta#8

1.0.0

  • 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
Beta#7

1.0.0

  • 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
Beta#6

1.0.0

  • 1.0.0-nightly.5 add experimental CLI, which breaks the app in release builds. This release fixes the issue.
Read more
Beta#5

1.0.0

  • 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
Beta#4

1.0.0

  • 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
Beta#3

1.0.0

  • Validate Tiptap document JSON before initializing editor.
Read more
Beta#2

1.0.0

  • Fix app icon padding.
Read more
Beta#1

1.0.0

  • Initial release.
Read more