forgejo/docs
32
45
Fork
You've already forked docs
204

Document branch cutting in release management #1548

Open
opened 2025年10月17日 12:13:57 +02:00 by Ryuno-Ki · 9 comments

In forgejo/forgejo#6931 (comment) we learned that there is a feature freeze period (around three weeks before a release) that might prevent PRs from getting merged into a release.

The dates were lost during forgejo/docs@291747bcfb

Is there something preventing us to bring them back? It could avoid frustrations from contributors (again, see the referenced PR).

In https://codeberg.org/forgejo/forgejo/pulls/6931#issuecomment-7771481 we learned that there is a feature freeze period (around three weeks before a release) that might prevent PRs from getting merged into a release. The dates were lost during https://codeberg.org/forgejo/docs/commit/291747bcfb8fc6453af33766f7acb46be13d9f03 Is there something preventing us to bring them back? It could avoid frustrations from contributors (again, see the referenced PR).
Member
Copy link

Feature freeze is when the branch is cut: https://forgejo.org/docs/latest/admin/release-schedule/

Feature freeze is when the branch is cut: https://forgejo.org/docs/latest/admin/release-schedule/
Member
Copy link

Because then PRs need to be backported and backports only happens for bug fixes.

Because then PRs need to be backported and backports only happens for bug fixes.
Contributor
Copy link

There is no feature freeze. Around the dates branch is cut, features can still be merged and backported. The members of the merger team evaluate the risk of doing so since merging a new feature close to the release date is increasingly risky as time passes. Although cutting the branch usually happens three weeks before the release but it is not a set requirement not should it be: there is no benefit in doing that and flexibility helps members of the release team organize their schedule.

The pull request you refer to should have been in v13.0.0 but it was forgotten by everyone it seems, including me. This is an accident independent of when the branch is cut.

There is no feature freeze. Around the dates branch is cut, features can still be merged and backported. The members of the merger team evaluate the risk of doing so since merging a new feature close to the release date is increasingly risky as time passes. Although cutting the branch usually happens three weeks before the release but it is not a set requirement not should it be: there is no benefit in doing that and flexibility helps members of the release team organize their schedule. The pull request you refer to should have been in v13.0.0 but it was forgotten by everyone it seems, including me. This is an accident independent of when the branch is cut.

The fact that several people regularly involved with the project all had different information about this suggests that there definitely should be something added to the docs. The release schedule indicates that branches are being cut, but neither it, nor Release Management explain it.

@earl-warren wrote in #1548 (comment):

cutting the branch usually happens three weeks before the release but it is not a set requirement not should it be

The fixed date in the release schedule would be contrary to that, so it should probably be removed then.

