Changelog

Track every update, improvement, and fix to Hyprnote

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 existed 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
  • 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
  • Initial release.
Read more