Skip to content

Releases: BrettMayson/HEMTT

Version 1.11.0 RC 1

07 Dec 04:16
Compare
Choose a tag to compare
Version 1.11.0 RC 1 Pre-release
Pre-release

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

23 Nov 06:39
18c9ad0
Compare
Choose a tag to compare

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

21 Nov 19:59
Compare
Choose a tag to compare

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

02 Nov 11:48
Compare
Choose a tag to compare

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

16 Oct 06:05
Compare
Choose a tag to compare

What's Changed

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

15 Oct 22:24
Compare
Choose a tag to compare

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 to rapify 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

27 Sep 19:51
Compare
Choose a tag to compare
Version 1.9.0 RC3 Pre-release
Pre-release

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

19 Sep 02:06
4bb3fe8
Compare
Choose a tag to compare
Version 1.9.0 RC2 Pre-release
Pre-release

What's Changed

  • Project: fixes error on a git repo with no HEAD in #558
  • Hooks: fix build number in #557
  • Preprocessor: Rewrite in #546
  • Preprocessor: ifstate errors in #556
  • Config: check for missing class parent in #555
  • Config: warn on parent case mismatch in #559

Full Changelog: v1.8.0...v1.9.0-rc2

Version 1.9.0 RC1

18 Sep 09:21
Compare
Choose a tag to compare
Version 1.9.0 RC1 Pre-release
Pre-release

What's Changed

Full Changelog: v1.8.0...v1.9.0-rc1

Version 1.8.0

09 Aug 01:26
Compare
Choose a tag to compare

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

Full Changelog: v1.7.0...v1.8.0