How do I add a Changelog or NEWS file to my R package? How do I add a Changelog or NEWS file to my R package? r r

How do I add a Changelog or NEWS file to my R package?


You can either provide a NEWS file or a ChangeLog file, or both, to describe changes in your package. You have to add these files in the top level folder of your project, i.e. in the same folder as your DESCRIPTION and NAMESPACE.

This is documented in the R package manual in paragraph 1.1 Package structure. In particular, this paragraph points to the GNU standard:

For the conventions for files NEWS and ChangeLog in the GNU project see http://www.gnu.org/prep/standards/standards.html#Documentation.


Hadley points out that "Generally you should use a NEWS file, and not ChangeLog. I think the purpose of ChangeLog (to list every change), has been subsumed by source code control".


To create a NEWS file, simply create a text file called NEWS in the top level folder of your package. You maintain this file by hand.

Here is an extract from the NEWS file from my package miniCRAN (CRAN link):

miniCRAN v0.0-21 (Release date: 2014-08-18)==============Changes:* Changes to defaults in plot.pkgDepGraph() to move legend to left of plot area.miniCRAN v0.0-20 (Release date: 2014-08-18)==============Changes:* Modified examples to reduce running time, mostly using \dontrun{} sections


NEWS.md files are now also supported by CRAN (Which renders them as html) and more recently by the news() function.

https://cran.r-project.org/doc/manuals/r-devel/NEWS.html


If you are following this and opting for NEWS.md then make sure news() reads the same correctly (at the same time it looks great on GitHub).

You can do the same in your local builds of the packages.

It seems like it has a specific format you have to adhere with.

I tried like this (and it works) (check here)

# *News*# tidycells 0.1.9 (2019-07-31)## Initial Submission* **CRAN** Initial Submission# tidycells 0.1.5 (2019-07-30)## Final Codebase Release in GitHub* Final Release in GitHub for **CRAN** Submission* Only Minor Documentation Change after this and before next **CRAN** Submission# tidycells 0.1.0 (2019-07-25)## Initial Release to GitHub* Initial Release to GitHub* Prior to this it was private package