Changes in version 2025.5.19

- remove ResamplingSameOtherCV and ResamplingVariableSizeTrainCV.

Changes in version 2025.5.15

- remove animint2 from Suggests, remove Older resamplers vignette.
- figure and text size fixes in vignettes.

Changes in version 2025.5.14

- pvalue()$pvalues table no longer has diff_mean column (was negative of mean_diff column, and potentially confusing).
- pvalue_downsample() stops if downsample results are missing, and messages if there are several combinations of task_id, algorithm, test.subset.
- pvalue_downsample()$caption includes task_id.
- plot.score() sorts y axis by Train_subsets and n.train.groups.
- add SOAKED vignette with two Tasks of simulated data (iid_easy has sample size effect, different has subset effect).

Changes in version 2026.5.10

- WasikowskiLinearMemory changed to WasikowskiLimitedMemory.

Changes in version 2026.5.1 (PR#91)

- New subset_group_stratum vignette, with analysis of counts per fold, using column roles group, stratum, subset.

Changes in version 2026.5.1 (PR#90)

- ResamplingSameOtherSizesCV$instantiate() gains param group_stratum_algo, which is used to determine the fold assignment algorithm for Tasks with groups and strata (even if each group is in only one stratum). Default "RSS" uses novel C++ code, linear time heuristic for minimizing residual sum of squares (RSS), between actual and ideal counts in each stratum/fold. The previous method can be used via "WasikowskiLinearMemory" (named after author of Kaggle post), and is slightly slower and less accurate (in terms of RSS).

Changes in version 2026.4.26 (PR#88)

- ResamplingSameOtherSizesCV$instantiate() uses new C++ code, adapted from scikit-learn StratifiedGroupKFold, to assign folds, when there are groups in several strata.

Changes in version 2026.4.21 (PR#87)

- ResamplingSameOtherSizesCV$instantiate() stops if group in several strata.

Changes in version 2026.4.15 (PR#85)

- proj_grid() gains argument train_seed, default=1L for reproducibility, use NA_integer_ for old behavior (seed not set before training).

Changes in version 2026.4.13 (PR#83)

- ResamplingSameOtherSizesCV with sizes=0 now means 5 train/test splits per test subset, instead of 6. The intermediate size was removed because it is not used in pvalue_downsample().

Changes in version 2026.4.9 (PR#69)

- proj_grid() error for train/test set with missing class.
- new proj vignette.
- proj_compute_all() gains LAPPLY arg.
- proj_test() gains verbose, LAPPLY args.
- ResamplingSameOtherSizesCV respects new column role=fold, for reproducible splits in benchmarks. If fold role is set, it should also be used in stratum role.

Changes in version 2026.3.16 (PR#53)

- new pvalue_downsample() with plot() method for SOAK downsampling results.
- new internal pvalue_compute() and pvalue_prep() for shared p-value computation logic used by pvalue() and pvalue_downsample().

Changes in version 2026.3.10

- fixed integer overflow in large Tasks (PR#59).
- proj_compute_all() uses future.seed=NULL.
- pbdMPI moved from Imports to Suggests for installation on Mac.
- proj_submit() stops if pbdMPI not available.

Changes in version 2026.2.24 (PR#53)

- proj_compute_all() uses future_lapply() if available.

Changes in version 2026.2.20

- added inst/CITATION.

Changes in version 2025.11.19 (PR#51)

- plot() yields consistent Y axes (other on top) for score() and pvalue().

Changes in version 2025.9.24

- Newer resamplers vignette reproducibility section.

Changes in version 2025.9.22 (PR#40)

- Older resamplers vignette uses HTML grid layout.
- score() uses setattr() instead of class()<- to set "score" class of data table output.

Changes in version 2025.7.30 (PR#35)

- proj_grid() outputs tasks and resamplings sub-directories, instead of saving these data to the grid.rds file.
- proj_compute_mpi() launches a SLURM MPI job in which each task computes a variable number of results.
- proj_test() for running one CV iteration, on down-sampled Tasks, using edited Learners. 
- proj_fread() for reading all CSV results.
- New Learners AutoTunerTorch_epochs, LearnerRegrCVGlmnetSave, LearnerClassifCVGlmnetSave, with special methods for proj_* functions: save_learner and edit_learner.

Changes in version 2025.6.23

- proj_* functions for SLURM load balancing (PR#32).

Changes in version 2025.5.21

- ResamplingBase inherits from mlr3::Resampling (PR#31, thanks Sebastian Fischer).

Changes in version 2025.5.17

- ResamplingBase defines instantiate() which now saves task hash (PR#26, thanks Marc Becker); sub-classes define get_instance().

Changes in version 2025.3.30

- new plot() method for score().
- pvalue() with plot() method.
- ResamplingSameOtherSizesCV gains subsets parameter which specifies which subsets to use for training: S, O, A, SO, SA, SOA (S=same, O=other, A=All).

Changes in version 2024.10.28

- .onLoad, add mlr3resampling to mlr3_reflections$loaded_packages, thanks @be-marc for the idea, https://github.com/tdhock/mlr3resampling/issues/17

Changes in version 2024.10.22

- update docs, group -> subset.

Changes in version 2024.9.6

- .onLoad, add subset to mlr3_reflections$task_col_roles for classif and regr.

Changes in version 2024.7.14

- fix typo newere in vignette.

Changes in version 2024.7.7

- use purl=FALSE in vignettes to avoid CRAN check error.

Changes in version 2024.7.3

- use mlr3tuning::tnr("grid_search") instead of TunerGridSearch in Newer_resamplers vignette (same functionality, new name is TunerBatchGridSearch).
- fix Rd files Task -> mlr3:Task, rm ResamplingHoldout etc.

Changes in version 2024.5.14

- mlr3misc::leanify_package() and add ResamplingSameOtherSizesCV to mlr_resamplings as same_other_sizes_cv, thanks @sebffischer.

Changes in version 2024.5.13

- rename ResamplingSameOtherSizes.Rmd to Newer_resamplers.Rmd to avoid error on windows, file name conversion problem -- name too long?

Changes in version 2024.5.2

- new section AZtrees in ResamplingSameOtherSizes vignette, and updated data set (factor columns instead of int/char).
- to save disk space, consolidated vignettes.

Changes in version 2024.4.14

- ResamplingSameOtherSizesCV and ResamplingSameOtherCV now recognize subset (instead of previous group_generalization/group) as the column role for designating subsets to train/test on.
- ResamplingSameOtherSizesCV now recognizes group (instead of previous group_atomic) as the ID of grouped observations that should not be separated when splitting.

Changes in version 2024.3.6

- new ResamplingSameOtherSizesCV.

Changes in version 2024.1.23

- ResamplingVariableSizeTrainCV outputs train sets which respect strata.

Changes in version 2024.1.8

- Rename Simulations vignette to ResamplingSameOtherCV.
- New ResamplingVariableSizeTrainCV class and vignette.
- use setDTthreads(1L) before tests to avoid CRAN NOTE (Running R code in ‘testthat.R’ had CPU time 2.8 times elapsed time).

Changes in version 2023.12.23

- To get data set names in Simulations vignette, use task data names instead of learner$state$data_prototype.

Changes in version 2023.12.20

- First CRAN release.
- Link to blog in DESCRIPTION.

Changes in version 2023.12.19

- use setDTthreads(1) in vignette to avoid CRAN NOTE (Re-building vignettes had CPU time 3.2 times elapsed time)

Changes in version 2023.12.18

- do not future::plan multisession, to avoid CRAN NOTE (checking for detritus in the temp directory).

Changes in version 2023.12.13

- Error for conflicting group names.
- instance has new elements: data tables for visualization.

Changes in version 2023.12.12

- Examples vignette, first tests, score().

Changes in version 2023.12.11

- minimal docs, tests, etc.

Changes in version 2023.12.8

- first version, R code forked from https://tdhock.github.io/blog/2023/R-gen-new-subsets/
