Skip to content

Releases: IridiumIO/CompactGUI

Version 3.5

08 Jul 09:07
Compare
Choose a tag to compare

New Features:

  • Update to .NET 8
  • Add progress indicators for analysing/compressing tasks in the Watchlist (watch that progress ring spin!)
  • Add option to enable/disable checking for pre-release updates #301
  • Add option to add to Start menu
  • Allow closing the program with Alt+F4 #407
  • Minor UI tweaks

Bug Fixes:

  • Fixed context menu failing to open CompactGUI in some instances
  • Fixed context menu not showing if you right-click on a folder background rather than on the folder itself
  • Make startup functions asynchronous to prevent hanging for a few seconds on program load

Other:

  • Lots of code refactoring
  • Updated internal packages
  • Optimised building of packages to reduce size of monolithic exe.

Important!

Because this application uses .NET 8, you have two choices of downloads:

    • 2.79 MB: If you don't have the .NET 8 runtime installed when you try to run this, it will prompt you to download it from Microsoft.
    • 70 MB: Includes all libraries required to run it completely standalone, however it's nearly 25x the size. I do recommend installing the .NET 8 runtime instead.

File Checksums

MD5: 		DE59932E50D8C21B815AACFDA31FEDA8
SHA-256: 	4391E088BA4C99FB24908DB5A9C2A5EDB31582AFC771666015715C9D7A67AE17

Like this project?

Please consider leaving a tip on Ko-Fi :)

Buy Me a Coffee at ko-fi.com

Full Changelog: v3.4.0...v3.5.0

Verson 3.4

06 Jul 06:40
81955ae
Compare
Choose a tag to compare

New Features:

  • Added Background Compactor: CompactGUI will now try to keep watched folders compressed in the background by running when the system is idle, under the following conditions:
    • The system has been idle (i.e. no user mouse/keyboard input) and the monitored folder has also not been modified (e.g. by Steam updates, user copying files, etc) within the last 5 minutes.
    • The background compressor will pause itself when user activity is detected, or if a manual compression/uncompression/analysing task is being run. It will then resume from where it left off after 5 minutes have elapsed, but it may skip any changes that were made to the folder in the time the compressor was paused. Before pausing, it will finish compressing the current file it is working on, to prevent corruption. If it unfortunately has to pause on a massive file on disk, this can take a minute.
    • The compressor will not run on any folder that has been totally uncompressed, as it uses the existing compression algorithms of the contained files to decide what compression to use. Totally uncompressed folders will still remain in the Watched list, but will need to be manually compressed again before the background compressor will take over again.
    • The background compressor ignores any skipped file settings for now.
  • New Settings Options:
    • Added settings options to enable/disable background monitoring and compression
    • Added settings option to start CompactGUI in system tray #371
  • Taskbar icon progress indicator: Compression progress is now indicated on the taskbar icon #71
  • Refreshed Watched Folders tab:
    • Updated UI
    • Added button to allow manually adding a folder to the watchlist without having to compress it first (in case you've compressed it elsewhere before)

Optimisations:

  • Change progress bar calculation to use file size rather than file count #65
  • Speed up GetPoorlyCompressedExtensions by up to 10x
  • Reuse FileInfo instances to make Core.Compactor.BuildWorkingFilesList() about 90x faster (from ~900ms to 10ms overall on a folder with 100,000 files)
  • Smaller optimisations to Watcher and Analyser classes

Bug Fixes:

  • Fix crash when a file is deleted after analysis starts but before it is completed
  • Fix duplicating entries in the Wiki Results tooltip
  • Fix Watcher continuously trying to update the WatchedFolders.json file on disk while idle.

Important!

You will need to make sure you have .NET Desktop Runtime 6.0 installed.

File Checksums

MD5: 		3645F6DDACBB6AE7C2F1A40D9FD137D7
SHA-256: 	2DD4039E5339A7CAAB6E51BAE99094D20BD907559CB9CDEC2D6FB6BDFC2855B5

Like this project?

Please consider leaving a tip on Ko-Fi :)

Buy Me a Coffee at ko-fi.com

Full Changelog: v3.3.0...v3.4.0

Version 3.4 Alpha 2

