# partDSA 0.9.15

## Bug fixes

* Bagged ("leafy") partDSA no longer errors when
  `leafy.random.num.variables.per.split` is greater than or equal to the
  number of predictors; the random variable subset ("mtry") is now capped
  at the number of predictors.

* `trim()` on a `partDSA` object now actually trims the inherited fields
  (`IkPn`, `coefficients`, `IkPn.risks`, `var.importance`). Previously the
  result of the inherited `dsa` trim method was discarded, so only the
  partDSA-specific fields were shortened.

* `loss.function = "DR"` for censored outcomes now fails with a clear
  message (it was never implemented and previously raised a cryptic
  "object 'get.overall.risk' not found").

* Survival fits no longer print a spurious `n == length(y)%/%2 is not TRUE`
  error to the console. The internal per-partition outcome list relied on
  `length(<Surv>)` returning `2n`; modern versions of the **survival**
  package return `n`, which silently disabled `$datalist` (and therefore
  `dumpDSA()` / `showDSA()` for survival outcomes). It now uses `NROW()`.

* The Integrated Brier Score reported for multiple time points is now a
  proper, normalized score. Previously the per-time-point Brier scores
  were summed (default `IBS.wt = rep(1, length(brier.vec))`), inflating
  the reported value by roughly the number of time points and pushing it
  outside the valid `[0, 0.25]` range in both `mean.cv.risk.DSA` and
  `test.set.risk.DSA`. The default now uses trapezoidal weights that sum
  to 1 and normalize by the time range. Single-time-point behavior is
  unchanged; explicitly supplied `IBS.wt` is respected (and aligned to
  the now-sorted `brier.vec`).

## Infrastructure / CRAN

* Migrated `DESCRIPTION` from the deprecated `Author:`/`Maintainer:`
  fields to `Authors@R`.
* Updated `inst/CITATION` from the old-style `citEntry()` / `personList()`
  to `bibentry()` / `person()`.
* Renamed the internal helper `split.fx()` to `find.split.fx()` so it is
  no longer mistaken for an unregistered S3 method of the base `split()`
  generic.
* Added a `testthat` test suite (`tests/testthat/`).
* Vignettes: use the canonical CRAN package URL in the bibliography, and
  set a real `\Address`/`\URL` so the JSS `link/to/webpage` placeholder is
  no longer emitted into the PDFs. Removed a redundant `data(GBSG2)` call
  in the survival vignette.
