Skip to content

v4.9.2

Latest

Choose a tag to compare

@saschagrunert saschagrunert released this 06 Oct 13:28
· 6 commits to main since this release
v4.9.2
  • Detect parent cycles, sibling rings, mislinked siblings and stale last_child stamps in validate()
  • Reject an ancestor of self as new sibling in checked_insert_after/checked_insert_before with AppendAncestor/PrependAncestor instead of creating a cycle or panicking, and mention insertion in their messages
  • Make detach, detach_children, remove, remove_subtree and remove_children no-ops for removed, stale or out-of-range IDs instead of modifying a reused slot or panicking
  • Panic in append_value, prepend_value, insert_after_value and insert_before_value for a removed node instead of attaching the new node to a freed slot
  • Report the caller's location for panics of the mutating NodeId methods
  • Clear the tree links of freed nodes
  • Fix reverse iteration of following_siblings/preceding_siblings for parentless nodes and stale parents, and make it terminate for removed nodes
  • Make live_count() O(1)
  • Reject inconsistent arenas on deserialization, and unlink free slots that can no longer be reused
  • Return None from get_node_id() for removed nodes
  • Implement core::error::Error for NodeError without std, and fix no_std builds with the serde feature
  • Make the par_iter feature enable std
  • Remove unsafe code from the tree! macro expansion (indextree-macros 0.1.4)
  • Run the README examples as doctests
  • Restrict CI token permissions and group Dependabot updates