TreeTools 1.5.1 2021-10-06

  • PhyDatToMatrix() optionally encodes ambiguous / inapplicable tokens as NA.

  • Update test suite for compatibility with “testthat” > 3.0.4 (@hadley, #83).

TreeTools 1.5.0 2021-09-08

New functions

  • ConstrainedNJ() returns an approximation to a neighbour-joining tree that respects constraints.

  • PolarizeSplits() marks a specified taxon as representing the ingroup of all splits.

  • Add KeepTip() and improve performance of DropTip().

  • ImposeConstraint() makes a tree consistent with topological constraints.

  • as.phylo.Splits() represents a Splits object as a tree.

  • Consensus() is a faster C++ implementation of ape::consensus().

  • ClusterTable() C++ functionality imported from “TreeDist”.

Improved functions


  • Fast matching functions from “fastmatch”.

  • Improve efficiency of Preorder() and Postorder(), and lift limit on tree size.

TreeTools 1.4.5 2021-06-23

TreeTools 1.4.4 2021-04-20

TreeTools 1.4.3 2021-04-12

TreeTools 1.4.2 2021-01-26

  • Support star trees in RootTree().
  • Improve memory handling in root_on_node().
  • Documentation linkage.

TreeTools 1.4.1 2020-12-09

  • MSTEdges() supports distance matrices with > 256 entries.
  • Package ‘vdiffr’ used conditionally.

TreeTools 1.4.0 2020-10-19

New functions


  • MSTEdges() implemented in C++, improving runtime by orders of magnitude.
  • Improved parsing of TNT character files.

TreeTools 1.3.1 2020-10-03

  • Improved parsing of TNT files.
  • Fix misspecified C++ linkage.

TreeTools 1.3.0 2020-09-22

New functions

  • SisterSize() and RootNodeDist() measure sister-clade size and root-node distance.
  • MSTEdges(): Edges of minimum spanning tree.
  • SplitImbalance(): how balanced is each split?
  • New C++ functions root_on_node() and root_binary() to root trees quickly and robustly.


  • TNTReadTree() handles additional punctuation characters.

  • Import RdMacros package ‘Rdpack’.

  • C++ implementation of TipsInSplits().

  • Export C++ functions preorder_edges_and_nodes() and postorder_edges().

  • Remove obsolete copy of C++ code from ‘phangorn’.

TreeTools 1.2.0 2020-08-03

TreeTools 1.1.0 2020-07-07

New functions


TreeTools 1.0.0 2020-06-08

New functions



  • Improve support for unrooted trees in as.Splits().
  • Use methods so Reorder functions can handle multiPhylo objects and edges.
  • Handle funny node orders.
  • Support continuous characters in ReadCharacters().
  • Improve performance of as.logical.Splits() and related functions.
  • Fail nicely when trees are too large for memory.
  • Fix memory leak in as.Splits().
  • Various under-the-hood improvements to functions.
  • Documentation improvements.

TreeTools 0.1.4 2020-03-04

TreeTools 0.1.3 2019-12-19

  • RootOnNode(): Quickly root a tree on a specified node.
  • Improve portability of C++ code.

TreeTools 0.1.2 2019-12-18

  • as.Newick: Fast conversion to Newick format.
  • as.TreeNumber: Tree shape enumeration.

TreeTools 0.1.1 Unreleased

  • Add functions to translate trees to mixed base integers.
  • RenumberTips can extract tip order from phylo and Splits objects.
  • Documentation changes to attempt to satisfy CRAN submission requirements.

TreeTools 0.1.0 Unreleased

  • Pre-release version spun out of ‘TreeSearch’ package. Some functionality is subject to change.