Skip to content

Releases: datastax/ruby-driver

DataStax Ruby Driver 3.0.2

27 Jun 22:28
Compare
Choose a tag to compare

Apache Cassandra 2.2 and 3.0 compatible release

Bug Fixes:

  • RUBY-219 Sometimes get stack trace in metadata.rb due to failure in SortedSet initialization.
  • RUBY-220 Improve support for custom types.
  • RUBY-231 Driver ignores explicitly specified nil timeout (to indicate no time limit on query execution).
  • RUBY-233 Client timeout errors are retried for non-idempotent statements.

DataStax Ruby Driver 3.0.0

23 May 18:16
Compare
Choose a tag to compare

Apache Cassandra 2.2 and 3.0 compatible release

Features:

  • Increased default request timeout (the timeout option to Cassandra.cluster), from 10 seconds to 12 seconds because C* defaults to a 10 second timeout internally. The extra two seconds is buffer so that the client can report the timeout in the server. This is also consistent with the Java driver.
  • Expand :client_timestamps cluster configuration option to allow user to specify his own generator for client timestamps.
  • Add protocol_version configuration option to allow the user to force the protocol version to use for communication with nodes.
  • Expose listen_address and broadcast_address in Cassandra::Host if available.
  • Add support for materialized views in the schema metadata.
  • Add support for Cassandra indexes in the schema metadata.
  • Add or expose the id, options, keyspace, partition_key, clustering_columns, and clustering_order attributes to table and view schema objects.
  • Add crc_check_chance and extensions attributes to ColumnContainer options.
  • Make cluster configuration options list publicly available. (Thanks, Evan Prothro!)
  • Add connections_per_local_node, connections_per_remote_node, requests_per_connection cluster configuration options to tune parallel query execution and resource usage.
  • Add Cassandra::Logger class to make it easy for users to enable debug logging in the client.
  • Added optional time out to Cassandra::Future#get
  • Allow skipping bound values or using Cassandra::UNSET explicitly.
  • Add support for smallint, tinyint, date (Cassandra::Date) and time (Cassandra::Time) data types.
  • Add new errors: Cassandra::Errors::ReadError, Cassandra::Errors::WriteError and Cassandra::Errors::FunctionCallError.
  • Include schema metadata for User Defined Functions and User Defined Aggregates.
  • Include client ip addresses in request traces, only on Cassandra 3.x.
  • Add new retry policy decision Cassandra::Retry::Policy#try_next_host.
  • Support specifying statement idempotence with the new :idempotent option when executing.
  • Support sending custom payloads when preparing or executing statements using the new :payload option.
  • Expose custom payloads received with responses on server exceptions and Cassandra::Execution::Info instances.
  • Expose server warnings on server exceptions and Cassandra::Execution::Info instances.

Breaking Changes:

  • Cassandra::Future#join is now an alias to Cassandra::Future#get and will raise an error if the future is resolved with one.
  • Default consistency level is now LOCAL_ONE.
  • Enable tcp no-delay by default.
  • Unavailable errors are retried on the next host in the load balancing plan by default.
  • Statement execution no longer retried on timeouts, unless :idempotent => true has been specified when executing.
  • The Datacenter-aware load balancing policy (Cassandra::LoadBalancing::Policies::DCAwareRoundRobin) defaults to using nodes in the local DC only. In prior releases, the policy would fall back to remote nodes after exhausting local nodes. Specify a positive value (or nil for unlimited) for max_remote_hosts_to_use when initializing the policy to allow remote node use.

Bug Fixes:

  • RUBY-120 Tuples and UDTs can be used in sets and hash keys.
  • RUBY-143 Retry querying system table for metadata of new hosts when prior attempts fail, ultimately enabling use of new hosts.
  • RUBY-150 Fixed a protocol decoding error that occurred when multiple messages are available in a stream.
  • RUBY-151 Decode incomplete UDTs properly.
  • RUBY-154 Improve batch request performance, which had regressed in 3.0.0 beta1.
  • RUBY-155 Request timeout timer should not include request queuing time.
  • RUBY-156 Do not drop response frames that follow a frame containing a warning.
  • RUBY-161 Protocol version negotiation in mixed version clusters should not fall back to v1 unless it is truly warranted.
  • RUBY-180 Column ordering is not deterministic in Table metadata.
  • RUBY-185 Internal columns in static-compact and dense tables should be ignored.
  • RUBY-186 Custom type column metadata should be parsed properly for C* 3.x schemas.
  • RUBY-207 Get NoMethodError when handling a write-timeout error using a downgrading consistency retry policy.
  • RUBY-214 Client timestamps in JRuby are not fine-grained enough, causing timestamp collisions and lost rows in C*.

DataStax Ruby Driver 2.1.6

22 Apr 21:13
Compare
Choose a tag to compare

Apache Cassandra 2.1 compatible release

Bug Fixes:

  • RUBY-202 Allow password authenticator to be used for LDAP authentication. This is actually a backport of RUBY-169 for the 3.0.0 release.

DataStax Ruby Driver 3.0 rc2

11 Apr 17:17
Compare
Choose a tag to compare
Pre-release

Apache Cassandra 2.2 and 3.0 compatible release

