Skip to content

Releases: apache/cassandra-gocql-driver

v2.0.0

16 Oct 19:07

Choose a tag to compare

Removed

2.0.0-rc1

  • Drop support for old CQL protocol versions: 1 and 2 (CASSGO-75)
  • Cleanup of deprecated elements (CASSGO-12)
  • Remove global NewBatch function (CASSGO-15)
  • Remove deprecated global logger (CASSGO-24)
  • HostInfo.SetHostID is no longer exported (CASSGO-71)

Added

2.0.0

  • Don't collect host metrics if a query/batch observer is not provided (CASSGO-90)

2.0.0-rc1

  • Support vector type (CASSGO-11)
  • Allow SERIAL and LOCAL_SERIAL on SELECT statements (CASSGO-26)
  • Support of sending queries to the specific node with Query.SetHostID() (CASSGO-4)
  • Support for Native Protocol 5. Following protocol changes exposed new API
    Query.SetKeyspace(), Query.WithNowInSeconds(), Batch.SetKeyspace(), Batch.WithNowInSeconds() (CASSGO-1)
  • Externally-defined type registration (CASSGO-43)
  • Add Query and Batch to ObservedQuery and ObservedBatch (CASSGO-73)
  • Add way to create HostInfo objects for testing purposes (CASSGO-71)
  • Add missing Context methods on Query and Batch (CASSGO-81)
  • Update example and test code for 2.0 release (CASSGO-80)
  • Add API docs for 2.0 release (CASSGO-78)
  • Update documentation for 2.0 (readme, upgrade guide, pkg.go.dev) (CASSGO-79)

Changed

2.0.0

  • Remove release date from changelog and add 2.0.0-rc1 (CASSGO-86)

2.0.0-rc1

  • Moved the Snappy compressor into its own separate package (CASSGO-33)
  • Move lz4 compressor to lz4 package within the gocql module (CASSGO-32)
  • Don't restrict server authenticator unless PasswordAuthentictor.AllowedAuthenticators is provided (CASSGO-19)
  • Detailed description for NumConns (CASSGO-3)
  • Change Batch API to be consistent with Query() (CASSGO-7)
  • Added Cassandra 4.0 table options support (CASSGO-13)
  • Bumped actions/upload-artifact and actions/cache versions to v4 in CI workflow (CASSGO-48)
  • Keep nil slices in MapScan (CASSGO-44)
  • Improve error messages for marshalling (CASSGO-38)
  • Remove HostPoolHostPolicy from gocql package (CASSGO-21)
  • Standardized spelling of datacenter (CASSGO-35)
  • Refactor HostInfo creation and ConnectAddress() method (CASSGO-45)
  • gocql.Compressor interface changes to follow append-like design (CASSGO-1)
  • Refactoring hostpool package test and Expose HostInfo creation (CASSGO-59)
  • Move "execute batch" methods to Batch type (CASSGO-57)
  • Make Session immutable by removing setters and associated mutex (CASSGO-23)
  • inet columns default to net.IP when using MapScan or SliceMap (CASSGO-43)
  • NativeType removed (CASSGO-43)
  • New and NewWithError removed and replaced with Zero (CASSGO-43)
  • Changes to Query and Batch to make them safely reusable (CASSGO-22)
  • Change logger interface so it supports structured logging and log levels (CASSGO-9)
  • Bump go version in go.mod to 1.19 (CASSGO-34)
  • Change module name to github.com/apache/cassandra-gocql-driver/v2 (CASSGO-70)

Fixed

2.0.0

  • Driver closes connection when timeout occurs (CASSGO-87)
  • Do not set beta protocol flag when using v5 (CASSGO-88)
  • Driver is using system table ip addresses over the connection address (CASSGO-91)

2.0.0-rc1

  • Cassandra version unmarshal fix (CASSGO-49)
  • Retry policy now takes into account query idempotency (CASSGO-27)
  • Don't return error to caller with RetryType Ignore (CASSGO-28)
  • The marshalBigInt return 8 bytes slice in all cases except for big.Int,
    which returns a variable length slice, but should be 8 bytes slice as well (CASSGO-2)
  • Skip metadata only if the prepared result includes metadata (CASSGO-40)
  • Don't panic in MapExecuteBatchCAS if no [applied] column is returned (CASSGO-42)
  • Fix deadlock in refresh debouncer stop (CASSGO-41)
  • Endless query execution fix (CASSGO-50)
  • Accept peers with empty rack (CASSGO-6)
  • Fix tinyint unmarshal regression (CASSGO-82)
  • Vector columns can't be used with SliceMap() (CASSGO-83)

