Saturday, March 21, 2015

Version 0.5.0 Release Notes

Yay, after a few months of work, version 0.5.0 has been released and pushed to Maven Central!

This release contains some new features, most noteworthy:

And as always bug fixes, more JavaDoc, minor improvements, micro optimizations etc.

A more comprehensive list can be found in the changelog.

Special thanks goes to Markus Karg, who has provided many good ideas and test results, issued bugs and suggested improvements!

What’s next?

Moving to Java 8

0.5.0 will be the last release for Java 7, future releases will be for Java 8.

The reasons behind this decision are:
  • Java 8 offers so much cool new stuff, which is worth exploring and probably helps improving the API in a sustainable way. I am thinking especially about the Stream API, java.time and java.util.function packages and the new Async API.
  • As of now, this library is developed and tested with Java 8 only, which makes maintaining Java 7 compatibility a burden.

New Features

I only want to give a vague preview here, but my plans for new features are currently to implement XEP-0198: Stream Management and finally finish XEP-0301: In-Band Real Time Text.

Happy coding!

6 comments:

  1. Is it possible to somehow run this library for Android? I tired to use SMACK, and your solution looks very tasty)

    ReplyDelete
    Replies
    1. Unfortunately no I guess. I have no experience with Android development, but JAXB doesn't run (easily) on Android as far as I know.

      Delete
  2. hey,
    If there anyhow to get the RID from a bosh connection? Or at least can you provide some information about building the library from the source ?.

    ReplyDelete
    Replies
    1. Hi,
      try this:

      1. create your XmppSession with a BoshConnectionConfiguration.
      2. connect and login.
      3. String rid = ((BoshConnection)xmppSession.getActiveConnection()).detach();
      4. Before detach() you can get the sid with getSessionId().

      Please provide feedback, if it really works for you, maybe with a working code snippet, so that I can include it in the documentation.

      Build instructions are found here:
      http://sco0ter.bitbucket.org/babbler/buildinstructions.html

      Delete
    2. Hi,
      It has really worked. Thank you !
      here is my code :

      BoshConnectionConfiguration boshConfiguration = BoshConnectionConfiguration.builder()
      .hostname("hostname")
      .port(5280)
      .file("/http-bind")
      .build();
      XmppSession xmppSession = new XmppSession("Domain", boshConfiguration);

      try {
      xmppSession.connect();

      xmppSession.login("username", "password");

      sid=((BoshConnection)xmppSession.getActiveConnection()).getSessionId();

      rid=((BoshConnection)xmppSession.getActiveConnection()).detach();

      } catch (AuthenticationException e) {

      //Do your catch

      }catch (XmppException e) {

      // Do your catch
      }


      PS: I used Strophe.js for attaching the session.

      Delete
    3. Yes, that's how it should work. Btw.: detach() stops long-polling the session (and incrementing the RID), but does not terminate it, so that you can take the session over to strophe.js.

      Will write a short documentation about it.

      Delete