Skip to content

Releases: Aalwattar/ParrotInk

v0.2.34

04 Apr 13:28
57e5fca

Choose a tag to compare

🚀 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

01 Apr 14:37
cf54c34

Choose a tag to compare

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

30 Mar 13:41
db95e47

Choose a tag to compare

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

Full Changelog: v0.2.31...v0.2.32

v0.2.31

29 Mar 19:28
986d99b

Choose a tag to compare

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

17 Mar 23:41
ec4b8fb

Choose a tag to compare

🚀 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:

  1. The Job Object Trap: PyInstaller runs the application inside a restrictive Windows Job Object. When using subprocess.Popen to 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.
  2. Asynchronous Kill Race: Inno Setup was using taskkill which is asynchronous. The installer would attempt to overwrite the _MEIxxxx temp files or the main
    executable before Windows Defender and the OS had fully released the file handles.
  3. Silent Aborts: The AppMutex directive in Inno Setup caused /SILENT updates to instantly abort without UI if the app hadn't finished closing yet.
  4. Failure to Relaunch: Inno Setup's postinstall flag requires a UI checkbox, which doesn't exist during a /SILENT install, meaning the app would never
    automatically restart.

The Solution

  1. Escaped the Job Object: Switched from subprocess.Popen to ctypes.windll.shell32.ShellExecuteW. This delegates the process creation to Explorer.exe,
    cleanly breaking the installer out of PyInstaller's Job Object so it survives the parent's death.
  2. Deterministic Process Handoff: Removed AppMutex and rewrote the Inno Setup InitializeSetup logic to use OpenProcess and WaitForSingleObject. 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.
  3. Guaranteed Auto-Relaunch: Added Check: WizardSilent to a secondary [Run] directive in parrotink.iss to forcefully launch the application when the
    wizard is hidden.

Full Changelog: v0.2.29...v0.2.30

v0.2.29

16 Mar 11:15

Choose a tag to compare

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

14 Mar 21:24

Choose a tag to compare

 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

11 Mar 17:21
0234a14

Choose a tag to compare

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

07 Mar 14:36

Choose a tag to compare

Support for AssemblyAI U3-Pro, Auto language detection, and stability fixes

Full Changelog: v0.2.25...v0.2.26

v0.2.25

06 Mar 19:33

Choose a tag to compare

Full Changelog: v0.2.24...v0.2.25