Skip to content

Releases: tarantool/go-tarantool

v1.11.0

18 May 12:23
Compare
Choose a tag to compare

Overview

The release adds pagination support and wrappers for the crud module.

Breaking changes

There are no breaking changes in the release.

New features

  • Support pagination (#246).
  • Support CRUD API (#108).
  • An ability to replace a base network connection to a Tarantool instance (#265).
  • A Makefile target to test with race detector (#218).
  • Missed iterator constant (#285).

Bugfixes

  • Several non-critical data race issues (#218).
  • Build on Apple M1 with OpenSSL (#260).
  • ConnectionPool does not properly handle disconnection with Opts.Reconnect set (#272).
  • Connect() panics on concurrent schema update (#278).
  • Wrong Ttr setup by Queue.Cfg() (#278).
  • Flaky queue/Example_connectionPool (#278).
  • Flaky queue/Example_simpleQueueCustomMsgPack (#277).

Other

  • queue module version bumped to 1.3.0 (#278).

v1.10.0

31 Dec 07:03
Compare
Choose a tag to compare

Overview

The release improves compatibility with new Tarantool versions.

Breaking changes

There are no breaking changes in the release.

New features

  • Support iproto feature discovery (#120).
  • Support errors extended information (#209).
  • Support error type in MessagePack (#209).
  • Support event subscription (#119).
  • Support session settings (#215).
  • Support pap-sha256 authorization method (Tarantool EE feature) (#243).
  • Support graceful shutdown (#214).

Bugfixes

  • Decimal package uses a test variable DecimalPrecision instead of a package-level variable decimalPrecision (#233).
  • Flaky test TestClientRequestObjectsWithContext (#244).
  • Flaky test multi/TestDisconnectAll (#234).

v1.9.0

02 Nov 14:47
Compare
Choose a tag to compare

Overview

The release adds support for the latest version of the queue package with master-replica switching.

Breaking changes

There are no breaking changes in the release.

New features

  • Support the queue 1.2.1 (#177).
  • ConnectionHandler interface for handling changes of connections in ConnectionPool (#178).
  • Execute, ExecuteTyped and ExecuteAsync methods to ConnectionPool (#176).
  • ConnectorAdapter type to use ConnectionPool as Connector interface (#176).
  • An example how to use queue and connection_pool subpackages together (#176).

Bugfixes

  • Mode type description in the connection_pool subpackage (#208).
  • Missed Role type constants in the connection_pool subpackage (#208).
  • ConnectionPool does not close UnknownRole connections (#208).
  • Segmentation faults in ConnectionPool requests after disconnect (#208).
  • Addresses in ConnectionPool may be changed from an external code (#208).
  • ConnectionPool recreates connections too often (#208).
  • A connection is still opened after ConnectionPool.Close() (#208).
  • Future.GetTyped() after Future.Get() does not decode response correctly (#213).
  • Decimal package use a test function GetNumberLength instead of a package-level function getNumberLength (#219).
  • Datetime location after encode + decode is unequal (#217).
  • Wrong interval arithmetic with timezones (#221).
  • Invalid MsgPack if STREAM_ID > 127 (#224).
  • queue.Take() returns an invalid task (#222).

v1.8.0

17 Aug 11:46
Compare
Choose a tag to compare

Overview

The minor release with time zones and interval support for datetime.

Also now you can use go-tarantool with msgpack.v5. To do this, add go_tarantool_msgpack_v5 to your build tags:

$ go build -tags=go_tarantool_msgpack_v5 .

Breaking changes

There are no breaking changes in the release.

New features

  • Optional msgpack.v5 usage (#124).
  • TZ support for datetime (#163).
  • Interval support for datetime (#165).

Bugfixes

  • Markdown of documentation for the decimal subpackage (#201).

v1.7.0

04 Aug 11:20
Compare
Choose a tag to compare

Overview

This release adds a number of features. The extending of the public API has become possible with a new way of creating requests. New types of requests are created via chain calls:

selectReq := NewSelectRequest("space").Context(ctx).Index(1).Offset(5).Limit(10)
future := conn.Do(selectReq)

Streams, context and prepared statements support are based on this idea:

stream, err := conn.NewStream()
if response, err := stream.Do(NewBeginRequest().Context(ctx)).Get(); err != nil {
    selectFuture := stream.Do(selectReq)
    commitFuture := stream.Do(NewCommitRequest())
    // ...
}

Breaking changes

  • NewErrorFuture function removed (#190).
  • IPROTO_* constants that identify requests renamed from <Name>Request to <Name>RequestCode (#126)

New features

  • SSL support (#155).
  • IPROTO_PUSH messages support (#67).
  • Public API with request object types (#126).
  • Support decimal type in msgpack (#96).
  • Support datetime type in msgpack (#118).
  • Prepared SQL statements (#117).
  • Context support for request objects (#48).
  • Streams and interactive transactions support (#101).
  • Call16 method, support build tag go_tarantool_call_17 to choose default behavior for Call method as Call17 (#125)

Bugfixes

  • Add ExecuteAsync and ExecuteTyped to common connector interface (#62).

v1.6.0

02 Jun 11:30
Compare
Choose a tag to compare

Overview

This release adds a number of features. Also it significantly improves testing, CI and documentation.

Breaking changes

There are no breaking changes in the release.

New features

  • Support UUID type in msgpack (#90).
  • queue-utube handling (#85).
  • Master discovery (#113).
  • SQL support (#62).

Bugfixes

  • Reset buffer if its average use size smaller than quater of capacity (#95).

Testing

  • Coveralls support (#149).
  • Reusable testing workflow (integration testing with latest Tarantool) (#112).
  • Simple CI based on GitHub actions (#114).
  • Handle everything with go test (#115).
  • Fix queue tests (#107).
  • Make test case consistent with comments (#105).

Other

  • Go modules support (#91).
  • Update API documentation: comments and examples (#123).