The ModeShape community is proud to announce the immediately availability of our latest stable release, ModeShape 4.0.0.Final. The JARs and other artifacts are available in the JBoss Maven repository and in our downloads area, and will be soon in Maven Central. See our Getting Started guide for details.
Thanks to our whole community for the work that’s gone into this release!
This major release contains new features and lots of fixes. Here’s a rundown of the most important features and changes in 4.0:
- JDK 7 – ModeShape 4.0 requires JDK 7. We’ve not yet begun testing with Java 8, but we’d be happy to hear about it if you do.
- Queries – The new query engine is more capable than in 3.x, and it buffers results off-heap to prevent large queries from exhausting your application’s memory. The engine still supports a variety of query languages, though JCR-SQL2 is still the most powerful and with 4.0 has a few more extensions. Explicitly define indexes to make your queries faster. All indexes are stored locally on the file system, and in clustered repositories each process in the cluster maintains its own copy of the indexes. In 4.1 we’ll start offering the ability to mix these with indexes stored in Solr, ElasticSearch, and/or Lucene.
- Clustering – Configuring a cluster of ModeShape repositories is even easier. All configuration is done within the Infinispan’s clustering setup – if Infinispan is clustered, then ModeShape is part of the same cluster. We’ve also upgraded to a newer version of JGroups.
- Journaling – ModeShape has a new event journal mechanism that helps the new (or returning) processes in a cluster better come up to speed with the history of events. You get all this with no work on your part, but even your applications can use the new feature via the JCR 2.0 event journal API. This is a great alternative to JCR event listeners that in some situations might be very expensive or time-consuming.
- Event bus – We’ve completely rewritten the way ModeShape repositories internally handle events. We now use a ring buffer that is substantially faster than what we had in 3.x. There’s no change in the event APIs so your listener implementations will continue to work unchanged – they’ll just be faster. The speed improvement is important, because we’re internally using listeners in more areas.
- Infinispan – We’ve moved to Infinispan 6.0.x.Final, which is faster and has new cache stores. Some older and poorly-performaing cache stores are no longer valid, so check out the new file-based cache stores. Also, the LevelDB cache store is supposedly very fast.
- Wildfly 8 – You can embed ModeShape within your applications, or you can install ModeShape as a subsystem within Wildfly so that your web apps and services can store and access content via the JCR API.
- Repository Explorer – We’ve redesigned this web application to be much more usable.
These are just some of the new features in this release. In this and all of the 4.0 pre releases, we’ve addressed a total of 118 issues.
Give it a try and let us know what you think!