We just released Immutant 2.1.1! This is mostly a bugfix/documentation release. Specific issues are listed below.

What is Immutant?

Immutant is an integrated suite of Clojure libraries backed by Undertow for web, HornetQ for messaging, Infinispan for caching, Quartz for scheduling, and Narayana for transactions. Applications built with Immutant can optionally be deployed to a WildFly cluster for enhanced features. Its fundamental goal is to reduce the inherent incidental complexity in real world applications.

lein-immutant/boot-immutant Releases

We've also released new versions of lein-immutant and boot-immutant (2.1.0 and 0.5.0, respectively). You'll need to update the appropriate plugin if you use Immutant with WildFly - we rearranged some of our upstream dependencies in 2.1.1 that are used in-container, and the new plugins recognize that structure.

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 2.1.1

  • [IMMUTANT-576] - WebSockets can't be used from a user-provided servlet
  • [IMMUTANT-578] - Singleton daemons don't get started on another node if the thread dies
  • [IMMUTANT-579] - Luminus now has :main
  • [IMMUTANT-580] - Support for setting HTTP response headers in the WebSocket handshake
  • [IMMUTANT-581] - Pedestal servlet handler overrides handlers specified using :path
  • [IMMUTANT-583] - Registered closeables aren't closed when a destination is stopped (regression from 2.0.0)
  • [IMMUTANT-585] - Fix infinispan section in EAP guide
  • [IMMUTANT-586] - Expose :filter-map option to web/run for deploying Servlet Filters
  • [IMMUTANT-587] - Immutant seems to be sending "" for query string when it should be sending nil
  • [IMMUTANT-588] - Improve docs for listen to explain the explicit transaction
  • [IMMUTANT-589] - Only reuse the context given to request for the response listener if it is remote
  • [IMMUTANT-590] - Implement all methods on reified JDBC interfaces we return from our factory
  • [IMMUTANT-591] - Immutant doesn't work with clojure 1.8.0-beta2
  • [IMMUTANT-592] - Don't fail a WildFly deployment if the repl fails to start
  • [IMMUTANT-593] - See if we need to use the default listener concurrency for response listeners
  • [IMMUTANT-594] - scheduling docs point to caching/stop instead of scheduling/stop