Releases: russellbanks/Komac
v2.11.0
What's Changed
This release contains various fixes, refactorings, and a big improvement to Burn installer analysis!
New features ⭐
- Add extensive Burn installer analysis - 5fa892a
- Add
replace
update option by @UnownPlain in #1067 - Add option to skip existing PR check by @UnownPlain in #1082
- Add
release-notes-url
update option by @UnownPlain in #1062 - Add
--hash
flag to analyse command - 7ef4194
Fixes and other changes 🔧
- Fix error when NSIS installer calls
FileReadUTF16LE
- #1069 - Fix missing Inno Setup component level read causing
failed to fill whole buffer
error - #1070 - Fix architecture not being retrieved from unknown exe and portable installers - 58bb721
- Fix empty
InstallationMetadata
for MSI installers - #1078 & #1101 - Fix Inno Setup
{sd}
directory not being mapped to%SystemDrive%
- d87c44e - Add
win64a
as an arm64 architecture to look for in a URL - 894b389 - Ignore Inno Setup install directories that have unconvertable parts - 727cce4
- Check for an
INSTALLLOCATION
MSI directory entry - 9505006 - Optimise storage of winget types (i.e. storing arrays of enums as bitflags)
- Move winget types to
winget-types
crate - 4bc7040 - Update to Rust 2024 edition - dd325e1
- Add logging to stdout (logs below warn aren't compiled into release builds) - 4c1a400
New Contributors
- @UnownPlain made their first contribution in #1062
Full Changelog: v2.10.1...v2.11.0
v2.10.1
What's Changed
This is a smaller release than usual with various fixes. Please keep making issues or pinging me if you have any inconsistencies or problems with komac!
Fixes 🔧
- Fix
Unexpected block end
when reading some Inno Setup installers - #1056 - Fix submit command grouping packages only by their
PackageIdentifier
rather than both theirPackageIdentifier
andPackageVersion
- #1051 - Fix release notes being escaped when there is any amount of whitespace before a newline - 8a48e11
- Fix "invalid source bytes" when getting registry root entry from an Inno Setup installer - #1058
- Fix previous custom switches getting overwritten by new custom switches - bec35ae
Other changes
- Check for disallowed characters in
PackageVersion
- f5b5049
Full Changelog: v2.10.0...v2.10.1
v2.10.0
What's Changed
New features ⭐
- Get
ProductCode
from Nullsoft installers - a5324ca - Multiple installer entries can now be written for a single installer. For example, if an Inno installer allows overriding install scope with a command-line switch, komac can create two installer entries, one with the machine scope and the
/ALLUSERS
switch and one with the user scope and the/CURRENTUSER
switch.
Fixes and other changes 🔧
- Compare versions according to WinGet specification - #447 & #938
- Add confirm prompt y/n hints - #482
- Get and parse GitHub release notes as HTML - 5990fd4
- Fix NSIS strings having variable numbers in them - #1037
Full Changelog: v2.9.0...v2.10.0
v2.9.0
What's Changed
This is another big update that brings lots of installer analysis improvements and fixes!
New features ⭐
- Added a submit command to submit manifests stored locally! There doesn't need to be any specific directory structure to this. Komac will recursively find and group package manifests together and prompt you if it finds more than one - #231:
komac submit <directory path>
- Added support for Inno Setup 6.4.0 - #1030
Fixes and other changes 🔧
- Read legacy Inno Setup loader data - 5d7c0de
- Fixed duplicate progress bar causing flickering on remove version command - #1020
- Fixed panic if PE overlay offset is near end of file - #1010
- Fixed NSIS strings with unresolved language variables - 1a14144
- Fixed incorrect install scope on MSI's that can prompt for install scope - #953
- Improved architecture identification in NSIS installers - #995 & #967 (comment)
- Ignore
__MACOSX
folder in zips - ea728b9 - Fixed nested installer data inside zips not being propagated - #1000
- Fixed NSIS entry integers being read as
u32
instead ofi32
- #1005 & #1010 - Fixed
Unexpected block end
on Inno Setup Blackbox versions - #984 - Fixed stack overflow error if NSIS string references the same variable number in itself by following NSIS control flow - #977
- Fixed incorrect parsing of NSIS version on alternative versions - #975
- Fixed installer switches prompts being optional for
exe
installer type - #964 - Fixed empty
InstallerSwitches
at installer level - #964 - Fixed empty
AppsAndFeaturesEntries
at root level - adde160 - Fixed error on Ctrl+C during a prompt
- Fixed incorrect Chrome version identification - 540a620
- Improved check for WiX installers by checking
creating application
field - 6eb21ea - Fixed duplicate installer entries - #958
Publisher
,DisplayName
, andDisplayVersion
ARP entries are now removed if they match their respective values in the default locale manifest - 88cd84c- Dependency updates
Full Changelog: v2.8.0...v2.9.0
v2.8.0
What's Changed
This update brings support for WinGet 1.9.0 manifests. Komac will now create 1.9.0 manifests by default.
New features ⭐
- Support WinGet schema 1.9.0 - #745
Fixes and other changes 🔧
- Dependency updates
Full Changelog: v2.7.0...v2.8.0
v2.7.0
What's Changed
This is a big update mainly dedicated to NSIS analysis!
New features ⭐
- Added extensive NSIS (Nullsoft Scriptable Install System) analysis to retrieve architecture, scope, install directory, registry entries, and more from a Nullsoft installer
- Added a check for existing pull requests when removing dead versions - #813
- Install directory and install scope are now retrieved from Inno Setup installers
Fixes and other changes 🔧
- Fixed
No architecture was found in the MSI
if the platform is missing - #808 - Optimised merging new installers with previous installers
- Lots of optimisations
Full Changelog: v2.6.0...v2.7.0
v2.6.0
What's Changed
New features ⭐
- Added a moderation command for removing dead versions
Fixes and other changes 🔧
- Fixed
invalid Zip archive: Could not find central directory end
on Linux and macOS - #770
Full Changelog: v2.5.0...v2.6.0
v2.5.0
What's Changed
New features ⭐
- Installer locale is now retrieved from Inno Setup installers
- The cleanup command now fetches branches and associated pull requests in one call. Thanks @stevenlele for #778!
Fixes and other changes 🔧
- Fixed
Something went wrong while executing your query. This may be the result of a timeout, or it could be a GitHub bug
when getting a package with a large amount of versions - Fixed
No release was found with the tag of release
- #767 - Improved Inno Setup parsing, particularly around verifying checksums and for older Inno Setup versions
- The date and time an existing pull request was created at is now shown in your local timezone
Full Changelog: v2.4.1...v2.5.0
v2.4.1
What's Changed
- Fixed crash when fetching existing pull request (
swap_remove index (is 0) should be < len (is 0)
)
Full Changelog: v2.4.0...v2.4.1
v2.4.0
What's Changed
New features ⭐
- Added extensive Inno Setup analysis to retrieve architecture, registry entries, product code, and more from an Inno installer:
Before (<=2.3.0) | After (>=2.4.0) |
---|---|
![]() |
![]() |
- Added
komac sync
command to merge changes from microsoft/winget-pkgs into your fork:
- Added
komac analyse
command to analyse a file and output what Komac knows about it. Useful for debugging - Added
komac autocomplete
command to output an autocompletion script for the given shell (bash, elvish, fish, powershell, or zsh) - The cleanup command now deletes all chosen branches at once in a single call to GitHub
- Default install location is now retrieved from MSIs
- Default install location is now retrieved from MSIXs
Fixes and other changes 🔧
- Added a check for an internet connection when Komac starts
- GitHub URLs that point to the latest release are now converted into versioned URLs - #668
- The usage of AppsAndFeaturesEntries matches the winget docs more closely (values were already being retrieved by Komac but not being fully placed under AppsAndFeaturesEntries)
- Fixed zip portable alias being empty - #663
- Fixed manually edited manifests having a missing newline at the end of the file
- Many code and memory improvements
- Dependency updates
Full Changelog: v2.3.0...v2.4.0