Releases: Aalwattar/ParrotInk
v0.2.34
🚀 Stability & Update Improvements This release fixes a hidden issue that prevented the application from detecting updates for users who had generic GitHub tokens configured in their system environment. * Fixed: Resolved a 401 Unauthorized error in the update manager that caused update checks to silently fail. * Rel
Full Changelog: v0.2.33...v0.2.34
v0.2.33
This release resolves critical issues with the application update and installation process. ### 🛡️ Critical Fixes - Fixed Installer Launch: Resolved an issue where "Update Now" would fail to launch the installer on some Windows environments. - Fixed First-Launch Crash: Eliminated the DLL extraction race condition that caused the application to fail immediately after a silent update. - Improved Legacy Support: Faster and more robust cleanup when upgrading from versions older than v0.2.30. ### ⚡ Technical Details - Reverted to subprocess.Popen for installer execution. - Optimized Inno Setup event hooks to provide a 3-second buffer for Antivirus scanning prior to application execution.
Full Changelog: v0.2.32...v0.2.33
v0.2.32
Installer Stability & Reliability Update This release focuses on hardening the in-app update process and fixing a long-standing race condition with antivirus software during the installation phase. 🚀 Key Improvements Resolved "Failed to load Python DLL" Error: Fixed a critical race condition where the application would fail to launch immediately after an update. The bootloader is now granted a 3-second delay during silent updates to ensure Windows Defender has completed its file scan. Enhanced Installer Diagnostics: Enabled persistent setup logging. If an installation ever fails, detailed logs are now automatically saved to: %TEMP%\Setup Log [YYYY-MM-DD] #[XXX].txt Security Update: Upgraded the cryptography core library (v46.0.6) to incorporate the latest security and performance patches.
New Contributors
- @dependabot[bot] made their first contribution in #10
Full Changelog: v0.2.31...v0.2.32
v0.2.31
HUD Stability & Architecture This release significantly improves the stability and reliability of the floating HUD while integrating recent updates to the application's evaluation framework. 🚀 Key Improvements HUD Stability Refactor (PostMessage) We've replaced the constant polling timer with a robust, event-driven PostMessage architecture. This resolves the "ghost window" bug where the HUD could become invisible after Windows sleep cycles. Dynamic Monitor Recovery The HUD now dynamically recalculates its position whenever it's shown, ensuring it stays correctly anchored across layout changes or session locks. Performance & Framework Updates Zero Idle CPU: The HUD now only uses CPU when active and visible. Evaluation Framework: Integrated recent specification and data persistence updates for accuracy testing.
Full Changelog: v0.2.30...v0.2.31
v0.2.30
🚀 What's New in v0.2.30
Critical Update Reliability Fixes
This release completely overhauls the in-app update mechanism to ensure smooth, invisible, and reliable updates:
- Fixed "Silent Crashes" during updates: The installer will no longer get prematurely killed by Windows when the app closes.
- Fixed "DLL Not Found" errors: The installer now deterministically waits for all app processes and antivirus file locks to clear before extracting new files.
- Auto-Relaunch Restored: The application will now reliably and automatically restart itself once a silent update finishes downloading and installing in the
background.
🛠 Details from PR #9
The Problem
During in-app silent updates, the PyInstaller-frozen application was suffering from a critical race condition and process isolation failure:
- The Job Object Trap: PyInstaller runs the application inside a restrictive Windows Job Object. When using
subprocess.Popento launch the downloaded
installer, the installer inherited this Job Object. When the main application exited to allow the installer to overwrite files, Windows automatically terminated the
Job Object, killing the installer halfway through its execution. - Asynchronous Kill Race: Inno Setup was using
taskkillwhich is asynchronous. The installer would attempt to overwrite the_MEIxxxxtemp files or the main
executable before Windows Defender and the OS had fully released the file handles. - Silent Aborts: The
AppMutexdirective in Inno Setup caused/SILENTupdates to instantly abort without UI if the app hadn't finished closing yet. - Failure to Relaunch: Inno Setup's
postinstallflag requires a UI checkbox, which doesn't exist during a/SILENTinstall, meaning the app would never
automatically restart.
The Solution
- Escaped the Job Object: Switched from
subprocess.Popentoctypes.windll.shell32.ShellExecuteW. This delegates the process creation toExplorer.exe,
cleanly breaking the installer out of PyInstaller's Job Object so it survives the parent's death. - Deterministic Process Handoff: Removed
AppMutexand rewrote the Inno SetupInitializeSetuplogic to useOpenProcessandWaitForSingleObject. The
installer now receives the parent's PID via command line (/pid=xxx) and mathematically waits (up to 20s) for the specific process to exit gracefully before
attempting file manipulation. - Guaranteed Auto-Relaunch: Added
Check: WizardSilentto a secondary[Run]directive inparrotink.issto forcefully launch the application when the
wizard is hidden.
Full Changelog: v0.2.29...v0.2.30
v0.2.29
ParrotInk v0.2.29 introduces a professional, Windows-native background update manager designed for reliability and zero system impact. Core Improvements: - 🚀 Silent Background Updates: New versions download automatically using Windows BITS (idle bandwidth), ensuring your dictation flow is never interrupted. - 🛡️ Verified Security: Every update is cryptographically verified via SHA256 before being offered for installation, protecting you from corrupted downloads. - ✨ Professional Handoff: The application now performs a graceful shutdown—flushing logs and saving settings—before handing over control to the installer. - 🔧 Reliable Installation: Added support for Windows Mutex locks (AppMutex) to prevent "File In Use" errors and ensure a smooth one-click upgrade experience. - 📊 Optimized Installer: Reduced installer size by removing redundant asset bundling and improving compression.
v0.2.28
1 This release marks a major milestone in ParrotInk's distribution and stability, introducing a professional Windows Installer and resolving critical UI and Audio issues. 2 3 ### 📦 Professional Distribution 4 - **Windows Standard Installer:** Introduces `ParrotInk-Setup.exe` built with Inno Setup. This is now the **recommended** way to install ParrotInk, featuring: 5 - Non-admin installation to `%LOCALAPPDATA%`. 6 - Automated process management (cleanly stops running instances during updates). 7 - Reliable Start Menu and Desktop shortcut management. 8 - **Automated Release Pipeline:** Our GitHub Actions now automatically build the installer, generate SHA256 checksums, and attach all artifacts to the release. 9 10 ### 🛠️ Stability & HUD Improvements 11 - **HUD Self-Healing:** Implemented a robust "Circuit Breaker" and health watchdog for the HUD. If the HUD becomes unresponsive or disappears, the system now automatically recovers it. 12 - **Race Condition Fixes:** Resolved edge cases where rapid state transitions could lead to HUD duplication or `AttributeError` crashes. 13 - **Honest Health Reporting:** Fixed a 'Success Trap' where failed HUD initializations would silently fall back to a mock, ensuring the supervisor correctly triggers recovery attempts. 14 15 ### 🎙️ Audio & Performance 16 - **Specific Device Selection:** Added full support for selecting specific microphones in the configuration. 17 - **Ducking Mitigation:** Now forces WASAPI Shared mode to prevent Windows from lowering the volume of other apps during recording. 18 - **Zero-Latency Hotkey:** Optimized device caching and stream initialization to ensure the hotkey trigger remains instant even if the audio driver is slow to respond. 19 20 ### 📖 Documentation & UX 21 - **README Overhaul:** Updated with a modern installation guide favoring the new installer. 22 - **Atomic Versioning:** Synchronized all project metadata (TOML, PyInstaller, Inno Setup) for deterministic releases.
Full Changelog: v0.2.27...v0.2.28
v0.2.27
This PR introduces critical stability and UX improvements: 2 - Smart Provider Auto-Selection: Automatically switches to the configured provider if only one API key exists. 3 - HUD Health Watchdog: Implemented a Win32 SendMessageTimeout probe to detect and recover from hung HUD windows automatically. 4 - ConnectionManager Overhaul: Fixed the AttributeError race condition using a robust Short State Lock + Generation Token architecture. 5 - UI/UX: Reorganized the 'Tools' menu for better flow and updated the README configuration guide. 6 - Version: Bumped to 0.2.27.
Full Changelog: v0.2.26...v0.2.27
v0.2.26
Support for AssemblyAI U3-Pro, Auto language detection, and stability fixes
Full Changelog: v0.2.25...v0.2.26
v0.2.25
Full Changelog: v0.2.24...v0.2.25