We just released Immutant 2.1.3. Most issues addressed in this release are minor bug fixes and documentation enhancements.

One not-so-minor bug was discovering that our :dispatch? false option has been broken since 2.1.0. That's fixed now, and should help to improve compute-bound benchmark results.

One other minor change worth noting is the addition of two functions to the immutant.web.undertow namespace: http-handler, which turns a Ring handler into an Undertow HttpHandler, and graceful-shutdown, which invokes Undertow's ability to gracefully shutdown a web server by prohibiting new requests while pending ones complete. See IMMUTANT-605 for a simple example.

We also had a couple of community contributions in this release: Dave Della Costa fixed our issue with decoded :path-info, and Matthias Nehlsen fixed some documentation issues with our web namespace. Thanks guys!

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.

Get In Touch

As always, 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.3

  • [IMMUTANT-599] - An async call in WildFly can result in a TimeoutException that permanently breaks an app
  • [IMMUTANT-600] - Deploying a servlet to EAP fails if websockets isn't activated
  • [IMMUTANT-601] - Document that a queue shouldn't be shared between 'listen and 'respond
  • [IMMUTANT-604] - Using web/run :filter-map option causes ClassCastException
  • [IMMUTANT-605] - Graceful Shutdown of Web Server
  • [IMMUTANT-606] - deprecate util/app-root and util/app-relative
  • [IMMUTANT-607] - Caching tests fail under WildFly 10.0.0.Final
  • [IMMUTANT-609] - document org.immutant/wildfly dependency in installation & wildfly guides
  • [IMMUTANT-610] - provide a non-decoded :path-info to ring
  • [IMMUTANT-611] - Impossible to run handlers on IO thread (:dispatch? false)
  • [IMMUTANT-612] - Passing undertow options to web/run can result in wrong :port in result