Changelog & Version History
Release Notes
Track the evolution, cryptographic audits, and feature enhancements of PRISALYA SecureDrive.
Version 1.2.23
September 20, 2026
- Replaced every native message dialog in the app with a custom-styled dialog matching the About screen's dark card design, instead of continuing to fight Windows' dark-mode theming of native QMessageBox dialogs -- affects all confirmation, warning, and error dialogs throughout the app
Version 1.2.22
September 20, 2026
- Fixed the dark, unstyled dialog problem for real this time: forcing the Fusion style in v1.2.21 didn't help because PySide6's Windows platform plugin auto-detects the OS's dark mode and applies its own dark palette to native-feeling widgets independently of the app's own style/palette. Set QT_QPA_PLATFORM=windows:darkmode=0 before Qt initializes, which forces it to always report light mode regardless of the actual OS setting
Version 1.2.21
September 20, 2026
- Fixed dialogs (like the "Settings Saved" confirmation) rendering as an unstyled dark box instead of the app's light theme on a dark-mode Windows desktop: the app never forced a specific Qt widget style, so it fell back to the native "windows11" style, which follows the OS's light/dark mode for native-feeling widgets regardless of the app's own palette. Forced the Fusion style, which is drawn entirely by Qt and never defers to the OS theme
Version 1.2.20
September 20, 2026
- Found and fixed the real reason the custom drive icon never showed: GetDriveTypeW reports a WinFsp-mounted volume as DRIVE_FIXED, and Windows only honors the no-admin HKCU DriveIcons key for DRIVE_REMOVABLE -- fixed drives need HKLM. The icon is now set from the Windows Service (which has unconditional HKLM access), machine-wide, with no per-session workaround needed
Version 1.2.19
September 20, 2026
- Fixed the custom drive icon still not showing even with the correct registry key set: Explorer only re-reads DriveIcons for a letter at the moment it's told the drive was (re)inserted, and the DOS device mapping helper was firing that notification before the icon key got written. The icon write now happens first and forces its own drive-remove-then-add notification for that letter, so Explorer picks it up immediately regardless of call order
Version 1.2.18
September 20, 2026
- Fixed the drive-level custom icon from v1.2.17 never actually applying: the registry write happened inside the Windows Service process (Session 0), so it landed in the service account's own hive instead of the logged-in user's -- Explorer never saw it. The write now happens from the GUI process instead, the same fix already needed for cross-session drive-letter mapping
Version 1.2.17
September 20, 2026
- Vault files now sit directly at the drive root instead of inside a nested "PRISALYA Secure Vault" folder -- the mounted drive letter itself now carries the custom icon and label, like a branded USB stick, via autorun.inf plus a registry DriveIcons entry
- Dashboard now supports multiple connected SecureDrive USB keys: an "Active drive" selector appears when 2+ drives are detected, instead of the main screen only ever showing the first one and silently ignoring the rest
Version 1.2.16
September 20, 2026
- Fixed the actual root cause of folder deletion silently doing nothing on a real mounted drive: winfspy only wires its native SetDelete kernel callback to a Python method when the operations class overrides the high-level set_delete/can_delete hooks, which this codebase never did (it only overrode the low-level ll_set_delete trampoline) -- so SetDelete has never been wired to anything, on any version. ll_cleanup now checks the FspCleanupDelete flag directly, which is the fallback signal WinFsp actually uses for this class
Version 1.2.15
September 20, 2026
- Fixed deleting a folder from the mounted vault silently doing nothing: ll_can_delete and ll_set_delete lacked the zombie-handle recovery used elsewhere and swallowed exceptions without logging, so a lost handle mapping failed the delete with zero trace -- the deleted folder would simply reappear with its original timestamp on the next visit
- Fixed a non-empty directory being reported as always deletable, which could orphan its children's encrypted files and index entries on disk; a non-empty directory now correctly reports STATUS_DIRECTORY_NOT_EMPTY, and directory deletion now recursively cleans up any descendants left behind by older builds
Version 1.2.14
September 20, 2026
- Fixed a bug where copying a file into the mounted vault via Explorer could create a second "PRISALYA Secure Vault" folder nested inside the real one -- a path-resolution bug that mishandled the one case where a top-level create/reopen call matches the branded root folder's own name
Version 1.2.13
September 20, 2026
- Fixed the real mount thread silently dying before logging anything at all when run as the actual Windows Service: faulthandler.enable() calls sys.stderr.fileno() internally, which can raise when no console is attached (as under a Windows Service), and this call previously sat outside the thread's error handling, so the exception killed the thread with zero trace
- Confirmed via decompiling the shipped executable's bundled bytecode that the v1.2.12 logging was present and correct, and that it worked perfectly in the dev environment -- isolating the failure to this one specific console-less-service condition
Version 1.2.12
September 20, 2026
- Added fine-grained logging around each native WinFsp mount call (SetMountPointEx, SetMountPoint fallback, StartDispatcher) and per-attempt timing in the post-dispatcher warmup loop, to pin down exactly where a real mount hangs when it hits the 10-second timeout with no other log output
Version 1.2.11
September 20, 2026
- Fixed a silent winfspy import failure: even with WinFsp genuinely installed and running, the service could still silently fall back to the mock Vault Browser with zero log output explaining why. The actual import exception is now logged so this is finally diagnosable.
Version 1.2.10
September 20, 2026
- Fixed WinFsp being detected as missing even after installing successfully: a SetRegView 64 added in v1.2.7 made the installer check the wrong registry hive (WinFsp's MSI always writes to WOW6432Node, being a 32-bit package), so a completely working install was misreported as failed
- Updated the bundled WinFsp download to the current official release, v2.1.25156
Version 1.2.9
September 20, 2026
- Installer now writes a persistent, timestamped log to %ProgramData%\PrisalyaSecureDrive\logs\installer.log, including exit codes and full output of the WinFsp download/install steps, so a failed setup can be diagnosed after the fact instead of only while the window is open
Version 1.2.8
September 20, 2026
- Fixed a broken WinFsp download that v1.2.7's fix didn't actually solve in practice: the inline PowerShell command was silently truncated by triple-nested quote parsing (NSIS to CreateProcess to PowerShell), so the URL never reached Invoke-WebRequest at all
- The download step now writes a plain .ps1 file and runs it with -File instead of an inlined -Command string, verified working end-to-end on a real machine
Version 1.2.7
September 20, 2026
- Fixed the real end-to-end root cause: the installer's automatic WinFsp download used Invoke-WebRequest without -UseBasicParsing, which throws on Windows PowerShell 5.1 wherever Internet Explorer hasn't been first-run -- silently failing the WinFsp driver install on virtually all real machines regardless of the app-side v1.2.6 fix
- Fixed a 32-bit/64-bit registry redirection bug that caused the installer to always think WinFsp was missing
- Installer now verifies the WinFsp install actually succeeded and clearly tells you to install it manually from winfsp.dev if it didn't, instead of failing silently
Version 1.2.6
September 20, 2026
- Fixed the root cause of "P:\ is not accessible" after mounting: WinFsp's VolumeName was read before FspFileSystemSetMountPoint had actually run, so it was always empty, silently disabling both the service's cross-session Global DosDevice symlink and the GUI's per-session drive mapping
- Mount failures (missing WinFsp driver, dispatcher/mount-point errors) are no longer swallowed and reported as a false success; they now correctly fail and fall back to the in-app Vault Browser
Version 1.2.5
September 20, 2026
- Fixed Session 0 mount isolation with cross-session security descriptor and Global DosDevice symlink
- Added WinFsp dispatcher warmup loop to prevent error 995 on first I/O
- GUI warmup retry ensures Explorer does not cache failed mount attempts
Version 1.2.4
September 19, 2026
- Fixed WinFsp mount point registration and dispatcher lifecycle
- Preserved user session DOS device mappings and prevented premature unmapping upon vault unlock
Version 1.2.3
September 19, 2026
- Fixed WinFsp filesystem dispatcher initialization in Windows Service (Session 0) without os.stat crashes
- Synchronous WinFsp volume name resolution during FileSystem creation
- Resolved DOS device conflict (ERROR_ALREADY_EXISTS 183) by cleaning stale mappings before re-mapping in user session
- Fixed missing sys import in GUI main window mapping routine
Version 1.2.2
September 19, 2026
- Fixed update installer self-termination issue caused by process tree termination (/T flag in installer)
- Decoupled installer launch via Windows ShellExecute API to ensure independent elevation and execution
- Fixed confirmation dialog styling with crisp high-contrast theme (eliminating blank/white text on light backgrounds)
Version 1.2.1
September 16, 2026
- Fixed Windows interactive user session WinFsp drive mapping (resolved Session 0 isolation for explorer.exe)
- Added automatic DOS device mapping and unmapping in GUI user session
- Fixed update server 403 Forbidden error with public .htaccess rule and API fallback
- Resolved SettingsView widget attribute error on startup
Version 1.2.0
September 16, 2026
- Standalone Setup Installer Embedding on USB drive initialization (clear copy on USB root)
- In-App Auto-Update System with remote version check, in-app progress downloader, and SHA-256 verification
- Seamless installer upgrade execution closing running instances automatically
- Resolved ghost drive detection from historical logs and added active USB removal event handling
Version 1.1.0
September 16, 2026
- Polish, Performance & Fluent Experience (Phase 2)
- Modern Windows 11 Fluent Design System with sidebar navigation & multi-view dashboard
- WinFsp transparent writable filesystem driver with on-the-fly streaming AEAD encryption
- Interactive transfer queue dialog with real-time throughput gauge
- Master key password rotation without re-encrypting underlying vault files
- Read-only vault mount mode for secure untrusted workstation access
- Secure file shredding / DoD-style multi-pass wiping upon vault import
- Centralized in-app settings with customizable auto-lock inactivity timer
Version 1.0.2
September 4, 2026
- Architecture Hygiene & Modern IPC Base (Phase 1)
- Modular GUI architecture deconstructing monolithic main_window
- Push-based named pipe event broadcasting (sub-millisecond UI updates)
- Dead code and scaffolding module cleanup
- Automated GitHub Actions CI/CD test and build matrix pipeline
Version 1.0.1
September 4, 2026
- Critical Security & Integrity Patch (Phase 0)
- Named Pipe RPC DACL hardening and AEAD verify-before-decrypt
- Encrypted vault metadata indexes and sidecars
- Argon2id KDF memory cost raised to 256 MiB with password validation
- End-to-end mutable buffer key zeroization on unmount
- WinFsp filesystem driver and packaging pipeline fixes
Version 1.0.0
January 28, 2026
- Official Release of Prisalya Secure Drive
- Implemented WinFsp virtual drive mounting
- AES-256 encryption support for all files
- Modern GUI with system tray integration and dark mode
Version 0.9.0
December 15, 2025
- Beta release for internal testing
- Core filesystem bridging functionality
- Basic authentication flow and vault creation