Skip to content

Store migration guides in the repository#867

Merged
Jondolf merged 8 commits into
mainfrom
migration-guides
Oct 18, 2025
Merged

Store migration guides in the repository#867
Jondolf merged 8 commits into
mainfrom
migration-guides

Conversation

@Jondolf

@Jondolf Jondolf commented Oct 18, 2025

Copy link
Copy Markdown
Member

Objective

Closes #742.

Until now, we have had the following process:

  • Each PR that has a breaking change is marked with C-Breaking-Change, and gets a ## Migration Guide section
  • At the end of the release cycle, I manually gather all the migration guides into one document, fix any inconsistencies, polish the content and language, and put it all under the GitHub release (ex: 0.4).

While this has worked decently well, it has problems:

  • People that use the main branch want to see the list of breaking changes before the release is ready. This is especially important at the end of the cycle when people are migrating to a new Bevy version, and we have not made a release yet.
  • Not having an up-to-date migration guide means that you need to look at PR descriptions, but they can be outdated, as a later PR could have changed things again.
  • Collecting all the migration guides from PRs into one document and turning everything into a cohesive and up-to-date package is manual labor, and frankly not something I want to do at the end of each cycle when I'm already stressed and tired.
  • GitHub releases are not exactly the most discoverable place to find migration guides.

We need an evolving up-to-date migration guide that users on main can use, and that minimizes friction and late-cycle crunch time.

Solution

Move all migration guides into the repository under migration-guides, in files such as 0.3-to-0.4.md. Breaking changes relative to the latest release are stored in e.g. 0.4-to-main.md instead of PR descriptions. The new process is described in migration-guides/README.md, which has been adapted from Bevy's version.

A core difference to Bevy's approach is that we store the whole guide in one file, instead of splitting it into a number of files based on topic. This is feasible for us, as our guides aren't quite as massive. Additionally, we store all guides in this one repo, as we don't have a separate website where we would display them (yet).

I have also updated our pull request template to match Bevy's. I almost never used the Changelog section in the old one.

@Jondolf Jondolf added the A-Meta Relates to Avian and its maintenance as a project label Oct 18, 2025
@Jondolf

Jondolf commented Oct 18, 2025

Copy link
Copy Markdown
Member Author

I also transferred Avian under the new https://github.com/avianphysics organization, so I updated the links to point to that :)

@Jondolf Jondolf merged commit 60ef5cf into main Oct 18, 2025
6 checks passed
@Jondolf Jondolf deleted the migration-guides branch October 18, 2025 20:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-Meta Relates to Avian and its maintenance as a project

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Have a changelog

1 participant