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.
- Breaking! Changed the error
{badvalue, PartialPath}
to{badvalue, PartialPath, Value}
- Breaking! Removed official support for Erlang 23 and 24.
2.4.0 - 2023-11-13
- New
deep_intersect/2
function - New
deep_intersect_with/3
function
deep_merge_with/3
now exits withbadarg
in case the fun is not valid.
2.3.0 - 2022-06-08
- New
inverse/2
function - New
deep_search/2
function
2.2.0 - 2021-06-17
- New
deep_iterator/1
function - New
deep_next/1
function - New
deep_merge_with/2
function - New
deep_merge_with/3
function
2.1.1 - 2021-06-14
- Updating a path that had a map as value with
deep_update_with
returnederror
instead of the map value.
2.1.0 - 2020-07-02
- New
deep_update_with/4
function
2.0.0 - 2019-11-27
- New
deep_update/3
function - New
deep_update_with/3
function
- The
{badvalue, P}
exception fromdeep_put/3
now returns a path to the bad value instead of the value itself to make it coherent with the newdeep_update/3
implementation. - The
{badkey, K}
exception fromdeep_get/2
has been changed to{badvalue, P}
to make it coherent withdeep_put/3
and others.
1.0.0 - 2019-11-26
- Clarified documentation for
deep_put/3
regarding possible exceptions.
deep_remove
now removes the last existing key in the path, ignoring the rest to keep it in line with the behavior ofmaps:remove/1
which silently returns the map if the key doesn't exist.
0.3.0 - 2018-09-13
Initial release