Skip to content

2.0.0

Compare
Choose a tag to compare
@asafch asafch released this 31 Jan 08:47
· 28 commits to master since this release

Added

  • Aerospike Key - can now coerce java.util.UUID into keys alongside byte arrays,
    ints, longs, strings and com.aerospike.client.Value.
  • Created the protocols namespace which now holds a myriad of protocols.
    • This includes new protocols that group Aerospike operations by CRUD/admin semantics.
  • Can explicitly specify the port in the host string that is passed to the client
    constructor init-simple-aerospike-client.
  • Integration test namespace now has the ^:integration metadata:
    • Run unit tests with lein test
    • Run integration tests that require a locally-running Aerospike client via lein test :integration.

Changed

  • Artifact coordinates in Clojars have changed from aerospike-clj/aerospike-clj
    to com.appsflyer/aerospike-clj.
  • Upgraded dependency on promesa from 5.1.0 to 6.0.0.
  • Implementations of ClientEvents protocol will no longer get the DB instance
    for runtime parameters. Instead, they should be pre-configured at instance construction time.
  • Cleaned up the client namespace:
    • Removed the IAerospikeClient protocol it can create a collision with com.aerospike.client.IAerospikeClient.
      Abstracting over the Java client instance selection is of no concern to a simple
      client that interacts with a single cluster.
      • As a result SimpleAerospikeClient now directly uses the vars passed in
        construction time instead of fetching them from the client with keywords, e.g. (:el client).
      • The return type of get-cluster-stats is no longer a triply-nested vector,
        but a doubly-nested vector.
    • All protocols moved to protocols namespace.
    • SimpleAerospikeClient record now implements the protocols mentioned above.
  • Mock client
    • The MockClient record now implements the protocols mentioned above, so
      production code could now have its SimpleAerospikeClient swapped with a mock
      client in-place and without using with-redefs.
    • Functionality that is needed for unit testing purposes is defined in the
      Stateful protocol and MockClient instances are extended to this protocol.
  • Logging via tools.logging as a façade.
  • CI
    • No longer runs the lein command compile - it would be executed implicitly by test

Removed

  • The function get-multiple was removed in favor of the protocol method get-batch.
  • Dependency on timbre.