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
WriteRegentry - #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 --helpby @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