Skip to content

Releases: rethinkdb/rethinkdb-go

v1.3.0

11 Jan 21:06
Compare
Choose a tag to compare

Added

  • Added new error types, the following error types can now be returned (Please note that other errors can be returned): RQLClientError, RQLCompileError, RQLDriverCompileError, RQLServerCompileError, RQLAuthError, RQLRuntimeError, RQLQueryLogicError, RQLNonExistenceError, RQLResourceLimitError, RQLUserError, RQLInternalError, RQLTimeoutError, RQLAvailabilityError, RQLOpFailedError, RQLOpIndeterminateError, RQLDriverError, RQLConnectionError.
  • Added IsConnected function to Session.

Fixed

  • Fixed panic when scanning through results caused by incorrect queue implementation.

v1.2.0

19 Nov 18:09
Compare
Choose a tag to compare

Added

  • Added UUID term
  • Added Values term
  • Added IncludeInitial and ChangefeedQueueSize to ChangesOpts
  • Added UseJSONNumber to ConnectOpts which changes the way the JSON unmarshal works when deserializing JSON with interface{}, it's preferred to use json.Number instead float64 as it preserves the original precision.
  • Added HostDecayDuration to ConnectOpts to configure how hosts are selected. For more information see the godoc.

Changed

  • Timezones from time.Time are now stored in the database, before all times were stored as UTC. To convert a go time.Time back to UTC you can call t.In(time.UTC).
  • Improved host selection to use hailocab/go-hostpool to select nodes based on recent responses and timings.
  • Changed connection pool to use fatih/pool instead of a custom connection pool, this has caused some internal API changes and the behaviour of MaxIdle and MaxOpen has slightly changed. This change was made mostly to make driver maintenance easier.
    • MaxIdle now configures the initial size of the pool, the name of this field will likely change in the future.
    • Not setting MaxOpen no longer creates an unbounded connection pool per host but instead creates a pool with a maximum capacity of 2 per host.

Deprecated

  • Deprecated the option NodeRefreshInterval in ConnectOpts
  • Deprecated SetMaxIdleConns and SetMaxOpenConns, these options should now only be set when creating the session.

Fixed

  • Fixed some type aliases not being correctly encoded when using Expr.

v1.1.4

02 Oct 20:58
Compare
Choose a tag to compare

Added

  • Added root table terms (r.TableCreate, r.TableList and r.TableDrop)

Removed

  • Removed ReadMode option from RunOpts and ExecOpts (incorrectly added in v1.1.0)

Fixed

  • Fixed Decode no longer setting pointer to nil on document not found
  • Fixed panic when fetchMore returns an error
  • Fixed deadlock when closing changefeed
  • Fixed stop query incorrectly waiting for response
  • Fixed pointers not to be properly decoded

v1.1.3

06 Sep 22:36
Compare
Choose a tag to compare

Fixed

  • Fixed pointers not to be properly decoded
  • Fixed queries always timing out when Timeout ConnectOpt is set.

v1.1.2

28 Aug 17:18
Compare
Choose a tag to compare

Fixed

  • Fixed issue when encoding some maps

v1.1.1

21 Aug 20:37
Compare
Choose a tag to compare

Fixed

  • Corrected protobuf import
  • Fixed documentation
  • Fixed issues with time pseudotype conversion that caused issues with milliseconds

v1.1.0

19 Aug 17:59
Compare
Choose a tag to compare

Added

  • Replaced UseOutdated with ReadMode
  • Added EmergencyRepair and NonVotingReplicaTags to ReconfigureOpts
  • Added Union as a root term
  • Added Branch as a root term
  • Added ReadTimeout and WriteTimeout to RunOpts and ExecOpts
  • Exported github.com/Sirupsen/logrus.Logger as Log
  • Added support for encoding maps with non-string keys
  • Added Round, Ceil and Floor terms
  • Added race detector to CI

Changed

  • Changed Timeout connect argument to only configure the connection timeout.
  • Replaced Db with DB in RunOpts and ExecOpts (Db still works for now)
  • Made Cursor and Session safe for concurrent use
  • Replaced ErrClusterClosed with ErrConnectionClosed

