Picocrypt/Changelog.md

11 KiB

To Do

  • Review/improve Internals.md

v1.29 (ETA: Unknown)

  • Add FAQ
  • ✓ 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.)