All Versions
25
Latest Version
Avg Release Cycle
171 days
Latest Release
610 days ago

Changelog History
Page 2

  • v3.0.0 Changes

    May 23, 2016

    🚀 Apache Cassandra 2.2 and 3.0 compatible release

    🔋 Features:

    • 0️⃣ 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.
    • 0️⃣ Default consistency level is now LOCAL_ONE.
    • 0️⃣ Enable tcp no-delay by default.
    • 0️⃣ 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*.
  • v2.1.7 Changes

    September 02, 2016

    🚀 Apache Cassandra 2.1 compatible release

    🐛 Bug Fixes:

    • 🚑 RUBY-255 ControlConnection.peer_ip ignores peers that are missing critical information in system.peers.
  • v2.1.6 Changes

    April 22, 2016

    🚀 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.
  • v2.1.5 Changes

    🔋 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.
  • v2.1.4 Changes

    🔋 Features:

    • 0️⃣ RUBY-90 Add support for disabling nagle algorithm (tcp nodelay), enabled by default.
    • 0️⃣ RUBY-70 Add support for client-side timestamps, disabled by default.
    • 💎 RUBY-114 Add support for serial consistency in batch requests.

    🐛 Bug Fixes:

    • 📇 RUBY-103 Don't regenerate schema metadata for the same replication strategies and options
    • 📇 RUBY-102 Allow custom types in schema metadata
    • 📇 RUBY-97 Allow disabling of the initial population of schema metadata
    • 💎 RUBY-95 Speed up generation of large token maps
    • 💎 RUBY-116 fix thread leak on connection error
    • 💎 RUBY-119 Use require 'datastax/cassandra' to avoid namespace conflicts

    💥 Breaking Changes:

    • 🔀 Setting :synchronize_schema to true will no longer perform the initial fetching if schema metadata.
  • v2.1.3 Changes

    🚀 Release removing backwards incompatible changes included in 2.1.2

  • v2.1.2 Changes

    🚀 Release removing accidental debug code from 2.1.1.

  • v2.1.1 Changes

    🐛 Bug Fixes:

    • RUBY-98 Use of undefined class variable in Table#create_partition_key
  • v2.1.0 Changes

    🔋 Features:

    • Apache Cassandra native protocol v3
    • 👉 User-defined types and tuples
    • 📇 Schema metadata includes user-defined types
    • Named arguments
    • Public types api for type definition and introspection

    💥 Breaking Changes:

    • 💅 Splat style positional arguments support, deprecated in 2.0.0, has been dropped

    🐛 Bug Fixes:

    • 💎 RUBY-93 Reconnection can overflow the stack
  • v2.0.1 Changes

    🐛 Bug Fixes:

    • 💎 RUBY-87 Decoder corrupts incomplete response buffer