Releases: russellbanks/Komac
v2.13.0
What's Changed
Major changes⭐
- Support Inno Setup 6.5.0 and 6.5.1 - #1386
- Fixed a long-standing issue of invalid reads of MSIs with long strings - mdsteele/rust-msi@c1df77d - #488, #925, #1227, #1313, microsoft/winget-pkgs#194332
Fixes and other changes 🔧
- Moved Inno Setup logic to
inno
crate - Fixed invalid Package Family Name caused by encoded HTML entities in MSIX identity publisher - #1342 (comment)
- Fixed NSIS ZlibDecoder being incorrectly initialised - 6c3ce58
- Create
SHA256SUMS
file on release instead of.sha256
files - b334c83 - Ignore
resources
folder in zip files - fbef940 - Lots of dependency updates
Full Changelog: v2.12.1...v2.13.0
v2.12.1
What's Changed
Fixes and other changes 🔧
- Create a multi-sized
.ico
to fix the aliased look of the exe icon - c4f2781
Before | After |
---|---|
![]() |
![]() |
- Update ReadMe with new gifs - 2dff47d - #962
- Evaluate Burn install condition to fix duplicate AppsAndFeaturesEntries for Burn installers - #1276
- Fix existing pull request matching on a partial identifier - #1212
- Link against glibc 2.35 (previously 2.31) on Linux. glibc 2.35 is preinstalled on Ubuntu 22.04+ - #1161 (comment) - f7554dd
Full Changelog: v2.12.0...v2.12.1
v2.12.0
What's Changed
This is a big release with lots of fixes and significant improvements to NSIS installer analysis! Komac can now simulate the control flow that a NSIS installer itself would follow, managing a state that includes variables and a mock file system. This allows for retrieving data such as written registry entries for inclusion in the installer manifest's ARP entries.
Excluding work done in winget-types, this release contains 9,048 additions and 2,395 deletions.
New features ⭐
NSIS
- Fix crash on NSIS non-string
WriteReg
entry - #1180 - Simulate execution of NSIS code pages - ffbd79e
- Simulate NSIS file system - 7e717d2 & be71226
- Create watchdog to detect infinite NSIS loops when simulating code execution - #1261
Fixes and other changes 🔧
- Fix comparatively equal versions not being replaced - #1169
- Fix empty release notes URL fields by @UnownPlain in #1223
- Skip release notes URL when release notes are empty by @UnownPlain in #1176
- Fix installer switches not being carried over from the previous manifest by @UnownPlain in russellbanks/winget-types#2
- Add usage examples to
komac complete --help
by @pl4nty in #1221 - Improve asynchronousness - ed11968
- Try to determine current shell if not provided in complete command - e534d2c
- Lots of dependency updates
New Contributors
Full Changelog: v2.11.2...v2.12.0
v2.11.2
What's Changed
Fixes and other changes 🔧
- Link against glibc 2.31 (previously 2.39) on Linux to increase compatibility (allowing komac to run on Ubuntu 20.04+) - #1161
- Fix duplicate newline at the end of manifests - 0a3f4b0
- Update dependencies
Full Changelog: v2.11.1...v2.11.2
v2.11.1
What's Changed
This is a small patch release with the main highlight being support for installers created with Inno Setup 6.4.2.
New features ⭐
Fixes and other changes 🔧
- Update dependencies
Full Changelog: v2.11.0...v2.11.1
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