Releases: BrettMayson/HEMTT
Version 1.13.6
What's Changed
- sqf: fix handling of preprocessor error by @BrettMayson in #837
- common: add support for ef cdlc by @BrettMayson in #838
- project: don't create .hemttout when not needed by @BrettMayson in #840
Full Changelog: v1.13.5...v1.13.6
Version 1.13.5
Stringtable
The hemtt ln sort
command got a bunch of fixes and improvements. Comments, escaped characters, and empty blocks are now handled correctly. Along with the util commands, hemtt ln coverage
now supports ascii, JSON, pretty JSON, and markdown as output formats for tables.
Added
- book: generate command pages by @BrettMayson in #835
- hooks: ability to call scripts by @BrettMayson in #831
- preprocessor: prevent usage of unsupported macros by @BrettMayson in #832
- stringtables: support json, pretty-json, markdown as output by @BrettMayson in #833
- utils inspect: support json, pretty-json, markdown as output by @BrettMayson in #833
Fixed
- pbo: don't require vers header (editor exported) by @BrettMayson in #830
- preprocessor: fix duplicate pw3_padded_arg warnings by @Eathox in #834
- project: updated cli documentation by @BrettMayson in #833
- sqf: fix lint S08 on escaped
%%
in format strings by @PabstMirror in #823 - stringtables: add trailing newline, trim for comparisions by @BrettMayson in #826
- stringtables: handle comments at block end, lowercase, escapes by @BrettMayson in #829
- stringtables: preserve comments by @BrettMayson in #827
Book Generation
More pages of The HEMTT Book are now generated, ensuring that all commands and arguments are fully documented and not forgotten.
Full Changelog: v1.13.4...v1.13.5
Version 1.13.4
What's Changed
- binarize: fix original files being used instead of binarized
- localization: only-lang flag by @BrettMayson in #815
- localization: handle subaddons by @BrettMayson in #820
- Added link to github by @R3voA3 in #816
Full Changelog: v1.13.3...v1.13.4
Version 1.13.3
Linux Binarize Support
Linux now supports binarize! Check out the page on installing Arma 3 Tools for more information.
Added
- book: show if a lint is disabled by default by @BrettMayson in #807
- build: Binarize Linux Support by @BrettMayson in #670
- launch: fix workshop mods on Linux by @BrettMayson in bdcdc74
- localization by @BrettMayson in #810
- progress bars by @BrettMayson in #811
- sqf: prevent changing reserved variables by @BrettMayson in #804
- sqf: prevent marker network spam by @BrettMayson in #806
- sqf: remove asc by @BrettMayson in #809
- sqf: improve false positives of invalid comparisons by @BrettMayson in 42bc74d
Fixed
- fix multibyte character handling by @BrettMayson in #812
- workspace: fix pointer scanning, add duplicate prefix error by @BrettMayson in #814
- sqf: optimizer should trace only when testing by @BrettMayson in #805
Full Changelog: v1.13.2...v1.13.3
Version 1.13.2
New Book Domain
The book now has a new domain, https://hemtt.dev/! The github.io domain will continue to work.
Linux & MacOS Installer
There is now an installer script for Linux & MacOS! This script will download the latest version of HEMTT and install it to your system. It can be ran again to update your install.
curl -sSf https://hemtt.dev/install.sh | bash
HEMTT will now officially support MacOS, both Intel and Apple Silicon.
Added
- Installer for Linux & MacOS by @BrettMayson in #800
- preprocessor: warn on mismatched casing by @BrettMayson in #775
- project: improve version check errors by @BrettMayson in #795
- sqf: Add lint for vars that are ALL_CAPS and not a macro by @PabstMirror in #793
- sqf: comparison to static bool by @BrettMayson in #797
- sqf: in vehicle check should use objectParent by @BrettMayson in #796
- sqf: invalid comparisons by @BrettMayson in #801
- sqf: optimize _this call by @BrettMayson in #802
Fixed
- config: cfgpatches checks are now case insensitive by @BrettMayson in #792
- launch: fix Linux when using native steam by @BrettMayson in #799
- sqf: fix suggestions for eventhandler casing by @BrettMayson in #794
- pbo: preserve Vers header when reading PBOs by @BrettMayson in #798
Full Changelog: v1.13.1...v1.13.2
Version 1.13.1
Added
- book: add
hemtt book
command to open in browser by @BrettMayson in #791 - book: added sqf to summary and sorted content alphabetically by @R3voA3 in #778
- book: Add SQF page for
hemtt utils sqf
command(s) by @DartRuffian in #767 - preprocessor: 2.18 built in macros by @BrettMayson in #788
- project: check for BOM by @BrettMayson in #789
- sqf: Add lint for format args support to
formatText
by @PabstMirror in #766 - sqf: enable optimizer by default by @BrettMayson in #786
- sqf: Lint for
if ! else
by @PabstMirror in #768 - sqf: optimze param copies, getvar, vector by @PabstMirror in #764
Fixed
- common: don't filter errors that are partially from includes by @BrettMayson in #790
- config: class with inheritance need braces by @BrettMayson in #769
- launch: fix the new options when using extends by @BrettMayson in #759
- preprocessor: improve errors by @BrettMayson in #787
- sqf: Compile relative arma file paths by @PabstMirror in #761
- sqf: Don't allow trailing commas in arrays by @PabstMirror in #776
- sqf: Fix sqfc byte offset by @PabstMirror in #771
- utils: don't try to write ci annotations by @BrettMayson in #772
SQF Optimizer
HEMTT's SQF Optimizer is now enabled by default! The --expopti
flag is removed.
New Contributors
- @DartRuffian made their first contribution in #767
Full Changelog: v1.13.0...v1.13.1
Version 1.13.0
Added
- common: lint configuration in #747, #751
- common: some diag messages now include clickable links on supported terminals
- launch: add more config options in #752
- launch: link to workshop page for missing mods by @Crowdedlight in #741
- sqf: banned and broken commands in #753
- sqf: check
format
string and args by @PabstMirror in #745 - sqf: check command casing in #732, #757
- sqf: Optimizer by @PabstMirror in #743
- sqf: use hemtt's compiler in #750
Fixed
- common: cleanup for clippy by @PabstMirror in #744
- common: config rewrite in #738
- launch: clean up dead links in #737
- preprocessor: fix
//
inside single quote strings by @PabstMirror in #740 - sqf: fix serilizing empty code by @PabstMirror in #756, #736
- workspace: fix span extraction with length of 1 by @PabstMirror in #748
New Config Files
lints.toml
and launch.toml
can help keep your project.toml
clean
SQF Compiler
HEMTT's SQF compiler is default starting with 1.13.0! This will result in faster compilation times and more accurate error line numbers.
In case of any issues found, or just preference, you can still use ArmaScriptCompiler with the --asc
flag.
Lint Configuration
HEMTT's internal handling of lints has been completely rewritten, allowing for control of what lints are enabled, their severity, and options for each lint where applicable.
See what lints are available and how to configure them!
SQF Optimizer
@PabstMirror has started work on an SQF optimizer! It has been included in 1.13.0, but is disabled by default. To assist us in testing, you can use --expopti
to enable it. Please report any findings or issues you may have with it in #hemtt or on GitHub.
New Contributors
- @Crowdedlight made their first contribution in #741
Full Changelog: v1.12.5...v1.13.0
Version 1.12.5
Added
- Book: Added link to HEMTT VSCode extension by @R3voA3 in #719
- Book: Update Installation by @R3voA3 in #718
- CLI:
hemtt -v
shows version in #731 - CLI: Suggest
winget upgrade hemtt
if HEMTT is installed via winget - Launch: Add
--no-rap
flag to dev/launch by @PabstMirror in #722 - Launch: Add
--no-filepatching
flag to disable file patching in #716
Fixed
- CLI: Fix crash with no subcommand in #731
- Config: Show EOF errors and fix seg fault by @PabstMirror in #733
- Hooks: Fix runtime errors not failing builds in #730
- Hooks: File system operations not allowed on const variables in #730
- Preprocessor: Fix recursion on argument variables in #729
- Preprocessor: Fix
PE24
not displaying its code in error messages - Signing: Fix PBOs with only a config in #734
Full Changelog: v1.12.4...v1.12.5
Contribute
There are several areas that would be great for learning or practising Rust skills, or contribute in other ways to help HEMTT become an even better tool for people to use! Join us on Discord or check out the open issues to find ways you can help HEMTT.
Version 1.12.4
What's Changed
- book: Update DLC support for RF by @OverlordZorn in #710
- binarize: specify binarize folder with env in #714
- config: Check if any classes are duplicated by @PabstMirror in #712
Full Changelog: v1.12.3...v1.12.4
HEMTT SQFC Testing
HEMTT's SQFC compiler is ready for testing, this release, 1.12.4, removes the debug files that were being included in PBOs. If your mod runs RC or dev builds, please give it a try by using --expsqfc
and reporting if there are any bugs, or if everything is working great!
HEMTT 1.13.0 would be nice to have out in August with HEMTT SQFC compiler as default, unlocking faster builds and the ability for HEMTT to add SQF optimizations.
Version 1.12.3
What's Changed
- check: specify pdrive requirement
- sqf: basic event handlers support. checks for existence, correct command, and version requirements
- config: duplicate external error
- launch: Reaction Forces CDLC support
Full Changelog: v1.12.2...v1.12.3