We're happy, happy, happy to announce Immutant 1.0.2 - "HamBiscuit".
This release is primarily a bug fix release, with a couple of other enhancements thrown in. As always, view our road map here.
What is Immutant?
What's in this release?
In addition to fixes, we added a few backwards-compatible features:
- It's now possible to use Immutant's integrated Infinispan data grid as a Datomic data store. We'll provide more details on this in a future blog post.
- We now expose the max number of HTTP connections as a system property.
- We've attempted to make the
immutant.cacheAPI more functional by introducing a swap! function.
- We've extended the fanout capabilities of pipelines.
- We now default
:nrepl-portto 0 when the
:devprofile is active.
The last item deserves some emphasis. What it means is that unless you
nil in either
profiles.clj, you'll get a dedicated nREPL service for any app you
deploy to your Immutant with the
:dev profile active. When
developing, this is convenient and desired, but it means you should
probably take care to deploy your app to production without activating
:dev profile, i.e. use the
with-profile Leiningen subtask. The
risk of not doing so is still small as the OS-assigned port is bound
to localhost by default and unlikely to be exposed.
The rest was mostly
doc enhancements and bug
fixes, listed below. We wanted to give a special shout-out to
Ian Eslick for not only contributing the fix
for IMMUTANT-365 but
also helping us make the
task more robust. Thanks!
The simplest way to install or upgrade to 1.0.2 is via our Leiningen plugin:
$ lein immutant install 1.0.2
Get In Touch
Issues resolved in 1.0.2
- [IMMUTANT-292] - Configure an Immutant cluster as a Datomic data store
- [IMMUTANT-349] - daemons/create should accept a keyword for a daemon name
- [IMMUTANT-350] - Can't seem to queue custom edn tagged elements
- [IMMUTANT-351] - 'unlisten'ing a listener doesn't remove its MBean
- [IMMUTANT-352] - Provide configuration option for binding REPL endpoints to different interfaces
- [IMMUTANT-353] - Invalid cache replication modes should toss an exception
- [IMMUTANT-355] - Expose number of HTTP service threads as a parameter
- [IMMUTANT-358] - Expose a 'keys' fn to list jboss service names in the registry
- [IMMUTANT-363] - provide a wrapping function that applies fanout to a pipeline step externally
- [IMMUTANT-364] - Unscheduling a job hangs in a cluster
- [IMMUTANT-365] - Applications using the servlet interface cannot use servlet-sessions as documented
- [IMMUTANT-367] - Update to leiningen-core 2.3.3
- [IMMUTANT-368] - Doc the test task's unique context path (app-uri) better
- [IMMUTANT-369] - Restore mbeans for jobs
- [IMMUTANT-370] - Implement cache/swap! in terms of cache/put-if-replace
- [IMMUTANT-371] - message-seq only uses options for the first receive, not subsequent ones
- [IMMUTANT-372] - Default :nrepl-port to 0 when dev profile is active