Releases: IridiumIO/CompactGUI
Release list
Version 4.0 Beta 10
Lots of changes here, and I've almost certainly overlooked something that will cause issues.
Changes
- Added a Steam Library tab
- Populates and scans through all your Steam Games and checks them against the database to determine a recommended action.
- Compression level is dependent upon the results as well; for example, if LZX is barely better than XPRESS4K, it will recommend you use XPRESS4K.
- You can compress items with one click from this page, or right-click the item to add it to the usual queue (for fine-tuned tweaking of e.g. skiplists) or uncompress/check database results.
- Populates and scans through all your Steam Games and checks them against the database to determine a recommended action.
Note
It's not particularly fast as it has to scan all your steam games and analyse them. You can do other things while it is scanning, but I haven't tested for possible issues that could happen if you're loading the Library page and then decide to compress a bunch of games while it is loading. I'm sure there will be a crash in there somewhere.
- Localisation Rework
- I hate
.resxfiles, so I've switched to my own localisation library that stores languages as plain.tomlfiles on disk instead and is much easier to develop against. - Anyone can edit or create translation files at any time, and it does not require a new build of CompactGUI to be published. You could, for example, create your own translation with any text editor and then submit a pull request on Github to have it added to the repository.
- Updated translations can be downloaded from within CompactGUI by switching to the required language in the Settings tab and clicking the download icon next to the language selector. This will pull language files from Github. As I type this, I'm realising this won't work for completely new languages. You'll have to manually download those from CompactGUI/Resources/Localisation
- I hate
Fixes
- Fixed many issues with memory allocation (now that it's expensive) to reduce the RAM footprint and avoid memory leaks
- Fixed issues with the Background Watcher:
- Watcher could not resume if an idle background compressor was paused due to system activity resuming
- Watcher mode could not be toggled from Idle > Scheduled without restarting the program
- Fix a crash if you try to open the Database tab before it has been downloaded properly #651
- Watched folders on external drives are no longer assumed to be deleted, and are instead flagged with a warning on the Watcher. #625
Installation
Binaries
CompactGUI.exe (9MB): Smaller size, but requires .NET 10 Runtime to be installed
CompactGUI.mono.exe (65MB): Fully self-contained and embeds the necessary .NET 10 librariesWinGet
winget install CompactGUINote
Installing from WinGet automatically installs .NET 10 if required, however it can often take a few days for new releases to become available.
Checksums
MD5: 5F158F9F8ED9FE9FEBA1E0262A33C3EC
SHA-256: F490BD29AAB36A4E8FE222D284FC6EA0EA53533B13416D2AC8BE3D756F96C6E0Like this project?
Please consider leaving a tip on Ko-Fi :)
Version 4.0 Beta 9
Quick Fix
- Actually implemented the DirectStorage badge check. I messed it up in the last release and it never worked. Whoops.
- The DirectStorage check now also uses the full folder tree in case developers hide the
dstorage.dllfile in other folders. Now that more games support DirectStorage, they aren't using standard folders anymore. This means that if you - for example - try to compress your entire Steam folder and it contains a DirectStorage game, you will get a warning.
- The DirectStorage check now also uses the full folder tree in case developers hide the
Installation
Binaries
CompactGUI.exe (9MB): Smaller size, but requires .NET 10 Runtime to be installed
CompactGUI.mono.exe (65MB): Fully self-contained and embeds the necessary .NET 10 librariesWinGet
winget install CompactGUINote
Installing from WinGet automatically installs .NET 10 if required, however it can often take a few days for new releases to become available.
Checksums
MD5: C7BE3C0F4691F2A98ABD28BEFABD5371
SHA-256: 43141EE25B392ECA42CCCD2A3B89627B122B709D1C769706E08EF9AC41560FB9Like this project?
Please consider leaving a tip on Ko-Fi :)
Version 4.0 Beta 8
Sorry it's been so long, I lost track of time for a while and then have been focusing on other hobby projects for my own sanity :)
Changes
- Improved File Extension Exclusion list
- Exclusions can now be set per folder and are remembered if you add the folder to the
Watcher - The skiplist editor is now way less laggy. No idea why I left it broken for so long.
- Exclusions can now include who folders or paths, utilising Glob path formatting: #604
- Check here for proper formatting, but for backwards compatibility and sanity, you can still use
.pakin place of**/*.pak.
- Check here for proper formatting, but for backwards compatibility and sanity, you can still use
- Condensed the Skip List choices into the new extension exclusions view
- Changed the name of Wiki/Database/Estimator skiplists to just be called "Smart" skipping.
- The skiplist will show all extensions in the folder sorted by frequency so you can easily add/remove extensions to skip.
- Exclusions can now be set per folder and are remembered if you add the folder to the
-
Added a True Portable Mode
- Placing
CompactGUI.exein a folder calledcompactgui(any caps) will cause it to store its configuration files next to the exe instead of in the %LocalAppData% folder.
- Placing
-
Added a DirectStorage Indicator #641
- For the 3 people that need it, there is now a DirectStorage badge next to the folder name when you select a folder for a game that might use DirectStorage. This is persistent unlike the notification toast.
- Unfortunately I don't actually have any games that use DirectStorage so hopefully I didn't bork this.
Backend
- Updated to .NET 10
Fixes
- Minor UI tweaks and layout fixes
- Fixed help icon being overlapped on the Settings page for some languages
Translation
Honestly translation support is an actual pain in the neck. I cannot stress how much I hate the .resx localisation setup requiring extra cognitive work and setting up of keys everytime you want to write something.
So I will apologise in advance for the absolute travesty that is the current translation state. In fact, I wrote my own localisation interpreter for another project just to avoid this pain, so I'll probably migrate it all over at some point.
There are wonderful contributors who will no doubt patch things up and I thank them in advance, and I will push updates for those languages ASAP. I have used a mix of AI and Google Translate to translate some of the new strings in this update just to have something, and I am fully aware that those will be poorly represented.
Installation
Binaries
CompactGUI.exe (9MB): Smaller size, but requires .NET 10 Runtime to be installed
CompactGUI.mono.exe (65MB): Fully self-contained and embeds the necessary .NET 10 librariesWinGet
winget install CompactGUINote
Installing from WinGet automatically installs .NET 10 if required, however it can often take a few days for new releases to become available.
Checksums
MD5: E74243ED1D07DD87E159CA4E9099113D
SHA-256: 4B0456B76F43CF1BAE03DBDB4F2EDBFEC775E826A970F19467A56106257CF519Like this project?
Please consider leaving a tip on Ko-Fi :)
Version 4.0 Beta 7
Changes
- Add multi-language support thanks to @XTsat.
- Chinese by @XTsat
- Russian by @Blueberryy
- Spanish by @ShadowLoveElysia
- Added a button in the
Settingspage to open the settings folder (AppData/Local/IridiumIO/CompactGUI), in case anything goes wrong - config files for settings and the watcher database are located there.
Fixes
- (Hopefully) fixes a crash when the internet connection is slow / disconnected #528
Installation
Binaries
CompactGUI.exe (9MB): Smaller size, but requires .NET 9 Runtime to be installed
CompactGUI.mono.exe (64MB): Fully self-contained and embeds the necessary .NET 9 librariesWinGet
winget install CompactGUINote
Installing from WinGet automatically installs .NET 9 if required, however it can often take a few days for new releases to become available.
Checksums
MD5: E7134BBEE1D19DDB25FB7F44B2582659
SHA-256: 9696143759D85CC6D5ECF14453F6D4754AE465515023D7FEDD0291F73F51A1E4Like this project?
Please consider leaving a tip on Ko-Fi :)
Full Changelog: v4.0.0-beta.6...v4.0.0-beta.7
Version 4.0 Beta 6
Changes
NEW Added Scheduler
- Adds the ability to schedule background compression of watched folders, with the following choices:
- When system is idle (existing functionality)
- On Schedule
- On Schedule if system is also idle (for example you want to run it at 6pm every day, but only if you're not actively using the computer)
- If the Scheduler is running and you wish to cancel it, you can do so from the
Watchertab as below - Note: Scheduler will only run if the computer is already on and CompactGUI is running.
NEW Manual compression of all watched folders
- You can now compress all watched folders manually from the
Watchertab - Any scheduled background compressions can also be cancelled from this tab when they are running too.
NEW Logging
Hopefully this will make error reporting easier - logs are now generated and saved to %IridiumIO%/CompactGUI. If you run into issues with CompactGUI, please share these logs when creating an issue! Hopefully they catch the reason for any crashes or problems.
TWEAKS UI Updates
- Improved Compression Mode option buttons and layout of main area of CompactGUI
- the hover effect can be disabled in settings if you prefer to always see more details
- Tweaked results view (not sure if this looks better or not - probably will change again later)
- Adjusted Watcher page layout - now includes button to compress all watched folders on command
- Changes to base background colour and image use
Fixes
- Fixed several memory leaks
- Major performance improvements in several areas and reduced overall memory usage
- Fixed a crash that could occur when opening the skiplist
- Fixed the watcher list nuking itself if a monitored folder is deleted #546
- Fixed instances where the background watcher simply doesn't do anything
- Fixed the compression buttons showing the wrong estimates #543
- Fixed spamming disk writes when the user changes settings (previously every change in the settings menu would immediately write the new settings file to disk - now this is debounced)
Installation
Binaries
CompactGUI.exe (10MB): Smaller size, but requires .NET 9 Runtime to be installed
CompactGUI.mono.exe (64MB): Fully self-contained and embeds the necessary .NET 9 librariesWinGet
winget install CompactGUINote
Installing from WinGet automatically installs .NET 9 if required, however it can often take a few days for new releases to become available.
Checksums
MD5: F6722CD43AA8169DB1F960A258639889
SHA-256: 5CB2DB4EC39B8FA3E11BC3824BBFDC55214373D27714BFA2C1DF306576F06D81Like this project?
Please consider leaving a tip on Ko-Fi :)
Full Changelog: v4.0.0-beta.5...v4.0.0-beta.6
Version 4.0 Beta 5
Tweaks + Bugfixes
- You can once again drag-and-drop folders into the main window to be compressed #533
- Adds an error message when attempting to compress folders that have been compressed by the old Windows LZNT1 method (using the "Compress contents to save disk space" option) as this is unsupported. #316
- Adds a warning when attempting to compress games that use
DirectStorage#423 - Window state, position and size is now saved between application launches #537
- Compression options are now saved between application launches, and when adding new folders to the queue any modifications made to the configuration options will carry across #536
- No longer travels down symbolic links or directory junctions when scanning folders. This may have been the cause of some crashes and incorrect file size reporting #532
Known Issues
- Adding an extension to the Settings skiplist will not update the
XXX files will be skippedcounter unless you remove the folder and re-add it to the queue
Installation
Binaries
CompactGUI.exe (10MB): Smaller size, but requires .NET 9 Runtime to be installed
CompactGUI.mono.exe (64MB): Fully self-contained and embeds the necessary .NET 9 librariesWinGet
winget install CompactGUINote
Installing from WinGet automatically installs .NET 9 if required, however it can often take a few days for new releases to become available. Winget is not available for beta releases
Checksums
MD5: F1EEBEBBAFF74D2C01EA8C223DFF1136
SHA-256: 710786CD5A8583F3AEB1F38A5355FEF0D8EDFB1BCF130A2364773C55EB2FAE32Like this project?
Please consider leaving a tip on Ko-Fi :)
Full Changelog: v4.0.0-beta.4...v4.0.0-beta.5
Version 4.0 Beta 4
Changes
NEW Added Results Database Viewer
- Let's you see and search compression results from user-submitted data
- It uses the same database that is already used to show the
estimated compressionwhen working on a Steam game Note: I've added a filter in the generation of the database to get rid of extremely old submissions that are likely to be inaccurate. This means that any game that has more than 4000 results (1000 per compression level) will have the oldest submissions stripped out. "Ark: Survival Evolved" is a good example of this.
Backend Changes
- Rewrote core logic in C# (time to start saying goodbye, VB.NET my old friend)
- Improved analyser performance
Fixes
- Fixes crash when the program can't download an updated results database on launch #528
- Fixes adding watched folders to the compression queue not auto-selecting the correct compression level #530
Known Issues
- Adding an extension to the Settings skiplist will not update the
XXX files will be skippedcounter unless you remove the folder and re-add it to the queue
Installation
Binaries
CompactGUI.exe (10MB): Smaller size, but requires .NET 9 Runtime to be installed
CompactGUI.mono.exe (64MB): Fully self-contained and embeds the necessary .NET 9 librariesWinGet
winget install CompactGUINote
Installing from WinGet automatically installs .NET 9 if required, however it can often take a few days for new releases to become available. Winget is not available for beta releases
Checksums
MD5: 1CF91B3C93EDDE224690B9D973F88436
SHA-256: 86FF3247DB150F0A76E1A0C0B553010E211FBE3E729D6A338107CF850EE8C767Like this project?
Please consider leaving a tip on Ko-Fi :)
Full Changelog: v4.0.0-beta.3...v4.0.0-beta.4
Version 4.0 Beta 3
Changes
NEW Added Compression Estimator
- Estimations now show up for non-Steam games as well, and are generally accurate to ±5% of the
XPRESS4Kcompressability - Scans tiny fragments of each file when analysing to guess how compressible it is by using in-memory compression
- These estimates can be used to skip files that may not compress well in the selected folder
- The UI and checkboxes in the
Configurationlist have been updated to reflect this, along with tooltips to improve clarity
- The UI and checkboxes in the
- These estimations can be disabled in the Settings
Note
Special optimisations are done for scanning done on HDDs, but it can still be very slow (the 42GB folder below took ~12 seconds). It is still significantly faster than finding out afterwards that the folder you spent an hour compressing wasn't very compressable.
SSD estimates are extremely fast however (~1TB in 24 seconds)
Backend Changes
- Internal refactoring of
CompactorandUncompactorto utilise a shared interface, as well as useSafeFileHandlefor operations
Known Issues
- Adding an extension to the Settings skiplist will not update the
XXX files will be skippedcounter unless you remove the folder and re-add it to the queue
Installation
Binaries
CompactGUI.exe (10MB): Smaller size, but requires .NET 9 Runtime to be installed
CompactGUI.mono.exe (64MB): Fully self-contained and embeds the necessary .NET 9 librariesWinGet
winget install CompactGUINote
Installing from WinGet automatically installs .NET 9 if required, however it can often take a few days for new releases to become available. Winget is not available for beta releases
Checksums
MD5: E4F2AAB5119F3A46E5524AFC55A40C93
SHA-256: 4FA49887AE861CEE74E5C5B5DA8A697C3D60AEB3BBD6E21711E894D872D08F2CLike this project?
Please consider leaving a tip on Ko-Fi :)
Full Changelog: v4.0.0-beta.2...v4.0.0-beta.3
Version 4.0 Beta 2
Changes
- Watcher
- The PC now stays awake while a folder is being compressed (sleep prevention is lifted when compression finishes or CompactGUI is closed) #110
- Added an
Adminicon to the UI when running CompactGUI as administrator
Fixes
- Fixed several crashes related to the Watcher #519
- Removed an unused registry entry that also caused a crash #517
- Fixed unreadable
Skiplistwindow on Windows 10 #516 - CompactGUI no longer appears as "MainWindow" in the taskbar #515
- Fixed issue where a paused folder could get stuck after clicking "Apply to All" from another folder #521
- Minor Watcher UI fixes:
- Fixed missing analysis indicator next to folders
Last Compresseddate now updates correctly after compression #522
Installation
Binaries
CompactGUI.exe (10MB): Smaller size, but requires .NET 9 Runtime to be installed
CompactGUI.mono.exe (64MB): Fully self-contained and embeds the necessary .NET 9 librariesWinGet
winget install CompactGUINote
Installing from WinGet automatically installs .NET 9 if required, however it can often take a few days for new releases to become available. Winget is not available for beta releases
Checksums
MD5: A4BAA27E02BB6550C758716041CB6C1A
SHA-256: 33FA69CB9E765821314712C39C9DA0BE1A68F0FC30085A5B4A9C962641285BF3Like this project?
Please consider leaving a tip on Ko-Fi :)
Full Changelog: v4.0.0-beta.1...v4.0.0-beta.2
Version 4.0 Beta 1
Changes
- UI overhaul - The existing UI with the animated transitions was getting really hard to manage, and I couldn't figure out how to squeeze some new features into it. So I've rewritten it entirely. It's less unique, and I'm not entirely a fan of the new design (in progress), but at least it's more functional. If you have suggestions on changes, please let me know
- Switched to
WPFUIand uses a more standard navigation layout - Window can now be resized properly
- Switched to
- Folder Queue - Multiple folders can be selected for compression at a time
- Each folder can have different compression options
- Improved background watcher logic and environment checks
Fixes
- Watcher:
- Fixed a crash when adding an unsupported folder to the Watcher page
- Fixed details not updating in some situations
Known Issues
- If CompactGUI is run from the root of a directory, it will crash on launch. >> I have overwritten this release with a fixed version (version number unchanged), redownload if you have this issue
Installation
Binaries
CompactGUI.exe (10MB): Smaller size, but requires .NET 9 Runtime to be installed
CompactGUI.mono.exe (64MB): Fully self-contained and embeds the necessary .NET 9 librariesWinGet
winget install CompactGUINote
Installing from WinGet automatically installs .NET 9 if required, however it can often take a few days for new releases to become available.
Checksums
MD5: 432C732E71F1FF842D3DB28BA7632AC4
SHA-256: 90D8B50F9C145A86E7E2FAC9A92E5FA5BF18525C04AAB5A4B91A61B2CFDE9779Like this project?
Please consider leaving a tip on Ko-Fi :)







