Changelog
View Sourcev1.0.0 (2026-06-16)
- Fixed
Access.fetch/2andAccess.pop/2to no longer treat stored falsy values (e.g.false,nil) as missing; entries are now compared against the array's default value instead of a truthy check. - Improved
Collectable.into/1to append via:array.set/3starting at the original array'ssize/1, instead of rebuilding throughto_list/from_list. The original array'sdefaultandfixedattributes are now preserved. - Improved
Enumerable.slice/1to return aslicing_fun, so partial slices touch only the requested window rather than materializing the full list. The implementation is selected at compile time: the 2-arity form on Elixir 1.14–1.17, and the 3-arity form (withstepsupport) on Elixir 1.18+, which silences the deprecation warning emitted on those versions. - Replaced the soft-deprecated
unlessmacro infrom_erlang_array/1for forward compatibility with Elixir 1.19+. - Fixed typespecs so
mix dialyzerpasses on Elixir 1.18 / OTP 28+. The hand-writtenarray()opaque tuple now delegates to:array.array/0, andorddict()is exposed as a regular@type(it is a user-constructable list of{index, value}tuples, not an opaque value). - Added a GitHub Actions workflow exercising
mix compile --warnings-as-errors,mix test, andmix dialyzeracross every supported Elixir 1.14–1.20 / OTP 24–29 combination. - Documented the
Access,Enumerable, andCollectableprotocols in the README, added examples for the remaining public API, and fixed a stale output value and a typo (Convertions→Conversions). - Added regression tests covering the
Accessfalsy-value fix,Collectableattribute preservation, theEnum.slice/3start/lengthform, and stepped ranges (Enum.slice(arr, 0..5//2)) to exercise the 3-arityslicing_fun's step path on Elixir 1.18+.
v0.1.3 (2023-04-21)
- Improved the README.md by providing examples
v0.1.2 (2023-04-21)
- Added tests to get full coverage
- Replaced the implementation of
ExArray.equal?/2 - Added a clause for non
ExArrayargument forExArray.is_array/1 - Fixed the implementation of
ExArray.from_erlang_array/1to return anExArray
v0.1.1 (2023-04-21)
- Changed the internal implementation of
ExArray - Improved the typespecs and documentations
v0.1.0 (2023-04-20)
- Version initial