Changelog
v0.0.74
Now I have a thorough understanding of all changes. Let me write the release notes.
Improvements
- More reliable keyboard shortcuts. The hotkey system has been overhauled to make profile-switching and paste-last shortcuts more consistent. It now filters out keys that aren't part of any shortcut, so stray presses won't interfere. On Windows, modifier keys (Ctrl, Alt, Shift, Win) are checked directly against their physical state, preventing stuck-key issues. The listener also resets to a clean state at the start of each capture cycle, eliminating stale inputs that could cause missed or unintended triggers.
v0.0.73
Bug Fixes
- Fixed keyboard shortcut detection on macOS. Global keyboard shortcuts (start/stop recording, paste last transcription) now work reliably on macOS. Previously, the shortcut listener could fail to capture key presses correctly on some macOS configurations.
v0.0.72
Now I have a full understanding of the changes. Let me write the release notes.
Improvements
- Improved macOS Dock behavior: On Mac, the app now appears in the Dock when you open it and hides from the Dock when you close the window (without quitting the app). This provides a more natural Mac experience — the app stays running in the background, ready to quickly resume, but doesn't clutter your Dock.
- More reliable keyboard shortcuts: Hotkeys are now handled by a new low-level system, making them more responsive and dependable. On macOS, you may be prompted to grant Input Monitoring permission — you can enable this in System Settings > Privacy & Security > Input Monitoring.
v0.0.71
Now I have a complete understanding of all changes. Let me compile the release notes.
New Features
- macOS: Automatic Input Monitoring permission handling – On macOS, the app now checks for Input Monitoring permission at startup and requests it if needed. If the keyboard listener stops working (for example, because the permission was revoked), the app shows a helpful message pointing you to System Settings and automatically retries every few seconds to restore functionality.
Improvements
-
More reliable keyboard shortcuts – The entire hotkey system has been rebuilt on a low-level keyboard listener, making shortcut detection more dependable across all applications and operating systems.
-
Hotkey capture now uses physical key positions – When setting a keyboard shortcut, the app now records the physical keys pressed rather than their character values. This means shortcuts will work consistently regardless of your keyboard layout or whether Shift/CapsLock is active. For example, pressing the 'A' key always registers as "KeyA", and left and right modifier keys (ControlLeft vs ControlRight) are now distinguished.
-
More precise shortcut matching – Keyboard shortcuts now require the keys to be pressed in the order they appear in the shortcut definition (for example, Ctrl+Shift+A must be pressed as Ctrl, then Shift, then A). This prevents accidental triggers and resolves ambiguity when multiple shortcuts are configured.
-
Clearer error messages for invalid shortcuts – If a shortcut cannot be used (e.g., because it's invalid or a duplicate), the app now provides more descriptive warnings, making it easier to identify and fix configuration issues.
-
Automatic recovery of the keyboard listener – If the global keyboard listener stops unexpectedly, the app now logs a clear explanation and automatically attempts to restart it every few seconds.
v0.0.70
Improvements
- OS-specific settings: You can now configure different hotkeys, injection methods, speech‑to‑text backends, and “paste last” shortcuts for macOS and Windows. If you use the same config file on both operating systems, each setting can now have a separate value per OS — the app automatically picks the right one for your current machine.
v0.0.69
New Features
-
OS-specific settings: You can now configure different values for
injectionMethod,pasteLastHotkey,whisperBackend, and profile hotkeys depending on the operating system. For example, settinginjectionMethod.macosin your config file will apply that value only on macOS, while the baseinjectionMethodsetting is used on other platforms. -
Shell environment variables now available on macOS: The app automatically reads environment variables from your shell configuration files (like
.zshrcor.bash_profile). API keys you've set there for cloud models or OiPer transcription are now available to the app without needing to launch it from the terminal.
Bug Fixes
-
API key priority order corrected: When resolving which API key to use for a cloud model, the app now checks your saved API keys (entered in the UI) before falling back to the provider's default environment variables. This fixes an issue where a provider's default environment variable could override a key you had explicitly configured.
-
API key field no longer locked when a provider is selected: In the cloud model dialog, the API key field is now always editable, even when you've chosen a provider. You can override the provider's default API key at any time.
v0.0.68
Bug Fixes
- Fixed a crash on launch when the system's input simulation failed to initialize. The app would previously panic and close immediately if it couldn't start the input simulation engine (used for automating keystrokes). Now it handles the situation gracefully, so the app opens normally even when that component isn't available.
Improvements
- Configuration files stored in dotfile paths (like
.config/...) are now recognized correctly. You can now store and load configuration from paths that start with a dot, giving you more flexibility in how you organise your settings.
v0.0.67
Bug Fixes
- Corrected app data folder names. The application was previously storing your data in folders named
OiPerandOiPer.devinside your home directory. It now correctly uses.oiperand.oiper.devinstead, following standard naming conventions for hidden configuration folders.
v0.0.66
This change updates where the app stores its data on your computer.
Data storage location changed – The app now saves its data (configuration, authentication info, database, models, audio recordings, and logs) directly in the OiPer folder inside your home directory (e.g., ~/OiPer on macOS/Linux or C:\Users\YourName\OiPer on Windows). In development builds, it uses ~/OiPer.dev instead. This gives you a single, easy-to-find location for all app data, rather than storing it in system-specific app data folders. If you had previously saved any data, you may need to move it to the new location manually.
v0.0.65
Bug Fixes
- Fixed where the app stores your data on your computer. Previously, your settings and files were saved to a non-standard folder, which could cause confusion or issues on some systems. Now, your data is stored in the correct platform-standard location (such as
AppDataon Windows orApplication Supporton macOS), making everything more reliable and predictable. If you have existing data from a previous version, you may need to move it to the new location to keep your settings.
v0.0.64
Improvements
- Auto-update support enabled: The app will now create the necessary files to support automatic updates. This prepares the foundation for delivering future updates seamlessly—you'll get new features and fixes without needing to manually download and reinstall.
v0.0.63
No notable changes in this release.
v0.0.62
No notable changes in this release.
v0.0.60
New Features
- macOS support for Apple Silicon (M1/M2/M3) Macs. The app now ships native builds for aarch64-based Macs, so you can run it on your newer Mac without any emulation.
Bug Fixes
- Overlay colors refreshed for a more consistent look. The blob color and loading animation background have been updated to match each other better, creating a cleaner visual experience.
- Fixed an issue where the accessibility permission check on macOS could incorrectly report no permission. Input injection (e.g., pasting) should now work reliably when accessibility permissions are granted.
Improvements
- macOS now requires version 10.15 (Catalina) or later. The app sets a minimum system version to ensure it runs with the proper compatibility guarantees.
- Auto-update artifacts are no longer generated in this release channel.
Breaking Changes
- Windows builds are temporarily paused. The release workflow no longer produces Windows installers (MSI/NSIS). If you were using the app on Windows, please stay on your current version. We aim to bring Windows builds back in a future release.
v0.0.59
Bug Fixes
- Fixed overlay status not resetting between recordings: The overlay could sometimes show a "processing" or "enhancing" status left over from a previous recording session. Now each new recording session is properly tracked, and the status resets when a new recording begins.
Improvements
- Slightly adjusted the elapsed time position in the overlay: The on-screen recording timer has been nudged for a more balanced layout during recording.
v0.0.58
Improvements
- Refined audio blob animation – The visual blob that reacts to your audio now moves and wobbles more naturally, and is slightly smaller for a cleaner look.
- Updated loading spinner appearance – The spinning animation that appears during processing has been adjusted for a more balanced and consistent look.
- Recording timer alignment – The elapsed time shown during recording is now better positioned within the overlay for a tidier layout.
v0.0.57
Improvements
-
Snippets now applied earlier and more consistently across all transcription modes. Your custom text replacements are now integrated directly into the transcription and enhancement processes, ensuring the final output always respects your snippet rules — even when using cloud transcription with enhancement.
-
Better error handling during cloud transcription and enhancement. The transcription pipeline has been restructured to handle errors more gracefully, making the process more reliable when issues arise with cloud-based services.
Bug Fixes
-
Overlay no longer blocks clicks. The on-screen overlay now ignores mouse events entirely, so you can click through it and interact with other windows and elements while recording.
-
Recording timer text is slightly larger and easier to read. The elapsed-time display in the overlay has been increased in size for improved readability.
v0.0.56
New Features
-
Redesigned overlay with dynamic visual effects – The overlay during recording, processing, and enhancing has been completely rebuilt. Instead of a simple audio bar and timer, you'll now see a smooth, animated organic shape that pulses and breathes while recording, a refined loading spinner while processing, and sparkle particle effects during enhancement. The whole experience feels more polished and responsive.
-
Enhancing status now properly shown in overlay – When your transcription is being enhanced using the cloud (LLM), the overlay now correctly updates to show the "enhancing" state with its matching visual effects.
Improvements
-
Overlay window resized – The overlay window is now a compact 100×100 square instead of a 200×36 wide bar, giving it a cleaner and more balanced appearance on screen.
-
Smoother transitions between overlay states – Transitions between recording, processing, and enhancing states are now smoother and more visually cohesive, with refined animation timing and easing.
-
Snippets page layout tweaks – The shortcut column in the snippets list is now wider, making long shortcut names easier to read. Snippet key styling and button hover states have also been updated for a cleaner, more consistent look.
v0.0.55
Improvements
- Delete confirmation for dictionary words: When you remove a word from your dictionary, a confirmation dialog now asks you to confirm before permanently deleting it, preventing accidental removals.
- New snippet dialog: Adding and editing snippets now opens a dedicated dialog instead of using an inline form, making the process clearer and more focused.
- Redesigned snippet rows: Snippets now display with a shortcut → expansion arrow layout, making it easier to see what each snippet does at a glance.
- Column headers in snippet list: The snippet list now shows "Shortcut" and "Expands to" headers for better organization.
- Improved empty state for snippets: When you have no snippets yet, the page now shows a concrete example (e.g.
brb→ "be right back") to help you understand how snippets work. - Blur effect behind dialogs: Dialog boxes now have a subtle background blur, giving the interface a more polished look.
- Smoother word editing: When editing a word in your dictionary, changes now save automatically when you click away from the input field.
v0.0.54
No notable changes in this release.