CHANGES in `irboost' VERSION 0.1_1.0 (2022-02-15) o this is previously called package ccboost. The name change better helps to understand better the algorithm CHANGES in `irboost' VERSION 0.1_1.3 (2023-08-03) o modify executing check_s following the update of mpath package on function R/check_s CHANGES in `irboost' VERSION 0.1_1.4 (2024-03-06) o vignettes/irbst.Rnw was substantially modified o how to update Rd? The devtools::document() function updates the NAMESPACE file, and devtools::install() reinstalls the package with the updated documentation. library(roxygen2) roxygen2::roxygenize() devtools::document() o how to build package? R CMD build --compact-vignettes="both" irboost o convert irbst.Rnw to irbst_knitr.Rmd https://ulriklyngs.com/post/2021/12/02/how-to-adapt-any-latex-template-for-use-with-r-markdown-in-four-steps/ 1. Obtain irbst_jds.tex using R CMD Sweave irbst.Rnw cp irbst.tex irbst_jds.tex change $ to $$ sed -i 's/\$/\$\$/g' irbst_jds.tex add $body$ in irbst_jds.tex to integrate code in irbst_knitr.Rmd 2. In irbst_knitr.Rmd with the following lines --- title: "Unified robust boosting" output: bookdown::pdf_document2: template: irbst_jds.tex --- o convert irbst.Rnw to irbst.Rmd 1. convert Sweave format irbst.Rnw to knitr using ... library(knitr) Sweave2knitr('irbst.Rnw') # you will get irbst-knitr.Rnw by default 2. convert irbst-knitr.Rnw to irbst.Rmd using R function Rnw2Rmd from package mdsr o change $ to $$ in a text file sed -i 's/\$/\$\$/g' your_file.txt o some parameters in R/irboost.R are now moved to a new argument params, a list of parameters. The argument params in irboost is passed to argument params in xgboost::xgboost CHANGES in `irboost' VERSION 0.1_1.5 (2024-04-17) o move the code part of irbst_knitr.Rmd to irbst_code.Rmd o remove irbst.Rnw, irbst_jds.tex, irbst_knitr.Rmd and associated latex format files CHANGES in `irboost' VERSION 0.2_1.0 (2025-02-04) o minor update vignette/irbst_code.Rmd o update the reference with published paper: Unified robust boosting CHANGES in `irboost' VERSION 0.2_1.1 (2026-03-15) o Compatibility updates for newer xgboost (tested with xgboost 3.2.0.1) to preserve behavior observed with older xgboost (e.g., 1.7.10.1). o Fix multi-class softmax objective (objective="multi:softprob") for newer xgboost where the returned soft-probability vector ordering differs from older versions: - add internal helper .reshape_softprob() to detect the correct ordering (by observation vs by class) using the row-sum-to-1 property. - update irboost() and irb.train() loss calculations to use the reshaped probability matrix so robust weights are computed consistently. - update predict.irboost_model() to return multi:softprob predictions in the historical "by observation" order so existing user code that does matrix(pred, ncol=num_class, byrow=TRUE) remains valid. - avoid reliance on non-exported xgboost helper APIs (e.g., xgboost::xgb.parameters) so R CMD check does not warn about missing or unexported objects; multi:softprob output is detected by length and normalized accordingly. - store training params in returned irboost_model objects (new element `params`) for reliable downstream behavior (e.g., predict). o Ensure single-threaded behavior by default for CRAN checks and for reproducibility: - if params$nthread is not supplied, set params$nthread <- 1 in irboost(), irb.train(), and irb.train_aft(). - update Rd examples to use nthread=1 and set common thread environment variables (OMP_NUM_THREADS, OPENBLAS_NUM_THREADS, MKL_NUM_THREADS, etc.) to avoid "CPU time > elapsed time" check NOTES on multi-core machines. - pass nthread explicitly to xgboost::xgb.DMatrix() inside irboost() to prevent multi-threaded DMatrix construction from inflating CPU time. - add OMP_THREAD_LIMIT=1 in Rd examples to further constrain OpenMP runtimes. o Fix and reformat irb.train_aft() examples (params assignment and line wraps) to satisfy Rd line width checks and keep examples reproducible. o Vignette maintenance (vignettes/irbst_code.Rmd): - switch to a static HTML vignette (static_irbst.html + .asis) to support xgboost outputs that are HTML widgets (e.g., xgb.plot.tree()). - replace deprecated xgboost::xgboost(..., params=...) usage with xgboost::xgb.DMatrix + xgboost::xgb.train(). - make cross-validation output robust when best_iteration is NULL (fallback to which.min on evaluation_log). - remove network dependency by using MASS::Boston instead of downloading the housing dataset at build time. - minor reproducibility/timing cleanups (explicit tree_method="exact", seeds, and misclassification rate reporting). o Update maintainer email address in DESCRIPTION and documentation.