Changes in version 2.0.0 (2026-10-25) This release preserves the public R interfaces, corrects numerical and prediction errors, and improves documentation and validation. Both the R package and Python interface use version 2.0.0. Dependencies and packaging - Remove the unused fairness import that caused CRAN to archive DSLD when that dependency was archived in November 2025. The active fairml dependency remains. This change has not been submitted to CRAN. - Declare the optional cccp and CVXR solvers and explain how to install missing optional packages. - Add regression checks, documentation/example validation, and scheduled CI. Exclude developer artifacts and Python caches from the R source package. - Update the maintainer address to mittalaa@uci.edu, add the methods-paper citation, and document the bundled datasets' dimensions and data usage. Correctness - Use the positive-class probability column when scoring binary random forests. Cross-validation no longer flattens both probability columns together. - Preserve yesYVal in binary matching and EDF predictions, including a positive label of "0"; report original class labels in EDF classification results. - Fix frequency-table column labels and preserve row alignment when sensitive attributes contain missing values. Undefined correlations remain NA. - Use fitted model matrices for linear prediction standard errors and sensitive group contrasts. Correct contrast ordering for four or more groups and avoid confusing similarly named covariates with the sensitive attribute. - Apply KNN scaling and deweights consistently at training and prediction; honor scaleX = FALSE, column reordering, and one-predictor data frames. - Correct linear ridge augmentation so its intercept is unpenalized. Retain the original pseudo-observation method for the logistic EDF variant. - Accept omitted deweights in both ridge variants, and preserve ordered-factor and custom-contrast encodings when predicting with fairml models. - Construct linear, logistic, and linear-ridge formulas from literal column names, allowing outcome names with spaces, operators, or backticks without interpreting them as expressions or emitting formula-parsing warnings. - Preserve explicit sensitive-factor contrasts in linear/logistic fits when all levels are observed, including their coefficient labels and values. - Reuse cross-validation folds across candidates, stratify binary outcomes, weight errors by test-fold size, and retain undefined group correlations. - Accept data-frame comparison points in dsldML; compare feature sets using a shared holdout in dsldTakeALookAround. - Fix density slider indexing, character group handling, plot ranges, scatter row limits, and binary-response validation in conditional-disparity plots. Drop unused factor levels and omit constant axes in parallel coordinates. - Detect parallel-coordinate indicators that are constant within a plotted group before density scaling; omit them with an explicit warning. This avoids a failure found on Linux with current R and dependency binaries. - Convert integer/character inputs for bnlearn and preserve optimizer warnings from fairml instead of suppressing them. Documentation and compatibility - Preserve all 25 exported R function signatures and defaults, model families, datasets, and historical result-field names. - Clarify that trainAcc and testAcc are prediction errors, and that sensitive correlations are associations rather than universal fairness measures. - Refresh both READMEs, help pages, the function guide, and the Quick Start. Quick Start results now come from executable chunks. - Numerical results affected by the fixes above may change. Invalid inputs now produce earlier, clearer errors. - Preserve 42 public callable signatures and defaults; add optional final model_args support to dsldPyFairUtils. - Accept pandas and R data frames consistently, preserve option types, and call R generic methods directly without temporary variables in R's global workspace. - Preserve existing result fields and add explicit EDF class/probability fields, matching results, and common-variable rankings. - Return usable Plotly figures, honor static-plot display controls, and close graphics devices and delete temporary images even when rendering fails. - Correct notebook imports, dataset preparation, class labels, and train/test handling. Rebuilt examples use bundled data and reproducible random seeds. - Require Python 3.9 or newer and provide optional notebook/example dependencies.