roxygen2 7.0.0

New features

New tags

R6

roxygen2 can now document R6 classes (#922). See vignette("rd") for details.

Markdown improvements

Default usage

Code loading

roxygen2 now provides three strategies for loading your code (#822):

You can override the default either by calling (e.g.) roxygenise(load_code = "source")) or by setting the load option in your DESCRIPTION: Roxygen: list(load = "source").

Options

Breaking changes

Extending roxygen2

The process for extending roxygen2 with new tags and new roclets has been completely overhauled, and is now documented in vignette("extending"). If you’re one of the few people who have written a roxygen2 extension, this will break your code - but the documentation, object structure, and print methods are now so much better that I hope it’s not too annoying! Because this interface is now documented, it will not change in the future without warning and a deprecation cycle.

If you have previously made a new roclet, the major changes are:

A big thanks goes to @mikldk for starting on the vignette and motivating me to make the extension process much more pleasant (#882).

Bug fixes and minor improvements

roxygen2 6.1.1

roxygen2 6.1.0

New features

Extension API

Minor improvements and bug fixes

roxygen2 6.0.1

roxygen2 6.0.0

Markdown

Improved inheritance

Minor improvements and bug fixes

Tags

S3

S4

Other

Extending roxygen2

roxygen2 5.0.1

roxygen2 5.0.0

New features

Minor features and bug fixes

Internal changes

roxygen2 4.1.1

roxygen2 4.1.0

roxygen2 4.0.2

roxygen2 4.0.1

roxygen2 4.0.0

Roxygen2 4.0.0 is a major update to roxygen2 that makes provides enhanced error handling and considerably safer default behaviour. Now, roxygen2 will never overwrite a file that it did not create. This means that before you run it for the first time, you’ll need to run roxygen2::upgradeRoxygen(). That will flag all existing files as being created by roxygen2.

New features

Improved error handling

Bug fixes and minor improvements

roxygen2 3.1.0

Documentation for reference classes

It’s now possible to document reference classes, using the “docstring” convention described in ?setRefClass. If you want to provide a short paragraph description of what a method does, make the first component of the message a string containing the description, e.g.:

setRefClass("A", methods = list(
  f = function(a, b) {
    "Take numbers \code{a} and \code{b} and add them together"
    a + b
  }
))

Unlike the documentation for R functions, the documentation for methods can be quite succinct.

Roxygen adopts the convention that documented methods are public, and will be listed in the man page for the object. Undocumented methods are private and will not be shown in the documentation. The methods for all superclasses are also listed, so that you don’t need to flip through multiple pages of documentation to understand what you can do with an object. All documented methods will be placed in a bulleted list in a section titled “Methods”, the method usage will be automatically prepended to the docstring.

Minor fixes and improvements

roxygen2 3.0.0

Roxygen2 now fully supports S4 and RC (reference classes) - you should no longer need to manually add @alias or @usage tags for S4 classes, methods and generics, or for RC classes.

S3 support has also been improved: roxygen2 now figures out whether a function is a S3 method or generic. (In the rare cases it does so incorrectly, use @method to manually describe the generic and class associated with a method). This means you can remove existing uses of @method, and can replace @S3method with @export.

Roxygen now has support for package specific options through the Roxygen field in the DESCRIPTION. The value of the field should be R code that results in a list. Currently only wrap and roclet values are supported:

Roxygen 3.0 also includes a number of minor fixes and improvements:

roxygen2 2.2.2

roxygen2 2.2.1

roxygen2 2.2

New features

Bug fixes

roxygen2 2.1

New features

Bug fixes

roxygen2 2.0

Major changes

Minor changes

New tags