Picocrypt/Changelog.md
Evan Su b6d1b2156a
Update Changelog: sticking with freedesktop 24.08 for now
25.08 is not out yet and the golang sdk might also take some time to get itself onto 25.08. 24.08 is supported for until next year so for 1.49 at least, it's fine to stick with 24.08.
2025-08-01 22:27:05 -04:00

16 KiB

v1.49 (Unreleased)

  • ✓ Update macOS icon to fit better
  • ✓ Added support for Cyrillic characters (https://github.com/Picocrypt/giu/pull/1), thanks @Retengart
  • ✓ upx Linux binary in addition to Windows, update upx version for Windows
  • Fix Picocrypt not running on macOS 26 (and remember to update Homebrew after release)

v1.48 (Released 04/18/2025)

  • ✓ Allow pressing 'Enter' key to press Start/Process button
  • ✓ Update "Encrypt" button to "Zip and Encrypt" if multiple files
  • ✓ Give user estimated required free disk space in status label
  • ✓ Encrypt previously unencrypted temporary zip files
  • ✓ Add `.incomplete` to filenames while work is in progress
  • ✓ Use `encrypted-*.zip.pcv` output name instead of `Encrypted.zip.pcv`
  • ✓ Use 0700 permissions when auto unzipping and creating folders
  • ✓ Handle many more errors in the code where they were ignored previously

v1.47 (Released 02/19/2025)

  • ✓ No code changes, just build on newly released Go 1.24
  • ✓ Reintroduce the Windows installer made using Inno Setup

v1.46 (Released 01/29/2025)

  • ✓ Added Picocrypt version to the window title
  • ✓ Added ability to automatically unzip archives upon decryption

v1.45 (Released 12/05/2024)

  • ✓ Bumped GitHub Actions Ubuntu 22 -> 24 and macOS 14 -> 15

v1.44 (Released 11/09/2024)

  • ✓ No changes, just updated dependencies

v1.43 (Released 09/11/2024)

  • ✓ No changes, just updated dependencies

v1.42 (Released 09/03/2024)

  • Security audit by Radically Open Security has concluded! No major security issues were found🥳
  • ✓ Panic if crypto/rand.Read fails
  • ✓ Assume host machine is trusted, make notes in documentation accordingly
  • ✓ Handle edge cases regarding comments

v1.41 (Released 08/30/2024)

  • ✓ Move all external packages to under Picocrypt organization

v1.40 (Released 08/10/2024)

  • ✓ Allow "Open with Picocrypt" to work; you can drop files and folders onto the executable now!

v1.39 (Released 08/07/2024)

  • ✓ Disable comments if deniability is enabled

v1.38 (Released 08/03/2024)

  • ✓ Remove periods from the end of labels

v1.35 - v1.37 (Released 07/08/2024)

  • ✓ Various small releases to get workflows running and automated builds released
  • ✓ Reduce keyfile generator's output size from 1 KiB -> 32 bytes since 32 bytes is enough

v1.34 (Released 04/29/2024)

  • ✓ New CLI with support for files, folders, globs, paranoid mode, and Reed-Solomon
  • ✓ Migrate github.com/HACKERALERT/crypto back to golang.org/x/crypto
  • ✓ Distribute raw Linux binary instead of AppImage for better portability
  • ✓ Distribute macOS binaries for both Intel and Apple silicon

v1.33 (Released 06/27/2023)

  • ✓ Add tooltip warning that comments are not encrypted (#164)
  • ✓ Hash keyfiles in chunks to reduce memory usage (#168)
  • ✓ Prevent using identical keyfiles under different filenames (#170)

v1.32 (Released 04/28/2023)

  • ✓ Added a command-line interface
  • ✓ Use Debian 11 as the base for the AppImage instead of Debian 10
  • ✓ Include software rendering DLLs in the Paranoid Pack for future proofing
  • ✓ Add plausible deniability and recursive encryption
  • ✓ Added an installer for Windows (made using Inno Setup)

v1.31 (Released 11/18/2022)

  • ✓ Force software OpenGL rendering on macOS
  • ✓ Use native clipboard APIs instead of external package (removes need for xclip)
  • ✓ Revert using system temporary folder due to size issues

v1.30 (Released 09/24/2022)

  • ✓ Improve tooltip word choice
  • ✓ Add FAQ to README
  • ✓ Fix scaling issue when moving between monitors with different DPIs (on Windows)
  • ✓ Strip periods from custom output filename to prevent file extension problems
  • ✓ Minor tweaks to keyfile modal
  • ✓ Use temporary .zip file to prevent overwriting when encrypting
  • ✓ Check if files already exist when recombining and splitting to prevent overwriting
  • ✓ Show ".*" in the output box if splitting
  • ✓ Skip temporary and inaccessible files when combining/compressing
  • ✓ Improve file scanning performance by precomputing total size
  • ✓ Stability improvements and fixes for edge cases
  • ✓ Check for clipboard support on Linux

v1.29 (Released 05/23/2022)

  • ✓ Review/improve Internals.md
  • ✓ Add option to compress when encrypting a single file
  • ✓ Check for errors when not enough disk space
  • ✓ Show MiB/GiB instead of M/G in the input label to prevent confusion
  • ✓ Minor consistency improvements

v1.28 (Released 05/16/2022)

  • ✓ Fix bug when decrypting a splitted volume with a custom output name and "Delete files" selected
  • ✓ Improve responsiveness of cancel button (instant cancel when pressed instead of delays)
  • ✓ Software OpenGL rendering on Windows (for Windows on ARM compatibility and older hardware)
  • ✓ Progress, speed, and ETA for combining/compressing files, recombining files, and splitting files
  • ✓ Improve overall IO performance
  • ✓ Much smoother Reed-Solomon decryption flow, slightly better performance
  • ✓ Major code cleanups and organizing
  • Much better file permission handling
  • ✓ Numerous minor fixes and improvements
  • ✓ Improve Reed-Solomon performance (only rebuild data if corruption is detected)
  • ✓ `gofmt` and `go mod tidy` all dependencies
  • ✓ Fix bad pointer issue when running with `-race`
  • ✓ Fix focus bug where input boxes are not cleared if they are focused when file is dropped
  • ✓ Fix bug on Windows where copying from the password field using Ctrl+C and then pasting with the "Paste" button would cause a crash
  • ✓ Make sure at least one password characters category is checked when generating
  • ✓ Use `desktop-file-validate` to find and remove deprecated fields and fix invalid ones in the .desktop for .deb and AppImage
  • ✓ .deb and AppImage optimizations, reliability improvements
  • ✓ Snapcraft uses software OpenGL rendering as well now
  • ✓ Statically linked libc6, etc. for best cross-platform compatibility for Snapcraft
  • ✓ Added NO_AT_BRIDGE=1 to Snapcraft to fix an issue on Arch Linux (#75)
  • ✓ Clean up unnecessary files in dependencies
  • ✓ Sign executables with OpenPGP

v1.27 (Released 05/02/2022)

  • ✓ Input validation for split size
  • ✓ Ability to split into a custom number of total chunks in addition to by size
  • ✓ Fix issue with long comments
  • ✓ Deprecate Snapcraft and provide a .deb and AppImage instead

v1.26 (Released 04/18/2022)

  • ✓ Fix a race condition
  • ✓ Fix invalid pointer crash when decrypting files >256GB
  • ✓ UI improvements and tweaks
  • ✓ Fix crash on Windows when saving to the root directory of a drive
  • ✓ Max file size limit removed! Picocrypt can now encrypt files of unlimited size instead of being capped at 256 GiB
  • ✓ Shows total input size along with input label
  • ✓ Update to GLFW 3.3.6 for better stability

v1.25 (Released 04/13/2022)

  • ✓ Improve Internals documentation (header format, etc.)
  • ✓ Save as and keyfile file dialog now opens in the same directory as dropped files
  • ✓ Improvements for long file names
  • ✓ Minor UI improvements and fixes

v1.24 (Released 04/02/2022)

  • ✓ Fixed layout bug that allowed scrolling within window
  • ✓ Optimize dependencies
  • ✓ Numerous code and UI optimizations, including better comments
  • ✓ Keyfile modal will recenter automatically upon dropping a keyfile
  • ✓ Fix modals moving around randomly when open and closed numerous times
  • ✓ Fixed: Progressbar modal moves around weirdly sometimes
  • ✓ Better error handling
  • ✓ Show compression speed and percentage
  • ✓ Smoothen splitting file and recombing file progress bars
  • ✓ Finish adding tooltips

v1.23 (Released 03/19/2022)

  • ✓ Removed the checksum generator to get back on track with original Picocrypt ideology
  • ✓ Cleaned up and optimized code
  • ✓ Compiled with MinGW GCC11 instead of TDM-GCC, Go 1.18 instead of Go 1.17
  • ✓ Picocrypt no longer checks for new versions, so no network requests are ever made

v1.22 (Released 12/22/2021)

  • ✓ Remove fast mode, as a change for the normal mode will make fast mode obselete
  • ✓ For normal mode, change HMAC-SHA3 to a keyed Blake2b

v1.21 (Released 11/19/2021)

  • ✓ Remove file shredder because it won't be very effective in the future
  • ✓ Fix minor temporary file bug
  • ✓ Improve decryption UI

v1.20 (Released 11/12/2021)

  • ✓ Fix keyfile modal UI layout
  • ✓ Fix keyfile modal typo
  • ✓ Fix minor keyfile bug
  • ✓ Improve shredding window layout
  • ✓ Fork all dependencies and recursive dependencies into "offline" repos for hardening and better stability
  • ✓ Fix UI scaling issues
  • ✓ Fix high DPI layout issues
  • ✓ Optimize zip compressor

v1.19 (Released 09/26/2021)

  • ✓ UI scaling hotfix

v1.18 (Released 09/24/2021)

  • ✓ Make UI more consistent (minor DPI issues)
  • ✓ Fix crashing when OS denies permission to access file
  • ✓ Fixed bug where file object was not closed properly
  • ✓ Encryption/decryption file naming and extension bugs
  • ✓ Many fixes, optimizations, and linting

v1.17 (Released 09/04/2021)

  • ✓ (abandoned due to UI issues with ASCII codes >128) Extended ASCII set in password generator
  • ✓ Tooltips for all advanced options
  • ✓ Localization support (use system default where possible)
  • ✓ Auto detect system locale, fallback to English
  • ✓ Fix ETA negative number bug
  • ✓ Add clear button to password field
  • ✓ Multiple keyfiles support and DND
  • ✓ Option to require specific keyfile order
  • ✓ Keyfile generator
  • ✓ Bug: Red error label shown in main window during successful decryption after selecting incorrect keyfiles
  • ✓ Prevent duplicate keyfile
  • ✓ Add a select keyfile button
  • ✓ Make sure only one of "Fast mode" and "Paranoid mode" can be enabled
  • ✓ Fix bug where metadata says "read-only", but the textbox is modifiable
  • ✓ Add option to delete encrypted files after decryption
Note: v1.17 will be incompatible with all previous releases!

v1.16 (Released 08/11/2021)

  • ✓ Fixed bug when entering a wrong password when decrypting a splitted file
  • ✓ Fixed bug where an existing file is delete when a wrong password is used
  • ✓ The password generator is now customizable
  • ✓ Make keyfile support more reliable (keyfile now out of Beta)
  • ✓ Fix keyfile user flow issue
  • ✓ Bug fixes
  • ✓ UI fixes improvements

v1.15 (Released 08/09/2021)

  • ✓ Add cancel button to file shredder and custom number of passes
  • ✓ Password generator
  • ✓ Make password strength circle start at top
  • ✓ Fix shredder UI bugs

v1.14 (Released 08/07/2021)

  • ✓ Low-severity security fix for the recently discovered partitioning oracle attacks
  • ✓ Move from Monocypher to Go's standard supplemental ChaCha20 in favour of the latter being stateful
  • ✓ Add SHA3 (normal mode) and BLAKE2b (fast mode) as HMAC to replace Poly1305 and prevent partitioning oracle attacks
  • ✓ Removed ~100 lines of unnecessary code now that Picocrypt uses Go's ChaCha20 (cleaner and stabler code)
  • ✓ Added window icons
  • ✓ Switch to a new Reed-Solomon encoder that automatically corrects errors
  • ✓ Add a "Paranoid mode", which will use the Serpent cipher in addition to XChaCha20
  • ✓ Cleaner code with plenty of comments for people taking a look
  • ✓ Metadata is now Reed-Solomon encoded (everything bit of header data is now RS-encoded for redundancy)
  • ✓ Reed-Solomon checkbox is now enabled and Reed-Solomon works
  • ✓ Implemented Dropbox's zxcvbn password strength checker
  • ✓ Removed paranoid shredding as it is too hard to implement correctly and not cross platform
  • ✓ Fixed Windows zip extract error notice that doesn't appear in 7-Zip (edit: it was a backslash issue)
  • ✓ Optional shred temporary files checkbox
  • ✓ Remove BLAKE3 from the checksum generator tab, as it has no practical use and requires a non-standard library
  • ✓ Advanced options are shown dynamically depending on whether encrypting or decrypting
  • ✓ Window closing disabled during encryption/decryption/shredding to prevent leakage of temporary files
  • ✓ Reduce padding of metadataLength from 10 to 5 (you probably won't type more than 99999 metadata characters)
  • ✓ Use regex to check if an input file is a valid Picocrypt volume or not during decryption
  • ✓ Improved user flow as well as fix UI bugs
  • ✓ Code optimizations
  • ✓ Many bug fixes/stability improvments
Note: v1.14 will be incompatible with all previous releases!

v1.13 (Released 5/29/2021)

  • ✓ Picocrypt has been ported from Python to Go, thus completely rewritten
  • ✓ Added fast mode, which can achieve ~250MB/s
  • ✓ Added file shredder and file checksum generator
  • ✓ Automatically checks for newer versions
  • ✓ Added file chunking support
Note: v1.13 will be incompatible with all previous releases!

v1.12.1 (Released 04/11/2021)

  • ✓ Fixed a bug that caused "Secure wipe" feature to show "Unknown error" when done

v1.12 (Released 04/07/2021)

  • ✓ Beautiful UI
  • ✓ More than x2 as fast as previous versions
  • ✓ Add cancel button to cancel encryption/decryption
  • ✓ (Bug) Delete existing file only if password is correct
  • ✓ Minor aesthetic fixes
  • ✓ Complete rewrite from scratch, to ensure reliability and security
  • ✓ Better anti-corruption (re-defined header format)
  • ✓ Switch to Argon2d instead Argon2id for better security
  • ✓ Switch from SHA3 to BLAKE3 for corruption check
  • ✓ Better user flow
Note: v1.12 will be incompatible with all previous releases!

v1.11 (Released 03/23/2021)

  • ✓ Much more secure wipe via sdelete64 for Windows, shred for Linux, and rm -P for MacOS
  • ✓ Much more beautiful UI for macOS
  • ✓ Robust secure wipe support for drag and dropped files/folders
  • ✓ Only open input files in read mode, since write mode is unnecessary
  • ✓ Clean up source code, add better comments
  • ✓ Drag and drop support (multiple files, a folder, a file and a folder, etc.)