All Versions
58
Latest Version
Avg Release Cycle
68 days
Latest Release
1471 days ago

Changelog History
Page 4

  • v1.4.0 Changes

    March 15, 2016

    ➕ Added

    • ➕ Added the ability to reference subdocuments when inserting new documents, for more information see the documentation in the readme.
    • ➕ Added the SetTags function which allows RethinkDB-go to override which tags are used when working with structs. For example to support the json add the following call SetTags("gorethink", "json").
    • ➕ Added helper functions for checking the error type of a write query, this is useful when calling RunWrite.
      • Added IsConflictErr which returns true when RethinkDB returns a duplicate key error.
      • Added IsTypeErr which returns true when RethinkDB returns an unexpected type error.
    • ➕ Added the RawQuery term which can be used to execute a raw JSON query, for more information about this query see the godoc.
    • ➕ Added the NextResponse function to Cursor which will return the next raw JSON response in the result set.
    • ➕ Added ability to set the keep alive period by setting the KeepAlivePeriod field in ConnectOpts.

    🛠 Fixed

    • 🛠 Fixed an issue that could prevent bad connections from being removed from the connection pool.
    • 🛠 Fixed certain connection errors not being returned as RqlConnectionError when calling Run, Exec or RunWrite.
    • 🛠 Fixed potential dead lock in connection code caused when building the query.
  • v1.3.2 Changes

    February 01, 2015

    🛠 Fixed

    • 🛠 Fixed race condition in cursor which caused issues when closing a cursor that is in the process of fetching data.
  • v1.3.1 Changes

    January 22, 2015

    ➕ Added

    • Added more documentation and examples for GetAll.

    🛠 Fixed

    • 🛠 Fixed RunWrite not defering its call to Cursor.Close(). This could cause issues if an error occurred when decoding the result.
    • 🛠 Fixed panic when calling Error() on a RethinkDB-go rqlError.
  • v1.3.0 Changes

    January 11, 2016

    ➕ Added

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

    🛠 Fixed

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

    November 19, 2015

    ➕ 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 Changes

    October 02, 2015

    ➕ 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 Changes

    September 06, 2015

    🛠 Fixed

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

    August 28, 2015

    🛠 Fixed

    • Fixed issue when encoding some maps
  • v1.1.1 Changes

    August 21, 2015

    🛠 Fixed

    • Corrected protobuf import
    • Fixed documentation
    • Fixed issues with time pseudotype conversion that caused issues with milliseconds
  • v1.1.0 Changes

    August 19, 2015

    ➕ 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