Changelog¶
v0.1.25¶
Fix bug in subtree-filling in default-constructor of non-power-of-2 length vector types, by @etan-status
v0.1.24¶
Move hash-function to remerkleable.settings module to enable overrides
Function to initialize zero-hashes
Make endianness of uint types configurable in remerkleable.settings
v0.1.23¶
Improve memory usage, reduce tree memory overhead by denying unused class-dicts (dynamic attributes) in node classes, and similarly for view classes
v0.1.22¶
Improve performance of list/vector/subtree setters/getters: convert potentially slow typed input to int before repeated internal math.
v0.1.21¶
Fix single-type-param Union
v0.1.20¶
Union type support
v0.1.19¶
Bitfield access lookup-index type coercion fix
v0.1.18¶
Container extensions / inheritance
v0.1.17¶
Use r-op overloads to cover all uint operations better (Thanks @ericsson49 for help)
Use MyPy for type checking, fix type inconsistencies (Thanks @hwwhww for help)
Refactor TypeDef into part of View class
v0.1.16¶
Bare object handling: cls.from_obj and value.to_obj, to encode and decode json/yaml into remerkleable types.
v0.1.15¶
Fix release branch
Update readthedocs for py 3.8 support
v0.1.14¶
Containers now check for unrecognized attribute inputs
v0.1.13¶
mul and floordiv type checks
bitfield, packed-vector/list, complex-vector/list, container stack-based iterators
Minor style fixes and optimizations
v0.1.12¶
Bugfixes for medium/big sized bitvectors
v0.1.11¶
Node.root is now a read-propery on every type of node.
Generalized previous RootNode checking, any node type can be recognized as no-child-nodes now, or lazy-load them.
Split RebindableNode from PairNode for rebinding behavior as mix-in.
New VirtualNode to lazy-load the child nodes based on the root, instead of lazy-computing the root.
is_root() was misleading; root nodes are not the only node classes without child nodes, and root is used for too many other things already. Renamed to is_leaf().
Added leaf_iter(node), to iterate over the leafs of a tree
Added tree_diff(a, b), to iterate over the differences between a and b.
Made repr and type_repr more sensible, and prettify nested repr of complex views.
v0.1.10¶
List/vector init improvements
ByteList support, with new tests
v0.1.9¶
Fix empty bitfield tree initialization
Check lengths of vector and container type declarations
v0.1.8¶
Fix bug in ByteVector chunkify padding. And add tests for this case.
v0.1.7¶
Fix bug in readonly_iter (and thus list/vector serialization) not being able to handle raw byte-vector element type.
Check-dist command
v0.1.6¶
PyPi does not like SVG, change logo link to PNG
v0.1.5¶
Fix PyPi upload
v0.1.4¶
Fix README rst quirk
Be explicit about RST description format
Include logo SVG in description through github link
v0.1.3¶
Faster
getter
andsetter
for tree traversal.Add is_root() for quick tree content checks
More direct rebinding of length tree nodes
Early support for paths
v0.1.2¶
Launch of Sphinx-based documentation.
History traversal, get subtree changelog.
v0.1.1¶
Speed improvements and minor bugfixes.
v0.1.0¶
Initial release.