Skip to content

Releases: russellbanks/Komac

v2.0.2

29 Jan 11:52
Compare
Choose a tag to compare

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

28 Jan 23:38
Compare
Choose a tag to compare

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

28 Jan 20:54
1f65200
Compare
Choose a tag to compare

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

v1.11.0

29 Aug 08:27
7c9be6f
Compare
Choose a tag to compare

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

17 Aug 18:48
Compare
Choose a tag to compare

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

16 Aug 08:20
e673246
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.9.1...v1.10.0

v1.9.1

19 Jul 14:58
Compare
Choose a tag to compare

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

12 Jul 13:08
Compare
Choose a tag to compare

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

04 Jul 09:57
Compare
Choose a tag to compare
  • 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

03 Jul 22:36
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.8.0...v1.8.1