# Future
- Migrate golang.org/x/crypto to standard library imports (https://github.com/golang/go/issues/65269)
# 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)
# 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.)