# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [0.8.0] - 2022-06-28 ### Added - New `tools.py` module, with `allclose` and `diff` methods ## [0.7.0] - 2022-03-09 ### Added - Path objects now hashable (enables e.g. to use set() on nob.paths) - `.leaves` method: similar to `.paths` but just "leaves" (non dict/list paths) ## [0.6.1] - 2021-09-23 ### Added - new noxfile ### Fixed - API autogenerated in docs ### Changed - Clean, homogeneous `parent` and `set` methods - More robust Path instantiation - Docs "philosophy" more refined - More basic README, with link to docs - More explicit exceptions for bad nob access ### Deleted - Removed _find_all ## [0.6.0] - 2021-09-10 ### Added - Sphinx documentation added, now hosted on Readthedocs ### Fixed - Behavior of iterating over a tree was inconsistent with docs ## [0.5.6] - 2021-09-10 ### Fixed - Solve bugs with del on list item(s) (Issue #5) ## [0.5.5] - 2020-12-10 ### Fixed - `KeyError` print bug: didn't format path ## [0.5.4] - 2020-08-31 ### Added - `.reserved` method gives all reserved keywords - More information on keyword access in README ### Fixed - Forgotten print statement - Serialization now works for scalars too - Serialize / deserialize returns self ## [0.5.0] - 2020-08-31 ### Added - Add `np_serialize` and `np_deserialize` to efficiently store large numpy arrays - Offer the possibility to compress when `np_serializing` ## [0.4.1] - 2020-02-13 ### Fixed - `.get` now consistent: nevers returns `NobView` object ## [0.4.0] - 2020-02-05 ### Added - Add `.get` method to imitate dicts for `Nob` ### Changed - Integer and slice access on lists now returns `NobView` object(s) ## [0.3.2] - 2020-02-05 ### Changed - `Nob` replaces `Tree`, now deprecated ### Deleted - Remove core/ folder. Everything now flat in single nob/ folder. ## [0.3.1] - 2020-01-31 ### Changed - Store version number only once, in `__init__.py` file ## [0.3.0] - 2020-01-31 ### Changed - `[:]` access instead of `.val` (now deprecated) ## [0.2.1] - 2019-08-26 ### Added - More explicit exceptions for invalid attribute/item access - MIT License ### Changed - `__str__, __repr__` strategy changed for readability ### Fixed - `del` now works properly for `TreeView` objects - Fixed a bug that made `Path() / Path()` invalid ## [0.2.0] - 2019-08-23 ### Added - Creating new keys is now supported (with tests) - Deleting keys also supported - `len` can be called on all trees - `Path.split()` method similar to os.path.split added - `.keys()` method for trees ### Changed - `_TreeUtils._access` became `_TreeUtils._find_all`. Same functionnality, slightly simplified - `_raw_data` moved to `Tree`. `TreeView` shouldn't access data directly.