roxygen2 7.3.0
This article is originally published at https://www.tidyverse.org/blog/
We’re well pleased to announce the release of
roxygen2 7.3.0. roxygen2 allows you to write specially formatted R comments that generate R documentation files (man/*.Rd
) and the NAMESPACE
file. roxygen2 is used by over 13,000 CRAN packages.
You can install it from CRAN with:
install.packages("roxygen2")
There are four major improvements in this release:
The
NAMESPACE
roclet now reports if you have S3 methods that are missing an@export
tag. All S3 methods need to be@export
ed even if the generic is not. This avoids rare, but hard to debug, problems. If you think this is giving a false positive, please file an issue and suppress the warning with@exportS3Method NULL
.I’ve also considerably revamped the documentation for S3 methods in
vignette("namespace")
. The docs now discuss what exporting an S3 method really means, and why it would be technically better to call it registering the method.Finally, the
NAMESPACE
roclet once again regenerates imports before loading package code and parsing roxygen blocks. This has been the goal for a long time, but we accidentally broke it when adding support for code execution in markdown blocks. This change resolves a family of problems where you somehow bork yourNAMESPACE
and can’t easily get fix it because you can’t re-document the package because you can’t load your package because yourNAMESPACE
is borked.@docType package
now works like"_PACKAGE"
, including creating a{packagename}-package
alias automatically. This resolves a bug introduced in roxygen2 7.0.0 that meant that many packages lacked the correct alias for their package documentation topic."_PACKAGE"
does a better job of automatically generating aliases. In particular, it will no longer generate a duplicate alias if you have a function with the same name as your package (likeglue::glue()
orreprex::reprex()
). If you’ve previously had to hack around this bug, you can now delete any custom@aliases
tags associated with the"_PACKAGE"
docs.
You can see a full list of other minor improvements and bug fixes in the release notes.
Acknowledgements
A big thanks to the 46 folks who helped make this release possible through their thoughtful questions and carefully crafted code! @andrewmarx, @ashbythorpe, @ateucher, @bahadzie, @bastistician, @beginb, @brodieG, @bryanhanson, @cbielow, @daattali, @DanChaltiel, @dpprdan, @dsweber2, @espinielli, @hadley, @hughjonesd, @jeroen, @jmbarbone, @johnbaums, @jonocarroll, @kathi-munk, @krlmlr, @kylebutts, @lionel-, @LouisLeNezet, @maelle, @MaximilianPi, @MichaelChirico, @moodymudskipper, @msberends, @multimeric, @musvaage, @neshvig10, @olivroy, @ralmond, @RMHogervorst, @Robinlovelace, @rossellhayes, @rsbivand, @sbgraves237, @schradj, @sebffischer, @simonpcouch, @stemangiola, @tau31, and @trusch139.
Thanks for visiting r-craft.org
This article is originally published at https://www.tidyverse.org/blog/
Please visit source website for post related comments.