← Back to all sparks
A

admiraldev

ANALYTICS
Velocity0.0

Development Tools for the admiral family

The admiral family's toolbox package keeps absorbing infrastructure the main package used to carry.

pharmaversedeveloper-toolingassertionsroxygendeprecation-policy
Current state
admiraldev is the developer-facing utility layer beneath the {admiral} clinical-programming family: assertions, custom roxygen roclets, linter configuration and deprecation helpers. Recent releases have pulled shared machinery out of {admiral} itself, most recently the roxygen helper functions in 1.5.0. Its users are other package authors, not clinical programmers.
Where it's heading
The arc is consolidation — each release moves one more piece of cross-package tooling into a single place and tightens the standards it enforces. 1.4.0 added an admiral_linters() configuration mandating cli::cli_abort() over stop() across the family, and 1.1.0 had already migrated the assertion layer to {cli} messaging. Breaking changes are routine here and are managed through an explicit four-phase deprecation process.
Prediction
Expect further extraction of shared helpers from {admiral} into this package, and continued roxygen2 8.0.0 follow-through in the documentation tooling.

Recent moves

  1. 2mo ago

    Roxygen helpers move out of admiral; date validation gains a real-date check

    1.5.0 continues the consolidation arc: roxygen helper functions move over from {admiral}, and is_valid_dtc() gains a check_dtc argument to test whether a date actually exists rather than merely parsing. Assertion errors now spell out the symbol-versus-string mistake explicitly.

    View source ↗
  2. 2mo ago

    Maintainer handover to Edoardo Mancini

    A maintainer-only release with no code change; it matters for governance continuity across the admiral family but not for users.

    View source ↗
  3. 7mo ago

    Family-wide linter config lands; custom join wrappers removed

    1.4.0 adds admiral_linters(), a shared lint configuration enforcing the family's cli-first error conventions, and removes the custom anti/inner/left join wrappers now that {dplyr} handles the attribute warnings. assert_data_frame() also gained a rowwise check that is on by default — a quiet breaking change for rowwise inputs.

    View source ↗
  4. 1y ago

    rdx_roclet extends roxygen with permitted/default and example tags

    The custom roclet gains @permitted, @default, @caption, @info and @code tags, which is what later lets {admiral} document argument defaults and captioned examples inline. This is the documentation infrastructure the 1.3.0 admiral release depends on.

    View source ↗
  5. 1y ago

    deprecate_inform() wrapper and more flexible assertion arguments

    1.2.0 adds a deprecation-messaging wrapper offering finer control than lifecycle::deprecate_soft(), and loosens several assertions — assert_unit() can take multiple units or none, assert_numeric_vector() can check length. The R >= 4.1 floor lands here.

    View source ↗
  6. 2y ago

    Error and warning messaging migrates to cli

    The release that set the family's current error-handling convention: rlang::abort() gives way to cli::cli_abort() throughout, and every assert_*() function picks up message/arg_name/call/class arguments. Renames and dropped exports made it a breaking release.

    View source ↗