Changelog
View Source0.7.1
Changed
- Bumped
shackledependency from0.7.0to0.7.1, which itself bumpsmetal 0.1.1 -> 0.1.2andfoil 0.1.3 -> 0.1.4(both infrastructure-only refreshes, plus a tightenederror/0type and a macro-based DRY refactor in foil).
0.7.0 was tagged in git but its hex publish failed (the granderl
removal commit landed past hex's one-hour modification window for
the pre-existing 0.7.0 release). 0.7.1 is the first hex release
to ship the granderl-to-knot swap; behaviour and API are
identical to the 0.7.0 git tag.
0.7.0
Breaking
- Minimum supported Erlang/OTP version is now 25, inherited from
shackle 0.7.0.
Changed
- Replaced the
granderldependency withknot(in-house C NIF using wyrand).statsderl_sample:rate_scaled/2now callsknot:uniform/1— same signature, same range guarantees, no behavioural change at the sample-rate gate. - Bumped
shacklefrom git ref0.6.16to the hex0.7.0release. - Bumped
parse_transfrom3.0.0to3.4.2. - CI matrix now covers OTP 25, 26, 27, 28;
actions/checkoutupgraded to v5. - Documentation migrated from
edowntorebar3_ex_doc(matching shackle 0.7.0). Generateddoc/directory removed from the repo; HTML docs are now published to hexdocs on release.
Why
granderl 0.1.5 on hex.pm fails to build on OTP 27+: its preamble.sh
invokes erl -noshell -s init stop -eval ... with options in an order
that causes the node to terminate before -eval runs, leaving
ERTS_INCLUDE_DIR empty and the C compiler unable to find erl_nif.h.
The fix exists in granderl's master but the hex package is not under
our ownership. knot is a small in-house C NIF (~80 LOC) that
implements the same uniform/1 primitive cleanly on every supported
OTP.