Repository navigation
Releases
Password Generator 1.6.2
Password Generator 1.6.2
A unified native maintenance release for Android, Windows and macOS.
- Remediated known build-tool dependency vulnerabilities with Gradle 8.14.6, Kotlin 2.4.20, R8 9.1.29 and patched transitive libraries; existing checksum trust is preserved.
- Added Windows clipboard-history/cloud exclusion and restored macOS Escape handling.
- Keep long revealed passwords fully readable in narrow Android layouts.
- Fixed the Android reveal/reset transition so replacement passwords are hidden before their first frame.
- Explicitly disabled Android cleartext traffic and enforced the setting in compiled package checks.
- Improved About scrolling, Windows keyboard navigation and desktop clipboard ownership checks while removing redundant secret copies.
- Fixed the macOS About version display.
- Added executed Android API 26/36 privacy tests, compiled APK/AAB contract checks and 16 KB package validation.
- Corrected protected signing-property escaping and generated-resource preparation for Qodana.
- Prepared the Google Play listing, media and submission checklist; no advertising, analytics, networking, accounts or password persistence were added.
Android packages use the permanent release signing certificate. Windows remains without Authenticode; macOS uses ad-hoc signing, without Developer ID or notarization. SHA-256 checksums and provenance attestations accompany release packages. R8 mapping is included for Android crash deobfuscation.
Publication in Google Play, Play App Signing enrollment and physical/internal-track acceptance are separate owner actions. A signed candidate artifact is not evidence of Google Play acceptance.
Password Generator 1.6.1
Password Generator 1.6.1
Password Generator 1.6.1 is a unified hotfix release for Android, Windows, and macOS.
Windows startup fix
- Fixed a Windows startup failure reporting that ordinal 345 could not be found.
- The Windows executable now explicitly activates Microsoft Common Controls 6.0 through its embedded application manifest.
- Added CI/release regression checks that extract and validate the embedded manifest and launch the built Windows executable before publication.
The failure affected the Windows 1.6.0 executable because TaskDialogIndirect requires Common Controls v6, while the original manifest did not declare that side-by-side dependency.
Other platforms
- Android and macOS product behavior is unchanged.
- The public product version remains unified across all supported platforms.
Desktop signing status
- The Windows executable is published without Authenticode publisher signing.
- The macOS application is ad-hoc signed for bundle integrity and sandbox entitlements, but is not Developer ID signed or Apple-notarized.
- SHA-256 checksums and GitHub artifact attestations are published for desktop artifacts.
Password Generator 1.6.0
Password Generator 1.6.0
Password Generator 1.6.0 is the first unified native release for Android, Windows, and macOS.
New platforms
- Added a native Windows application built with C++20 and Win32/Common Controls.
- Added a native macOS application built with Swift and AppKit.
- Both desktop applications intentionally avoid third-party runtime libraries and cross-platform UI frameworks.
Feature parity
Windows and macOS now provide the same core generator behavior as Android:
- password length from 4 to 64 characters;
- lowercase, uppercase, digits, and symbols;
- at least one character from every enabled group;
- optional exclusion of visually similar characters;
- optional exclusion of duplicate characters;
- 16, 24, and 32 character presets;
- password-strength scoring;
- hidden password by default with explicit reveal;
- copy to the native clipboard;
- saved non-secret generator preferences;
- English and Russian UI.
Privacy and security
- Passwords are generated locally with the operating system cryptographic RNG: SecureRandom on Android, BCryptGenRandom on Windows, and SecRandomCopyBytes on macOS.
- Generated passwords are never persisted.
- Desktop bounded random selection uses rejection sampling to avoid modulo bias.
- Clipboard cleanup waits 60 seconds and clears only Password Generator's own still-current copied value.
- Revealed passwords enable the strongest practical native capture-exclusion mechanism available on each platform.
- The product remains offline, without analytics, advertising, tracking, accounts, telemetry, or cloud synchronization.
Desktop signing status
- The Windows executable is published without Authenticode publisher signing in this release.
- The macOS application is ad-hoc signed for bundle integrity and sandbox entitlements, but it is not Developer ID signed or Apple-notarized.
- GitHub release checksums and artifact attestations are published for the desktop artifacts.
- Windows SmartScreen and macOS Gatekeeper may therefore show an unknown/unidentified publisher warning on first launch.
Unified product
Android, Windows, and macOS now share one public product version and common generator, privacy, and UX contracts while retaining fully native platform implementations.
Password Generator 1.5.6
Password Generator 1.5.6
This patch release fixes the Android launcher icon packaging regression introduced with the previous artwork update.
Fixed
- Restored the supplied Password Generator lock artwork as the canonical application icon.
- Rebuilt adaptive and legacy launcher resources from one canonical 512×512 source during every build.
- Fixed Android 8+ adaptive launchers, including Android 10 / VOS 3.0, showing the Android Studio placeholder icon.
- Synced the store icon asset with the application artwork.
Password generation, privacy behavior, settings and the About screen remain unchanged.
Password Generator 1.5.5
Password Generator 1.5.5
This patch release updates the About screen to use the official Password Generator pages on stanleyll0yd.github.io.
Changed
- Replaced the GitHub repository entry in About with the official application website.
- Moved the privacy-policy link from GitHub to the official website privacy page.
- Updated the About website row to use a web icon and localized labels.
Password generation, privacy behavior, settings and the existing UI flow remain unchanged.
Password Generator 1.5.4
Password Generator 1.5.4
This patch release updates the Password Generator launcher artwork to the new supplied application icon.
Changed
- Replaced the adaptive Android launcher foreground with the new Password Generator artwork.
- Updated the canonical repository icon source to match the released application.
Password generation, privacy behavior, settings and the existing UI flow remain unchanged.
Password Generator 1.5.3
Password Generator 1.5.3
This patch release hardens handling of explicitly revealed passwords and completes publication-facing privacy and Russian localization work.
Security & privacy
- Android screen capture is blocked only while a generated password is explicitly revealed, reducing screenshot and Recents-thumbnail exposure while leaving the normal masked interface capturable.
- Password-bearing generation results and UI state redact the password from
toString()output to prevent accidental disclosure through future logging or diagnostics. - Added regression tests that verify secret values are not exposed by those string representations.
- Added public English and Russian Privacy Policy documents and a localized Privacy Policy link in the About sheet.
Localization
- The application name is now displayed as
Генератор паролейwhen Android uses the Russian locale.
Password generation, persisted settings and the existing UI flow remain otherwise unchanged.
Password Generator 1.5.2
Password Generator 1.5.2
This patch release focuses on privacy hardening, regression coverage, source cleanup and stricter CI/security validation without changing user-facing functionality or UI/UX.
Privacy & reliability
- Disabled Android application backup as defense in depth while retaining explicit backup and device-transfer exclusions for generator preferences.
- Added regression coverage that verifies every enabled character group is represented even at the minimum password length.
Maintenance
- Simplified the Compose hierarchy and source imports, removed an unused Compose preview dependency, and cleaned haptic, debounce and repeat-detection code without changing behavior.
- Qodana now performs the same strict full-project scan on pull requests as on
main, withqodana.recommended,failThreshold: 0, and only narrowly scoped exclusions for confirmed false positives. - Updated CodeQL Action to 4.37.9 and
actions/download-artifactto 8.0.1 while keeping immutable SHA pins.
The password generation logic, privacy model, application features and interface remain functionally unchanged.
Password Generator 1.5.1
Password Generator 1.5.1
This patch release introduces the finalized Password Generator application icon.
Changed
- Adopted the final app icon across Android launcher resources.
- Added
artwork/app-icon.webpas the canonical icon source for future releases. - Added
store-assets/app-icon-512.pngfor store publication. - Updated launcher resources for all supported Android densities.
The password generation logic and privacy model are unchanged.
Password Generator 1.5.0
Password Generator 1.5.0
Finalized release of the compact privacy-focused Android password generator.
Highlights
- Redesigned the main screen for a compact phone layout.
- Removed the redundant offline/privacy banner from the working screen.
- Made the password result, strength indicator, length controls and generate action more compact.
- Added
-/+length controls and quick values for 16, 24 and 32 characters. - Replaced the long character-set list with a compact 2×2 selection grid.
- Simplified the advanced options section and made option rows fully clickable.
- Added About with the installed version, author Stanley Lloyd, PolyForm Noncommercial 1.0.0 license and GitHub link.
- Updated English and Russian project documentation for 1.5.0.
- Cleaned stale resources, file modes and obsolete template code.
- Updated UI tests and CI verification.
- Minimized R8 rules while preserving readable crash line numbers.
- Removed deprecated UI API usage.
Privacy
Password generation is fully local and the app does not request the Android INTERNET permission. Generated passwords are not persisted. Copied passwords are marked as sensitive, and the app attempts to remove its own copied value after 60 seconds when Android still allows clipboard access and the copied value is still current.
Release packages
APK — direct installation / GitHub distribution
password-generator-v1.5.0.apk
SHA-256: a54596f43fe30b425f8cded490ab64a670201ed039f3ed69f02b4256f429764d
APK Signature Scheme v2: verified
APK Signature Scheme v3: verified
AAB — RuStore publishing
password-generator-1.5.0.aab
SHA-256: 409654bd51bef279b6bea63e7ea58152ae9248450f02b93b7ef2ad207a7b4660
The AAB was built from the v1.5.0 release commit and signed with the configured Android release/upload key. Its signing certificate SHA-256 was verified against the expected release certificate.
Release commit: 5053fadee1c3c7512e23e153f5ea4d7cbd7bc437