Migration Guide between API versions?

Absolutely would appreciate all the help we can. To be frank, the primary reasons why back porting bug fixes between API 7 -> API 5 implementations is the massive structural changes that went into the implementation between all major versions since API 5.

While API 5 did not quite have the used to be called CauseTracker PhaseTracker exposed to plugin developers, API 7 introduced the CauseStackManager which was paired with almost a full rewrite of what is now called the PhaseTracker. Along with these changes, as they power virtually all main-threaded events being called and tracked, we did not have the chance to back port any of the more recent changes, especially as some changes are based on code that has been drastically changed structurally and would be more time consuming to re-verify if the bug was even there to begin with.

This does not go to say that it’s possible for someone to write some PR’s to port some more recent bug fixes that could be ported to the older implementation, I’d accept them, but I professionally would not stand by the legacy unsupported builds.

That being said, we did introduce test plugins in development with API 7 implementation testing so that API changes that do affect certain API parts can be “seen” as “how to upgrade”. As there are several plugins, some use some basic features and others can use some more advanced features.

I’d be very much appreciative for any work you put forward to the Sponge project, as it’s progress is always driven by the community. Pinging @Inscrutable to provide the options and maybe docs branch for such documentation planning?