Released: April 2026
test-integration-*.R files now call skip_on_cran() at file scope,
preventing integration tests from running on CRAN. Resolves CHECK ERROR on
r-devel-linux-x86_64-fedora-clang and r-devel-linux-x86_64-fedora-gcc
reported by CRAN on 2026-04-08.RNGkind() is now explicitly set before set.seed() in integration tests
that use simulated data, ensuring cross-platform RNG reproducibility.Released: April 2026
grs_validate() — added skip_if_not_installed("pROC") guard to all
logistic-path tests so the suite passes cleanly when pROC is absentops_toy() data where possible — runnable examples unwrapped,
long-running examples (>5s) wrapped in \donttest{}, network-dependent
examples remain in \dontrun{}VignetteBuilder field corrected in DESCRIPTIONdev (3 jobs), main
(6 jobs), release (8 jobs, --as-cran), and weekly (scheduled every
Saturday 21:00 CST, full CRAN-like matrix)_R_CHECK_DEPENDS_ONLY_ matrix to verify Suggests packages are
correctly declaredReleased: March 26, 2026
ops_snapshot() — removed Unicode character Δ from documentation to fix LaTeX PDF manual build on CRANtest-plot.R — added skip_on_cran() to plot_tableone() rendering tests that caused a 20-minute hang on Windows CRANplot_forest() and plot_tableone() examples are now fully runnable (removed \dontrun{} wrapper; save = FALSE throughout)README.md — updated Codecov badge URL; fixed CONTRIBUTING.md and README_zh.md links to full GitHub URLsinst/WORDLIST with Biobank to suppress false-positive spelling NOTE on CRANReleased: March 25, 2026
derive_followup() — coerce date columns to IDate before pmin() to avoid type mismatchinstall.Rmd — corrected vignette cross-references.assert_*() input validation helperscli::cli_abort() calls now use call = NULL for cleaner error messagesplot_tableone() — auto-coerce data.table input to data.frameget-started.Rmd and README updated for accuracyReleased: March 13, 2026
ops_withdraw() — exclude UKB withdrawn participants from a cohort data.table by EIDops_snapshot() gains column-tracking helpers: cols(), diff(), remove(), and set_safe_cols()plot_tableone() — new png_scale, pdf_width, and pdf_height parameters for fine-grained output controlfetch_file() — enforce RAP-only guard; updated testsgrs_score() — fix -icmd argument format; skip script upload if file already exists on RAPops_withdraw()ops_withdraw()broom to DESCRIPTION Imports and ops_setup() dependency checkReleased: March 10, 2026
ops_setup() — check and report the local environment (R, dx-toolkit, dxpy) healthops_toy() — generate synthetic UKB-style cohort or forest-plot data for testing and demos; includes GRS columns and cancer self-report fieldsops_na() — summarise missing-value rates per column with threshold-based filtering and cli progress feedbackops_snapshot() — record and display a history of dataset row/column counts across pipeline stepscli::cli_abort() calls now pass call = NULL to suppress internal call-stack noise in error messagesops_toy(): added cancer self-report fields (p20001, p20006) and corrected sr_codes → text label mappingvignette("smoking_lung_cancer"))docs/)importFrom(stats, rnorm, runif), importFrom(utils, object.size), and pct_na to globalVariables()builds/ to .RbuildignoreReleased: March 6, 2026
Initial release of ukbflow — a RAP-native R workflow for UK Biobank analysis.
auth_login() — authenticate to RAP via dx-toolkit tokenauth_logout() — revoke current sessionauth_status() — check current login stateauth_list_projects() — list accessible RAP projectsauth_select_project() — set active RAP projectfetch_ls() / fetch_tree() — browse RAP project file structurefetch_file() — download files from RAP to localfetch_url() — generate pre-signed download URLsfetch_metadata() — retrieve UKB field metadata (field.tsv, encoding.tsv)fetch_field() — download the UKB field dictionary fileextract_ls() — list available UKB datasets on RAPextract_pheno() — synchronously extract phenotype fields from a RAP datasetextract_batch() — submit a DNAnexus table-exporter job to extract phenotype fieldsjob_wait() — poll job status until completionjob_status() / job_ls() / job_path() / job_result() — monitor and locate RAP jobsdecode_values() — convert integer codes to human-readable labelsdecode_names() — rename p{field}_i{instance}_a{array} columns to descriptive namesderive_missing() — recode UKB informative-missing labels to NAderive_covariate() — standardise common covariates (age, BMI, TDI, etc.)derive_cut() — create ordered factor variables from numeric cutpointsderive_hes() — derive disease phenotypes from Hospital Episode Statistics (ICD-10)derive_cancer_registry() — derive cancer phenotypes from UK cancer registry (ICD-10)derive_death_registry() — derive phenotypes from death registry (primary + secondary causes)derive_first_occurrence() — derive phenotypes from UKB First Occurrence fieldsderive_selfreport() — derive disease phenotypes from self-reported illness codesderive_icd10() — merge multi-source ICD-10 case definitions across all registersderive_case() — merge arbitrary multi-source case definitionsderive_followup() — compute follow-up time with competing event supportderive_timing() — classify prevalent vs. incident casesderive_age() — compute age at eventassoc_linear() — linear regression with automatic three-model frameworkassoc_logistic() — logistic regression with automatic three-model frameworkassoc_coxph() — Cox proportional hazards with automatic three-model frameworkassoc_coxph_zph() — test proportional hazards assumptionassoc_competing() — Fine-Gray competing risks regressionassoc_subgroup() — subgroup analysis with interaction likelihood-ratio testassoc_trend() — dose-response trend analysis across ordered categoriesassoc_lag() — landmark / lag-time sensitivity analysisgrs_check() — validate and reformat a GWAS summary statistics weight filegrs_bgen2pgen() — submit parallel BGEN → PGEN conversion jobs on RAPgrs_score() — submit distributed plink2 GRS scoring jobs on RAPgrs_standardize() — standardise GRS columns to mean = 0, SD = 1grs_validate() — validate GRS distribution and association with known risk factorsplot_forest() — publication-ready forest plots with customisable CI columns and p-value formattingplot_tableone() — Table 1 baseline characteristics figure