Rubytree Changelog

New in version 0.8.3

August 23rd, 2012
  • This is a primarily a bugfix release with some packaging changes.
  • The dependency on Hoe has been removed.
  • The gem now builds with vanilla gemspecs.
  • Support for Bundler has been added.
  • Support for gem-testers has been added.
  • The #as_json method has been implemented to support Rails JSON encoding.
  • The TreeNode#siblings method now correctly returns an empty array for root nodes.

New in version 0.8.2 (December 16th, 2011)

  • This maintenance release fixes a bug with the Tree::TreeNode#to_s method, which was breaking if @content or were not string data types.

New in version 0.8.1 (October 4th, 2010)

  • The main change in R0.8.0/R0.8.1 is conversion of all CamelCase method names to snake_case. The old CamelCase method names will still work (to ensure backwards compatibility), but will also display a warning.
  • The TreeNode#add method now accepts an optional child insertion point.
  • The subtree from the current node can now be cloned in its entirety using the `TreeNode#detached_subtree_copy' method.
  • A major bug-fix for bug #28613 which impacted the Binarytree implementation.

New in version 0.7.0 (May 5th, 2010)

  • Added new methods to report the degree statistics of a node.
  • Added a convenience method alias 'level' to 'nodeDepth'.
  • Converted the exceptions thrown on invalid arguments to 'ArgumentError' instead of 'RuntimeError'.
  • Converted the documentation to Yard format.
  • Added new methods for converting from/to JSON formats. Thanks to Dirk Breuer[] for this fork[].
  • Added a separate API-CHANGES documentation file.
  • Added fixes for root related edge conditions to 'isOnlyChild?', 'nextSibling', 'previousSibling' and 'remove' methods.
  • Removed the 'ChangeLog' file as this can now be generated from the git logs.
  • Other minor code cleanup.

New in version 0.6.2 (January 31st, 2010)

  • This is a documentation update release.

New in version 0.6.1 (January 5th, 2010)

  • Changed the hard-dependency on the 'structured_warnings' RubyGem to a soft-dependency - which lets Rubytree still work if this RubyGem is not available. The rationale for this is that we should not require the user to install a separate library just for one single edge-case function (in this case, to indicate a deprecated method). However, if the library _is_ available on the user's system, then it will get used.

New in version 0.6.0 (January 4th, 2010)

  • Fixed the bug#22535[] where the
  • depth method was actually returning height+1 (not the depth).
  • Marked the Tree::TreeNode#depth method as *deprecated* (and introduced the run-time dependency on
  • structured-warnings[] gem).