All Versions
26
Latest Version
Avg Release Cycle
94 days
Latest Release
-
Changelog History
Page 1
Changelog History
Page 1
-
v0.14.0 Changes
๐ฅ Breaking changes:
- Drop support for Elixir 1.8 and below. Xandra now requires Elixir 1.9+.
๐ Improvements:
- Implement significantly-more accurate and strict validation of options for
Xandra
functions.
๐ Bug fixes:
- Fix schema change payloads with UDFs in native protocol v3.
- Filter nodes with null
host_id
when autodiscovering nodes inXandra.Cluster
. - Fix some warnings related to upgrading DBConnection.
- Make connections aware of the current keyspace, which fixes some issues with the prepared query cache.
- Fix an issue where pagination would break for some batch queries: with a lightweight transaction the returned result would be a page representing the status of that transaction, and we did not support that.
-
v0.13.1 Changes
January 26, 2020- Fix the spec for
Xandra.Batch.add/3
. - Reconnect to the control connection using the full address (and not the IP of the peername) in
Xandra.Cluster
. - Set the
:xandra_address
and:xandra_port
metadata in logs for Xandra connections.
- Fix the spec for
-
v0.13.0 Changes
September 22, 2019- Add support for Cassandra native protocol v4. By default, we'll use v3, but you can pass in a
:protocol_version
when starting a connection to force protocol v4. Protocol v4 introduces the:not_set
value. See the documentation of theXandra
module. - Add support for tracing on a per-query basis. If
:tracing
is set totrue
, then a tracing ID will be returned with the Cassandra response. See the documentation for more information. - Fix a bug with decoding
Decimal
values. - Fix a bug with
Xandra.Cluster
where, in cases of clusters with a single node, the connection wouldn't reconnect to the node in case of disconnections.
๐ฅ Breaking changes:
- Remove
Xandra.Page.more_pages_available?/1
. This was hard-deprecated in previous versions. - Remove the
:cursor
option for queries. This was hard-deprecated in previous versions.
- Add support for Cassandra native protocol v4. By default, we'll use v3, but you can pass in a
-
v0.12.0 Changes
June 06, 2019- Add a page in the documentation that compares Elixir data types and their Cassandra counterparts.
- Fix some Dialyzer errors caused by opaque data types.
- Support cluster-aware retrying through
:retry_strategy
inXandra.Cluster.execute/3,4
(in the previous release we would retry queries but only on the same node). - Fix
Xandra.Cluster.stream_pages!/4
which was broken in the previous release.
๐ฅ Breaking changes:
- Change the format of
inet
values for IPv6. When encoding a IPv6 address, it should be given to Xandra as an 8-element tuple of integers representing byte couples. When Cassandra returns IPv6 addresses, they are now returned as 8-element tuples of integers representing byte couples. This is to align Xandra with the usage of IPv6 addresses in Erlang/OTP (see the:inet.ip_address/0
type). - Support autodiscovery of nodes in the same data center in
Xandra.Cluster
with support for the:random
load balancing strategy only. This also means support for nodes that are added or removed to the cluster (provided they're in the same datacenter). This is a breaking change because autodiscovery is active by default. If you want to keep the previous behavior, passautodiscovery: false
toXandra.Cluster.start_link/1
.
-
v0.11.0 Changes
May 23, 2019- Add
Xandra.child_spec/1
. - Add encryption support through the
:encryption
option. - Add the
:decimal_format
option to return decimals as tuples orDecimal
structs. If you want to usedecimal_format: :decimal
, you have to specify decimal as a dependency. - Add the
:default_consistency
option to provide a connection-wide default consistency.
๐ฅ Breaking changes:
- Add the
:uuid_format
and:timeuuid_format
options to return UUIDs as binaries or human-readable strings. This is a breaking change because the default changed to:string
. If you want to keep the previous behavior, passuuid_format: :binary
ortimeuuid_format: :binary
toXandra.execute/3/4
. - Remove support for the
:pool
option in Xandra. Now the pool of connections is always a pool with size configurable by:pool_size
. - Add
Xandra.Cluster
as a separate module with an API that mirrorsXandra
, instead of as a DBConnection pool. - Bump the Elixir requirement to ~> 1.6.
- Add
-
v0.10.1
May 22, 2019 -
v0.10.0 Changes
October 23, 2018- Added the
:atom_keys
option to return and accept column names as atoms. - Fixed decoding of user-defined data types when new fields added afterwards.
- Fixed connection ping failures when using compression.
- Added the
-
v0.9.2 Changes
February 12, 2018- Fixed Elixir v1.6 warnings.
-
v0.9.1 Changes
January 15, 2018- Started accepting UUIDs in binary representation.
- Added handling of legacy empty values for non-string types.
-
v0.9.0 Changes
October 29, 2017- Added native support for
Date
,Time
, andDateTime
. - Added support for the counter data type.
- Made more optimizations to page content decoding.
- Replaced the
:cursor
option used for manual result paging with the more explicit:paging_state
option.
๐ฅ Breaking changes:
- Started decoding by default the date, time, and timestamp data types to
Date
,Time
, andDateTime
respectively.
- Added native support for