                 Changes in version 4.0.3 (2026-07-15)                  

  - Added a package vignette (vignette("appac")) covering usage on
    PLOT_FID and the method: the multiplicative forward model, the PCA
    decomposition into correlated / uncorrelated / noise components,
    robust estimation of the common kappa, the NA-tolerant
    drift/daily-factor imputation, and the change-point detectors.

                        Changes in version 4.0.2                        

  - Change-point detection moved from 'Rbeast' to 'strucchange':
    get_changepoints() now dates episode level breakpoints with a
    deterministic structural-break model (OLS-MOSUM test + BIC-optimal
    breakpoints()), dropping the heavy 'Rbeast' dependency and the need
    for a random seed.
  - New get_variance_changepoints(): detects precision (variance)
    breakpoints on the noise-energy signal — the second-moment
    counterpart of get_changepoints().
  - New example dataset Synth_data: a compact, fully synthetic
    stress-test set with a known ground truth (attached as attr(.,
    "truth")) — three samples, ten peaks, three episodes split by two
    planted level/variance breakpoints, with brown (AR(1)) heavy-tailed
    noise at a 1% repeatability — for unit tests and examples.
  - appac() now imputes missing area cells: peaks with up to 30% NA are
    filled by low-rank reconstruction (svdImpute / EM) before the fit;
    whole missing injections (staggered dates) are handled by the
    cross-sample reconstruction.
  - appac() validates minimum-size and degenerate input (at least 3
    samples, 2 peaks and 20 injections per sample, and non-constant
    areas), failing with an explanatory error instead of a deep numeric
    one.
  - show() and print() methods for the Appac, Compensation and
    Correction classes: a compact summary at the console (print() also
    lists per-sample goodness-of-fit) instead of dumping the full
    object.
  - check_cols() gains a verbose argument (default FALSE) that reports
    which column, peak and sample names were renamed.
  - debias_ct() shows a progress bar during the chi-square minimisation
    sweep.
  - Documented the package limitations (see ?appac-package).

                        Changes in version 4.0.1                        

First CRAN release.

  - appac() runs the correction pipeline: it decomposes per-cylinder
    peak areas by principal components into a pressure-correlated
    component and per-peak drift, estimates the common
    pressure-sensitivity coefficient kappa with a heavy-tail-robust fit
    on a drift-reduced signal, and removes slow drift plus a daily
    factor. Corrects the response of standard, atmosphere-open detectors
    (FID, and more weakly TCD).
  - check_cols() validates and canonicalises the input columns
    (role-keyed, so the order of the mapping does not matter).
  - debias_ct() refines the per-peak centres by closed-form chi-square
    minimisation, for an optional de-biased second pass.
  - goodness_of_fit() reports, per peak, the reduced chi-square of the
    corrected areas against a noise-floor estimate.
  - get_changepoints() provides Bayesian episode/breakpoint detection on
    the PC2 drift signal (via 'Rbeast').
  - plot_area_pressure(), plot_area_date(), plot_residuals() and
    plot_area_pressure_fit() visualise a fitted object (require the
    suggested 'ggplot2' / 'patchwork').
  - Example dataset PLOT_FID: real FID injections from several control
    cylinders.
  - Scope: APPAC is an a posteriori correction of already-measured
    areas. It has no forecasting ability and makes no prediction beyond
    the acquired data.
