This release fixes an issue where sending new requests as a reaction to requests timing out could lead to queued requests never being sent (see #123).
The dependency on Ione has also been changed to not require and exact version, but the latest.
This release adds support for user defined types, a Cassandra 2.1 feature. It also adds experimental support for encrypted and authenticated connections.
This release depends on a hard coded prerelease version of Ione for the encryption support.
This release contains a mix of bug fixes, optimizations and new features.
TimeUuidcan now be compared correctly (see #111).
VARINTwith value zero are now encoded properly (see #112).
- An LZ4 compressor has been added (see #109).
- The overhead of the locking in the hot path of the IO handling has been optimized. Combined with similar optimizations in Ione this should be a nice performance boost for high throughput applications. Make sure you update to the latest version of Ione too.
v2.0 is fully supports Cassandra 2.0 and is completely backwards compatible with v1.2 – both Cassandra and cql-rb, the version matches are completely coincidental. This is the biggest release yet, it contains lots of new features and improvements, but without sacrificing compatibility.
The big new features are:
- Support for batches of mixed statements
- Result paging, for those wide rows that you don't want to read all in one go
- Bound values in non-prepared statements, this is useful for one-off queries where you have a complex object like a UUID that can be tricky to format right in a CQL string
- Prepared statement performance improvements, taking advantage of some additions in v2 of the CQL binary protocol
- SASL authentication with pluggable authenticators, and support for the built in plain text authentication.
- Multi protocol support, works with both v1 and v2 of the CQL binary protocol, and automatically negotiates a version the server and client supports.
Another change that has happened is that the reactive core of cql-rb has been extracted to its own gem, Ione. If you want to build your own high performance drivers now you have the tool you need to do it.
First release candidate of v2.0. Unless any bugs are found in the next few days this is going to be v2.0.
- Authentication has moved to its own namespace,
Cql::Auth. If you have implemented your own authentication this is a breaking change.
- Lots of documentation updates
VoidResultto make the API the same regardless of whether the concrete result is a a void result, a normal rows result, or a paged result.
- Removed the docs for some deprecated features. They still work, but are no longer part of the public API.
- Fixed #94, a silly bug where giving an empty list of hosts to
Client.connectfailed with an unrelated error.