Skip to content

Releases: rethinkdb/rethinkdb-go

v0.7.1

19 Apr 16:14
Compare
Choose a tag to compare
v0.7.1 Pre-release
Pre-release

Changed

  • Improved logging of connection errors.

Fixed

  • Fixed bug causing empty times to be inserted into the DB even when the omitempty tag was set.
  • Fixed node status refresh loop leaking goroutines.

v0.7.0 - 2015-04-14

14 Apr 18:33
Compare
Choose a tag to compare
v0.7.0 - 2015-04-14 Pre-release
Pre-release

This release includes support for RethinkDB 2.0 and connecting to clusters. To connect to a cluster you should use the new Addresses field in ConnectOpts, for example:

session, err := r.Connect(r.ConnectOpts{
    Addresses: []string{"localhost:28015", "localhost:28016"},
})
if err != nil {
    log.Fatalln(err.Error())
}

Also added was the ability to read from a cursor using a channel, this is especially useful when using changefeeds. For more information see this gist

cursor, err := r.Table("items").Changes()
ch := make(chan map[string]interface{})
cursor.Listen(ch)

For more details checkout the README and godoc. As always if you have any further questions send me a message on Gitter.

  • Added the ability to connect to multiple nodes, queries are then distributed between these nodes. If a node stops responding then queries stop being sent to this node.
  • Added the DiscoverHosts optional argument to ConnectOpts, when this value is true the driver will listen for new nodes added to the cluster.
  • Added the Addresses optional argument to ConnectOpts, this allows the driver to connect to multiple nodes in a cluster.
  • Added the IncludeStates optional argument to Changes.
  • Added MinVal and MaxVal which represent the smallest and largest possible values.
  • Added the Listen cursor helper function which publishes database results to a channel.
  • Added support for optional arguments for the Wait function.
  • Added the Type function to the Cursor, by default this value will be "Cursor" unless using a changefeed.
  • Changed the IndexesOf function to OffsetsOf .
  • Changed driver to use the v0.4 protocol (used to use v0.3).
  • Fixed geometry tests not properly checking the expected results.
  • Fixed bug causing nil pointer panics when using an Unmarshaler
  • Fixed dropped millisecond precision if given value is too old

v0.6.3 - 2015-03-04

04 Mar 23:22
Compare
Choose a tag to compare
v0.6.3 - 2015-03-04 Pre-release
Pre-release

Added

  • Add IdentifierFormat optarg to TableOpts (#158)

Fixed

  • Fix struct alignment for ARM and x86-32 builds (#153)
  • Fix sprintf format for geometry error message (#157)
  • Fix duplicate if block (#159)
  • Fix incorrect assertion in decoder tests

v0.6.0 - 1 Feb 2015

01 Feb 10:53
Compare
Choose a tag to compare
v0.6.0 - 1 Feb 2015 Pre-release
Pre-release

There are some major changes to the driver with this release that are not related to the RethinkDB v1.16 release. Please have a read through them:

  • Improvements to result decoding by caching reflection calls.
  • Finished implementing the Marshaler/Unmarshaler interfaces
  • Connection pool overhauled. There were a couple of issues with connections in the previous releases so this release replaces the fatih/pool package with a connection pool based on the database/sql connection pool.
  • Another change is the removal of the prefetching mechanism as the connection+cursor logic was becoming quite complex and causing bugs, hopefully this will be added back in the near future but for now I am focusing my efforts on ensuring the driver is as stable as possible #130 #137
  • Due to the above change the API for connecting has changed slightly (The API is now closer to the database/sql API. ConnectOpts changes:
    • MaxActive renamed to MaxOpen
    • IdleTimeout renamed to Timeout
  • Cursors are now only closed automatically when calling either All or One
  • Exec now takes ExecOpts instead of RunOpts. The only difference is that Exec has the NoReply field

With that out the way here are the v1.16 changes:

  • Added Range which generates all numbers from a given range
  • Added an optional squash argument to the changes command, which lets the server combine multiple changes to the same document (defaults to true)
  • Added new admin functions (Config, Rebalance, Reconfigure, Status, Wait)
  • Added support for SUCCESS_ATOM_FEED
  • Added MinIndex + MaxIndex functions
  • Added ToJSON function
  • Updated WriteResponse type

Since this release has a lot of changes and although I have tested these changes sometimes things fall through the gaps. If you discover any bugs please let me know and I will try to fix them as soon as possible.

v0.5.0 - 6 Oct 2014

06 Oct 19:57
Compare
Choose a tag to compare
v0.5.0 - 6 Oct 2014 Pre-release
Pre-release
  • Added geospatial terms (Circle, Distance, Fill, Geojson, ToGeojson, GetIntersecting, GetNearest, Includes, Intersects, Line, Point, Polygon, PolygonSub)
  • Added UUID term for generating unique IDs
  • Added AtIndex term, combines Nth and GetField
  • Added the Geometry type, see the types package
  • Updated the BatchConf field in RunOpts, now uses the BatchOpts type

Internal Changes

  • Fixed encoding performance issues, greatly improves writes/second
  • Updated Next to zero the destination value every time it is called.

v0.4.0

31 Aug 18:00
Compare
Choose a tag to compare
v0.4.0 Pre-release
Pre-release

API changes

  • Updated the driver to support RethinkDB v1.14 (#116)
  • Added the Binary data type
  • Added the Binary command which takes a []byte, io.Reader or bytes.Buffer{} as an argument.
  • Added the BinaryFormat optional argument to RunOpts
  • Added the GroupFormat optional argument to RunOpts
  • Added the ArrayLimit optional argument to RunOpts
  • Renamed the ReturnVals optional argument to ReturnChanges
  • Renamed the Upsert optional argument to Conflict
  • Added the IndexRename command
  • Updated Distinct to now take the Index optional argument (using DistinctOpts)

Internal Changes

  • Updated to use the new JSON protocol
  • Switched the connection pool code to use github.com/fatih/pool
  • Added some benchmarks

v0.2 (RethinkDB v.1.12)

13 Apr 01:05
Compare
Choose a tag to compare
Pre-release
  • Changed Connect to use ConnectOpts instead of map[string]interface{}
  • Migrated to new Group/Ungroup functions, these replace GroupedMapReduce and GroupBy
  • Added new aggregators
  • Removed base parameter for Reduce
  • Added Object function
  • Added Upcase, Downcase and Split string functions
  • Added GROUPED_DATA pseudotype
  • Fixed query printing