Changes in CCMMR version 0.2.3

    + Reduced the computation time of convex_clusterpath() without changing the
      loss function values. The C++ solver now computes the fit term of the loss
      from maintained aggregates instead of a full matrix product, skips the
      fusion scan when no pairwise distance is small enough to trigger a fusion,
      and rebuilds the cluster weight matrix directly from the fusion map rather
      than forming sparse matrix products.


Changes in CCMMR version 0.2.2

    + Fixed an integer overflow in the computation of the mean squared distance
      used to scale the weights in sparse_weights(). For very large numbers of
      observations this could produce incorrect weights (in some cases larger
      than one).

    + Fixed an off-by-one error in the median used to determine the default
      fusion threshold, which could return a slightly incorrect value when the
      number of pairwise distances was even.

    + Added regression tests.


Changes in CCMMR version 0.2

    + Added new option to guarantee a connected weight matrix in
      sparse_weights().

    + Replaced some inefficient parts of the C++ code.

    + Added several options to monitor the algorithm's performance during
      minimization. Monitoring can be turned on using the relevant arguments of
      convex_clusterpath(). Data gathered while monitoring is part of the
      output of convex_clusterpath().
