                     Changes in version 0.3.0.9000                      

  - plot.mlm_variance_decomp(): the subtitle labelled the random-slope
    standard deviation as tau11, which is the random-slope variance. It
    now states both quantities explicitly ("random-slope SD = ...,
    variance = ..."). The subtitle is also ASCII only: the Unicode tau
    it used was dropped by the default pdf() graphics device and printed
    as "..". Plotted intervals and all numerical results are unchanged.
  - Tests: the shared test fixture no longer writes its data to the
    global environment. The data are embedded in the model call and read
    back with lme4::getData(), so the tests run under current testthat,
    which isolates tests from the global environment.

                 Changes in version 0.3.0 (2026-09-30)                  

Corrections to inference (results change)

  - Degrees of freedom. All tests and intervals now use Satterthwaite
    degrees of freedom by default (via 'lmerTest'). Versions up to 0.2.1
    used N - p (level-1 rows minus fixed effects), which treats
    observations as independent and is anti-conservative for cross-level
    interactions: in a simulation with 10 clusters and no true
    interaction it rejected at about twice the nominal rate. The new
    df_method argument offers "satterthwaite" (default),
    "kenward-roger", "between" (J - q - 1; Snijders and Bosker, 2012),
    and "residual" (the old rule, kept only for reproducing earlier
    results).
  - Johnson-Neyman boundaries are now exact: closed-form roots of the
    Bauer-Curran quadratic for constant-df methods, and root-finding on
    the exact criterion for Satterthwaite and Kenward-Roger. Previously
    they were interpolated from p-values on a grid. mlm_jn() also
    returns jn_bounds_all (all real roots, including those outside the
    data) for constant-df methods.
  - Confidence bands in mlm_plot() now use the full fixed-effects design
    row. Previously covariates other than the predictor and moderator
    were omitted from the standard error of the fitted values.
  - Moderator probe values for a cluster-level moderator are now the
    mean and SD across clusters, not across observations (new modx.level
    argument; "observation" restores the old behaviour).

mlm_sensitivity() (breaking)

  - The ICC-shift analysis and robustness_index were removed. The
    design-effect rescaling it used applies to means under a
    random-intercept model, not to cross-level interactions, and the
    adjusted Johnson-Neyman boundary it reported was not correct.
    icc_range and icc_grid now give a warning and are ignored; loco =
    FALSE is an error.
  - Leave-one-cluster-out refits now use update() on the original data,
    so they keep the original REML/ML setting, weights, and formula.
    Previously they always used ML (so every "change" included the
    ML/REML difference) and failed silently for formulas with
    transformed variables.
  - The influence measure is now DFBETA, the change in the interaction
    divided by its full-data SE, flagged at 2/sqrt(J). The previous
    "Cook's-distance-style" measure divided by the SD of the changes and
    so flagged clusters by construction. Failed refits are reported with
    their error messages.

mlm_variance_decomp() (breaking)

  - pct_random was removed: it divided a population variance by a
    sampling variance and so grew with sample size. The output now
    reports tau11 (variance), tau11_sd, and df explicitly, and the
    documentation describes the result as confidence intervals for the
    average slope versus prediction intervals for a new cluster.
  - The random slope is taken from the grouping factor that carries
    pred.

Other

  - Tests now cover every exported function, including checks against
    'lmerTest', 'emmeans', and 'pbkrtest'.
  - New vignette with the public High School and Beyond data ('mlmRev').
  - Removed a reference to a non-existent vignette.
  - URLs point to github.com/subirhait/mlmoderator.

                 Changes in version 0.2.1 (2026-04-03)                  

  - Previous CRAN release.
