Releases: BrettMayson/HEMTT
Version 1.11.0 RC 1
SQF 🎉
HEMTT now includes its own SQF Compiler! A very big thanks to @ScottyThePilot for their sqf repo, which HEMTT's SQF parser is derived from.
Currently, errors messages are limited, and not much is checked beyond valid syntax. This will be expanded in future versions.
This version does ensure that every SQF file is valid, and compiled to SQFC, now on MacOS too! Files that are intended only to be included, like initSettings.sqf
, will now need to use .inc.sqf
to indicate they do not need to be valid on their own.
It is using the new acemod/arma3-wiki project to get updated commands within hours of them hitting the wiki, and without needing an update to HEMTT!
Please report any issues with this RC, or leave suggestions for analysis, for SQF or Configs.
Full Changelog: v1.10.2...v1.11.0-rc1
Version 1.10.2
What's Changed
- Context: Additional logging for debugging
- Utils: PAA inspect & convert
- Launch: Fix presets not working when no workshop mods are specified
Full Changelog: v1.10.1...v1.10.2
Version 1.10.1
What's Changed
- Context: Error on addon name collision
- Context: Warning when an addon name is not lowercase
- Build: Fix dev symlinks on Linux by @jonpas in #599
- Build: support for
--just
in dev and build in #605 - Config: __eval support in #597
- Hooks: rfs in all phases in #604
- Hooks:
read_dir
function added - Launch: Improvements to HTML preset support
- Utils: Inspect in #603
- Utils: pbo extract, unpack, inspect in #606
Full Changelog: v1.10.0...v1.10.1
Version 1.10.0
What's Changed
- Launch: support for html presets in #594
- Preprocessor: pragma support in #587, #592
- Binarize: copy files from addons folder in #590, #591
- Hooks: Fix execution order in #586
- Hooks: More Rhai FS functions in #593
- Utils:
hemtt utils verify
to check signatures, replaces BISign - Misc: New version flags for clarity (-local, -dev on ci non-release builds)
- Book: Document all new features and clarify some existing items
New Contributors
Full Changelog: v1.9.1...v1.10.0
Version 1.9.1
What's Changed
- CI Annotations by @BrettMayson in #579
CI Annotations
In conjunction with an update to https://github.com/arma-actions/hemtt, GitHub actions will now annotate the file after running
Full Changelog: v1.9.0...v1.9.1
Version 1.9.0
What's Changed
- ACS - update to 2.14 commands by @PabstMirror in #573
- ASC - non-case sensitive exclude checking, increase debugging by @PabstMirror in #568
- ASC - fix optionals not being processed
- Book - added Example for "Launch Editor Mission" Parameter by @PulsarNeutronStar in #563
- Book - New reference section with warning information
- Config - Warn on CfgMagazineWells not found in CfgMagazines in #574
- Config: case warning in #565
- Config: check for missing class parent in #555
- Config: improve duplicate property check in #560
- Config: rapify matches cfgconvert in #575
- Config: warn on parent case mismatch in #559
- Hooks: fix build number in #557
- Hooks: invalidate the version cache, allow scripts to change it
- Launch: Fix requiring an empty header for the default launch
- Preprocessor: Rewrite in #546
- Preprocessor: handle ## in strings in #570
- Preprocessor: handle # in root arguments with quote in #577
- Preprocessor: ifstate errors in #556
- Preprocessor: quote
__file__
in #576 - Preprocessor: ignore unknown #pragram directives
- Project: fixes error on a git repo with no HEAD in #558
- Project: rename
preprocess
torapify
for consistency across HEMTT
Migrate from 1.8.0
addon.toml
uses [rapify]
instead of [preprocess]
.
[preprocess]
will still work currently, but is deprecated and a warning will be emitted.
preprocess = false
will now result in an error instead of a warning
Read the addon configuration for examples.
Warnings
As part of the preprocessor rewrite in 1.9.0, and the config rewrite in 1.8.0, HEMTT is now more correct, more performance, and better able to provide insights into config.
This will be used in an upcoming HEMTT Language Server, which will provide warnings and errors in your IDE.
You can read the new entry in The HEMTT Book to learn more about HEMTT's warnings.
If you have suggestions for additional warnings, please open an issue.
New Contributors
- @PulsarNeutronStar made their first contribution in #563
- @PabstMirror made their first contribution in #568
Full Changelog: v1.8.0...v1.9.0
Version 1.9.0 RC3
What's Changed
- Project: fixes error on a git repo with no HEAD in #558
- Project: fix .hemtt* paths being considered for addon detection
- Hooks: fix build number in #557
- Hooks: invalidate the version cache to allow changing it
- Preprocessor: Rewrite in #546
- Preprocessor: ifstate errors in #556
- Preprocessor: ignore unrecognized #pragma directives
- Config: check for missing class parent in #555
- Config: warn on parent case mismatch in #559
- Config: fix non-lowercase config.cpp with warning in #565
- Config: improve duplicate property check in #560
Full Changelog: v1.8.0...v1.9.0-rc3
New Contributors
- @PulsarNeutronStar made their first contribution in #563
Version 1.9.0 RC2
Version 1.9.0 RC1
What's Changed
- Bump actions/checkout from 3 to 4 by @dependabot in #552
- Preprocessor: Rewrite by @BrettMayson in #546
Full Changelog: v1.8.0...v1.9.0-rc1
Version 1.8.0
Internal Rewrite
The config parser has been completely rewritten, along with a whole new error reporting system.
This change allows for better detection and recovery of errors, no longer stopping on the first issue encountered.
The way the config parser interacts with the preprocessor has also be overhauled, this change opens up much easier ability to add SQF, style checking, static analysis, and more into future HEMTT versions.
The changes to the error reporting system will also allow easier community contributions for additional errors and warnings, and allows for a Language Server, a VSCode extension is already on the way, and extensions for other IDEs would be possible as well.
Simple Compile-Time Math
Simple math can be evaluated at runtime. + - * / ^ % ()
are supported.
value = 1 + 2 * 2
// after hemtt
value = 5;
Use quotes to keep the value as is and have Arma evaluate it at runtime.
What's Changed
- Support --no-archive in rename zip example hook by @jonpas in #523
- ASC: save logs by @BrettMayson in #525
- Publish to WinGet and Chocolatey by @jonpas in #529
- Allow projects to be within subfolders within VCS by @initramfs in #533
- Fix build/release commands when project is a subfolder in VCS by @initramfs in #534
- config: handle multiline strings by @BrettMayson in #540
- config: simple math support by @BrettMayson in #541
- improve error messages when an array has an invalid item
- binarize .wrp files
- fix crash with duplicate classes, where one is empty
- fix expected array error when the value is invalid
New Contributors
- @initramfs made their first contribution in #533
Full Changelog: v1.7.0...v1.8.0