-
Type:
Bug
-
Resolution: Won't Fix
-
Priority:
Major
-
None
-
Affects Version/s: None
Since the release of Spigot-1.11, there have been at least two changes to the Bukkit API that completely broke existing code that used it, and which happened without any kind of version bump or deprecation notice.
The changes I'm talking about were made to the constructors of the BrewEvent and PrepareItemEnchantEvent classes.
A similar change was also made to a CraftBukkit class, CraftInventoryAnvil.
This has now three times lead to the situation that I updated a plugin of mine, only to find that by the time people downloaded it, Spigot had changed underneath it and my plugin was crashing again.
Is this the way it should be?
As far as I'm aware, back in the Bukkit days compatibility-breaking CraftBukkit changes would always come with a package version bump (I understand that CraftBukkit is not meant to be stable, but still, that's exactly what the package version is for, isn't it?), and compatibility-breaking Bukkit API changes would only happen after the features in question had been marked as deprecated for quite some time.
It seems to me that Spigot continued this up until and including version 1.10.
So I'm asking: Is there an official policy on how to handle compatibility-breaking changes in Bukkit and CraftBukkit code? And if so, do the changes I mentioned comply with it? If not, could you please fix that, e.g. by adding back legacy constructors with the old signature?
Thanks.