SnmpKit v1.3.24 Release Notes

Release Date: July 2026 Version: 1.3.24 Previous Version: 1.3.23

Overview

This patch release adds Elixir 1.20 compatibility coverage while preserving the public API and the existing Elixir 1.18 baseline. It is intentionally limited to compiler compatibility, build configuration, and test reliability; SNMP request behavior and public return shapes are unchanged.

Highlights

  • CI now tests Elixir 1.18.4 and Elixir 1.20.0 on Erlang/OTP 28.
  • BER length decoding uses the explicit pinned bitstring-size syntax required by Elixir 1.20.
  • Mix CLI environment configuration uses the Elixir 1.20-compatible cli/0 callback instead of the deprecated project option.
  • Unused logger requirements were removed without changing logging behavior.
  • Manual and real-device tests are now explicitly opt-in, keeping automated test runs independent of operator network hardware.
  • An existing malformed manual comparison test was repaired.
  • Hex packages no longer include the development-only Dialyzer PLT; the simulator walk profiles remain included as runtime assets.

API Compatibility

This release is backward compatible:

  • No public modules, functions, arities, or option names were removed.
  • No documented return shapes were changed.
  • SNMP timeout, retry, walk, transport, and simulator behavior is unchanged.
  • Elixir 1.18 remains supported; Elixir 1.20 is now continuously tested.
  • Defensive compatibility branches remain in place even where Elixir 1.20's type analyzer considers the current internal return shape narrower.

Validation

Validated with:

  • Elixir 1.18.4 / Erlang/OTP 28: 76 doctests and 1,394 tests, zero failures
  • Elixir 1.20.0 / Erlang/OTP 28: full suite plus isolated retry of one timing-sensitive test
  • cmts_poller compiled and tested against the local v1.3.24 source

Development dependencies may still emit their own Elixir 1.20 warnings. The remaining SnmpKit type-analysis warnings describe retained defensive branches and do not indicate a public API change in this release.