v2.0.0-rc1

14 Jul 16:30

Choose a tag to compare

v2.0.0-rc1 Pre-release
Pre-release

Removed

  • Drop support for old CQL protocol versions: 1 and 2 (CASSGO-75)
  • Cleanup of deprecated elements (CASSGO-12)
  • Remove global NewBatch function (CASSGO-15)
  • Remove deprecated global logger (CASSGO-24)
  • HostInfo.SetHostID is no longer exported (CASSGO-71)

Added

  • Support vector type (CASSGO-11)
  • Allow SERIAL and LOCAL_SERIAL on SELECT statements (CASSGO-26)
  • Support of sending queries to the specific node with Query.SetHostID() (CASSGO-4)
  • Support for Native Protocol 5. Following protocol changes exposed new API
    Query.SetKeyspace(), Query.WithNowInSeconds(), Batch.SetKeyspace(), Batch.WithNowInSeconds() (CASSGO-1)
  • Externally-defined type registration (CASSGO-43)
  • Add Query and Batch to ObservedQuery and ObservedBatch (CASSGO-73)
  • Add way to create HostInfo objects for testing purposes (CASSGO-71)
  • Add missing Context methods on Query and Batch (CASSGO-81)

Changed

  • Moved the Snappy compressor into its own separate package (CASSGO-33)
  • Move lz4 compressor to lz4 package within the gocql module (CASSGO-32)
  • Don't restrict server authenticator unless PasswordAuthentictor.AllowedAuthenticators is provided (CASSGO-19)
  • Detailed description for NumConns (CASSGO-3)
  • Change Batch API to be consistent with Query() (CASSGO-7)
  • Added Cassandra 4.0 table options support (CASSGO-13)
  • Bumped actions/upload-artifact and actions/cache versions to v4 in CI workflow (CASSGO-48)
  • Keep nil slices in MapScan (CASSGO-44)
  • Improve error messages for marshalling (CASSGO-38)
  • Remove HostPoolHostPolicy from gocql package (CASSGO-21)
  • Standardized spelling of datacenter (CASSGO-35)
  • Refactor HostInfo creation and ConnectAddress() method (CASSGO-45)
  • gocql.Compressor interface changes to follow append-like design (CASSGO-1)
  • Refactoring hostpool package test and Expose HostInfo creation (CASSGO-59)
  • Move "execute batch" methods to Batch type (CASSGO-57)
  • Make Session immutable by removing setters and associated mutex (CASSGO-23)
  • inet columns default to net.IP when using MapScan or SliceMap (CASSGO-43)
  • NativeType removed (CASSGO-43)
  • New and NewWithError removed and replaced with Zero (CASSGO-43)
  • Changes to Query and Batch to make them safely reusable (CASSGO-22)
  • Change logger interface so it supports structured logging and log levels (CASSGO-9)
  • Bump go version in go.mod to 1.19 (CASSGO-34)
  • Change module name to github.com/apache/cassandra-gocql-driver/v2 (CASSGO-70)

Fixed

  • Cassandra version unmarshal fix (CASSGO-49)
  • Retry policy now takes into account query idempotency (CASSGO-27)
  • Don't return error to caller with RetryType Ignore (CASSGO-28)
  • The marshalBigInt return 8 bytes slice in all cases except for big.Int,
    which returns a variable length slice, but should be 8 bytes slice as well (CASSGO-2)
  • Skip metadata only if the prepared result includes metadata (CASSGO-40)
  • Don't panic in MapExecuteBatchCAS if no [applied] column is returned (CASSGO-42)
  • Fix deadlock in refresh debouncer stop (CASSGO-41)
  • Endless query execution fix (CASSGO-50)
  • Accept peers with empty rack (CASSGO-6)
  • Fix tinyint unmarshal regression (CASSGO-82)
  • Vector columns can't be used with SliceMap() (CASSGO-83)

