Skip to content

Release 2.4.0

Choose a tag to compare

@dingosky dingosky released this 01 Sep 19:19
· 18 commits to master since this release

What's New

Changes

  • Unified entropy approximations for bits/2, total/2 and risk/2 (removed small-total branch)
  • Simplified README Comparisons with added Benchee usage instructions

Added

  • Benchee benchmark: bench/compare.exs (Puid-only and full comparison modes)
  • GitHub Actions CI workflow: matrix build/test and dialyzer

Fixed

  • Typespec consistency: non-bang functions now return {:error, String.t()}; bang variants raise Puid.Error
  • Test bug fix: Fixed test bug in decode/encode roundtrip (use EDAscii correctly)
  • Info spec: info/0 spec now returns Puid.Info.t(); added Puid.Info.t type

Tooling Improvements

  • Mix project: Renamed to Puid.MixProject; added start_permanent, docs extras, dialyzer flags, preferred_cli_env, package files
  • Added Credo and .credo.exs
  • Updated dependencies: ex_doc ~> 0.38, dialyxir 1.4.6
  • Removed test/timing.exs; use Benchee for performance comparisons

Installation

Add to your mix.exs dependencies:

{:puid, "~> 2.4"}

Full Changelog

See CHANGELOG.md for complete details.

Released: 2025-08-29