Skip to content

Releases: russellbanks/Komac

v2.2.1

15 Apr 17:33
a43e375
Compare
Choose a tag to compare

What's Changed

The FreeBSD and Linux arm and arm64 builds have been dropped as they are difficult to build currently. This may change in the future.

  • Fixed Linux builds linking against OpenSSL v1 - #558
  • Fixed incorrect matches between zip installers where there is only one installer inside the zip
  • Add GPC header to HTTP requests

Full Changelog: v2.2.0...v2.2.1

v2.2.0

05 Apr 19:40
25e8cbc
Compare
Choose a tag to compare

What's Changed

OpenSSL is now used on Linux rather than rustls as it was causing some issues for Linux users. These binaries will now be noticably smaller, but will require OpenSSL to be installed.

Features

  • Added a show command, similar to WinGet's show command. This outputs the previous manifests for a package identifier, with an optional version parameter:
komac show Package.Identifier

WindowsTerminal_JvL5vJCtGc

  • HTTP URLs now get upgraded to HTTPS if their HTTPS equivalent can be successfully reached - #356
  • Get install scope (ALLUSERS) from MSIs
  • Added --created-with and --created-with-url as arguments for external tools that use Komac - #481
  • Added --open-pr to automatically open the created pull request in the default browser

Fixes

  • Fixed some incorrect installer matches
  • Fixed attempting to download file when the URL responds with an unsuccessful status code
  • Fixed partial installer switches at both root and installer level being omitted - #541
  • Relative file paths are now updated when the directory name inside the zip changes from the previous release - #479 & #537
  • SHA1's are now removed from release notes
  • Fixed some burn installers not being detected as burn - #514
  • Fixed crash if not all packages in an MSIX Bundle have an architecture - #497
  • Fixed crash if a zip had multiple executables
  • Fixed all but one nested installer files being ommitted
  • Fixed Full Changelog: in release notes missing URL
  • Fixed Release Notes URL not being updated in non-default locale manifests
  • Lots of internal code improvements to improve file parsing and prevent potential issues

Pull requests

New Contributors

Full Changelog: v2.1.0...v2.2.0

v2.1.0

19 Feb 11:01
Compare
Choose a tag to compare

What's Changed

Komac will now create 1.6.0 manifests by default.

  • Support 1.6.0 manifests - #469
  • Fixed crash if installer URL does not have a file name in its URL and redirects to another URL - #468
  • Fixed crash if last character of a line in release notes were non-US-ASCII - #470
  • Improved nested bullet points in release notes - #463
  • Changed pull request body resolves syntax to ensure the associated issue gets marked correctly - #467
  • Fixed some uncommon metadata serializing as null rather than being ommitted
  • Detect Arm64 and Arm architectures from MSI by @vedantmgoyal2009 in #473
  • Automatically publish to winget & homebrew tap by @vedantmgoyal2009 in #441

Full Changelog: v2.0.4...v2.1.0

v2.0.4

12 Feb 12:21
Compare
Choose a tag to compare

What's Changed

  • Added an indeterminite progress bar to show while creating a pull request on the remove version command
  • Added a prompt if there is a pre-existing pull-request with the same package identifier and version in the title of the pull request
  • Added a check for if the filename in the Content Disposition header is empty - #450
  • Added a --resolves parameter to commands - #449
  • Added x86-64 to architectures array
  • Remove mimalloc as it was causing issues on macOS - #444
  • Fixed files not being written to directory when using the --output parameter - #453
  • Removed read_org token requirement
  • Added a check for whether the token is valid when updating the stored token with komac token update
  • Fixed previous portable installer types changing to exe - #464
  • Publish SHA256 checksums of assets while releasing by @ste93cry in #320
  • Remove version from release artifacts to ease usage in scripts by @vedantmgoyal2009 in #439

New Contributors

Full Changelog: v2.0.3...v2.0.4

v2.0.3

31 Jan 21:56
Compare
Choose a tag to compare

What's Changed

  • Trim 'v' in version in release artifacts by @vedantmgoyal2009 in #418
  • Topics from the package's GitHub repository are now used for locale manifest tags - 36f1554
  • Added arm64ec as an architecture to look for in URLs - #417 (comment)
  • Fixed crash when previous product code was not a UUID. Product codes are now serialized as Strings instead - #424
  • Fixed an issue where the package version was not being updated in non-default locale manifests - dc228fc
  • Added -v as a valid alias for the version command - #409 & #428
  • Fixed a specific case of release notes serializing escaped - 7686ce4
  • Fixed crash if exe didn't contain an RT_VERSION resource - #421
  • Fixed crash when parsing a zip as architectures weren't being retrieved from inside an exe - #422
    • There is a known issue where updating an zip with multiple possible files inside crashes. This will be fixed in the next release - #429

This release contains a bunch of fixes from issues that people have made so thank you all for creating those :)

Full Changelog: v2.0.2...v2.0.3

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