Monger is an idiomatic Clojure MongoDB driver for a more civilized age.
It has batteries included, offers powerful expressive query DSL, strives to support every MongoDB 2.0+ feature and has sane defaults.
It also has solid documentation.
2.0.1 is a compatibility release.
Changes between 2.0.0 and 2.0.1
Clojure 1.7 Compatibility
Monger now compiles with Clojure 1.7.
MongoDB Java Driver Update
MongoDB Java driver dependency has been updated to 2.12.4.
Elastisch no longer officially supports Clojure 1.4. Most of the functionality
still works well on that version but please don’t file bugs specific to that
version.
Allow :index key in update-aliases (native)
clojurewerkz.elastisch.native.index/update-aliases expects indices to be added to be specified in the
:indices key while the respective REST function uses :index. This can have unexpected results, namely
the creation of the respective alias for all indices. It is now possible to supply either :index or
:indices to the function.
clojurewerkz.elastisch.native.document/update-with-partial-doc is a new function
in the Native Client (existed before in the REST API) that performs
partial updates:
Note that the REST API should now be called without wrapping the document in a :doc key.
I.e. change {:doc {:field-to-update "Update"}} to {:field-to-update "Update"}.
Contributed by Sandeep Jagtap and Henrik Lundahl.
Ability to Specify Aliases In index.create-template
clojurewerkz.elastisch.rest.index.create-template now supports
the :aliases option:
Note that ElasticSearch 1.2 has 26 aggregations. Currently only the most commonly
used ones are supported but support for more types will be added eventually.
The supported types are:
Previously a search would return either the source document, or specific fields and not
both. There are certain circumstances where having both are beneficial, for example when
searching for a child document and you want to include the parent ID:
Cassaforte is a Clojure client for
Apache Cassandra. It is built around CQL 3 and focuses on ease
of use. You will likely find that using Cassandra from Clojure has
never been so easy.
2.0.0-rc2 is a release candidate for 2.0.
Changes between 2.0.0-rc1 and 2.0.0-rc2
Fixes Race Condition in Async Operations
Async database operations no longer suffer from a race condition between
issueing them and definiting callbacks on the returned future value.
Contributed by Kirill Chernyshov.
Compression Option
:compression is a new option that can be used when connecting:
Cassaforte is a Clojure client for
Apache Cassandra. It is built around CQL 3 and focuses on ease
of use. You will likely find that using Cassandra from Clojure has
never been so easy.
clojurewerkz.cassandra.cql/iterate-table Now Terminates
clojurewerkz.cassandra.cql/iterate-table no longer produces an infinite
sequence.
URI Connections
It is now possible to connect to a node and switch to a namespace
using a URI string:
12345
(ns cassaforte.docs(:require[clojurewerkz.cassaforte.client:ascc]));; connects to node 127.0.0.1:9042 and uses "new_cql_keyspace" as keyspace(cc/connect-with-uri"cql://127.0.0.1:9042/new_cql_keyspace")
Cassandra 2.1 Compatibility
Cassaforte 2.0 is compatible with Cassandra 2.1.
Prepared Statement Cache Removed
Prepared statement cache was affecting client correctness in some cases
and was removed.
Policy Namespace
Policy-related functions from clojurewerkz.cassaforte.client were extracted into
clojurewerkz.cassaforte.policies:
Cassaforte no longer tries to support query condition DSLs for both Hayt 1.x
and Hayt 2.0. Hayt 2.0 is the only supported flavour now and
is the future.
Providing a :cipher-suites key in the :ssl connection option allows to specify cipher suites
that are enabled when connecting to a cluster with SSL.
The value of this key is a Seq of Strings (e.g. a vector) where each item specifies a cipher suite:
The :cipher-suites key is optional and may be omitted, in which case Datastax Java driver’s
default cipher suites (com.datastax.driver.core.SSLOptions/DEFAULT_SSL_CIPHER_SUITES) are enabled.
This can be used to work around the need to install Java Cryptography Extension (JCE) Unlimited Strength
Jurisdiction Policy Files required by the default set of cipher suites. TLS_RSA_WITH_AES_128_CBC_SHA
is a suite in the default set that works with the standard JCE. E.g. by specifying just that one,
as in the code example, the standard JCE is enough.
2.1.0-rc1 is a release
candidate of Elastisch 2.1, coming to you after 9 beta releases.
Changes between Elastisch 2.1.0-beta9 and 2.1.0-rc1
ElasticSearch Native Client Upgrade
Elastisch now depends on ElasticSearch native client version 1.4.x.
Clojure 1.4 Support Dropped
Elastisch no longer officially supports Clojure 1.4. Most of the functionality
still works well on that version but please don’t file bugs specific to that
version.
Allow :index key in update-aliases (native)
clojurewerkz.elastisch.native.index/update-aliases expects indices to be added to be specified in the
:indices key while the respective REST function uses :index. This can have unexpected results, namely
the creation of the respective alias for all indices. It is now possible to supply either :index or
:indices to the function.
clojurewerkz.elastisch.native.document/update-with-partial-doc is a new function
in the Native Client (existed before in the REST API) that performs
partial updates:
Note that the REST API should now be called without wrapping the document in a :doc key.
I.e. change {:doc {:field-to-update "Update"}} to {:field-to-update "Update"}.
Contributed by Henrik Lundahl.
Changes between Elastisch 2.0.0 and 2.1.0-beta9
Ability to Specify Aliases In index.create-template
clojurewerkz.elastisch.rest.index.create-template now supports
the :aliases option:
Note that ElasticSearch 1.2 has 26 aggregations. Currently only the most commonly
used ones are supported but support for more types will be added eventually.
The supported types are:
Previously a search would return either the source document, or specific fields and not
both. There are certain circumstances where having both are beneficial, for example when
searching for a child document and you want to include the parent ID:
Money is a Clojure library that deals with monetary amounts
and currencies, built on top of Joda Money.
1.7.0 is a minor release.
Changes between 1.6.0 and 1.7.0
ZMK Currency Removed
In accordance with a Joda Money 0.10.0 change, ZMK is no longer
on the list of known currencies (use ZMW instead).
Joda Money 0.10
Joda Money was upgraded to 0.10.0.
Changes between 1.5.0 and 1.6.0
Clojure 1.6 By Default
The project now depends on org.clojure/clojure version 1.6.0. It is
still compatible with Clojure 1.4 and if your project.clj depends on
a different version, it will be used, but 1.6 is the default now.
We encourage all users to upgrade to 1.6, it is a drop-in replacement
for the majority of projects out there.
Changes between 1.4.0 and 1.5.0
Comparison Function Correctness
<, >, <=, >= now return a boolean on the 1-arg arity, as per docstring.