Changes in version 2.0.0 (In Bioconductor devel as version 1.99.0, following the convention for a major rewrite; it becomes 2.0.0 at the next release.) A ground-up rewrite. The package now computes 44 epigenetic clocks behind a declarative registry, runs out-of-core on HDF5 through BigDataStatMeth, and ships a toolbox to compare, interpret and quality-control the results. Architecture - Declarative clock registry (clock_register(), clock_list(), clock_info(), and the shipped clock_catalog table): one entry per clock — target, engine, native platforms, training tissue, licence and citation. Adding a clock is adding a row, not editing the engine. - Manifest-backed resource resolver (mcd_resource(), mcd_backends()): coefficients are resolved through a configurable backend chain — a local mirror, ExperimentHub, or a direct Zenodo download — and normalized to one canonical shape on entry (normalize_coef()). - Three predictor engines in this release: linear (including models with squared-beta terms), counter (mitotic clocks, including the parametric epiTOC2), and neural networks (AltumAge with weights from HDF5; a compiled Bayesian network). - A unified methylclock() entry point; DNAmAge() and DNAmGA() remain as compatible wrappers. Clocks - 44 clocks: chronological (including the cross-platform Garma 2024 model, the only one here native to EPICv2), biological (PhenoAge), pace of ageing (DunedinPACE), telomere length, gestational (cord blood and placenta), neonatal (the four NEOage clocks), mitotic counters, causal clocks, and nine trait/exposure EpiScores (opt-in via target = "trait"). - Every clock declares the tissue it was trained on and its native arrays; restrictively licensed clocks are implemented and clearly marked. Scale - Input can be an in-memory matrix or an HDF5-backed matrix; whole-array clocks (BLUP, EN) stream from disk without materializing the array, and the heavy algebra runs through BigDataStatMeth. mc_to_hdf5() converts a matrix or a text file once, to work on disk from then on. - Results follow the same policy: HDF5 as the durable store with an in-memory cache, and persist() to keep a session result. Missing data - Configurable imputation: impute = "mean", "reference", "none", or "knn" — a C++ k-nearest-neighbours imputation that runs out-of-core on HDF5, exposed also as imputeKNN(); plus a per-sample coverage floor (min.perc.sample) so heavily imputed samples are not passed off as measured ones. Interpretation toolbox - Cell composition and acceleration: cellCounts(), ageAcceleration() (ageAcc, residual, and the cell-adjusted residualCells), plus the canonical named measures: IEAA() (Horvath residual adjusted for the seven immune covariates of Chen et al. 2016, the three rare subsets computed from published CpG estimators) and EEAA() (the fixed-weight Hannum blend of Chen et al. 2016, with the parameters published in European patent EP 3 494 210 B1). ageAccelerationChen() computes a related Chen-style blend whose Klemera-Doubal weights are re-estimated from the data at hand; its output column is chenAcc, to keep the EEAA name for the canonical measure. - Plots: predicted-vs-age (per group), clock agreement, distributions, densities by group (overlay, mirror and ridge layouts), acceleration by group, forest/dumbbell group differences, per-sample discordance, sample PCA, Bland–Altman — one consistent theme, colour-blind-safe palettes. - Reference ranges (plotReferenceRange()): percentile bands of a named reference cohort with the user's samples on top; nine shipped reference cohorts spanning four continents, each described by what it is. - Longitudinal tools: clockTrajectories(), trajectoryRates() (each subject's pace, with its uncertainty caveats) and plotTrajectories(), plus a real repeated-measures example dataset. - Quality control: clockAccuracy(), sampleQC() (outlier score and clock discordance) and qcReport() — an HTML report where every section carries a written reading of its own numbers. Data - Only estimates and phenotypes ship with the package; coefficient tables live in methylclockData/Zenodo, and validation used frozen public cohorts. Bundled datasets: clock_catalog, methylclock_demo, methylclock_validation, methylclock_references, methylclock_longitudinal, methylclock_smoking, methylclock_cells, methylclock_betas. Compatibility notes - Estimates were verified against the previous implementations; the one deliberate change: Wu uses adult.age = 48, the value of the clock's publication. - EPICv2 arrays: the pre-2023 clocks do not apply to EPICv2 probe names and say so rather than guessing; the Garma model runs on EPICv2 natively. A proper probe mapping for the older clocks is planned.