This is a substantial release, and it marks Handy being roughly feature complete as we move towards V1.
In this release, there are some big features like transcribing audio files, auto language detection for all of the transcription models we support, a brand new onboarding flow, and starting to redesign some of the UI. There are a ton more quality of life improvements and small little details that hopefully you'll enjoy as well.
The coming releases will be addressing issues and stability. From here on out, you shouldn't expect too many new features from Handy, but you should expect the app to become more beautiful and stable.
Given there's a lot of new features, likely there will be some new issues, and we will address those in the rest of this release, and it will wrap us up and bring us to V1. A massive, massive thank you to all the contributors, for this release. A ton of PRs have came in, and really appreciate people submitting fixes and continuing to help the app improve.
What's Changed
- Use Handy icon for Windows NSIS installer by @MikaKrul in #2117
- fix: refresh custom sounds when opening sound selector by @MikaKrul in #1941
- transcribe 0.3.0 by @cjpais in #2203
- Docs/ubuntu 26 04 gnome wayland troubleshooting by @henderson-01 in #2206
- docs: add overlay, wl-clipboard and non-QWERTY paste notes to the Ubuntu notes by @B-Galati in #2212
- fix(portable): retain access to legacy model cache by @leongrphc in #2116
- isolate transcribe.cpp backend in own worker by @cjpais in #2208
- fix: show that the model is loading instead of a stuck "Transcribing..." by @maurild14 in #2227
- docs: keep translation contribution guidance aligned with supported locales by @johnjheejin in #2235
- fix(linux): allow renderer opt-out without dropping crash protection by @cjpais in #2249
- transcribe 0.4.0 by @cjpais in #2265
- move to handy-recorder by @cjpais in #2188
- transcribe.cpp vad by @cjpais in #2267
- feat: support Anthropic Messages API format in the Custom post-processing provider by @diligentpig in #2257
- fix: avoid duplicate history rows during live updates by @johnjheejin in #2256
- fix: expose setting names to screen readers by @johnjheejin in #2238
- add ui to migrate onnx model users to gguf by @cjpais in #2277
- actually remove onnx by @cjpais in #2279
- feat: pass custom words via transcribe-cpp vocabulary API by @cjpais in #2284
- long form chunking with vad by @cjpais in #2282
- catalog from @handy-computer/models package by @cjpais in #2299
- fix: stop blocking the main thread during paste by @cjpais in #2302
- fix: center grade chip labels on Windows by @cjpais in #2326
- feat: transcribe files into history by @cjpais in #2315
- add language detection by @cjpais in #2331
- fix: declare OpenSSL 3 runtime dependency in Debian packages by @mvanhorn in #2336
- fix: reuse one HTTP client for post-processing requests by @rnmrnmrnmrnmrnmrnm in #2344
- docs: document stale user manager trap for input-group permission fixes by @haroon0x in #2348
- fix: preserve dictation when post-processing returns blank text by @johnjheejin in #2290
- fix: identify the setting each reset button affects by @johnjheejin in #2253
- fix(shortcuts): avoid ibus Ctrl+Space collision on Linux (#2332) by @Bl0ck154 in #2367
- fix: let Escape dismiss dropdown menus by @johnjheejin in #2246
- error notices framework by @cjpais in #2372
- fix: ignore IME confirmation Enter in text inputs by @johnjheejin in #2248
- fix: report failed history deletions to users by @johnjheejin in #2255
- fix: name the audio playback position control by @johnjheejin in #2254
- fix: preserve playback position when starting a seek by @johnjheejin in #2247
- fix: dismiss focused setting tooltips with Escape by @johnjheejin in #2251
- fix: release late audio sources after leaving history by @johnjheejin in #2309
- fix: restore shortcut fallback when manager startup fails by @utpalsinghdev in #2327
- fix(macos): prevent silent AirPods recordings when also playing audio from iPhone by @mattdoran in #1991
- Add transcription hook by @AlexanderYastrebov in #930
- fix(linux): add 'None' keyboard implementation for Wayland compositors by @aasmall in #1300
- fix(linux): type multi-line text correctly with dotool by @Huge in #2199
- feat(tray): add language switching submenu by @eti0 in #1319
- fix(linux): keep transparent overlay painting on WebKitGTK 2.54 by @xilec in #2360
New Contributors
- @henderson-01 made their first contribution in #2206
- @B-Galati made their first contribution in #2212
- @maurild14 made their first contribution in #2227
- @johnjheejin made their first contribution in #2235
- @rnmrnmrnmrnmrnmrnm made their first contribution in #2344
- @haroon0x made their first contribution in #2348
- @Bl0ck154 made their first contribution in #2367
- @utpalsinghdev made their first contribution in #2327
- @mattdoran made their first contribution in #1991
- @aasmall made their first contribution in #1300
- @Huge made their first contribution in #2199
- @eti0 made their first contribution in #1319
Full Changelog: v0.9.8...v0.10.0