03 Jul 09:37
Compare
Choose a tag to compare
Version 3.4 Alpha 2 Pre-release
Pre-release

New Features:

  • Added settings options to enable/disable background monitoring and compression
  • Added settings option to start CompactGUI in system tray #371
  • Progress is now indicated on the taskbar icon #71

Optimisations:

  • Change progress bar calculation to use file size rather than file count #65

Important!

You will need to install .NET 6 for the prerelease version of this.

    • 2.76 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft

File Checksums

MD5: 		F7BC0B63826572A715EE5E3E45F49C43
SHA-256: 	29669EA50D48F862F079861C71E80C9F4430C5BC79A57A8988CC81B2B3064E6A

Like this project?

Please consider leaving a tip on Ko-Fi :)

Buy Me a Coffee at ko-fi.com

Full Changelog: v3.4.0-alpha.1...v3.4.0-alpha.2

Version 3.4 Alpha 1

01 Jul 12:49
Compare
Choose a tag to compare
Version 3.4 Alpha 1 Pre-release
Pre-release

New Features:

  • Added Background Compactor: CompactGUI will now try to keep watched folders compressed in the background by running when the system is idle, under the following conditions:
    • The system has been idle (i.e. no user mouse/keyboard input) and the monitored folder has also not been modified (e.g. by Steam updates, user copying files, etc) within the last 5 minutes.
    • The background compressor will pause itself when user activity is detected, or if a manual compression/uncompression/analysing task is being run. It will then resume from where it left off after 5 minutes have elapsed, but it may skip any changes that were made to the folder in the time the compressor was paused. Before pausing, it will finish compressing the current file it is working on, to prevent corruption. If it unfortunately has to pause on a massive file on disk, this can take a minute.
    • The compressor will not run on any folder that has been totally uncompressed, as it uses the existing compression algorithms of the contained files to decide what compression to use. Totally uncompressed folders will still remain in the Watched list, but will need to be manually compressed again before the background compressor will take over again.
    • The background compressor ignores any skipped file settings for now.

While I've tested it in several situations, I cannot stress how important it is to be careful with this. There's currently no options to enable/disable the background compressor, or adjust the idle timeouts, hence the alpha tag. Please report bugs, especially runaway memory/disk/CPU usage

Optimisations:

  • Speed up GetPoorlyCompressedExtensions by up to 10x
  • Reuse FileInfo instances to make Core.Compactor.BuildWorkingFilesList() about 90x faster (from ~900ms to 10ms overall on a folder with 100,000 files)
  • Smaller optimisations to Watcher and Analyser classes

Bug Fixes:

  • Fix crash when a file is deleted after analysis starts but before it is completed
  • Fix duplicating entries in the Wiki Results tooltip
  • Fix Watcher continuously trying to update the WatchedFolders.json file on disk while idle.

Important!

Because this application uses .NET 6, you will need to install .NET 6 for the prerelease version of this.

    • 2.76 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft

File Checksums

MD5: 		8E11179B8A4D35AD1AB948F9612C808A
SHA-256: 	A1002CBDACC27264AA0CE7B94F7DE9FB5EDB57E182314FC1182308BC6895C8CB

Like this project?

Please consider leaving a tip on Ko-Fi :)

Buy Me a Coffee at ko-fi.com

Full Changelog: v3.3.0...v3.4.0-alpha.1

Version 3.3

28 Jun 06:31
Compare
Choose a tag to compare

New Features:

  • Adds a small indicator for total disk space saved on the Watched Folders tab #406

Bug Fixes:

  • Fix a few synchronization-related crashes by @Eta0 in #415
  • Tried to fix SID related crashes when analyzing folders, though I cannot replicate these crashes in the first place. Hopefully fixes #356 #405 #395 #430
    • Rewrite of the HasDirectoryWritePermission function should also fix #434
  • A warning now shows up and prevents you from trying to compress OneDrive folders as they cannot be compressed anyway #411
  • Fixes a crash when trying to submit compression results and a UID cannot be generated #424
  • Fixes visual bug where the last entry in the Watched Folders list gets stuck between two animations #429

Important!

Because this application uses .NET 6, you have two choices of downloads:

    • 2.76 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
    • 150 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		B0C6BD0EDC25E8A83DED7E6E44790CC1
