Skip to content

Horus 0.3.0

Compare
Choose a tag to compare
@dumbbell dumbbell released this 17 Jul 10:09
· 7 commits to main since this release
v0.3.0
0717681

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:

  1. Update your rebar.config:

    %% In rebar.config
    {deps, [{horus, "0.3.0"}]}.
  2. Run rebar3 upgrade horus.

Using Erlang.mk:

  1. Update your Makefile:

    %% In your Makefile
    dep_horus = hex 0.3.0
  2. Remove the deps/horus directory. The new version will be fetched the next time you build your project.

Documentation

The documentation for Horus 0.3.0 is available on Hex.pm.