Support empty commit messages.
is_news_consistent()
detects releases of the kind x.y.z-w.
Work around bug in order()
for package versions.
Use correct version for checking GH release.
Use correct version for checking GH release.
release_after_cran_built_binaries()
works correctly again (#848).
Better entry if PR info could not be extracted.
Support versions of the form x.y.z-w for tagging.
Newsworthy commits are searched along the first parents only, picking up all relevant commits (#847).
Determining the most recent tag now uses the new get_last_version_tag()
and works when the version tag is on a diverged branch (e.g., after squash-merging) (#844).
Consistent protection of hash tag (#836).
Keep empty lines when merging (#834).
plan_release()
pulls the current branch (#831).
Get tagging information from fledgling.
Clear clipboard after successful discovery of CRAN URL.
Check token early for automation (#841).
Refactor (#835).
Install R.
Avoid failure in fledge workflow if no changes (#851).
Fetch tags for fledge workflow to avoid unnecessary NEWS entries (#850).
Use larger retry count for lock-threads workflow (#849).
Ignore errors when removing pkg-config on macOS (#840).
Explicit permissions (#839).
Use styler from main branch (#838).
Need to install R on Ubuntu 24.04 (#837).
Use Ubuntu 24.04 and styler PR (#829).
raw
NEWS (#827).Refactorings and a new test (#825).
Better JSON snapshot (#824).
Keep raw
component up to date, use it for assembling the NEWS (#823).
news
component from news
column in data frame (#820).CRAN PRs are no longer created as draft (#810).
fledge:::release_after_cran_built_binaries()
no longer throws an error if no release exists.
finalize_version()
unconditionally overwrites existing tags (#819).
Pre-releases get a different PR title (#818).
PR must open from the main window (#816).
plan_release()
calls bump_version()
(#814).
Detect contributors for squashed commits (#813).
Mention bump_version(check_default_branch = FALSE)
in error message (#812).
New plan_release()
, replaces init_release()
and pre_release()
(#803).
Support which = "pre-patch"
for bump_version()
and update_version()
(#802).
bump_version()
does not bump if no newsworthy messages are found (#801).
Messages that start with "fledge: "
are no longer considered newsworthy (#800).
Include only relevant info in cran-comments.md
(#799).
Support pre-patch version, new versioning scheme starting at 9900 (#794).
Bump commit messages get a fledge prefix.
Add fledge prefix to CRAN PR (#809).
is_dev_version()
and related (#805).Reduce use of shut_up_fledge()
(#796).
Speed up tests by replacing gert::git_add()
with a system call (#793).
Split slow test.
Install local package for pkgdown builds.
Improve support for protected branches, without fledge.
Try pushing head first.
Try pushing head first, fail with branch protection.
bump_version(check_default_branch = TRUE)
.Auto-update from GitHub Actions.
Run: https://github.com/cynkra/fledge/actions/runs/10425483871
Auto-update from GitHub Actions.
Run: https://github.com/cynkra/fledge/actions/runs/9727971994
Auto-update from GitHub Actions.
Run: https://github.com/cynkra/fledge/actions/runs/9691617690
Avoid checking bashisms on Windows.
Remove netlify workflow.
Remove special branch.
Bump versions, better default, consume custom matrix.
Recent updates.
Set BS version explicitly for now.
https://github.com/cynkra/cynkratemplate/issues/53
repo
argument (#761).create_github_release()
removes the header from the NEWS entry.post_release()
no longer checks if on release branch (#750).news_path()
(#751).Allow bumping straight from released version (#747).
post_release()
is independent from release branch (#748).
init_release()
, to be called before pre_release()
(#686).Automatically merge news from dev versions before release (#744).
More extensive preflight checks in post_release()
, reduce output in quiet mode (#740).
Extract error from first submission step, fix CRAN submission (#738).
Check if release exists before creating (#731).
Add version
and ref
arguments to create_release_branch()
, fix create_release_branch(force = TRUE)
(#734).
no_change()
and other functions gain ref argument (#733).
Pretty check_only_modified()
(#705).
Clean up, simplify tests (#716).
Add a function to help run the tests without losing one's current dir (#715).
Ask fledgeling for version.
Bad merge conflict resolution from v0.1.1.
Indent multiline NEWS items.
More skip_if_offline() calls.
Type stability of fledgeling object.
Prefer local_options(repos = NULL)
over skip_if_offline()
.
Test order.
post_release()
works if the release branch doesn't change files in the main branch.bump_version()
only works in interactive sessions or if NEWS.md
has a preamble (or both) (#638).Snapshot updates for rcc-smoke (null) (#660).
Snapshot updates for rcc-smoke (null) (#647).
Fix snapshots after updates of upstream dependencies (#657).
Do not write "Same as previous version" as first thing in a brand-new changelog (#655).
New internal release_after_cran_built_binaries()
to support automated CRAN release from GHA (#651).
pre_release()
.Work around unexplicable behavior in demo tests.
Remove push trigger in fledge.yaml
, seems broken.
bump_version()
keeps updating Date
field if it exists in DESCRIPTION
.
post_release()
pulls the main branch before merging (#525).Closes #525.
New mode of operation "samedev"
, for #147.
update_news()
gains which argument, deprecate update_version()
(#607).
Move packages from Imports to Suggests.
Add extra snapshot.
Clean up snapshots.
usethis::use_lifecycle()
.
Prepare roundtrip via fledgeling (#606).
Move foghorn and rversions to Suggests (#605).
Run fledge workflow only on main branch (#597).
write_fledgling()
to write NEWS.md
(#588).Harmonize yaml formatting
Revert changes to matrix section
bump_version()
returns TRUE
if a new version has been createdAdjust empty lines and space in update_news() (#357)
Add PR number to CC messages (#353).
Fix conventional commit regex (#329)
Add which "pre-minor" and "pre-major" to update_version() (#413, #412).
Extract contributor name from PR merge message (@krlmlr, #358)
Harvest PR title from merge commit messages (@krlmlr, @maelle, #343)
Improve parsing of conventional commit messages (#332).
Improve bump_version() behavior in the absence of changes (@krlmlr, @maelle, #323)
New local_test_project()
(#318)
Extract conventional commit messages for the changelog (#314).
Turn Netlify builds off for now (#326).
Enable auto-style on GitHub Actions (#317).
Remove testthat specialization for snapshots (#309).
Add README section on related tools (#527).
Update summary of how fledge uses commit messages (#499, #511).
Fix typo in README (#501)
Create and open draft release directly, without using usethis::use_github_release()
.
Create tag as part of release()
.
Fix post_release()
, still need to tag released version.
release()
no longer asks for confirmation.devtools::submit_cran()
minus the confirmation messages.pre_release()
, release()
and post_release()
for semi-automatic CRAN releases (#27, #28).Change log management utility, initial release.
The main entry point is bump_version()
, which does the following:
DESCRIPTION
and NEWS.md
are clean before bumping, and that the current branch is the main branch.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()
.
Likewise, if NEWS.md
contains dates in the headers, new versions also get a date.
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()
.
Includes vignettes: "Get started", "Using fledge", and "Fledge internals".
Examples and tests are supported with a demo project, created via with_demo_project()
.
Thanks Patrick Schratz and Maëlle Salmon for your contributions!