Changelog
Source:NEWS.md
serodynamics (development version)
-
Expanded what the
Claude Code(@claude) workflow can do:- Install the full R toolchain (R, JAGS, pandoc, the apt system libs mirrored from
copilot-setup-steps.yml, plusdevtools,roxygen2,rmarkdown,lintr,spelling,rcmdcheck) and allowRscript,R, andR CMDinvocations, so requests that need package- maintenance commands (devtools::document(),spelling::spell_check_package(),R CMD check, vignette rebuilds) succeed instead of being patched by hand. - Grant
issues: writeand allowgh issueinvocations so Claude can file follow-up issues for work deferred out of the current PR instead of burying it in a comment.
- Install the full R toolchain (R, JAGS, pandoc, the apt system libs mirrored from
Standardized
runjags::findjags()casing acrosstest-coverage.yamlandcopilot-setup-steps.ymlto match theR-CMD-check.yamlform arriving with the 0.1.0 release (#207 advisory).Re-assign reviewers to a PR’s human assignees (filtered via
type == "User") when Claude pushes commits during a@claudeorClaude Code Reviewrun; if Claude makes no commits, the original reviewer set is restored as before. Detected by comparing the PR’s head SHA before and after the Claude step (#210).Stopped deleting prior Claude review comments at the start of each
Claude Code Reviewrun, so reviews posted by@claude reviewinvocations are preserved across subsequent pushes instead of being wiped when the review step fails its bot-actor gate (#217).Hardened the Claude code-review workflow against races and silent failures: serialized concurrent runs per PR, made reviewer restore fail loudly instead of silently dropping reviewers, and cleaned up all stale Claude top-level comments per run (#216).
Expanded
.github/copilot-instructions.mdwith additional guidance on evidence-based claims, Quarto markdown/cross-reference conventions, R style practices, and phrase-level line-break formatting for source text.Fixed
dplyr::as_tibble()references totibble::as_tibble()inpost_summ()andrun_mod(), sinceas_tibble()is exported from thetibblepackage, notdplyr.Added R 4.5+ snapshot variants to handle the changed attribute ordering in
as_case_data(), ensuring test suite compatibility with R 4.5 and later (#109).Added dev container configuration for persistent, cached development environment that includes R, JAGS, and all dependencies preinstalled, making Copilot Workspace sessions much faster.
Reorganized pkgdown documentation with new “Getting Started” guide demonstrating main API workflow, organized articles into “Get started” and “Developer Notes” sections (#73).
Added
.github/workflows/copilot-setup-steps.ymlGitHub Actions workflow to automate environment setup for GitHub Copilot coding agent, preinstalling R, JAGS, and all dependencies.Added reference to UCD-SeRG Lab Manual in copilot-instructions for lab-wide best practices guidance.
Consolidated OS-specific snapshot variants: removed redundant Linux and Windows snapshot directories (which were identical), keeping only base snapshots and darwin-specific variants for macOS platform differences (#73).
Initial CRAN submission.
Updated Copilot instructions to encourage code decomposition and avoid copy-pasting substantial code chunks.
New features
- Made “newperson” optional in
prep_data()(#73) - Including fitted and residual values as data frame in run_mod output. (#101)
- Added
plot_predicted_curve()with support for faceting by multiple IDs (#68) - Replacing old data object with new run_mod output (#102)
- Adding class assignment to run_mod output (#76)
- Making prep_priors modifiable (#78)
- Changes to
run_mod()output:- Taking out
include_subsas an input option, default will include all individuals - Making a single tbl as output
- All other pieces will be attributes.
- Taking out
- Changes to
run_mod()(#79):-
jags.postnow optionally included in output, as specified by argumentwith_post - all subjects now optionally included in
curve_paramsoutput component, as specified by argumentinclude_subs
-
- Diagnostic function to produce R-hat dotplots with stratification (#67)
- Added function for summarizing estimates in a table (#74)
- Diagnostic trace plot function with strat (#64)
- Diagnostic function to produce effective sample size plots with stratification (#66)
- Diagnostic function to produce density plots with stratification (#27)
- Added SEES data set data folder and documentation (#41)
- Fixing SEES data and added jags_post for SEES (#63)
-
as_case_data()now creates columnvisit_num(#47, #50) - Added
postprocess_jags_output()to API (#33) - Added
initsfunction()to API (#37) - Added participant IDs as names to
nsmplelement ofprep_data()output (#34) - Added
initsfunction()to API (#37) - Added
as_case_data()to API (#31) - Added
prep_priors()to API (#30) - Added
autoplot()method forcase_dataobjects (#28) - Added examples for
sim_pop_data(),autoplot.case_data()(#18) - Added attributes as a return to the run_mod function (#24)
- exported
run_mod()function (#22) - Function that runs jags with option of stratification included. (#14)
- Changed package name to serodynamics. (#19, #20)
Developer-facing changes
- Switched ggmcmc dependency from GitHub dev version to CRAN v1.5.1.2 (#135)
- vectorized
ab()function (#116) - Added
lintr::undesirable_function_linter()to.lintr.R(#81) - Reformatted
.lintras R file (following https://github.com/r-lib/lintr/issues/2844#issuecomment-2776725389) (#81) - Set shortcut pipe to be base pipe (#80)
- Added snapshot test for
run_mod() - Clarified
prep_data()internals using dplyr (#34) - Removed “.R” suffix from jags model files to prevent them from getting linted as R files (#34)
- Added
dobson.Rmdminimal vignette (#36) - Overall cleaning to get checks working (#28)
- Added units tests for
prep_data(),sim_case_data()(#18) - Added various GitHub Actions (#10, #15, #18)