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