Releases: tarantool/go-tarantool
v2.4.2
v1.12.3
v2.4.1
This maintenance release marks the end of active development on the v2 branch
v2.4.0
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
ErrConcurrentSchemaUpdateconstant for "concurrent schema update" error (#404).
Now you can check this error witherrors.Is(err, tarantool.ErrConcurrentSchemaUpdate). - Implemented support for
IPROTO_IS_SYNCflag in stream transactions, addedIsSync(bool)method forBeginRequest/CommitRequest(#447).
Fixed
- Fixed panic when calling NewWatcher() during reconnection or after connection is closed (#438).
v2.3.2
This release improves the logic of Connect and pool.Connect in case of a hung I/O connection.
Changed
- Previously,
pool.Connectattempted 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 ofpool.Opts.CheckTimeout(#444).
Fixed
v2.3.1
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
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
StartTarantoolandStopTarantool, now it uses pointer onTarantoolInstance:StartTarantool()returns*TarantoolInstance;StopTarantool()andStopTarantoolWithCleanup()accepts
*TarantoolInstanceas arguments.
- Field
CmdinTarantoolInstancestruct declared as deprecated. SuggestedWait(),Stop()andSignal()methods as safer to use instead of directCmd.Processaccess (#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
v2.2.0
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 inConnectionPool.controller()andConnectionPool.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
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
executeaccess forbox.infois no longer required for ConnectionPool for a Tarantool version >= 3.0.0 (#380).
Bugfixes
ConnectionPool.Remove()does not notify aConnectionHandlerafter an instance is already removed from the pool (#385).