Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions entries/2026-10-03-ferrflow-latest-tag-hotfix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
title: 'FerrFlow: a hotfix no longer moves the latest alias backward'
summary: 'With latestTag set, releasing 1.2.4 after 2.0.0 pointed latest at 1.2.4. latest now stays on the highest version; the hotfix release still goes through, and --force moves the alias back if you want it to.'
date: 2026-10-03T12:15:00Z
product: ferrflow
type: fix
prLink: https://github.com/FerrLabs/FerrFlow/pull/1262
docsLink: https://ferrflow.com/docs/configuration/config-file/
---

The `latestTag` alias followed whichever stable release ran last, so cutting a hotfix on a maintenance line pointed `latest` at an older version than the one most people should install. It now behaves like the floating `v1` and `v1.5` tags and never moves to a lower version on its own.

Unlike those tags, a backward `latest` does not stop the release: shipping a hotfix on an older line is a normal thing to do, so the release completes, `latest` stays put, and the output says `Kept latest on 2.0.0: 1.2.4 is older`. If you relied on `latest` meaning "most recently released", pass `--force` to that release and the alias moves back as before, with a warning.
12 changes: 12 additions & 0 deletions entries/2026-10-03-ferrflow-pr-lookup-branch-encoding.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: 'FerrFlow: release PRs are found again on branches with special characters'
summary: 'A target branch containing &, # or + broke the lookup for the existing release PR on GitHub and GitLab, so FerrFlow opened a second one. A failed branch update on GitHub also reported the wrong error.'
date: 2026-10-03T12:00:00Z
product: ferrflow
type: fix
prLink: https://github.com/FerrLabs/FerrFlow/pull/1261
---

With `releaseCommitMode: "pr"`, FerrFlow looks for an open release PR before proposing a new one. The branch name went into that query unencoded, so a branch such as `release/a+b` sent a different name to the API, the existing PR was not found, and a duplicate was opened. Branch names are now percent-encoded on both GitHub and GitLab.

On GitHub, moving the release branch fell back to creating it after any failure, so an expired token showed up as a confusing "create ref" error. FerrFlow now only creates the branch when GitHub says it does not exist, and otherwise reports the real failure under E3015.
12 changes: 12 additions & 0 deletions entries/2026-10-03-ferrflow-preview-backtick.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: 'FerrFlow: a backtick in a version no longer breaks the PR preview table'
summary: 'The release preview comment wrapped versions in a code span that a backtick could close early, scrambling the table. Version cells now use a fence long enough for whatever they contain.'
date: 2026-10-03T12:05:00Z
product: ferrflow
type: fix
prLink: https://github.com/FerrLabs/FerrFlow/pull/1260
---

`ferrflow check --comment` posts a table of current and next versions on the pull request. Each version sat in a single-backtick code span, and the backslash used to escape a backtick inside it is ignored by Markdown, so a version containing a backtick closed the span and broke the row.

Version cells are now fenced with one more backtick than the longest run in the value, as CommonMark specifies, so the table renders the version exactly as written.
10 changes: 10 additions & 0 deletions entries/2026-10-03-ferrflow-why-doctor-wording.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: 'FerrFlow: clearer wording in why and doctor'
summary: 'ferrflow why no longer prints "forced bump forced", and ferrflow doctor shows a declared strategy with its config spelling, such as calver-short instead of calvershort.'
date: 2026-10-03T12:10:00Z
product: ferrflow
type: fix
prLink: https://github.com/FerrLabs/FerrFlow/pull/1259
---

Two diagnostics printed text that did not match what you wrote. `ferrflow why` described a version pinned with `--force-version` as `Decision: forced bump forced`; it now reads `forced bump set with --force-version`. `ferrflow doctor` showed a declared versioning strategy with its hyphens dropped, so `calver-short` appeared as `calvershort`, a value the config would reject. It now prints the name exactly as you would write it in `ferrflow.json`.
Loading