Skip to content

v4.0.0-rc11 (internal release candidate)

Pre-release
Pre-release

Choose a tag to compare

@ehrlinger ehrlinger released this 26 Oct 16:44
· 36 commits to main since this release
656a639

Internal release candidate on the v4.0.0 line. NOT a CRAN release: CRAN is on
3.5.5 (published 2026-10-25). Submission is planned for early January 2027:
two months after 3.5.5, past CRAN's winter closure, and after randomForestSRC
3.10 reaches CRAN.

Verified on 656a639, the commit tagged (origin/main). The gate ran on the
#375 branch head 2bf6671, whose tree (514eea39) is identical. Against
randomForestSRC 3.9.0, varPro 3.3.0 and randomForestRHF 2.1.0:
devtools::document() no changes; lintr 0 lints;
NOT_CRAN=true VDIFFR_RUN_TESTS=true devtools::test(): 0 fail / 0 error,
924 blocks, 2577 expectations, 9 skips (3 UBSAN gate probes, the
cran-comments check, the slow ivarpro path, namespace hygiene, and three
unconditional skips of the deprecated plot.gg_partialpro() since #84),
63 pre-existing warnings; all 65 vdiffr baselines present before and after.
R CMD check --as-cran with the manual, from a clean git archive export:
Status 1 NOTE, 0 ERROR / 0 WARNING. The NOTE is CRAN incoming
feasibility (11 updates in six months).
Timed steps: examples 18s, --run-donttest 52s, tests 36s, vignette
rebuild 98s, PDF manual 12s.
Tarball 4.17 MB (rc10: 4.14 MB); no stray hidden files (.Rinstignore only).
CI on this tag (check-release.yaml, upstream-ubsan.yaml) is triggered by
this release; results are not part of these notes.

Since v4.0.0-rc10: 34 commits across 11 PRs, #354 to #375.

R floor (#373, closes #326). Depends is now R (>= 4.3.0), down from 4.4.0.
That is the floor of randomForestSRC and varPro, the strictest Imports; the
package code needs nothing past R 4.1. A ubuntu-latest (4.3) R CMD check leg
on every push to main proves it (passed on the #373 merge, 13 min).

Fixes:

  • gg_ivarpro() tolerates a class with no finite local importance (#354);
    mirrors only the forest's own binary probability, so a y.external target
    named after a class is no longer mirrored (#363); and files such a profile
    under its own target, with the binary default view following it (#374).
  • gg_varpro() reads varPro's binary 0/1 code map from the data, not by
    position, so z-scores are no longer swapped between classes when the first
    level is the minority or the classes are tied (#362).
  • gg_partial_varpro() keeps each categorical variable's factor level order
    (#364). Several categoricals of mixed factor types no longer crash, and
    panels with overlapping labels keep their own order (#374).
  • Usage sections of calc_roc(), gg_rfsrc() and gg_roc() show the generic call
    (#371), clearing R-devel's "Exported functions without usage" check.

Docs (#360): scale = "surv" does not take path C. Tests (#365): two NOT_CRAN
tests no longer depend on the randomForestSRC RNG, ahead of 3.9.3/3.10's
seed-head change. NEWS fragments collected in #367 and #375.

The rc11 rollup review (r-reviewer, Copilot, Codex) found no P1; its two P2
regressions from #363/#364 are the #374 fixes above.