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.
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.
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.
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 firstname.lastname@example.org 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.