SHA-256: 	17F408BDAD9F2EFF23AD015ACE616F1BF35B4C0AB4030C26E1A0669E3582C5FD

Like this project?

Please consider leaving a tip on Ko-Fi :)

Buy Me a Coffee at ko-fi.com

Version 3.2.1

09 Mar 14:25
Compare
Choose a tag to compare

Bug Fixes:

  • Fixes the program crashing on launch for new installations due to the program attempting to create the settings file twice. #405 #410 #409

Note

Either of two things may happen in an upcoming release (I haven't decided yet)

  • Upgrade to .NET 8 and continue to provide two separate binaries (one normal, and one monolithic)
  • Continue on .NET 6 and stop providing the monolithic version.

I haven't decided whether to upgrade to .NET 8 for this project yet (I've done it for another project, PolyCut) but aside from AOT - which probably won't work- I'm not sure it would be of any real benefit for CompactGUI otherwise.


Important!

Because this application uses .NET 6, you have two choices of downloads:

    • 2.76 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
    • 150 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		1CC3D0DB1C470B5B4017AB8EFE5ACD0A
SHA-256: 	6580E1D460586AB97EEF0A105EEA6898A161C02926E8F07B0351530B7931621F

Like this project?

Please consider leaving a tip on Ko-Fi :)

Buy Me a Coffee at ko-fi.com

Version 3.2.0

29 Feb 12:04
Compare
Choose a tag to compare

Sorry for the back-to-back releases today!

Bug Fixes:

  • Fixes the program crashing when a selected folder contains subdirectories/files you don't have permission to access. #395 #401

New Features:

  • Hovering over the Estimated Size region will now show an overview of all compression modes (and total number of user submissions) that contribute to the estimate. This way you can see exactly which compression mode is worth using for a given folder.

image


Known issues

  • Watched folders will not play nice if you added a folder to the watchlist while in admin mode, and then went back to normal mode afterwards. It will still technically work, but the analysis will not be accurate (as it will skip over files it doesn't have permission to check)
  • Clicking the Analyse button to check all the watched folders won't show any visual indication that it's doing anything until it is finished. It is actually working, but you just can't see anything. Feel free to spam click the button if it makes you feel better.

Note

Either of two things may happen in an upcoming release (I haven't decided yet)

  • Upgrade to .NET 8 and continue to provide two separate binaries (one normal, and one monolithic)
  • Continue on .NET 6 and stop providing the monolithic version.

I haven't decided whether to upgrade to .NET 8 for this project yet (I've done it for another project, PolyCut) but aside from AOT - which probably won't work- I'm not sure it would be of any real benefit for CompactGUI otherwise.


Important!

Because this application uses .NET 6, you have two choices of downloads:

    • 2.76 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
    • 150 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		0C9191710D6640BDEC4E68A2CD6D3B56
SHA-256: 	64D26D29766E58A7F7C45158AE809BF62D9D266265A9F4D62B35B591E9D66E4A

Like this project?

Please consider leaving a tip on Ko-Fi :)

Buy Me a Coffee at ko-fi.com

Version 3.1.1

29 Feb 04:40
Compare
Choose a tag to compare

Bug Fixes:

  • Partial fix for CompactGUI crashing on start (or failing to start) due to corrupted settings.json or watcher.json files
    • I still don't know what causes the corruption to happen in the first place, but now if it detects a corrupted file, it will get rebuilt rather than crashing. Should fix #372 #342 #334
  • Fixes the main window starting up with the title bar hidden on low resolution displays. #382
    • Additionally, if the program detects that it cannot fit on screen, it will scale itself down to do so.

Known issues

  • Watched folders will not play nice if you added a folder to the watchlist while in admin mode, and then went back to normal mode afterwards. It will still technically work, but the analysis will not be accurate (as it will skip over files it doesn't have permission to check)
  • Clicking the Analyse button to check all the watched folders won't show any visual indication that it's doing anything until it is finished. It is actually working, but you just can't see anything. Feel free to spam click the button if it makes you feel better.

Note

Either of two things may happen in an upcoming release (I haven't decided yet)

  • Upgrade to .NET 8 and continue to provide two separate binaries (one normal, and one monolithic)
  • Continue on .NET 6 and stop providing the monolithic version.

I haven't decided whether to upgrade to .NET 8 for this project yet (I've done it for another project, PolyCut) but aside from AOT - which probably won't work- I'm not sure it would be of any real benefit for CompactGUI otherwise.


Important!

Because this application uses .NET 6, you have two choices of downloads:

    • 2.76 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
    • 150 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		9A7F392AC2FC307FA2155B7DB41E91FF
SHA-256: 	E580109CB40ECFF6E57B70B069E27AF12CDC51645D4796FA1DC1D4818D50E425

Like this project?

Please consider leaving a tip on Ko-Fi :)

