All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added CI workflow to run tests against supported Elixir versions
- Updated minimum supported Elixir version to v1.12
- While the library may work with older versions, StreamData supports a minimum of v1.12, so it would be missing the property tests
- Updated timestamp decoding to be backwards-compatible with Elixir v1.12
- Add missing
guides/directory to list of published docs in package config
- Added a dedicated how-to guide for using telemetry
- Exception messages were expanded to include specific details about the cause of the error and, where applicable, configuration options for resolution.
- Updated all documentation (@moduledoc, @doc, readme, etc.)
- Initial release
- Support for all MessagePack types, including
Integer,Float,String,Binary,Array,Map,Ext, and theTimestampextension- Encoding for the full 64-bit unsigned integer range
- Native encoding and decoding for Elixir's
DateTimeandNaiveDateTimestructs - Protection against maliciously crafted decoding inputs via
:max_depthand:max_byte_sizeoptions - Added a
:string_validationoption toencode/2to bypass UTF-8 validation for performance gains - Emits
:telemetryevents for all encode and decode operations - Includes
encode!/2anddecode!/2for raising exceptions on errors