We're as happy as Walter after Smokey marks it zero to announce our latest release of Immutant - version 0.8.0, hopefully culminating in a 1.0.0 version late winter/early spring. 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?

The most exciting feature included in this release is our new Pipelines library, inspired by Rich Hickey's Clojure/Conj 2012 keynote and Zach Tellman's Lamina project.

In addition to Pipelines: caches can now be optionally persisted to disk, static asset middleware is context-aware, and idempotent behavior for messaging destinations should be more predictable.

We also upgraded a few runtime dependencies (nREPL, leiningen-core) and added a new one (cheshire). Plus we switched to codox for our API docs.

We know of no breaking API changes from 0.7.0, but we're sure you'll let us know if we missed something. ;-)

Get It

The simplest way to install or upgrade to 0.8.0 is via our Leiningen plugin:

$ lein immutant install 0.8.0

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 0.8.0

  • [IMMUTANT-114] - support async servlet API
  • [IMMUTANT-115] - Make bultitude.core/namespaces-on-classpath work
  • [IMMUTANT-116] - Expose support for Infinispan cache loaders
  • [IMMUTANT-171] - Add messaging pipeline
  • [IMMUTANT-188] - AOT compiling immutant.init breaks: web/start – not registering ring handlers
  • [IMMUTANT-189] - Switch from autodoc to codox for api docs.
  • [IMMUTANT-190] - jar mounts need to be under the deployment root for some of the AS's deployment scanners to work
  • [IMMUTANT-193] - file-store session persistence not working
  • [IMMUTANT-191] - Let xa/datasource accept :subprotocol and :subname as aliases
  • [IMMUTANT-195] - Immutant rejects URLs with %5C
  • [IMMUTANT-196] - Serve static assets for apps not mounted at root context
  • [IMMUTANT-198] - Replace queue listeners and append topic listeners by default
  • [IMMUTANT-199] - Expose the base url for a deployed webapp
  • [IMMUTANT-200] - replace data.json with cheshire
  • [IMMUTANT-201] - msg/request should return a IBlockingDeref instead of taking a :timeout parameter
  • [IMMUTANT-202] - update to leiningen-core 2.0.0-RC2
  • [IMMUTANT-204] - update to nrepl 0.2.1