Will break support with many plugins, but we have to do that at some point!
Can we at least keep NewAPI's name in 5.3 and mark it as deprecated? Along with the new name so devs can make the switch
Sure ;)
I'd recommend to name any new APIs with a version number, for example ApiV2 or give it it's own package like api.v2.Api. That wouldn't require the need to rename it again any time in the future ;)
This might even be a good option for renaming the current new API to.
@ljacqu @timvisee
@sgdc3 Thanks for doing this, left some individual comments.
I don't expect we'll change much to the v3 API in 5.3, so I would suggest to make NewAPI extend from v3.AuthMeAPI:
public class NewAPI extends AuthMeAPI {
// we get all the static methods like this!
// Only need to keep the "getInstance" method
}
As i've said on discord, we'll push a 5.2.1 Release with this breaking change on api, to allow dev make the transition before we release a 5.3 ;)
Why not just release the current state as 5.3 soon?
Edit: @Xephi The thing is we're not in a rush to remove the NewAPI class, I'd rather support old code for a while longer than produce breaking changes all over the place.
I don't expect we'll change much to the v3 API in 5.3, so I would suggest to make NewAPI extend from v3.AuthMeAPI:
public class NewAPI extends AuthMeAPI {
// we get all the static methods like this!
// Only need to keep the "getInstance" method
}
How to handle the constructor? @ljacqu
@sgdc3 Aye, good point, the v3 API constructor would have to be public for it to work... OK, fine to keep both classes as they are in my opinion.
Ok! I think we can close now ;)