Skip to content

v2.0.0

Compare
Choose a tag to compare
@russellbanks russellbanks released this 28 Jan 20:54
· 621 commits to main since this release
1f65200

What's Changed

Komac has been fully rewritten in Rust! Because of this, Komac v2 is incompatible with Komac v1. If you have Komac v1 installed, please uninstall it before installing Komac v2.

WindowsTerminal_p3QSo4ZhAC

Please open an issue if you experience any issues or inconsistencies. While Komac has worked really well for me, it's difficult to test all the many edge cases with how many different applications and manifests there can be.

Cross-platform

Komac is 100% cross-platform. Unlike other tools, Komac works perfectly on Windows, Linux and macOS. This is especially helpful for GitHub release workflows as ubuntu-latest can be used.

Despite WinGet being a Windows tool, Komac means that anyone using any operating system can contribute a package or version update to it.

Standalone

Komac is now fully standalone! As of this release, the uncompressed x64 portable binary stands at just ~7.5mb and doesn't require runtimes like the JVM. The Windows installers add Komac to path (allowing you to just run komac in a terminal) and stand at less than 3.5mb.

Memory usage

Komac uses a very small amount amount of memory and has been heavily optimised to minimise memory usage (especially heap allocations). Updating Android Studio (a 1GB+ binary) on my machine consistently took just ~3.5mb memory.

Disk usage

Komac only writes the downloaded file to the system's temporary directory and deletes it as soon as it's no longer needed. Even if Komac were to crash or if CTRL+C is pressed, the file will still get deleted as the deletion is managed by the operating system rather than Komac.

Komac also makes use of file-backed memory maps when reading the binary in order so that embedded data doesn't need to be unpacked, extracted or wholly read into memory.

Inno installers

Komac now has a significantly more accurate way of checking if an installer was created with Inno setup instead of just checking for some magic bytes.

Nullsoft installers

As with Inno installers, Komac now has a much more accurate way of checking if an installer was created with NSIS.

Usage changes:

URLs are now delimited by a space rather than a comma when updating manifests:

komac update -i Package.Identifier -v 1.2.3 --urls https://www.firstUrl.com https://www.secondUrl.com

Full Changelog: v1.11.0...v2.0.0