# DBHC 0.0.4

## Bug fixes

* `cluster.bic()` passes its `eps` argument on to `count.parameters()`, it
  always used the default threshold before
* `hmm.clust()` passes its `smoothing` argument on to `assign.clusters()`,
  cluster assignment always smoothed with the default before
* `smooth.probabilities()` returns a uniform distribution for a set of
  probabilities that are all zero, which used to stay zero and is then rejected
  by `build_hmm()`
* `smooth.probabilities()` no longer returns negative probabilities. Absolute
  discounting assumes the smoothing parameter is smaller than the smallest
  non-zero probability, and the amount discounted is now lowered to respect
  that. A probability below the parameter used to be discounted to a negative
  value, which survived because the row still sums to one, and grew more
  negative every time the model was smoothed again. Estimates for data with
  sparse emissions change, see below
* `select.seeds()` stops with a message when too few sequences are left to fill
  a seed, it used to select `NA` ids
* Loops over sequences and cluster models use `seq_along()`, they could run an
  iteration on an empty set

## Changes

* Sequences are evaluated against a cluster model all at once in
  `assign.clusters()` and `select.seeds()` instead of one at a time, which makes
  the algorithm about five times faster on 1000 sequences and leaves all results
  unchanged
* `hmm.clust()` has an argument `max.iter` and `size.search()` has an argument
  `max.states` to bound the search for cluster memberships and hidden states
* An infeasible HMM raises a warning instead of printing one
* The smaller Swiss Household example is fast enough to run on test again
* Both Swiss Household examples are wrapped in `\donttest` instead of
  `\dontrun`, they are slow rather than impossible to run
* Results for data with sparse emission probabilities change slightly because
  of the fix to `smooth.probabilities()` above. On the simulation study of the
  accompanying paper nothing changes but the BIC, by 0.0001 percent. On the
  full Swiss Household data the cluster models and a small number of cluster
  memberships change, the number of clusters and their sizes do not

## Maintenance

* Replaced `Author` and `Maintainer` with `Authors@R`
* Dropped `LazyData`, the package has no data directory
* Requires seqHMM (>= 2.0.0), the version this release is tested against
* Heatmaps refer to their data with the `.data` pronoun, which silences the
  deprecation warnings from ggplot2

# DBHC 0.0.3

## Second submission
