During the last weeks there were still a lot of movement and changes in the API and package structure, but big changes have calmed down lately, so that I decided to publish a first beta release 0.1.0.
I want to use Semantic Versioning for this library, hence a 0.1.0 release "is for initial development. Anything may change at any time. The public API should not be considered stable."
Babbler meanwhile supports a lot of extensions. I consider most of them quite stable, also some of them (like XEP-0060 Publish-Subscribe) need more work and improvement.
The meanwhile more than 600 units tests ensure software quality.
I've also put some work into implementing SCRAM-SHA-1 authentication, which isn't available out of the box in Java, but is required by XMPP (interoperability tests against server implementations must still be done).
What's next?
Besides for the omnipresent need for good documentation, I am planning to implement XEP-0045: Multi-User Chat and maybe XEP-0301: In-Band Real Time Text as next (big) extensions for the future, while also keep working on PubSub/PEP and refining some other areas.
One thing I've also thought about is, that one could split the project up into different libraries, because all the plain simple "XML Schema implementations" or e.g. the JID implementation could also be reused by a server implementation. But that's also something which can be considered in the future.
If you have any suggestions or ideas for improvement, let me know, they are highly appreciated!
This is really cool!
ReplyDeleteThanks :-)
DeleteThis looks nice, browsed the code from bitbucket. When are you guys doing a new release? I am asking this cause I have a modified local version which includes a detach function for acquiring the SID/RID for integration with converse.js. Also I am wondering if there movement towards pushing a version into the mvn repo I will use this stuff in my projects.
ReplyDeleteIs there any mailing list / forum you hang out?
Thanks for your interest! Actually I was planning to do a 0.2.0 release within the next few weeks. The announced MUC implementation is pretty much complete.
DeleteI have some ongoing discussion with somebody how to best approach XEP-0174: Serverless Messaging, which might change some basic structure concerning the current XmppSession approach (which is only for client-to-server communication). It'd be nice have that at least considered before a release, so that the API don't need to change much.
There are probably still a lot of bugs, but feature-wise it's time for 0.2.0 ;-)
I don't plan to push anything to maven repo unless the library is more stable. Especially from the API point of view. There are always many ways to do it.
I'd be happy to hear your opinion on the API or general concept/design. I've just recently updated the documentation: http://sco0ter.bitbucket.org/babbler/
Maybe you like to comment about something, especially the MUC extension, since it's quite large.