Changelog
Source:NEWS.md
crs 0.15-45
CRAN release: 2026-06-26
Improved mixed-data cross-validation efficiency by using a guarded weighted least-squares Gram/Cholesky solve with QR/SVD fallback for kernel and factor spline CV routes. The change covers
cv.ls,cv.gcv, andcv.aicfor additive, tensor, and GLP bases consistently across weighted and unweighted mean-regression CV, while preserving the existing rank, fallback, and objective contracts.Restored the GLP model-matrix column oracle used to select generalized local-polynomial interactions while retaining compiled column-product construction, preserving GLP stability and shape compatibility.
Improved categorical-kernel mean fit and evaluation efficiency by reusing the guarded weighted least-squares Gram/Cholesky primitive for the non-quantile prediction ingredients when
model.return=FALSE, covering additive, tensor, and GLP bases consistently across weighted and unweighted routes while preserving fitted values, intervals, standard errors, hatvalues, rank, and residual degrees of freedom.Improved categorical-kernel mean-gradient efficiency by reusing the same guarded weighted least-squares Gram/Cholesky primitive for non-quantile derivative solves in training and evaluation routes. The change covers additive, tensor, and GLP bases consistently across weighted and unweighted routes while preserving derivative estimates and normal-approximation intervals to numerical roundoff.
Changed the public
crs.formula()NOMAD evaluation-budget defaultmax.bb.evaltoNULL, allowingcrs()to choose route-specific defaults after route selection. Continuous-onlyfrscvNOMADsearches now default tomax.bb.eval=10000, while kernel/categoricalkrscvNOMADsearches default tomax.bb.eval=1000. These defaults were set on the basis of simulation evidence and real-world applications; explicit user-supplied values continue to override the route defaults.Repaired public-wrapper consistency so
crs()forwards NOMAD search controls tofrscvNOMADconsistently withkrscvNOMAD, includingrandom.seed,max.bb.eval, integer mesh/frame geometry controls, and quantile leveltau.Made NOMAD multistart generation invariant to progress/display settings in
frscvNOMADandkrscvNOMAD, so enabling or suppressing optimizer progress no longer changes the starting-value geometry or fitted result.Implemented independent native NOMAD restart sweeps for CRS cross-validation searches, preserving the public multistart contract while keeping restart diagnostics explicit.
Added public
max.evalcontrol for NOMAD point-lookup budgets and changed continuous-onlyfrscvNOMADdefaults soMAX_EVALandMAX_BB_EVALcan be controlled independently. The default point-lookup cap for continuous-only CRS NOMAD searches is now 1000, reducing duplicate NOMAD cache lookups while preserving the established black-box evaluation budget.Clarified NOMAD cache reporting in summaries. User-facing output now distinguishes true objective/function evaluations from repeated NOMAD point lookups avoided by the native cache.
Added elapsed-time recording and reporting for CRS cross-validation and summary paths using wall-clock elapsed time rather than user CPU time.
Modernized CRS plot methods toward the current
npplot interface.plot.crs()now displays fitted mean/quantile functions by default, accepts NP-style controls such aserrors,band,B,output,data_overlay,data_rug,perspective,renderer, andview, and supports transparent viridis base surfaces, base rotation, rgl surface extras, data overlays, rugs, and fitted-surface asymptotic/inid-bootstrap intervals. Legacy CRS plot switches such asci,mean,plot.rug, andplot.errors.*now fail fast with NP-interface guidance.Hardened CRS plot argument validation and public plot contracts. Unsupported controls now fail explicitly rather than being silently ignored, categorical plot rendering and legends are aligned more closely with
np, and CRS gradient plots now support refit and wild-bootstrap intervals where defined.Repaired explicit derivative handling in
predict.crs()so caller-supplied derivative orders are honored rather than bypassed by the fitted-object fast path.Expanded the
crs_nomad_apihelp page with package-author guidance, direct C-callback and R-callback bridge skeletons, and explanations of the most important native result fields.
crs 0.15-44
CRAN release: 2026-06-01
- Added the final package-author native NOMAD C API (
crs_nomad_solve) with C and R callback modes, explicit option arrays, generated starts, multistart support, budget handling, mesh-size array options, interrupt handling, and deterministic seed behavior for downstream packages. - Exposed NOMAD native cache counters from
snomadr()(cache.hits,cache.size,callback.evaluations, andtotal.evaluations) so downstream callers can distinguish true R callback evaluations from points satisfied by NOMAD’s cache without changing optimizer behavior. - Hardened native NOMAD API contracts by rejecting cache-off native solves, mirroring infinite objective handling, documenting main-thread affinity for R callback routes, and tightening named-list validation in native helpers.