- Added support for priority load balancing strategy for clustering.
- Fixed a bug in the binary protocol that affected nodes going up/down when using
Xandra.Cluster
.
- Made
Xandra.Cluster
to fully utilize authentication.
- Added support for authentication.
- Optimized page content decoding by using single match context.
- Added support for user-defined types.
- Optimized request encoding by using iodata.
- Added support for date, time, smallint, and tinyint types.
- Fixed a bug where conditional prepared queries failed to decode.
- Fixed a bug with encoding
nil
values in the protocol.
- Fixed a bug where negative varint values were decoded incorrectly.
- Fixed a bug where prepared queries inside batch queries were not being reprepared in case of "unprepared" errors. Now, prepared queries that fail with "unprepared" errors in batch queries are reprepared before executing the batch again.
- Added support for "retry strategies" (modules that implement
Xandra.RetryStrategy
) to handle retrying of failed queries.
- Added support for named params for prepared queries in batches and started raising an explanatory error message if named params are used in simple queries in batches.
- Added
Xandra.run/3
to execute a function with a single Xandra connection checked out from the pool.
- Made statement re-preparing happen on the same connection.
- Renamed
Xandra.Connection.Error
toXandra.ConnectionError
. - Added support for clustering with random load balancing strategy.
- Fixed the error message for ping failures.
- Fixed a bug where the TCP socket would not be closed in case of failures during connect.
- Added support for compression of protocol data (see documentation for the
Xandra
module). - Added support for the
:serial_consistency
option inXandra.execute(!)/3,4
. - Added support for the
:timestamp
option inXandra.execute(!)/4
when executing simple or prepared queries. - Fixed a bug when repreparing queries that got stale in the cache.