Welle 1.4.0 is released
TL;DR
Welle is an expressive Clojure client for Riak with batteries included.
1.4.0 is a minor release
that is 100% backwards-compatible with 1.3.x
. This version has been tested against
Riak 1.2.x
as well as RCs of Riak 1.3.0
.
Changes between Welle 1.3.0 and 1.4.0
Riak 1.3.0 Ready
Welle 1.4.0
has been tested against the upcoming Riak 1.3.0
release.
Tombstones Handling
In eventually consistent systems such as Riak, deleted objects may
sometimes “reappear” due to concurrent modifications. Welle by
default will filter out tombstones in
clojurewerkz.welle.kv/fetch
. If you want to retrieve all objects
including tombstones, pass :return-deleted-vlock
as true
to
clojurewerkz.welle.kv/fetch
. This behavior is new in Welle 1.4.0
which uses Riak Java client 1.1.0
.
Riak Java Client Update
Welle now uses Riak Java client 1.1.0.
Cheshire Update
Cheshire dependency has been upgraded to version 5.0.2
.
clojurewekz.welle.kv/delete-all Is No Longer Lazily Evaluated
Contributed by Renaud Tircher.
Automatic Deserialization Support For clojurewerkz.welle.kv/store
clojurewerkz.welle.kv/store
, when used with the :return-body
option, now will automatically deserialize it
the same way clojurewerkz.welle.kv/fetch
and clojurewerkz.welle.kv/fetch-one
do.
Suggested by Allen Johnson.
clj-http Update
clj-http dependency has been upgraded to version 0.6.4
.
HTTP Cluster Connection URLs
Updated HTTP cluster connections to be full URLs. This change is primarily to allow users to specify alternate ports.
HTTP cluster connections now require a full url:
(require '[clojurewerkz.welle.core :as wc])
(wc/connect-to-cluster! ["http://node1:8098/riak" "http://node2:8098/riak"])
Also included in this change:
clojurewerkz.welle.core/default-port
removed and replaced by the following:
clojurewerkz.welle.core/default-http-port
clojurewerkz.welle.core/default-pb-port
Reasonable Vclock Pruning Defaults
Welle now uses reasonable vclock pruning setting defaults in clojurewerkz.welle.buckets/update
.
Kudos to @mefesto for reporting the issue.
Change Log
We recommend all users to upgrade to 1.4.0 a try.
Welle change log is available on GitHub.
Welle is a ClojureWerkz Project
Welle is part of the group of libraries known as ClojureWerkz, together with
- Langohr, a Clojure client for RabbitMQ that embraces the AMQP 0.9.1 model
- Elastisch, a minimalistic Clojure client for ElasticSearch
- Monger, a Clojure MongoDB client for a more civilized age
- Neocons, a feature rich idiomatic Clojure client for the Neo4J REST API
- Quartzite, a powerful scheduling library
and several others. If you like Welle, you may also like our other projects.
Let us know what you think on Twitter or on the Clojure mailing list.
Michael on behalf of the ClojureWerkz Team