Skip to content

Releases: tarantool/go-tarantool

v2.4.2

17 Feb 10:15

Choose a tag to compare

The patch release with fixes from static analyzer.

Fixed

  • Fix similar branches in decimal/bcd.go detected by Svacer static analyzer (#533).

v1.12.3

17 Feb 10:13

Choose a tag to compare

The patch release with fixes from static analyzer.

Fixed

  • Fix similar branches in decimal/bcd.go detected by Svacer static analyzer (#534).

v2.4.1

23 Oct 19:00

Choose a tag to compare

This maintenance release marks the end of active development on the v2 branch

v2.4.0

11 Jul 18:56

Choose a tag to compare

This release focuses on adding schema/user/session operations, synchronous transaction flag handling, and fixes watcher panic.

Added

  • Implemented all box.schema.user operations requests and sugar interface (#426).
  • Implemented box.session.su request and sugar interface only for current session granting (#426).
  • Defined ErrConcurrentSchemaUpdate constant for "concurrent schema update" error (#404).
    Now you can check this error with errors.Is(err, tarantool.ErrConcurrentSchemaUpdate).
  • Implemented support for IPROTO_IS_SYNC flag in stream transactions, added IsSync(bool) method for BeginRequest/CommitRequest (#447).

Fixed

  • Fixed panic when calling NewWatcher() during reconnection or after connection is closed (#438).

v2.3.2

14 Apr 16:20

Choose a tag to compare

This release improves the logic of Connect and pool.Connect in case of a hung I/O connection.

Changed

  • Previously, pool.Connect attempted to establish a connection one after another instance. It could cause the entire chain to hang if one connection hanged. Now connections are established in parallel. After the first successful connection, the remaining connections wait with a timeout of pool.Opts.CheckTimeout (#444).

Fixed

  • Connect() may not cancel Dial() call on context expiration if network connection hangs (#443).
  • pool.Connect() failed to connect to any instance if a first instance connection hangs (#444).

v2.3.1

03 Apr 11:00

Choose a tag to compare

The patch releases fixes expected Connect() behavior and reduces allocations.

Added

  • A usage of sync.Pool of msgpack.Decoder saves 2 object allocations per a response decoding.

Changed

  • Connect() now retry the connection if a failure occurs and opts.Reconnect > 0. The number of attempts is equal to opts.MaxReconnects or unlimited if opts.MaxReconnects == 0. Connect() blocks until a connection is established, the context is cancelled, or the number of attempts is exhausted (#436).

v2.3.0

11 Mar 08:07
252c3b7

Choose a tag to compare

The release extends box.info responses and ConnectionPool.GetInfo return data.

Be careful, we have changed the test_helpers package a little since we do not support backward compatibility for it.

Added

  • Extend box with replication information (#427).
  • The Instance info has been added to ConnectionInfo for ConnectionPool.GetInfo response (#429).
  • Added helpers to run Tarantool config storage (#431).

Changed

  • Changed helpers API StartTarantool and StopTarantool, now it uses pointer on TarantoolInstance:
    • StartTarantool() returns *TarantoolInstance;
    • StopTarantool() and StopTarantoolWithCleanup() accepts
      *TarantoolInstance as arguments.
  • Field Cmd in TarantoolInstance struct declared as deprecated. Suggested Wait(), Stop() and Signal() methods as safer to use instead of direct Cmd.Process access (#431).

Fixed

  • Test helpers does not detect a fail to start a Tarantool instance if another Tarantool instance already listens a port (#431).

v2.2.1

27 Dec 10:49

Choose a tag to compare

Overview

The release fixes a schema lost after a reconnect.

Fixed

  • unable to use an index name because schema is not loaded error after a reconnect (#424).

v2.2.0

16 Dec 10:25

Choose a tag to compare

Overview

The release introduces the IPROTO_INSERT_ARROW request (arrow.InsertRequest) and a request to archive box.info values (box.InfoRequest). Additionally, it includes some improvements to logging.

Added

  • Error logging to ConnectionPool.Add() in case, when unable to establish connection and ctx is not canceled (#389).
  • Error logging for error case of ConnectionPool.tryConnect() calls in ConnectionPool.controller() and ConnectionPool.reconnect() (#389).
  • Methods that are implemented but not included in the pooler interface (#395).
  • Implemented stringer methods for pool.Role (#405).
  • Support the IPROTO_INSERT_ARROW request (#399).
  • A simple implementation of using the box interface (#410).

Changed

  • More informative request canceling: log the probable reason for unexpected request ID and add request ID info to context done error message (#407).

v2.1.0

06 Mar 10:26

Choose a tag to compare

Overview

The small release improves the ConnectionPool. The ConnectionPool is no longer required execute access for box.info from a user for Tarantool >= 3.0.0.

Breaking changes

There are no breaking changes in the release.

New features

  • execute access for box.info is no longer required for ConnectionPool for a Tarantool version >= 3.0.0 (#380).

Bugfixes

  • ConnectionPool.Remove() does not notify a ConnectionHandler after an instance is already removed from the pool (#385).