Features:

  • Add protocol_version configuration option to allow the user to force the protocol version to use for communication with nodes.
  • Expose listen_address and broadcast_address in Cassandra::Host if available.
  • Add support for materialized views in the schema metadata.
  • Add support for Cassandra indexes in the schema metadata.
  • Add or expose the id, options, keyspace, partition_key, clustering_columns, and clustering_order attributes to table and view schema objects.
  • Add crc_check_chance and extensions attributes to ColumnContainer options.
  • Make cluster configuration options list publicly available. (Thanks, Evan Prothro!)

Bug Fixes:

  • [RUBY-161] Protocol version negotiation in mixed version clusters should not fall back to v1 unless it is truly warranted.
  • [RUBY-180] Column ordering is not deterministic in Table metadata.
  • [RUBY-185] Internal columns in static-compact and dense tables should be ignored.
  • [RUBY-186] Custom type column metadata should be parsed properly for C* 3.x schemas.

DataStax Ruby Driver 3.0 rc1

18 Feb 00:46
Compare
Choose a tag to compare
Pre-release

Apache Cassandra 2.2 and 3.0 compatible release

Features:

  • Add connections_per_local_node, connections_per_remote_node, requests_per_connection cluster configuration options to tune parallel query execution and resource usage.
  • Add Cassandra::Logger class to make it easy for users to enable debug logging in the client.

Bug Fixes:

  • [RUBY-154] Improve batch request performance, which had regressed in 3.0.0 beta1.
  • [RUBY-155] Request timeout timer should not include request queuing time.
  • [RUBY-156] Do not drop response frames that follow a frame containing a warning.

DataStax Ruby Driver 3.0 beta 1

21 Dec 23:58
Compare
Choose a tag to compare
Pre-release

Apache Cassandra 2.2 and 3.0 compatible release

Features:

  • Added optional time out to Cassandra::Future#get
  • Allow skipping bound values or using Cassandra::UNSET explicitly.
  • Add support for smallint, tinyint, date (Cassandra::Date) and time (Cassandra::Time) data types.
  • Add new errors: Cassandra::Errors::ReadError, Cassandra::Errors::WriteError and Cassandra::Errors::FunctionCallError.
  • Include schema metadata for User Defined Functions and User Defined Aggregates.
  • Include client ip addresses in request traces, only on Cassandra 3.x.
  • Add new retry policy decision Cassandra::Retry::Policy#try_next_host.
  • Support specifying statement idempotence with the new :idempotent option when executing.
  • Support sending custom payloads when preparing or executing statements using the new :payload option.
  • Expose custom payloads received with responses on server exceptions and Cassandra::Execution::Info instances.
  • Expose server warnings on server exceptions and Cassandra::Execution::Info instances.

Breaking Changes:

  • Cassandra::Future#join is now an alias to Cassandra::Future#get and will raise an error if the future is resolved with one.
  • Default consistency level is now LOCAL_ONE.
  • Enable tcp no-delay by default.
  • Unavailable errors are retried on the next host in the load balancing plan by default.
  • Statement execution no longer retried on timeouts, unless :idempotent => true has been specified when executing.

Bug Fixes:

  • [RUBY-143] Retry querying system table for metadata of new hosts when prior attempts fail, ultimately enabling use of new hosts.
  • [RUBY-150] Fixed a protocol decoding error that occurred when multiple messages are available in a stream.
  • [RUBY-151] Decode incomplete UDTs properly.
  • [RUBY-120] Tuples and UDTs can be used in sets and hash keys.

DataStax Ruby Driver 2.1.5

18 Sep 17:54
Compare
Choose a tag to compare

Apache Cassandra 2.1 compatible release

New Features:

  • Add support for type_hints to override type-guessing for non-prepared statements.

Bug Fixes:

  • [RUBY-128] Fix decoding of large values in maps, sets and lists.

DataStax Ruby Driver 2.1.4

01 Jul 20:25
Compare
Choose a tag to compare

Apache Cassandra 2.1 compatible release

New Features:

  • [RUBY-90] Add tcp nodelay support, disabled by default
  • [RUBY-114] Enable serial consistency for batch statements
  • [RUBY-70] Add client timestamps support, disabled by default
  • [RUBY-119] Allow the driver to be used with conflicting gems

Bug Fixes:

  • [RUBY-95] Speed up generation of large token maps
  • [RUBY-97] Prevent initial schema metadata fetch when synchronization disabled
  • [RUBY-102] Fix schema metadata parsing of non-standard types
  • [RUBY-103] Reuse token maps for keyspaces with same replication strategies and factors
  • [RUBY-116] Fix thread leaks when cluster initialization fails

DataStax Ruby Driver 2.1.3

13 Mar 19:06
Compare
Choose a tag to compare

Apache Cassandra 2.1 compatible release

A clean release, fixing released gem versions 2.1.1 and 2.1.2:

  • Gem version 2.1.1 contained debug print statements.
  • Gem version 2.1.2 erroneously contained changes from master that weren't supposed to go out.

DataStax Ruby Driver 2.1.1

27 Feb 20:21
Compare
Choose a tag to compare

Apache Cassandra 2.1 compatible release

Bug Fixes:

  • [RUBY-98] Use of undefined class variable in Table#create_partition_key