NEWS.md
finalize_version()
gains push
argument which pushes the tag and the main branch, this considerably simplifies the workflow. It calls edit_news()
and sends finalize_version(push = TRUE)
to the RStudio or VS Code console.tag_version()
returns name of created tag, invisibly.tag_version(force = FALSE)
re-tags an existing tag if it points to the same commit.bump_version()
gives correct advice if no remote branch exists.bump_version()
and get_top_level_commits()
are more robust at enumerating the commits: traversing the first parent from which since
can be reached, instead of the first parent. This ensures that NEWS are more meaningful and avoids the occasional enumeration of all NEWS items since the beginning.Change log management utility, initial release.
The main entry point is bump_version()
, which does the following:
update_news()
: collects NEWS
entries from top-level commitsupdate_version()
: bump version in DESCRIPTION
, add header to NEWS.md
finalize_version()
: commit DESCRIPTION
and NEWS.md
, create tag with messagecommit_version()
; the user needs to call tag_version()
manuallyIf you haven’t committed since updating NEWS.md
and DESCRIPTION
, you can also edit NEWS.md
and call tag_version()
again. Both the commit and the tag will be updated.
Bumping can be undone with unbump_version()
.
If the DESCRIPTION
has a "Date"
field, it is populated with the current date in update_version()
.
An empty list of changes adds a “Same as previous version” bullet. This allows bumping to a dev version immediately after CRAN release.
Also includes helper functions get_last_tag()
and get_top_level_commits()
.