Horus 0.3.0
At this point, Horus should be considered Alpha and not production ready. The API will likely evolve and future releases will likely introduce breaking changes. The goal of this release is to make it easy for anyone to try it and possibly give feedback.
What's new in Horus 0.3.0
No support for native coverage in Erlang/OTP 27
More a disclaimer than a highlight unfortunately. Erlang/OTP 27 introduced native coverage support: there is a new instruction associated with internal counters in ERTS. The counters are specific to each module, so module A can't bump the counters of module B.
Horus has no way to artificially bump the counters of the original module(s) it extracted code from. Therefore, extracted code will appear as not executed at all if native coverage support is active.
The only thing new in this release is the support for the new executable_line
instruction; see #24. Testing was also adapted and reduced in the case of native support; see #25.
Other changes
- Ignore new Dialyzer errors detected by Erlang/OTP 27 that are related to the incomplete type spec of
compile:forms/2
(#23).
Download
Horus 0.3.0 is available from Hex.pm: https://hex.pm/packages/horus/0.3.0
Upgrade
Using Rebar:
-
Update your
rebar.config
:%% In rebar.config {deps, [{horus, "0.3.0"}]}.
-
Run
rebar3 upgrade horus
.
Using Erlang.mk:
-
Update your
Makefile
:%% In your Makefile dep_horus = hex 0.3.0
-
Remove the
deps/horus
directory. The new version will be fetched the next time you build your project.