Releases: braden-w/whispering
Releases · braden-w/whispering
App v4.5.3
See the assets to download this version and install.
What's Changed
- feat: bulk copy recordings by @braden-w in #157
- refactor: bubble up errors in create_options_dictionary by @braden-w in #159
Full Changelog: v4.5.2...v4.5.3
App v4.5.2
App v4.5.1
See the assets to download this version and install.
What's Changed
- refactor: use svelte 5 children instead of slot in layout by @braden-w in #146
- feat: move button alignment in layout to right by @braden-w in #147
- fix: accessibility entitlements by @braden-w in #148
- feat: hide selected row numbers in mobile by @braden-w in #149
Full Changelog: v4.5.0...v4.5.1
App v4.5.0
See the assets to download this version and install.
What's Changed
- major fix: restore missing relay, working loading options page by @braden-w in #136
- feat: standardize toggle, cancel, and destroy stream buttons by @braden-w in #138
- fix: mobile responsiveness by @braden-w in #139
- fix: reinitialize stream every time selectedAudioinputDeviceId changes by @braden-w in #140
- feat: link to openai keys by @braden-w in #141
- fix: add openai link to extension settings, prevent form submission until api key is provided by @braden-w in #142
- refactor: inline ToastService and ToastServiceLive into just toast by @braden-w in #143
- fix: loading toasts duration infinity, different durations based on variant by @braden-w in #144
Full Changelog: v4.4.0...v4.5.0
App v4.4.0
See the assets to download this version and install.
What's Changed
- docs: README updates by @braden-w in #131
- fix: ensure open accessibility button works by @braden-w in #132
- feat: loading toast for getting stream of audio input device by @braden-w in #133
- feat: attempt to reuse MediaStream until user closes stream by @braden-w in #134
Full Changelog: v4.3.0...v4.4.0
App v4.3.0
App v4.2.1
App v4.1.2
See the assets to download this version and install.
Full Changelog: v4.1.1...v4.1.2
App v4.1.1
See the assets to download this version and install.
Full Changelog: v4.1.0...v4.1.1
App v4.0.0
Whispering 4.0 Changelog (Complete Overhaul, Svelte 5 Migration, Extension Messaging Rewrite)
App
The Whispering website and desktop apps have had a facelift:
- Recordings Page: The app now features a dedicated recordings page, allowing users to view all recordings in a data table format powered by
tanstack-table
and make necessary edits. - Retry Transcriptions: Users can now retry transcriptions that may have failed, addressing a highly requested feature.
- Error Handling: Rewritten logic to incorporate the
Effect.ts
library to capture errors and bubble them up as toasts to the users. - Notifications: Notifications indicate status of transcriptions and recording status via Tauri's notifications or Chrome's notification API via extension background service worker.
- Performance Enhancements: Implemented general performance improvements for a smoother experience.
- Tray Icon: Tray icon in background or extension icons indicates status of recording.
Desktop specific features:
- Global Keyboard Shortcut: Revamped global keyboard shortcut that functions reliably.
- Bug Fixes: Resolved the issue where the app would automatically display every time it was activated.
- Website Features: All website features ported to desktop. It is now a strict superset of features.
- Stable Paste: Paste after transcription feature is stable with the help of
enigo
crate in Rust.
Website specific features:
- Extension Communication: The website will detect and attempt to send messages to the Whispering extension, centralizing notification logic. More on that below.
Extension
- Extension API Overhaul: Removed per-page content scripts for recording in favor of communicating with the Whispering.com tab for actual recording and settings. This simplifies the logic tremendously. The settings are shared and there is exactly one source of truth.
- The website attaches toggle recording and cancel recording functions to the window object. The content script in the main world can trigger the
window.toggleRecording
orwindow.cancelRecording
functions. - On trigger, the extension ensures there is always exactly one active, undiscardable Whispering tab that is pinned in the background to conduct communications and minimize confusion.
- The website attaches toggle recording and cancel recording functions to the window object. The content script in the main world can trigger the
Technology Stack Updates
- Migration to Svelte 5: Migrated the entire app to Svelte 5, enhancing readability and performance.
- Chrome Extension Rebuild: Rebuilt the Chrome extension using React due to the lack of support for Svelte 5. The majority of the extension remains logic-based, with minimal React scripts.