* You can now specify more precise Octave and MATLAB versions. This
change is massive, and likely to have subtle bugs. You can now write
`octave: "4.4"` or `matlab: "2020b"` in your config files; or specify
`--octave=4.4` or `--matlab=2020b` from the command-line. There is
also a special `latest` version for both Octave and MATLAB, which is
an alias for the latest supported version.
This is also the first change that introduces backwards
incompatibility, specifically:
* The command-line option `--octave` no longer works. You need to
specify `--octave=latest` to get the same behaviour.
* The config setting `octave: true` still works, but is
deprecated. It means the same thing as `octave: "latest"`.
* The config setting `octave: false` doesn't make sense anymore (and
never really did), so it now raises an error.
As always note that for MATLAB, support should be fairly good and
accurate. For Octave many things are missing (such as the `end_X`
set of keywords). I do plan to improve the situation, but please
create tickets for things you need sooner.
* Several tools that generate messages (`mh_style`, `mh_metric`, and
`mh_lint`) will now add the originating check id in the message. For
example:
In test.m, line 4
| false = 0.01; % bad
| ^^^^^ check (medium): redefining this builtin is very naughty [builtin_shadow]
This should make it much easier to disable rules if you don't like
to read the manual.
* MISS_HIT now recognises and processes Octave test `.tst` files
(along with `.m` and `.slx` files). The Octave test annotation
language (comments starting with `%!`) is ignored by MH Style for
now. Thank you to Alois Spitzbart for the idea.