Deprecated

  • Deprecated UseOutdated optional argument
  • Deprecated Db in RunOpt

Fixed

  • Fixed race condition in node pool
  • Fixed node refresh issue with RethinkDB 2.1 due to an API change
  • Fixed encoding errors not being returned when running queries

v1.0.0

29 Jun 20:45
Compare
Choose a tag to compare

1.0.0 is finally here, This is the first stable production ready release of GoRethink!

GoRethink Logo

In an attempt to make this library more "idiomatic" some functions have been renamed, for the full list of changes and bug fixes see below.

Added

  • Added more documentation.
  • Added Shards, Replicas and PrimaryReplicaTag optional arguments in TableCreateOpts.
  • Added MultiGroup and MultiGroupByIndex which are equivalent to the running group with the multi optional argument set to true.

Changed

  • Renamed Db to DB.
  • Renamed DbCreate to DBCreate.
  • Renamed DbDrop to DBDrop.
  • Renamed RqlConnectionError to RQLConnectionError.
  • Renamed RqlDriverError to RQLDriverError.
  • Renamed RqlClientError to RQLClientError.
  • Renamed RqlRuntimeError to RQLRuntimeError.
  • Renamed RqlCompileError to RQLCompileError.
  • Renamed Js to JS.
  • Renamed Json to JSON.
  • Renamed Http to HTTP.
  • Renamed GeoJson to GeoJSON.
  • Renamed ToGeoJson to ToGeoJSON.
  • Renamed WriteChanges to ChangeResponse, this is now a general type and can be used when dealing with changefeeds.
  • Removed depth limit when encoding values using Expr

Fixed

  • Fixed issue causing errors when closing a changefeed cursor (#191)
  • Fixed issue causing nodes to remain unhealthy when host discovery is disabled (#195)
  • Fixed issue causing driver to fail when connecting to DB which did not have its canonical address set correctly (#200).
    • Fixed ongoing queries not being properly stopped when closing the cursor.

Removed

  • Removed CacheSize and DataCenter optional arguments in TableCreateOpts.
  • Removed CacheSize optional argument from InsertOpts

v1.0.0 RC1

07 Jun 19:26
Compare
Choose a tag to compare
v1.0.0 RC1 Pre-release
Pre-release

Added

  • Added more documentation.
  • Added Shards, Replicas and PrimaryReplicaTag optional arguments in TableCreateOpts.
  • Added MultiGroup and MultiGroupByIndex which are equivalent to the running group with the multi optional argument set to true.

Changed

  • Renamed Db to DB.
  • Renamed DbCreate to DBCreate.
  • Renamed DbDrop to DBDrop.
  • Renamed RqlConnectionError to RQLConnectionError.
  • Renamed RqlDriverError to RQLDriverError.
  • Renamed RqlClientError to RQLClientError.
  • Renamed RqlRuntimeError to RQLRuntimeError.
  • Renamed RqlCompileError to RQLCompileError.
  • Renamed Js to JS.
  • Renamed Json to JSON.
  • Renamed Http to HTTP.
  • Renamed GeoJson to GeoJSON.
  • Renamed ToGeoJson to ToGeoJSON.
  • Renamed WriteChanges to ChangeResponse, this is now a general type and can be used when dealing with changefeeds.
  • Removed depth limit when encoding values using Expr

Fixed

  • Fixed issue causing inconsistent results when unmarshaling query response into structs (#192)
  • Fixed issue causing errors when closing a changefeed cursor (#191)
  • Fixed issue causing nodes to remain unhealthy when host discovery is disabled (#195)

Removed

  • Removed CacheSize and DataCenter optional arguments in TableCreateOpts.
  • Removed CacheSize optional argument from InsertOpts

v0.7.2

05 May 22:30
Compare
Choose a tag to compare
v0.7.2 Pre-release
Pre-release

Added

  • Added support for connecting to a server using TLS (#179)

Fixed

  • Fixed issue causing driver to fail to connect to servers with the HTTP admin interface disabled (#181)
  • Fixed errors in documentation (#182, #184)
  • Fixed RunWrite not closing the cursor (#185)