Sponge branching structure after API 5.0 release

Since the release of SpongeAPI 5.0.0, the branching structure in the various Sponge projects seems to have been changed up quite a bit, and I have a few questions about it:

  • bleeding is still for the future API 6.0, but there are already quite a few non-breaking changes in it. Why aren’t they in master?
  • There’s a new stable-5.1.0 (SpongeAPI) / stable-5 (SpongeCommon, SpongeForge, SpongeVanilla) branch, and master no longer exists. Is this the new place for non-breaking changes?
1 Like

@blood you might be able to shed some light on this?

Its still bleeding because changing that again would be ridiculous and it still is the ‘bleeding edge’ changes with no guaranteed stability. Master has certain connotations of stability in my opinion.

Stable-5[.1.0] is indeed the correct place for non-breaking changes however its better for any PRs to be made against bleeding and we will cherry-pick changes to the stable branch when it’s been proved that they are indeed stable.

Makes sense for new features, but what about bug fixes? Would those go on stable or bleeding?

I assume it’d be the same - first on bleeding to ensure it doesn’t cause issues, then to stable if there’s no glaring. Of course integrating to a different branch could cause teething issues, but I imagine trying it in bleeding would solve most issues.