We are almost as excited to announce our very first beta release of Immutant as this guy is to see a train. And like that train, we expect our beta cycle to be short; our plan is to have 1.0.0 out by the end of the summer, after which we'll begin to incorporate new features from JBoss Wildfly for the next release. As always, view our road map here.

What is Immutant?

Immutant is an application server for Clojure. It's an integrated platform built on JBoss AS7 that aims to reduce the inherent incidental complexity in real world applications.

What's in this release?

We haven't changed a whole lot since 0.10.0. We wanted to spruce up our docs and make sure we didn't have any glaring stability issues. We made a couple of minor enhancements to the jobs and caching namespaces, but nothing that isn't backwards compatible.

Cluster configuration should be simpler since we're now taking advantage of HornetQ's ability to use JGroups. We added a Production Setup chapter to our manual which we hope to evolve as more Immutants are put in production. Speaking of that, check out Damion's excellent writeup of his experiences clustering Immutant and TorqueBox on Amazon's EC2.

See the complete list of changes below.

Get It

The simplest way to install or upgrade to 1.0.0.beta1 is via our Leiningen plugin (though we recommend you update your plugin version first):

$ lein immutant install 1.0.0.beta1

See our install page for more details. Once you have it installed, take a look at our tutorials.

Get In Touch

If you have any questions, issues, or other feedback about Immutant, you can always find us on #immutant on freenode or our mailing lists.

Issues resolved in 1.0.0.beta1

  • [IMMUTANT-82] - Add clustering chapter to docs
  • [IMMUTANT-175] - implement dynapath's add-classpath-url
  • [IMMUTANT-271] - Evaluate and possibly eliminate reflection in web.session/session-cookie-attributes
  • [IMMUTANT-274] - sign clojars artifacts before releasing
  • [IMMUTANT-276] - publish dists with the type in the dir name (slim/full)
  • [IMMUTANT-277] - Get immutant.xa working with clojure.java.jdbc 0.3.x
  • [IMMUTANT-278] - Add a util function to return the effective classpath of an app
  • [IMMUTANT-279] - Add get-queue function to immutant.messaging
  • [IMMUTANT-281] - Update to nrepl 0.2.3
  • [IMMUTANT-282] - Remove util/if-in-immutant
  • [IMMUTANT-283] - Add convenient keyword aliases and military time assumptions to job/schedule
  • [IMMUTANT-284] - Configure messaging (HornetQ) to cluster via JGroups
  • [IMMUTANT-286] - Add a note about how dynamic jobs behave in a cluster
  • [IMMUTANT-287] - proofread and update the docs
  • [IMMUTANT-288] - Modify cache/create to support :ttl [1 :second] as well as :ttl 1 :units :seconds