Originally Posted by Maul
It is most likely still in alpha because the framework is not stable enough to develop modules. It would not be nice to start developing a module for an unstable framework to only find out later that the fix for being unstable means you have to re-write the module.
|
This is mostly correct.
There have been a few cases so far where I've had to adjust the API and it would break things in the process. My primary objective is that once beta is released, only backwards-compatible changes to the API will be necessary. The primary reason for this is that when a module causes a VM error (note the difference between the Exception and Error classes in the Java documentation) such as NoSuchMethodError, it can potentially break the auto-updating portion of the client, leaving the user in a pretty bad position. (In a best-case scenario this just means losing the configuration of the program. In a worst-case scenario, it means having to reinstall. I don't find either of those options to be acceptable.)
Once we're in beta, the API will be finalized. Any changes I make to it will be backwards compatible so that old modules can still be supported. I will think about releasing the API ahead of time but I want to make very clear that if I do in fact do this, then at least until beta is released, everything is subject to change significantly.