Bump API to 3.0.0

This may raise a few eyebrows.

Does this mean that all the things that were planned for API 3.0.0 are done?
Not at all. The plans laid out in December 2016 for API 3.0.0 were far too ambitious, and as a result the ALPHA series dragged out forever (18 months now). This is a break away from those plans, to bring development and release flow back to some sort of sanity.

Does this mean that my plugins will stop breaking all the time now?
No, it does not! Development isn't going to stop, although breaking changes will be confined only to major API releases. It's anticipated that the major API version will be bumped as nearly as often as the ALPHA version was during the last 18 months. The reason for this return to 3.0.0 is to allow us to fine-tune our release flow so that plugin developers can get advantage of newer, non-breaking API features without having to bump the API in a breaking way.

What are the criteria for the API versions now?
- Major: This will be bumped for breaking changes, changes which will break plugins. it's expected that we'll roll out new major versions regularly.
- Minor: This will be bumped when non-breaking feature additions are made, such that API 3.0.0 plugins would still load on 3.1.0. However, plugins requiring 3.1.0 will not run on 3.0.0.
- Patch: This will be bumped for bugfix updates. Plugins requiring 3.0.0 will work on 3.0.1, but not vice versa.

TL;DR: This insanity has gone on far too long.
This commit is contained in:
Dylan K. Taylor 2018-06-12 10:39:49 +01:00
parent 5a55d434ab
commit c3c360f589
3 changed files with 3 additions and 3 deletions

View File

@ -80,7 +80,7 @@ namespace pocketmine {
const NAME = "PocketMine-MP";
const VERSION = "1.7dev";
const API_VERSION = "3.0.0-ALPHA12";
const API_VERSION = "3.0.0";
const CODENAME = "[REDACTED]";
const MIN_PHP_VERSION = "7.2.0";

@ -1 +1 @@
Subproject commit eb1af563827fc748bbad8286c6c5796b7501848f
Subproject commit 19fcbf0f9751b4d9d27cdfb007e0fb2bbf3acd04

@ -1 +1 @@
Subproject commit 7d09625c97e645a40a0215db1c04deec10c594a2
Subproject commit 5fd76d57187baa0e80325f268ec2fd3ead405ce2