Changelog
Source:NEWS.md
tidyaudit 0.3.0
New features
-
Audited execution — capture data-frame lineage across a whole script or session without per-step taps:
-
audit_source()runs an.Rfile likesource()but returns an audit trail; it owns the evaluation loop, so capture works interactively, undersource(), and underRscript. -
audit_record({ ... })audits an inline block. -
audit_start()/audit_stop()provide interactive-session convenience via a top-level task callback. (Useaudit_source()for scripts:source()is a single top-level task.)
-
- Capture granularity is top-level statement lineage. Snapshots carry versioned-lineage fields (binding-stream
object_id,version,event,source,srcref,parent_snapshot_ids,level); parents resolve from the pre-evaluation state and only to data.frames. Lifecycle events (create/update/delete/retire/unchanged_assignment) are tracked. - Capture is metadata-only by default;
level(metadata,sample_hash,column_hash,full_hash) opts into per-run-salted content hashing to detect value-only changes. -
audit_export()renders audited trails as a tabular report (run summary, step timeline, objects & versions, warnings & errors) plus a per-object lineage graph. Classic tap trails still render the linear flow.
tidyaudit 0.2.1
CRAN release: 2026-05-08
Bug fixes
-
audit_transform()for factor inputs no longer errors under R-devel (r89994+). The internal frequency-table builder previously routed counts throughas.data.frame.table(), which now rejectsNAin row names and failed for any factor (since theuseNA = "always"bucket carries anNAname). The table is now constructed directly. No user-visible output change.
tidyaudit 0.2.0
CRAN release: 2026-03-24
New features
-
audit_export()— self-contained HTML trail visualization (interactive pipeline flow diagram, light/dark theme, clickable nodes/edges). No server, no Shiny required. - Serialization functions:
trail_to_list(),trail_to_df(),write_trail(),read_trail()for machine-readable trail export (RDS and JSON formats). -
tab()/tab_tap()— frequency tables and crosstabulations within pipelines. One-way and two-way tables with.sort,.cutoff,.wt,.na,.displayoptions. - Snapshot controls:
.numeric_summary,.cols_include/.cols_excludeparameters on all taps to limit snapshot scope on wide datasets. -
print.audit_trail()improvements: tabular “Changes” block withFrom/To/Rows/Cols/NAscolumns and+N/-N/=deltas; inline custom diagnostic annotations (.fnsresults) below each snapshot row withshow_customparameter.
Breaking changes
-
audit_tap(): parameterlabelrenamed to.labelfor API consistency with other taps (no deprecation — early-stage project). - Join taps:
.statnow accepts bare column names (NSE viaenquo()/as_label()), matching filter tap behavior. Quoted strings still work. - Internal snapshot field
col_inforenamed toschema(internal only, no user-facing API change).
Improvements
-
audit_transform()is now generic across all vector types (numeric, Date/POSIXct, factor, logical, character) with type-appropriate diagnostics. -
audit_report(): removed unimplementedformat = "rmd"option (deferred to a future version).