The fact that several people regularly involved with the project all had different information about this suggests that there definitely should be _something_ added to the docs. The release schedule indicates that branches are being cut, but neither it, nor [Release Management](https://forgejo.org/docs/latest/contributor/release/) explain it. @earl-warren wrote in https://codeberg.org/forgejo/docs/issues/1548#issuecomment-7773485: > cutting the branch usually happens three weeks before the release but it is not a set requirement not should it be The fixed date in the release schedule would be contrary to that, so it should probably be removed then.
sclu1034 changed title from (削除) Document feature freeze times (削除ここまで) to Document branch cutting in release management 2025年10月17日 14:57:18 +02:00

We could document guidelines around backporting into a release branch, to help clarify. This was discussed in Matrix recently and @0ko wrote out this outline for determining whether to backport:

  • it is a feature or changes database
    • cannot backport to stable release (i.e. for v13.0.1 after v13.0.0 is out)
    • technically cannot backport to prerelease after branch cut because feature freeze, but if you really want then maybe you can (i.e. for v13.0.0 right now)
  • it is a fix to a regression introduced in this major version, before the release
    • really need to backport, doesn't matter how
  • it is a fix to a regression of this major version after the release
    • kind of need to backport but depends on the regression, mostly yes
  • it is a fix for some old bug
    • depends on: fix blast radius, how good testing is, how many users are affected. some can be backported, some can wait until next major version

This is excerpted directly from Matrix, off the cuff, and would need a round of refinement. In particular I think the phrase "feature freeze" reintroduces complexity, where the intent is probably better described as "after the release branch is cut, it's a time for stabilization and testing; the volume and size of changes should be judged cautiously to match this goal".

We could document guidelines around backporting into a release branch, to help clarify. This was discussed in Matrix recently and @0ko wrote out this outline for determining whether to backport: - it is a feature or changes database - cannot backport to stable release (i.e. for v13.0.1 after v13.0.0 is out) - technically cannot backport to prerelease after branch cut because feature freeze, but if you really want then maybe you can (i.e. for v13.0.0 right now) - it is a fix to a regression introduced in this major version, before the release - really need to backport, doesn't matter how - it is a fix to a regression of this major version after the release - kind of need to backport but depends on the regression, mostly yes - it is a fix for some old bug - depends on: fix blast radius, how good testing is, how many users are affected. some can be backported, some can wait until next major version This is excerpted directly from Matrix, off the cuff, and would need a round of refinement. In particular I think the phrase "feature freeze" reintroduces complexity, where the intent is probably better described as "after the release branch is cut, it's a time for stabilization and testing; the volume and size of changes should be judged cautiously to match this goal".
Contributor
Copy link

I respectfully think this is an attempt to fix a non existent problem. Yes, every member of the mergers and release team has a different view on the matter. The effort to create a process, rules and the friction of enforcing them would be very counter productive.

I think it is fine if each member of the release / mergers team share their own thought process in the way @mfenniak just did and maybe add them to the documentation for information. Creating rules combining their respective views into a handbook that needs to be obeyed is quite different.

I respectfully think this is an attempt to fix a non existent problem. Yes, every member of the mergers and release team has a different view on the matter. The effort to create a process, rules and the friction of enforcing them would be very counter productive. I think it is fine if each member of the release / mergers team share their own thought process in the way @mfenniak just did and maybe add them to the documentation for information. Creating rules combining their respective views into a handbook that needs to be obeyed is quite different.

I think that's fair. So the PR in question was marked for auto-merge and nothing happened -- do we have an open issue for that problem? Fixing a technical problem is easy (relatively). 🙂

I think that's fair. So the PR in question was marked for auto-merge and nothing happened -- do we have an open issue for that problem? Fixing a technical problem is easy (relatively). 🙂
Contributor
Copy link

@sclu1034 wrote in #1548 (comment):

@earl-warren wrote in #1548 (comment):

cutting the branch usually happens three weeks before the release but it is not a set requirement not should it be

The fixed date in the release schedule would be contrary to that, so it should probably be removed then.

It is needed and was added so people are not surprised. That happened before it was added. There needs to be clarity that in theory it will happen at that date.

Now the practical impact of this branch cut happening a few days before or a few days later is non existent. The worst that can happen is that a few more pull request will need to be backported. Literally nothing else.

Does it happen 24h before a feature is merged? It is not a problem, if the merger thinks the feature is solid and ready, they can backport it. There is no hard consequence of "missing the cut date" and there never was.

@sclu1034 wrote in https://codeberg.org/forgejo/docs/issues/1548#issuecomment-7774109: > @earl-warren wrote in #1548 (comment): > > > cutting the branch usually happens three weeks before the release but it is not a set requirement not should it be > > The fixed date in the release schedule would be contrary to that, so it should probably be removed then. It is needed and was added so people are not surprised. That happened before it was added. There needs to be clarity that in theory it will happen at that date. Now the practical impact of this branch cut happening a few days before or a few days later is non existent. The worst that can happen is that a few more pull request will need to be backported. Literally nothing else. Does it happen 24h before a feature is merged? It is not a problem, if the merger thinks the feature is solid and ready, they can backport it. There is no hard consequence of "missing the cut date" and there never was.
Contributor
Copy link

@mfenniak wrote in #1548 (comment):

I think that's fair. So the PR in question was marked for auto-merge and nothing happened -- do we have an open issue for that problem? Fixing a technical problem is easy (relatively). 🙂

This is an extremely elusive problem for which there is no reproducer at this time. I don't recall seeing it happen anywhere but on Codeberg but maybe I mental blocked it. There was a fix for one cause that made it rather frequent but it was evidently not all of it (I don't recall the pull request but I can dig it up if you don't find it).

@mfenniak wrote in https://codeberg.org/forgejo/docs/issues/1548#issuecomment-7774661: > I think that's fair. So the PR in question was marked for auto-merge and nothing happened -- do we have an open issue for that problem? Fixing a technical problem is easy (relatively). :slightly_smiling_face: This is an extremely elusive problem for which there is no reproducer at this time. I don't recall seeing it happen anywhere but on Codeberg but maybe I mental blocked it. There was a fix for one cause that made it rather frequent but it was evidently not all of it (I don't recall the pull request but I can dig it up if you don't find it).
Sign in to join this conversation.
No Branch/Tag specified
next
v14.0
cli
v13.0
v11.0
v12.0
bp-v12.0-a6c8557
v7.0
v10.0
v9.0
v8.0
v1.21
v1.20
v1.19
v13.0.0-dev
Labels
Clear labels
404

Broken links or missing content
backport/v1.19

Changes which should be backported to the v1.19 docs

Archived

backport/v1.20

Changes which should be backported to the v1.20 docs

Archived

backport/v1.21

Changes which should be backported to the v1.21 docs

Archived

backport/v10.0

Automated backport to v10.0

Archived

backport/v11.0

Automated backport to v11.0
backport/v12.0

Automated backport to v12.0

Archived

backport/v13.0

Automated backport to v13.0
backport/v14.0

Automated backport to v14.0
backport/v7.0

Automated backport to the v7.0 docs

Archived

backport/v8.0

Automated backport to the v8.0 docs

Archived

backport/v9.0

Automated backport to the v9.0 docs

Archived

good first issue

This issue is suitable for "drive-by contributors" wanting to contribute for the first time, and fixing it should be straightforward.
meta

Tooling and processes for maintaining the docs
new docs

Content to be added to the documentation

Archived

User research - Accessibility

Requires input about accessibility features, likely involves user testing.
User research - Blocked

Do not pick as-is! We are happy if you can help, but please coordinate with ongoing redesign in this area.
User research - Community

Community features, such as discovering other people's work or otherwise feeling welcome on a Forgejo instance.
User research - Config (instance)

Instance-wide configuration, authentication and other admin-only needs.
User research - Errors

How to deal with errors in the application and write helpful error messages.
User research - Filters

How filter and search is being worked with.
User research - Future backlog

The issue might be inspiring for future design work.
User research - Git workflow

AGit, fork-based and new Git workflow, PR creation etc
User research - Labels

Active research about Labels
User research - Moderation

Moderation Featuers for Admins are undergoing active User Research
User research - Needs input

Use this label to let the User Research team know their input is requested.
User research - Notifications/Dashboard

Research on how users should know what to do next.
User research - Rendering

Text rendering, markup languages etc
User research - Repo creation

Active research about the New Repo dialog.
User research - Repo units

The repo sections, disabling them and the "Add more" button.
User research - Security
User research - Settings (in-app)

How to structure in-app settings in the future?
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
5 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo/docs#1548
Reference in a new issue
forgejo/docs
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?