docs(cran-prep): switch maintainer to Vincent + rewrite cran-comments.md for 0.3.0#111
Merged
Conversation
Member
Author
|
/copilot review |
….md for 0.3.0
Two coordinated edits ahead of the CRAN submission:
1. DESCRIPTION: swap the `cre` role from Colin Fay
(`contact@colinfay.me`) to Vincent Guyader
(`vincent@thinkr.fr`). Both remain listed as `aut`. Vincent
pilots the 0.3.0 release; the maintainer change is
coordinated between the two authors. CRAN's submission
system will emit a "New maintainer" note and require email
confirmation from the previous maintainer.
2. cran-comments.md: replace the previous-release boilerplate
(CRAN feedback on `download.file()` graceful failure) with
the actual 0.3.0 release notes:
- Test environments (local + GHA + win-builder placeholder)
- Maintainer change context
- Major changes since 0.2.6 grouped as Breaking changes /
New features / Security hardening / Bug fixes
- Reverse-deps note (golem unaffected by vendored renv removal)
- Coverage note (99.84%, single defensive guard uncovered)
R CMD check --as-cran: 0 errors / 0 warnings / 1 note
("unable to verify current time" host glitch, unrelated).
devtools::test(): no behavioural change (no R/, NAMESPACE, Rd
or test impact in this commit).
Three changes from the pr-reviewer pass:
1. Test environments: replace the literal `TODO` placeholder for
`check_win_devel()` with explicit "submitted in parallel; the
result will follow by email" phrasing. Submitting a file with
`TODO` reads as an unfinished checklist and risks an immediate
bounce from the CRAN review queue.
2. Maintainer change: spell out the email-confirmation protocol
explicitly ("the previous maintainer ... will confirm by
replying to the automated email from CRAN's submission
system"), instead of relying on the vaguer "coordinated
between the two authors" phrasing. Makes clear we know the
handover is gated on Colin's reply, not on internal
coordination.
3. R CMD check results: keep `0/0/0` as the canonical result but
add a one-line caveat about the transient "unable to verify
current time" host-clock NOTE so a CRAN reviewer is not
surprised if win-builder surfaces it.
… manual verification
revdepcheck::revdep_check() was attempted but its install phase
on the local host stalled on Bioconductor / heavy-stats deps
(ade4, Biobase, ape) pulled in by {AbSolution}. Rather than
keep an unverified claim in cran-comments.md, replace it with
the manual verification that does answer the relevant question:
the only breaking *symbol* removal in 0.3.0 is
`dockerfiler::renv`, and a GitHub-wide code search returns zero
references to it outside `ThinkR-open/dockerfiler` (our own
NEWS) and `cran/dockerfiler` (the 0.2.7 mirror). Combined with
the explicit local grep of {golem}, this shows none of the 3
declared revdeps (golem, AbSolution, shiny2docker) consume the
removed symbol. Default-value flips (FROM, repos, user) are
behavioural and preserve call-site compatibility.
…an-comments PR #112 fixed a code-injection path in dock_from_renv() (the renv version resolved from the lockfile reached the generated `R -e 'remotes::install_version(...)'` line without validation). Mention it explicitly in the cran-comments.md Security section so the CRAN reviewer sees that the audit happened and the fix is in this submission. Also clarifies there is nothing to disclose-coordinate: no published dockerfiler version shipped the 0.3.0 changeset.
697b1c4 to
9353d0e
Compare
This was referenced May 12, 2026
VincentGuyader
added a commit
that referenced
this pull request
May 12, 2026
* chore: keep Colin Fay as the package maintainer Revert the maintainer (`cre`) swap from #111: Colin Fay (`contact@colinfay.me`) stays the `cre`, Vincent Guyader goes back to `aut`. Both remain listed as authors. No "New maintainer" note will be emitted by CRAN's submission system, so the corresponding section of `cran-comments.md` is removed. * docs+chore: pre-CRAN polish for 0.3.0 Bundled pre-submission cleanup, the result of a dedicated documentation review plus a coverage pass. dock_from_desc(): flip the default `repos` to `c(CRAN = "https://p3m.dev/cran/latest")`, matching dock_from_renv(), and wire `.patch_rprofile_for_ppm()` into the generated Rprofile.site RUN so the build pulls pre-compiled Linux binaries (the `__linux__/$VERSION_CODENAME/` rewrite + the strict `HTTPUserAgent` PPM requires). Pass `repos = c(CRAN = "https://cran.rstudio.com/")` to opt out. Breaking change (behaviour of the generated Dockerfile); NEWS updated. Tests added (red-first): the default `repos` formal is the PPM URL, and a default `dock_from_desc()` invocation produces the rewritten Rprofile line. Documentation: - README: the renv.lock section now shows the bare `dock_from_renv(lockfile = ...)` call and spells out the 0.3.0 defaults (multi-arch `rocker/r-ver`, p3m.dev binaries, `rstudio` user) and how to opt out; a `parse_dockerfile()` section is added; the README links to `vignette("dockerfiler")`. - Vignette: adds `dock_from_renv()` and `parse_dockerfile()` sections, fixes the `r(install.packages(..., repo = ...))` typo (`repos =`), and notes the generators' default `FROM` / `repos`. - `dock_from_desc()` roxygen: add `@examples` and `@details` (explaining the `build_from_source` / `update_tar_gz` interplay), document the new `repos` default + PPM rewrite, fix the `AS` "Default it NULL" typo, clarify `AS` is a build-stage name. - `Dockerfile$new()` roxygen: `@param FROM` now states the default (`"rocker/r-base"`, and that the high-level generators differ); `@param AS` describes it as a build-stage name. - `Dockerfile$ENV()` roxygen: `@param key,value` said "label" (copy-paste from `LABEL()`); now "environment variable". - `r()` roxygen: clearer `@description` / `@param` / `@return` (it captures an R *expression* unevaluated and returns a shell-quoted `R -e '...'` string), fix the example's `repo =` typo. - `get_sysreqs()` roxygen: add `@examples`. - NEWS: split the dense "Small polish bundle" bullet into readable, user-facing lines; widen the FROM/repos breaking-change bullets to cover `dock_from_desc()`. - regenerated `man/*.Rd` (`devtools::document()`; bumps `RoxygenNote` 7.3.2 -> 7.3.3 to match the installed roxygen2). Coverage: - `tests/testthat/test-utils.R`: direct tests for the type/length/NA/format guards of every `.validate_*` helper. These guards are part of the security contract (the argument is interpolated into a generated Dockerfile directive) but were only exercised via the format-regex branch. Package coverage is back to 99.65% (`R/utils.R` 99.10%, was 80.18%); `cran-comments.md` updated with the real figure. Full test suite: 0 failures. R CMD check --as-cran: 0/0/0 (one transient "unable to verify current time" host NOTE, unrelated).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two coordinated edits ahead of the CRAN 0.3.0 submission:
DESCRIPTION: swap the
crerole from Colin Fay (contact@colinfay.me) to Vincent Guyader (vincent@thinkr.fr). Both remainaut. Vincent pilots the 0.3.0 release. CRAN's submission system will emit a "New maintainer" note and ask the previous maintainer to confirm via email.cran-comments.md: replace the previous-release boilerplate (download.file feedback) with the actual 0.3.0 release notes:
check_win_devel()returns)stop()guard)Local verification
The "New maintainer" note is not emitted by local check. CRAN's submission system raises it; that is expected and is the whole point of this PR.
Test plan
crerole swapped; both Fay and Guyader carryaut.devtools::check_win_devel()from master, paste win-builder summary into cran-comments.md as a follow-up.urlchecker::url_check()on master HEAD.revdepcheck::revdep_check()to confirm golem unaffected.