Buy Me a Coffee at ko-fi.com

Version 3.1.0

13 Feb 06:14
ddbc399
Compare
Choose a tag to compare

New Features:

  • Pause, Resume and Cancel functions have been added
    • Because compression/decompression is parallelised for speed (multiple files are compressed at the same time), there will be a delay after pressing these buttons to make sure all files being processed are safely written first.
    • Cancelling a compression will not undo already compressed files, but if you come back later to compress the same folder again, it will skip files that are already compressed.

Known issues

  • Watched folders will not play nice if you added a folder to the watchlist while in admin mode, and then went back to normal mode afterwards. It will still technically work, but the analysis will not be accurate (as it will skip over files it doesn't have permission to check)
  • Clicking the Analyse button to check all the watched folders won't show any visual indication that it's doing anything until it is finished. It is actually working, but you just can't see anything. Feel free to spam click the button if it makes you feel better.

Note

Either of two things may happen in an upcoming release (I haven't decided yet)

  • Upgrade to .NET 8 and continue to provide two separate binaries (one normal, and one monolithic)
  • Continue on .NET 6 and stop providing the monolithic version.

I haven't decided whether to upgrade to .NET 8 for this project yet (I've done it for another project, PolyCut) but aside from AOT - which probably won't work- I'm not sure it would be of any real benefit for CompactGUI otherwise.


Important!

Because this application uses .NET 6, you have two choices of downloads:

    • 2.76 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
    • 150 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		64B783EDCA6C08D8D9558C3FC0D2F740
SHA-256: 	01BDCA3C8EA3ADA6232991BD4DD6EF356AB62FBA9F779540FFF21740F7776EDB

Like this project?

Please consider leaving a tip on Ko-Fi :)

Buy Me a Coffee at ko-fi.com

Version 3.0.4

05 Feb 08:58
Compare
Choose a tag to compare

Note

Either of two things may happen in an upcoming release (I haven't decided yet)

  • Upgrade to .NET 8 and continue to provide two separate binaries (one normal, and one monolithic)
  • Continue on .NET 6 and stop providing the monolithic version.

I haven't decided whether to upgrade to .NET 8 for this project yet (I've done it for another project, PolyCut) but aside from AOT - which probably won't work- I'm not sure it would be of any real benefit for CompactGUI otherwise.


New Features:

  • Compression options now persist between runs rather than resetting to defaults (Selected compression mode, Skip filetypes, Add to watchlist) #392

Bug Fixes

  • Incorrect folder size result when compressing broken folders #361 #336
  • Fixed issue where it was possible to select and compress empty folders which would then crash the Watcher.
  • Fixed glitchy bottom toolbar animation when moving the mouse in/out of it too quickly
  • Moved Update banner from the bottom to the top so that the bottom toolbar can still be used.

Known issues

  • Watched folders will not play nice if you added a folder to the watchlist while in admin mode, and then went back to normal mode afterwards. It will still technically work, but the analysis will not be accurate (as it will skip over files it doesn't have permission to check)
  • Clicking the Analyse button to check all the watched folders won't show any visual indication that it's doing anything until it is finished. It is actually working, but you just can't see anything. Feel free to spam click the button if it makes you feel better.

Important!

Because this application uses .NET 6, you have two choices of downloads:

    • 2.76 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
    • 150 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		672E3A1D36A5F31D4D7694E2701CB6B7
SHA-256: 	1F0379777C5466C63A3E4A2A13BA490E20305F7E43A0DD91E07C708C270701DB

Like this project?

Please consider leaving a tip on Ko-Fi :)

Buy Me a Coffee at ko-fi.com