GraniteDS 3.0.0.RC1 is out

Granite Data Services 3.0.0.M3 is out and available for download here. Maven artifacts are also available from the Maven central repository here.

What's New?

The most visible change in this release is the new build process which is now entirely based on Gradle: instead of several Git repositories (one for each module), you will now find everything under a single repository called graniteds. The documentation is now based on Asciidoctor, a much lighter solution than our previous docbook generation.

This heavy lifting of our build tools was long needed and should help us to bring more frequent releases. It will also make much easier to contribute to the project, either code or docs by simple pull requests in github.

On the technical features side, here are some highlights:

  • UDP support for real-time messaging (Flex, Java, JavaFX, Android).
  • Incremental serialization (aka ChangeSets), which only transmits a set of modified properties instead of complete object graphs (Flex only for now).
  • The Tide ServerSession API, previously only available on Java/JavaFX clients has been ported to Flex and allows Flex/Tide clients to connect to multiple servers.
  • The JMF protocol can now be used with WebSockets for very compact and fast serialization of messages (Java/JavaFX only).
  • You can serialize AS3 Vectors from the server with the help of specific annotations (Flex only).

Of course, many other bug fixes and improvements are also packaged in this release and you can find the complete list here on Jira.

What's Next?

3.0.0.GA

We plan to release the final 3.0.0 version at early/mid November. The APIs are now final and we won’t add any new feature, but focus only on bug fixes, documentation, examples and tutorials. You are thus invited to use the RC1 as soon as possible and report quickly anything that looks like a bug.

3.1.0

The next major release will introduce at least these new features or improvements:

  • WebSocket 1.0 (JSR 356) client and server support for Java/JavaFX.
  • Incremental serialization (ChangeSets) for Java/JavaFX clients.
  • Improved Android support with data binding.
  • JSON support for HTML/JavaScript clients.

Licensing

You can refer to the previous post for the release announcement of 3.0.0.M3 for the new licensing of the different modules. To summarize, all server and basic libraries are now released under the LGPL 2.1 (previously LGPL 2.0), and all advanced client libraries and UDP client and server integration are released under a dual GPL 3.0 / commercial license.

All current users of GraniteDS can send a request at sales@graniteds.net for a free one year ‘early bird license’ for all these libraries until the final 3.0.0.GA release.

Migrating from GraniteDS 3.0.0.M3 to 3.0.0.RC1

There have been once again some changes in the client APIs which will require some changes in your code.

Be sure to check our posts about “Migrating from GraniteDS 3.0.0.M3 to 3.0.0.RC1 (Flex)” and “Migrating from GraniteDS 3.0.0.M3 to 3.0.0.RC1 (JavaFX)”.

Comments are welcome,

The GraniteDS Team.

Author: Franck

This post has 4 Comments

  1. Roman Malko on October 16, 2013 at 7:35 pm Reply

    Congratulation! I made great work!

    I already migrate to graniteds-flex.RC1, but in maven repo there is still M3 artifact for java.

    Please tell me, when RC1 will be present in maven repo?

    Thank you.

    • William on October 17, 2013 at 1:34 pm Reply

      Hi Roman,

      The server jars have changed name, they are now named granite-server-xxx.jar instead of granite-xxx.jar.
      We are going to post shortly a new blog entry to clarify a bit better the new structure (gradle build, doc, maven repo…).

  2. Roman Malko on October 17, 2013 at 8:16 am Reply

    Please change “I” to “You” in my second sentence above.

    Thank you.

  3. Georg F. on October 22, 2013 at 2:07 am Reply

    Hi,

    good job on the new version.

    Am I right in assuming that the ChangeSets are available on Client (Flex) to Server communication only (and not the other way round)?

    Is this planned?

    And is it also planned to add the externalizable interface for the flex messages (CommandMessage, AcknowledgeMessage etc.)?

    Thanks for your hard work.

    Georg

Leave a Comment