Picocrypt/Changelog.md

282 lines
13 KiB
Markdown
Raw Normal View History

2024-04-25 16:01:07 +02:00
# Future
<ul>
<li>Migrate golang.org/x/crypto to standard library imports (https://github.com/golang/go/issues/65269)</li>
2024-04-25 20:04:52 +02:00
<li>(Under consideration) Better web app; add advanced features</li>
2024-04-25 16:01:07 +02:00
</ul>
# v1.34 (No ETA)
<ul>
2024-04-25 16:09:14 +02:00
<li>(WIP) New CLI with support for files, folders, globs, paranoid mode, and Reed-Solomon</li>
2024-04-25 20:04:52 +02:00
<li>Unzip after decryption (advanced feature)</li>
2024-04-25 16:09:14 +02:00
<li>Migrate github.com/HACKERALERT/crypto back to golang.org/x/crypto</li>
<li>Distribute raw Linux binary instead of AppImage for better portability</li>
2024-04-25 16:01:07 +02:00
</ul>
2023-06-28 00:10:55 +02:00
# v1.33 (Released 06/27/2023)
2023-06-15 06:06:04 +02:00
<ul>
2023-06-28 00:10:55 +02:00
<li>✓ Add tooltip warning that comments are not encrypted (#164)</li>
<li>✓ Hash keyfiles in chunks to reduce memory usage (#168)</li>
<li>✓ Prevent using identical keyfiles under different filenames (#170)</li>
2023-06-15 06:06:04 +02:00
</ul>
2023-04-29 00:43:37 +02:00
# v1.32 (Released 04/28/2023)
2023-04-12 04:03:48 +02:00
<ul>
<li>✓ Added a command-line interface</li>
2023-04-29 00:43:37 +02:00
<li>✓ Use Debian 11 as the base for the AppImage instead of Debian 10</li>
<li>✓ Include software rendering DLLs in the Paranoid Pack for future proofing</li>
<li>✓ Add plausible deniability and recursive encryption</li>
2023-06-15 06:06:04 +02:00
<li>✓ Added an installer for Windows (made using Inno Setup)</li>
2023-04-12 04:03:48 +02:00
</ul>
2022-11-18 06:51:39 +01:00
# v1.31 (Released 11/18/2022)
2022-11-18 01:27:21 +01:00
<ul>
<li>✓ Force software OpenGL rendering on macOS</li>
2022-11-18 01:48:30 +01:00
<li>✓ Use native clipboard APIs instead of external package (removes need for xclip)</li>
2022-11-18 05:19:05 +01:00
<li>✓ Revert using system temporary folder due to size issues</li>
2022-11-18 01:27:21 +01:00
</ul>
2022-09-25 03:49:42 +02:00
# v1.30 (Released 09/24/2022)
2022-06-26 01:06:06 +02:00
<ul>
2022-08-12 03:39:09 +02:00
<li>✓ Improve tooltip word choice</li>
<li>✓ Add FAQ to README</li>
<li>✓ Fix scaling issue when moving between monitors with different DPIs (on Windows)</li>
<li>✓ Strip periods from custom output filename to prevent file extension problems</li>
2022-08-20 05:36:32 +02:00
<li>✓ Minor tweaks to keyfile modal</li>
<li>✓ Use temporary .zip file to prevent overwriting when encrypting</li>
<li>✓ Check if files already exist when recombining and splitting to prevent overwriting</li>
<li>✓ Show ".*" in the output box if splitting</li>
<li>✓ Skip temporary and inaccessible files when combining/compressing</li>
<li>✓ Improve file scanning performance by precomputing total size</li>
2022-08-22 05:03:39 +02:00
<li>✓ Stability improvements and fixes for edge cases</li>
2022-09-24 16:26:52 +02:00
<li>✓ Check for clipboard support on Linux</li>
2022-06-26 01:06:06 +02:00
</ul>
2022-05-24 05:41:19 +02:00
# v1.29 (Released 05/23/2022)
2022-05-24 00:14:42 +02:00
<ul>
2022-05-23 17:54:43 +02:00
<li>✓ Review/improve Internals.md</li>
2022-05-21 05:29:37 +02:00
<li>✓ Add option to compress when encrypting a single file</li>
<li>✓ Check for errors when not enough disk space</li>
2022-05-17 23:33:34 +02:00
<li>✓ Show MiB/GiB instead of M/G in the input label to prevent confusion</li>
<li>✓ Minor consistency improvements</li>
</ul>
2022-05-17 05:41:55 +02:00
# v1.28 (Released 05/16/2022)
2022-05-09 01:13:40 +02:00
<ul>
2022-05-16 22:11:25 +02:00
<li>✓ Fix bug when decrypting a splitted volume with a custom output name and "Delete files" selected</li>
<li>✓ Improve responsiveness of cancel button (instant cancel when pressed instead of delays)</li>
<li>✓ Software OpenGL rendering on Windows (for Windows on ARM compatibility and older hardware)</li>
2022-05-13 02:19:30 +02:00
<li>✓ Progress, speed, and ETA for combining/compressing files, recombining files, and splitting files</li>
2022-05-12 02:48:44 +02:00
<li>✓ Improve overall IO performance</li>
2022-05-14 05:25:29 +02:00
<li>✓ Much smoother Reed-Solomon decryption flow, slightly better performance</li>
2022-05-10 05:47:43 +02:00
<li>✓ Major code cleanups and organizing</li>
<li><i>Much better</i> file permission handling</li>
2022-05-10 05:47:43 +02:00
<li>✓ Numerous minor fixes and improvements</li>
2022-05-09 01:13:40 +02:00
<li>✓ Improve Reed-Solomon performance (only rebuild data if corruption is detected)</li>
2022-05-08 01:19:41 +02:00
<li>`gofmt` and `go mod tidy` all dependencies</li>
<li>✓ Fix bad pointer issue when running with `-race`</li>
2022-05-07 06:23:19 +02:00
<li>✓ Fix focus bug where input boxes are not cleared if they are focused when file is dropped</li>
2022-05-06 05:19:46 +02:00
<li>✓ Fix bug on Windows where copying from the password field using Ctrl+C and then pasting with the "Paste" button would cause a crash</li>
2022-05-07 02:22:39 +02:00
<li>✓ Make sure at least one password characters category is checked when generating</li>
<li>✓ Use `desktop-file-validate` to find and remove deprecated fields and fix invalid ones in the .desktop for .deb and AppImage</li>
<li>✓ .deb and AppImage optimizations, reliability improvements</li>
<li>✓ Snapcraft uses software OpenGL rendering as well now</li>
<li>✓ Statically linked libc6, etc. for best cross-platform compatibility for Snapcraft</li>
2022-09-26 06:03:50 +02:00
<li>✓ Added NO_AT_BRIDGE=1 to Snapcraft to fix an issue on Arch Linux (#75)</li>
<li>✓ Clean up unnecessary files in dependencies</li>
2022-05-16 01:45:49 +02:00
<li>✓ Sign executables with OpenPGP</li>
2022-05-02 23:59:14 +02:00
</ul>
# v1.27 (Released 05/02/2022)
<ul>
2022-04-25 03:45:13 +02:00
<li>✓ Input validation for split size</li>
<li>✓ Ability to split into a custom number of total chunks in addition to by size</li>
<li>✓ Fix issue with long comments</li>
2022-05-02 23:59:14 +02:00
<li>✓ Deprecate Snapcraft and provide a .deb and AppImage instead</li>
2022-04-19 05:44:56 +02:00
</ul>
# v1.26 (Released 04/18/2022)
<ul>
2022-05-09 01:52:55 +02:00
<li>✓ Fix a race condition</li>
2022-04-18 21:50:07 +02:00
<li>✓ Fix invalid pointer crash when decrypting files >256GB</li>
2022-04-14 22:11:22 +02:00
<li>✓ UI improvements and tweaks</li>
2022-04-15 05:14:29 +02:00
<li>✓ Fix crash on Windows when saving to the root directory of a drive</li>
2022-09-26 06:03:50 +02:00
<li>✓ Max file size limit removed! Picocrypt can now encrypt files of unlimited size instead of being capped at 256 GiB</li>
2022-04-15 18:51:49 +02:00
<li>✓ Shows total input size along with input label</li>
2022-04-18 23:11:42 +02:00
<li>✓ Update to GLFW 3.3.6 for better stability</li>
2022-04-14 03:26:52 +02:00
</ul>
2022-04-14 05:59:27 +02:00
# v1.25 (Released 04/13/2022)
2022-04-14 03:26:52 +02:00
<ul>
2022-04-11 04:59:33 +02:00
<li>✓ Improve Internals documentation (header format, etc.)</li>
<li>✓ Save as and keyfile file dialog now opens in the same directory as dropped files</li>
2022-04-11 23:02:06 +02:00
<li>✓ Improvements for long file names</li>
2022-04-14 03:06:32 +02:00
<li>✓ Minor UI improvements and fixes</li>
2021-12-30 20:21:33 +01:00
</ul>
2022-04-02 20:38:45 +02:00
# v1.24 (Released 04/02/2022)
2022-03-20 04:24:08 +01:00
<ul>
2022-03-27 18:23:08 +02:00
<li>✓ Fixed layout bug that allowed scrolling within window</li>
<li>✓ Optimize dependencies</li>
2022-03-29 04:58:43 +02:00
<li>✓ Numerous code and UI optimizations, including better comments</li>
2022-03-29 02:27:16 +02:00
<li>✓ Keyfile modal will recenter automatically upon dropping a keyfile</li>
2022-03-29 22:58:46 +02:00
<li>✓ Fix modals moving around randomly when open and closed numerous times</li>
2022-03-30 05:32:41 +02:00
<li>✓ Fixed: Progressbar modal moves around weirdly sometimes</li>
2022-03-30 06:41:05 +02:00
<li>✓ Better error handling</li>
2022-03-31 00:47:07 +02:00
<li>✓ Show compression speed and percentage</li>
2022-03-31 05:57:52 +02:00
<li>✓ Smoothen splitting file and recombing file progress bars</li>
2022-04-01 05:42:26 +02:00
<li>✓ Finish adding tooltips</li>
2022-03-20 04:24:08 +01:00
</ul>
2022-03-20 03:58:08 +01:00
# v1.23 (Released 03/19/2022)
2022-03-20 03:44:41 +01:00
<ul>
<li>✓ Removed the checksum generator to get back on track with original Picocrypt ideology</li>
<li>✓ Cleaned up and optimized code</li>
<li>✓ Compiled with MinGW GCC11 instead of TDM-GCC, Go 1.18 instead of Go 1.17</li>
<li>✓ Picocrypt no longer checks for new versions, so no network requests are ever made</li>
</ul>
2022-03-19 17:44:40 +01:00
2021-12-22 18:04:08 +01:00
# v1.22 (Released 12/22/2021)
2021-12-15 22:34:59 +01:00
<ul>
<li>✓ Remove fast mode, as a change for the normal mode will make fast mode obselete</li>
<li>✓ For normal mode, change HMAC-SHA3 to a keyed Blake2b</li>
2021-12-15 22:34:59 +01:00
</ul>
2021-11-20 01:04:11 +01:00
# v1.21 (Released 11/19/2021)
2021-11-17 00:18:17 +01:00
<ul>
2021-11-20 01:04:11 +01:00
<li>✓ Remove file shredder because it won't be very effective in the future</li>
<li>✓ Fix minor temporary file bug</li>
2021-11-20 01:05:53 +01:00
<li>✓ Improve decryption UI</li>
2021-11-17 00:18:17 +01:00
</ul>
2021-11-13 01:24:41 +01:00
# v1.20 (Released 11/12/2021)
2021-10-11 04:38:31 +02:00
<ul>
2021-11-03 03:44:14 +01:00
<li>✓ Fix keyfile modal UI layout</li>
2021-11-03 03:30:42 +01:00
<li>✓ Fix keyfile modal typo</li>
2021-11-03 03:24:30 +01:00
<li>✓ Fix minor keyfile bug</li>
2021-11-01 21:10:47 +01:00
<li>✓ Improve shredding window layout</li>
2022-05-09 01:52:55 +02:00
<li>✓ Fork all dependencies and recursive dependencies into "offline" repos for hardening and better stability</li>
2021-10-27 04:14:59 +02:00
<li>✓ Fix UI scaling issues</li>
<li>✓ Fix high DPI layout issues</li>
2021-10-11 04:39:00 +02:00
<li>✓ Optimize zip compressor</li>
2021-10-11 04:38:31 +02:00
</ul>
2021-09-27 01:51:35 +02:00
# v1.19 (Released 09/26/2021)
2021-09-26 17:59:28 +02:00
<ul>
<li>✓ UI scaling hotfix</li>
2021-09-25 02:34:43 +02:00
</ul>
# v1.18 (Released 09/24/2021)
2021-09-02 00:01:51 +02:00
<ul>
2021-09-20 00:46:58 +02:00
<li>✓ Make UI more consistent (minor DPI issues)</li>
2021-09-24 21:23:45 +02:00
<li>✓ Fix crashing when OS denies permission to access file</li>
2021-09-20 03:02:53 +02:00
<li>✓ Fixed bug where file object was not closed properly</li>
2021-09-20 00:46:58 +02:00
<li>✓ Encryption/decryption file naming and extension bugs</li>
2021-09-25 02:34:43 +02:00
<li>✓ Many fixes, optimizations, and linting</li>
2021-08-13 20:29:40 +02:00
</ul>
2021-09-25 02:34:43 +02:00
# v1.17 (Released 09/04/2021)
2021-08-13 20:29:40 +02:00
<ul>
2021-08-16 02:46:17 +02:00
<li>✓ (abandoned due to UI issues with ASCII codes >128) Extended ASCII set in password generator</li>
2021-08-29 20:01:53 +02:00
<li>✓ Tooltips for all advanced options</li>
<li>✓ Localization support (use system default where possible)</li>
2021-08-19 02:38:16 +02:00
<li>✓ Auto detect system locale, fallback to English</li>
2021-08-16 04:41:57 +02:00
<li>✓ Fix ETA negative number bug</li>
2021-08-15 20:34:49 +02:00
<li>✓ Add clear button to password field</li>
2021-08-29 20:01:53 +02:00
<li>✓ Multiple keyfiles support and DND</li>
2021-08-30 00:24:37 +02:00
<li>✓ Option to require specific keyfile order</li>
2021-08-29 20:41:25 +02:00
<li>✓ Keyfile generator</li>
2021-09-02 00:46:28 +02:00
<li>✓ Bug: Red error label shown in main window during successful decryption after selecting incorrect keyfiles</li>
<li>✓ Prevent duplicate keyfile</li>
<li>✓ Add a select keyfile button</li>
2021-08-15 20:18:24 +02:00
<li>✓ Make sure only one of "Fast mode" and "Paranoid mode" can be enabled</li>
2021-08-16 02:50:41 +02:00
<li>✓ Fix bug where metadata says "read-only", but the textbox is modifiable</li>
2021-08-16 03:31:04 +02:00
<li>✓ Add option to delete encrypted files after decryption</li>
2021-08-02 04:56:46 +02:00
</ul>
2022-05-09 01:52:55 +02:00
<strong>Note: v1.17 will be incompatible with all previous releases!</strong>
2021-08-02 04:56:46 +02:00
2021-08-12 05:19:38 +02:00
# v1.16 (Released 08/11/2021)
2021-08-10 17:11:11 +02:00
<ul>
2022-04-11 04:59:33 +02:00
<li>✓ Fixed bug when entering a wrong password when decrypting a splitted file</li>
<li>✓ Fixed bug where an existing file is delete when a wrong password is used</li>
<li>✓ The password generator is now customizable</li>
<li>✓ Make keyfile support more reliable (keyfile now out of Beta)</li>
<li>✓ Fix keyfile user flow issue</li>
<li>✓ Bug fixes</li>
<li>✓ UI fixes improvements</li>
2021-08-10 17:11:11 +02:00
</ul>
2021-08-10 02:21:56 +02:00
# v1.15 (Released 08/09/2021)
2021-08-10 00:35:31 +02:00
<ul>
2022-04-11 04:59:33 +02:00
<li>✓ Add cancel button to file shredder and custom number of passes</li>
<li>✓ Password generator</li>
<li>✓ Make password strength circle start at top</li>
<li>✓ Fix shredder UI bugs</li>
2021-08-10 00:35:31 +02:00
</ul>
# v1.14 (Released 08/07/2021)
2021-08-02 04:56:46 +02:00
<ul>
2022-09-26 06:03:50 +02:00
<li>✓ Low-severity security fix for the recently discovered partitioning oracle attacks</li>
2022-04-11 04:59:33 +02:00
<li>✓ Move from Monocypher to Go's standard supplemental ChaCha20 in favour of the latter being stateful</li>
<li>✓ Add SHA3 (normal mode) and BLAKE2b (fast mode) as HMAC to replace Poly1305 and prevent partitioning oracle attacks</li>
<li>✓ Removed ~100 lines of unnecessary code now that Picocrypt uses Go's ChaCha20 (cleaner and stabler code)</li>
<li>✓ Added window icons</li>
<li>✓ Switch to a new Reed-Solomon encoder that automatically corrects errors</li>
<li>✓ Add a "Paranoid mode", which will use the Serpent cipher in addition to XChaCha20</li>
<li>✓ Cleaner code with plenty of comments for people taking a look</li>
<li>✓ Metadata is now Reed-Solomon encoded (everything bit of header data is now RS-encoded for redundancy)</li>
<li>✓ Reed-Solomon checkbox is now enabled and Reed-Solomon works</li>
<li>✓ Implemented Dropbox's zxcvbn password strength checker</li>
<li>✓ Removed paranoid shredding as it is too hard to implement correctly and not cross platform</li>
2022-05-09 01:52:55 +02:00
<li>✓ Fixed Windows zip extract error notice that doesn't appear in 7-Zip (edit: it was a backslash issue)</li>
2022-04-11 04:59:33 +02:00
<li>✓ Optional shred temporary files checkbox</li>
<li>✓ Remove BLAKE3 from the checksum generator tab, as it has no practical use and requires a non-standard library</li>
<li>✓ Advanced options are shown dynamically depending on whether encrypting or decrypting</li>
<li>✓ Window closing disabled during encryption/decryption/shredding to prevent leakage of temporary files</li>
<li>✓ Reduce padding of metadataLength from 10 to 5 (you probably won't type more than 99999 metadata characters)</li>
2022-05-09 01:52:55 +02:00
<li>✓ Use regex to check if an input file is a valid Picocrypt volume or not during decryption</li>
2022-04-11 04:59:33 +02:00
<li>✓ Improved user flow as well as fix UI bugs</li>
<li>✓ Code optimizations</li>
<li>✓ Many bug fixes/stability improvments</li>
2021-07-16 17:11:33 +02:00
</ul>
2022-05-09 01:52:55 +02:00
<strong>Note: v1.14 will be incompatible with all previous releases!</strong>
2021-05-30 01:20:05 +02:00
# v1.13 (Released 5/29/2021)
2021-04-23 00:26:03 +02:00
<ul>
2022-04-11 04:59:33 +02:00
<li>✓ Picocrypt has been ported from Python to Go, thus completely rewritten</li>
<li>✓ Added fast mode, which can achieve ~250MB/s</li>
<li>✓ Added file shredder and file checksum generator</li>
<li>✓ Automatically checks for newer versions</li>
<li>✓ Added file chunking support</li>
2021-04-23 00:26:03 +02:00
</ul>
2022-05-09 01:52:55 +02:00
<strong>Note: v1.13 will be incompatible with all previous releases!</strong>
2021-04-07 19:49:45 +02:00
2022-04-11 05:00:25 +02:00
# v1.12.1 (Released 04/11/2021)
2022-05-09 01:52:55 +02:00
<ul>
<li>✓ Fixed a bug that caused "Secure wipe" feature to show "Unknown error" when done</li>
</ul>
2021-04-11 21:26:23 +02:00
2021-04-07 19:49:45 +02:00
# v1.12 (Released 04/07/2021)
2021-03-24 01:58:08 +01:00
<ul>
2022-04-11 04:59:33 +02:00
<li>✓ Beautiful UI</li>
<li>✓ More than x2 as fast as previous versions</li>
<li>✓ Add cancel button to cancel encryption/decryption</li>
<li>✓ (Bug) Delete existing file only if password is correct</li>
<li>✓ Minor aesthetic fixes</li>
<li>✓ Complete rewrite from scratch, to ensure reliability and security</li>
<li>✓ Better anti-corruption (re-defined header format)</li>
<li>✓ Switch to Argon2d instead Argon2id for better security</li>
<li>✓ Switch from SHA3 to BLAKE3 for corruption check</li>
<li>✓ Better user flow</li>
2021-03-24 01:58:08 +01:00
</ul>
2022-05-09 01:52:55 +02:00
<strong>Note: v1.12 will be incompatible with all previous releases!</strong>
2021-03-24 01:58:08 +01:00
2022-04-11 05:00:25 +02:00
# v1.11 (Released 03/23/2021)
2021-03-21 17:43:05 +01:00
<ul>
2022-04-11 04:59:33 +02:00
<li>✓ Much more secure wipe via <code>sdelete64</code> for Windows, <code>shred</code> for Linux, and <code>rm -P</code> for MacOS</li>
2022-05-09 01:52:55 +02:00
<li>✓ Much more beautiful UI for macOS</li>
2022-04-11 04:59:33 +02:00
<li>✓ Robust secure wipe support for drag and dropped files/folders</li>
<li>✓ Only open input files in read mode, since write mode is unnecessary</li>
<li>✓ Clean up source code, add better comments</li>
2022-05-09 01:52:55 +02:00
<li>✓ Drag and drop support (multiple files, a folder, a file and a folder, etc.)</li>
2021-03-21 17:43:05 +01:00
</ul>