Changes in version 2.0.0 (2026-04-10) This is a major maintenance and interface-cleanup release prepared for CRAN resubmission. The release focuses on code correctness, documentation, naming consistency, and more predictable behavior for core fitting, prediction, and visualization workflows. Major changes - Refactored the package around a modular source layout while preserving the core ntree = 1 tree-based boosting path. - Standardized the public interface to lower-case, dotted naming conventions. - Families are now specified as "continuous", "binary", "nominal", and "ordinal". - Returned object components now use the same naming convention. - Added boostmtree.control() as the primary user-facing control interface for resampling, reproducibility, and other fitting options. - Clarified first-pass scope: the current refactor supports control$ntree = 1. Fitting and model-object updates - Reworked preprocessing so that subject-level covariates, identifiers, times, and responses remain aligned throughout fitting. - Improved handling of non-continuous responses, including binary, nominal, and ordinal encoding. - Improved support for univariate fits when tm and id are omitted. - Restored the original tree-fitting logic more faithfully in key places while keeping the refactored package structure. - Simplified and regularized the structure of returned objects. - Internal code keeps the boosted-subproblem (q) representation. - Public objects flatten single-response results consistently for continuous and binary fits. - Removed legacy object components and hidden option paths that were no longer needed in the first-pass redesign. Resampling, OOB, and cross-validation - Cleaned up the interaction between bootstrap sampling, OOB availability, cross-validation, and variable importance. - seed now controls reproducibility only. - Removed the silent legacy rewrite of bootstrap = "none" into a full in-bag user bootstrap. - When cv.flag = TRUE, the fit now enforces an OOB-producing resampling rule and records OOB availability in the fitted object. - Added explicit fitted-object fields documenting OOB behavior, including oob.available and oob.subject.count. Prediction, printing, and plotting - Updated predict.boostmtree() to match the refactored object structure and naming conventions. - Improved prediction handling for: - held-out longitudinal test data, - new subjects evaluated on the fitted training time grid, - user-supplied common time grids via partial prediction. - Updated print.boostmtree() so grow and predict objects are summarized correctly and consistently. - Updated plot.boostmtree() so plotting now goes to the active graphics device by default. - PDF output is still available when explicitly requested. - Plotting data can also be returned for user-directed graphics workflows. Variable importance and effect plots - Redesigned variable-importance output around a classed vimp.boostmtree object. - Replaced the old vimpPlot() workflow with plot() methods for variable-importance objects. - Added clearer checks for grow-object variable importance when OOB information is unavailable. - Reworked partial and marginal effect plotting around canonical function names: - partial.plot() / partial.plot.boostmtree() - marginal.plot() / marginal.plot.boostmtree() - Updated effect-plot functions to use the active graphics device by default instead of creating PDF files automatically. - Added response-label selection for partial and marginal plots in multi-level response settings. Documentation - Rewrote the main boostmtree help page in a more user-facing style. - Expanded examples to cover: - continuous longitudinal fits, - binary fits, - univariate fits, - held-out prediction, - AF-data illustration, - variable importance, - partial and marginal plots. - Improved documentation for print, plot, predict, variable importance, and effect-plot methods. - Clarified the interpretation of phi, rho, lambda, mod.grad, and prediction outputs such as mu and muhat. - Updated package references to include later methodological and application papers: - Pande A., Ishwaran H., Blackstone E.H., Rajeswaran J., and Gillinov M. (2022). Application of gradient boosting in evaluating surgical ablation for atrial fibrillation. SN Computer Science, 3:466. - Pande A., Ishwaran H., and Blackstone E.H. (2022). Boosting for multivariate longitudinal responses. SN Computer Science, 3:186. Backward-incompatible changes - The package now uses canonical lower-case, dotted names throughout the public interface. - Returned object components were renamed to match the new naming convention. - Legacy mixed-case and underscore-style argument names are no longer supported in the first-pass refactor. - Legacy plotting helpers such as vimpPlot(), partialPlot(), and marginalPlot() were replaced by classed objects and plot() methods or lower-case dotted interfaces. - Automatic PDF creation is no longer the default plotting behavior. Internal cleanup and bug fixes - Removed conflicting and duplicated legacy helper code from utilities.R. - Fixed multiple issues uncovered during example-driven testing, including bugs affecting: - univariate fits, - longitudinal prediction, - predict-object printing, - grow/predict consistency for mu, muhat, and related fields, - partial-plot indexing, - compatibility between stored gamma representations used during prediction. - Removed legacy components no longer needed for the first-pass package design, including forest.tol. Changes in version 1.0.0 (2016-03-17) - Initial CRAN submission