Releases: russellbanks/Komac
v2.0.2
What's Changed
- Fixed list inputs being split incorrectly - #410, #412
- Install Microsoft Visual C++ Redistributable if it's not already installed when installing Komac with the Windows installer - #411
Full Changelog: v2.0.1...v2.0.2
v2.0.1
What's changed
- Fixed releases being created as nightly rather than with a version number - #408
Full Changelog: v2.0.0...v2.0.1
v2.0.0
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.
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
v1.11.0
What's Changed
- Check internet connection at start by @russellbanks in #287
- Use HTTP 2
- Fix progress bar showing as
?
on Windows - Fix downloading file not being closed and deleted when using Ctrl+C
- Remove versions manifests in a single commit when using the remove command
- Comprehensively check for Wix property in MSI
- Update Kotlin to 1.9.10
Full Changelog: v1.10.1...v1.11.0
v1.10.1
What's Changed
- Fix values sometimes being at root and local level when creating a new package
- Add skip button to Scope prompt
- Fix scope prompt showing for portable exe's within zip files
- Encode spaces within URLs as %20
- Add winx64 and winx86 as architectures to look for in URLs
- Update dependency gradle to v8.3 by @renovate in #286
Full Changelog: v1.10.0...v1.10.1
v1.10.0
What's Changed
- fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.7.3 by @renovate in #257
- Use LibMsi on Linux by @russellbanks in #259
- Use LibMsi on macOS by @russellbanks in #261
- chore(deps): update detekt to v1.23.1 by @renovate in #260
- fix(deps): update dependency com.github.ajalt.mordant:mordant to v2.1.0 by @renovate in #262
- fix(deps): update dependency com.charleskorn.kaml:kaml to v0.55.0 by @renovate in #263
- fix(deps): update dependency com.github.ajalt.clikt:clikt to v4.2.0 by @renovate in #265
- fix(deps): update ktor to v2.3.3 by @renovate in #266
- fix(deps): update okio to v3.5.0 by @renovate in #267
- Identify architecture at end of URL by @russellbanks in #273
- Fix previous short description by @vedantmgoyal2009 in #264
- Fix full description hasn't appeared in the last manifests by @vedantmgoyal2009 in #272
- Refactor downloading by @russellbanks in #282
- Fix release notes going over max length by @russellbanks in #283
- fix(deps): update dependency io.mockk:mockk to v1.13.7 by @renovate in #284
Full Changelog: v1.9.1...v1.10.0
v1.9.1
What's Changed
- Add
--use-system-proxy
parameter by @russellbanks in #248 - Fix an incorrect scope matching edge case
- Fix installer type not being added when creating a new manifest
- Use different publisher URL for orgs by @vedantmgoyal2009 in #252
- fix(deps): update dependency com.github.ajalt.mordant:mordant to v2.0.1 by @renovate in #249
- fix(deps): update dependency com.github.ajalt.clikt:clikt to v4.1.0 by @renovate in #242
- chore(deps): update dependency com.github.gmazzo.buildconfig to v4.1.2 by @renovate in #251
Full Changelog: v1.9.0...v1.9.1
v1.9.0
What's Changed
- Improve burn installer identification
- Product Code can now be retrieved from burn installers
- Improve installer matching by @russellbanks in #245
- fix(deps): update dependency com.github.ajalt.mordant:mordant to v2.0.0 by @renovate in #236
- chore(deps): update kotlin monorepo to v1.9.0 by @renovate in #238
- fix(deps): update okio to v3.4.0 by @renovate in #239
- Fix draft PR not being marked as ready for review by @vedantmgoyal2009 in #237
- Fix release date being overridden by auto-detection by @vedantmgoyal2009 in #240
- chore(deps): update dependency gradle to v8.2.1 by @renovate in #241
- Get resource data from installer by @russellbanks in #235
Full Changelog: v1.8.2...v1.9.0
v1.8.2
- Fix getDistinctOrNull returning null in c238eb9. This was causing some missing root values in installer manifests.
Full Changelog: v1.8.1...v1.8.2
v1.8.1
What's Changed
- chore(deps): update dependency gradle to v8.2 by @renovate in #230
- Get Github repo's homepage if available by @vedantmgoyal2009 in #232
- Update README.md by @vedantmgoyal2009 in #233
Full Changelog: v1.8.0...v1.8.1