- All planned changes merged into
devel -
NEWS.mdupdated — new version header, all changes documented - Version bumped in
DESCRIPTION(follow semver: major.minor.patch) -
RoxygenNoteinDESCRIPTIONmatches installed roxygen2 version - Run
lintr::lint_package()lint the scripts following general formatting rules
- Run
devtools::document()— regenerate all.Rdfiles andNAMESPACE - Run
devtools::build_readme()— locate README.Rmd and build it into a README.md - Check that all exported functions have
@examplesor@examplesIf - README examples still work (copy-paste test)
- Vignettes render without error:
devtools::build_vignettes()
-
devtools::test()— all tests pass, no unexpected skips -
covr::package_coverage()— no significant coverage regression
-
devtools::check()— 0 errors, 0 warnings, 0 notes- Common notes to fix before CRAN:
LazyDatawithoutLazyDataCompression, missing\valuein.Rdfiles
- Common notes to fix before CRAN:
-
urlchecker::url_check()— no broken URLs in docs
- Merge
develop→main(PR or direct) - Create a git tag:
git tag v0.9.6 && git push origin v0.9.6 - Create a GitHub Release with the
NEWS.mdentry as release notes
-
pkgdown::build_site()locally — no errors - Push to
mainto trigger thepkgdown.yamlworkflow - Verify live site at https://krose.github.io/entsoeapi/
-
rhub::rhub_doctor(gh_url = "https://github.com/krose/entsoeapi"); rhub::rhub_check(gh_url = "https://github.com/krose/entsoeapi", platforms = c("windows", "macos-arm64", "linux"), branch = "main")— multi-platform check -
devtools::spell_check()— no spelling errors in docs - Review CRAN policies
-
devtools::submit_cran()or upload via https://cran.r-project.org/submit.html - Reply promptly to CRAN maintainer emails (within 2 weeks)
- Post on Mastodon with
#rstats— short example showing new functionality - Submit to rweekly.org (open a PR to their repo)
- Close / reference any related GitHub issues in the release notes