v1.7.0

30 Sep 15:39
v1.7.0

Choose a tag to compare

Changed

  • Update DRIVER_NAME parameter in STARTUP messages to a different value intended to clearly identify this driver as an ASF driver. This should clearly distinguish this release (and future gocql-cassandra-driver releases) from prior versions. (#1824)
  • Supported Go versions updated to 1.23 and 1.22 to conform to gocql's sunset model. (#1825)

v1.6.0

28 Aug 15:23
v1.6.0
34fdeeb

Choose a tag to compare

Added

  • Added the InstaclustrPasswordAuthenticator to the list of default approved authenticators. (#1711)
  • Added the com.scylladb.auth.SaslauthdAuthenticator and com.scylladb.auth.TransitionalAuthenticator
    to the list of default approved authenticators. (#1712)
  • Added transferring Keyspace and Table names to the Query from the prepared response and updating
    information about that every time this information is received. (#1714)

Changed

  • Tracer created with NewTraceWriter now includes the thread information from trace events in the output. (#1716)
  • Increased default timeouts so that they are higher than Cassandra default timeouts.
    This should help prevent issues where a default configuration overloads a server using default timeouts
    during retries. (#1701, #1719)

v1.5.2

12 Jun 16:08
v1.5.2
c27e809

Choose a tag to compare

Same as v1.5.0 (GitHub was not able to verify signature with embedded cleartext gpg message, even with armor lines prefixed)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

2023-06-12:
Switching signing key used for github.com/gocql/gocql tags (since v1.5.0)
from GPG key ID: E0C5EC9218CB255D
to SSH key with the following fingerprint:
SHA256:TcKxeY58a0HRfycY4dCuqMF23FrNyEcclOdVzUI9BBI
You can verify it with
[email protected] namespaces="git" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN8Cnim2/FWQqDJmhidmXK/9VNO64rLfVJrvZqKaLqUl
in your gpg.ssh.allowedSignersFile
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEW7CgRMsA2lq5yf6v4MXskhjLJV0FAmSHOcYACgkQ4MXskhjL
JV2IXhAAye6kQhLwiiCag6bHUKIbKxM0TQHiOZf7aRKYlU2s0aWcsOXMeS6S9pvC
cJqmjBdhDZx569bPrgjAy9+jMoe+rNBR5Cr8dcJUk31cKUTjm/7PsKfiCxfDrbnm
ARDY2Z3vdGJC39mvBjG16UurzAPlRnP66jzyWYaXBiFBJJGWkP1+m+PNG4eF9ggo
6W89MEeK6ZpLCxI0URq2RyB5JEgGkr1Gb9UB4/70euiTjUxeRjS+RHjosGREC0nG
MxfpHND/Z+gOhHXCYt87zrF7N7JWIFU3+4vOj/th8MvMGRYaDzOAKT7MQmc/wc3A
drBA5G/adltjNw9aWTRQGNV69jhaoaIkZfv4fy+AvPDz41iGOQD9Nulw8ujkocUC
8zr4OxPhc0LIX1LtqwA2ahYfJABXnC7ObzqZLyXsE0sW5yvWpPNlF+Bj/slAdO+6
d+4uxGs8dd3N/bOihFL2XZoeOStF6ehT5KIFsbr885FUueu6iRgZYPalfv/aWe95
VIh97ikNsfgFH3mO0ZTGP9tnjSCbGIwG2Oh3+0dj5J4tZU1ihJRKiHJJNQirG1xK
jMdu9EXOEPFK4CPwaXZgHpTy38cFF2MOxHbsrxErCuWJY8JxRpqlJeOyx0F+eTR4
NGQSrMKvxfKd/F192UznSUSfflRTrQT7stUOhZk3Lc4YcCSiDEk=
=em6i
-----END PGP SIGNATURE-----

v1.5.1

12 Jun 16:07
c27e809

Choose a tag to compare

Same as v1.5.0 (GitHub was not able to verify signature with embedded cleartext gpg message)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

2023-06-12:
Switching signing key used for github.com/gocql/gocql tags (since v1.5.0)
from GPG key ID: E0C5EC9218CB255D
to SSH key with the following fingerprint:
SHA256:TcKxeY58a0HRfycY4dCuqMF23FrNyEcclOdVzUI9BBI
You can verify it with
[email protected] namespaces="git" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN8Cnim2/FWQqDJmhidmXK/9VNO64rLfVJrvZqKaLqUl
in your gpg.ssh.allowedSignersFile
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEW7CgRMsA2lq5yf6v4MXskhjLJV0FAmSHOcYACgkQ4MXskhjL
JV2IXhAAye6kQhLwiiCag6bHUKIbKxM0TQHiOZf7aRKYlU2s0aWcsOXMeS6S9pvC
cJqmjBdhDZx569bPrgjAy9+jMoe+rNBR5Cr8dcJUk31cKUTjm/7PsKfiCxfDrbnm
ARDY2Z3vdGJC39mvBjG16UurzAPlRnP66jzyWYaXBiFBJJGWkP1+m+PNG4eF9ggo
6W89MEeK6ZpLCxI0URq2RyB5JEgGkr1Gb9UB4/70euiTjUxeRjS+RHjosGREC0nG
MxfpHND/Z+gOhHXCYt87zrF7N7JWIFU3+4vOj/th8MvMGRYaDzOAKT7MQmc/wc3A
drBA5G/adltjNw9aWTRQGNV69jhaoaIkZfv4fy+AvPDz41iGOQD9Nulw8ujkocUC
8zr4OxPhc0LIX1LtqwA2ahYfJABXnC7ObzqZLyXsE0sW5yvWpPNlF+Bj/slAdO+6
d+4uxGs8dd3N/bOihFL2XZoeOStF6ehT5KIFsbr885FUueu6iRgZYPalfv/aWe95
VIh97ikNsfgFH3mO0ZTGP9tnjSCbGIwG2Oh3+0dj5J4tZU1ihJRKiHJJNQirG1xK
jMdu9EXOEPFK4CPwaXZgHpTy38cFF2MOxHbsrxErCuWJY8JxRpqlJeOyx0F+eTR4
NGQSrMKvxfKd/F192UznSUSfflRTrQT7stUOhZk3Lc4YcCSiDEk=
=em6i
-----END PGP SIGNATURE-----

v1.5.0

12 Jun 15:32
c27e809

Choose a tag to compare

Added

  • gocql now advertises the driver name and version in the STARTUP message to the server.
    The values are taken from the Go module's path and version
    (or from the replacement module, if used). (#1702)
    That allows the server to track which fork of the driver is being used.
  • Query.Values() to retrieve the values bound to the Query.
    This makes writing wrappers around Query easier. (#1700)

Fixed

  • Potential panic on deserialization (#1695)
  • Unmarshalling of dates outside of [1677-09-22, 2262-04-11] range. (#1692)

v1.4.0

26 Apr 13:46
v1.4.0
4367d09

Choose a tag to compare

Changed

  • gocql now refreshes the entire ring when it receives a topology change event and
    when control connection is re-connected.
    This simplifies code managing ring state. (#1680)
  • Supported versions of Cassandra that we test against are now 4.0.x and 4.1.x. (#1685)
  • Default HostDialer now uses already-resolved connect address instead of hostname when establishing TCP connections (#1683).

Fixed

  • Deadlock in Session.Close(). (#1688)
  • Race between Query.Release() and speculative executions (#1684)
  • Missed ring update during control connection reconnection (#1680)

v1.3.2

27 Mar 10:29
v1.3.2
1c9ec8f

Choose a tag to compare

Changed

  • Supported versions of Go that we test against are now Go 1.19 and Go 1.20.

Fixed

  • Node event handling now processes topology events before status events.
    This fixes some cases where new nodes were missed. (#1682)
  • Learning a new IP address for an existing node (identified by host ID) now triggers replacement of that host.
    This fixes some Kubernetes reconnection failures. (#1682)
  • Refresh ring when processing a node UP event for an unknown host.
    This fixes some cases where new nodes were missed. (#1669)

v1.3.1

13 Dec 12:50
v1.3.1

Choose a tag to compare

Fixed

  • Panic in RackAwareRoundRobinPolicy caused by wrong alignment on 32-bit platforms. (#1666)