tag:github.com,2008:https://github.com/tarantool/go-tarantool/releasesRelease notes from go-tarantool2025-04-14T15:36:42Ztag:github.com,2008:Repository/28226810/v2.3.22025-04-14T16:20:32Zv2.3.2<p>This release improves the logic of <code>Connect</code> and <code>pool.Connect</code> in case of a hung I/O connection.</p>
<h3>Changed</h3>
<ul>
<li>Previously, <code>pool.Connect</code> 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 <code>pool.Opts.CheckTimeout</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2991489985" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/444" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/444/hovercard" href="https://github.com/tarantool/go-tarantool/pull/444">#444</a>).</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Connect() may not cancel Dial() call on context expiration if network connection hangs (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2984751000" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/443" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/443/hovercard" href="https://github.com/tarantool/go-tarantool/pull/443">#443</a>).</li>
<li>pool.Connect() failed to connect to any instance if a first instance connection hangs (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2991489985" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/444" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/444/hovercard" href="https://github.com/tarantool/go-tarantool/pull/444">#444</a>).</li>
</ul>oleg-jukovectag:github.com,2008:Repository/28226810/v2.3.12025-04-03T11:00:24Zv2.3.1<p>The patch releases fixes expected Connect() behavior and reduces allocations.</p>
<h3>Added</h3>
<ul>
<li>A usage of sync.Pool of msgpack.Decoder saves 2 object allocations per a response decoding.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>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 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2946937222" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/436" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/436/hovercard" href="https://github.com/tarantool/go-tarantool/issues/436">#436</a>).</li>
</ul>oleg-jukovectag:github.com,2008:Repository/28226810/v2.3.02025-03-11T08:07:56Zv2.3.0<p>The release extends box.info responses and ConnectionPool.GetInfo return data.</p>
<p>Be careful, we have changed the test_helpers package a little since we do not support backward compatibility for it.</p>
<h3>Added</h3>
<ul>
<li>Extend box with replication information (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2789220782" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/427" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/427/hovercard" href="https://github.com/tarantool/go-tarantool/pull/427">#427</a>).</li>
<li>The Instance info has been added to ConnectionInfo for ConnectionPool.GetInfo response (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2829761805" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/429" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/429/hovercard" href="https://github.com/tarantool/go-tarantool/pull/429">#429</a>).</li>
<li>Added helpers to run Tarantool config storage (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2875527705" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/431" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/431/hovercard" href="https://github.com/tarantool/go-tarantool/pull/431">#431</a>).</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Changed helpers API <code>StartTarantool</code> and <code>StopTarantool</code>, now it uses pointer on <code>TarantoolInstance</code>:
<ul>
<li><code>StartTarantool()</code> returns <code>*TarantoolInstance</code>;</li>
<li><code>StopTarantool()</code> and <code>StopTarantoolWithCleanup()</code> accepts<br>
<code>*TarantoolInstance</code> as arguments.</li>
</ul>
</li>
<li>Field <code>Cmd</code> in <code>TarantoolInstance</code> struct declared as deprecated. Suggested <code>Wait()</code>, <code>Stop()</code> and <code>Signal()</code> methods as safer to use instead of direct <code>Cmd.Process</code> access (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2875527705" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/431" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/431/hovercard" href="https://github.com/tarantool/go-tarantool/pull/431">#431</a>).</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Test helpers does not detect a fail to start a Tarantool instance if another Tarantool instance already listens a port (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2875527705" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/431" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/431/hovercard" href="https://github.com/tarantool/go-tarantool/pull/431">#431</a>).</li>
</ul>oleg-jukovectag:github.com,2008:Repository/28226810/v2.2.12024-12-27T10:49:02Zv2.2.1<h1>Overview</h1>
<p>The release fixes a schema lost after a reconnect.</p>
<h3>Fixed</h3>
<ul>
<li><code>unable to use an index name because schema is not loaded</code> error after a reconnect (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2759525955" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/424" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/424/hovercard" href="https://github.com/tarantool/go-tarantool/pull/424">#424</a>).</li>
</ul>oleg-jukovectag:github.com,2008:Repository/28226810/v2.2.02024-12-16T10:25:48Zv2.2.0<h1>Overview</h1>
<p>The release introduces the IPROTO_INSERT_ARROW request (arrow.InsertRequest) and a request to archive <code>box.info</code> values (box.InfoRequest). Additionally, it includes some improvements to logging.</p>
<h3>Added</h3>
<ul>
<li>Error logging to <code>ConnectionPool.Add()</code> in case, when unable to establish connection and ctx is not canceled (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2203226665" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/389" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/389/hovercard" href="https://github.com/tarantool/go-tarantool/issues/389">#389</a>).</li>
<li>Error logging for error case of <code>ConnectionPool.tryConnect()</code> calls in <code>ConnectionPool.controller()</code> and <code>ConnectionPool.reconnect()</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2203226665" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/389" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/389/hovercard" href="https://github.com/tarantool/go-tarantool/issues/389">#389</a>).</li>
<li>Methods that are implemented but not included in the pooler interface (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2273229638" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/395" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/395/hovercard" href="https://github.com/tarantool/go-tarantool/pull/395">#395</a>).</li>
<li>Implemented stringer methods for pool.Role (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2504424038" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/405" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/405/hovercard" href="https://github.com/tarantool/go-tarantool/issues/405">#405</a>).</li>
<li>Support the IPROTO_INSERT_ARROW request (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2372856437" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/399" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/399/hovercard" href="https://github.com/tarantool/go-tarantool/issues/399">#399</a>).</li>
<li>A simple implementation of using the box interface (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2559462531" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/410" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/410/hovercard" href="https://github.com/tarantool/go-tarantool/issues/410">#410</a>).</li>
</ul>
<h3>Changed</h3>
<ul>
<li>More informative request canceling: log the probable reason for unexpected request ID and add request ID info to context done error message (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2536955519" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/407" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/407/hovercard" href="https://github.com/tarantool/go-tarantool/pull/407">#407</a>).</li>
</ul>oleg-jukovectag:github.com,2008:Repository/28226810/v2.1.02024-03-06T10:26:31Zv2.1.0<h2>Overview</h2>
<p>The small release improves the ConnectionPool. The ConnectionPool is no longer required execute access for <code>box.info</code> from a user for Tarantool >= 3.0.0.</p>
<h2>Breaking changes</h2>
<p>There are no breaking changes in the release.</p>
<h2>New features</h2>
<ul>
<li><code>execute</code> access for <code>box.info</code> is no longer required for ConnectionPool for a Tarantool version >= 3.0.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2121294817" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/380" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/380/hovercard" href="https://github.com/tarantool/go-tarantool/issues/380">#380</a>).</li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li><code>ConnectionPool.Remove()</code> does not notify a <code>ConnectionHandler</code> after an instance is already removed from the pool (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2160606420" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/385" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/385/hovercard" href="https://github.com/tarantool/go-tarantool/pull/385">#385</a>).</li>
</ul>oleg-jukovectag:github.com,2008:Repository/28226810/v2.0.02024-02-12T17:45:32Zv2.0.0<h2>Overview</h2>
<p>There are many changes in the new major version. The main ones:</p>
<ul>
<li>The <code>go_tarantool_call_17</code> build tag is no longer needed, since by default the <code>CallRequest</code> is <code>Call17Request</code>.</li>
<li>The <code>go_tarantool_msgpack_v5</code> build tag is no longer needed, since only the <code>msgpack/v5</code> library is used.</li>
<li>The <code>go_tarantool_ssl_disable</code> build tag is no longer needed, since the connector is no longer depends on <code>OpenSSL</code> by default. You could use the external library <a href="https://github.com/tarantool/go-tlsdialer">go-tlsdialer</a> to create a connection with the <code>ssl</code> transport.</li>
<li>Required Go version is <code>1.20</code> now.</li>
<li>The <code>Connect</code> function became more flexible. It now allows to create a connection with cancellation and a custom <code>Dialer</code> implementation.</li>
<li>It is required to use <code>Request</code> implementation types with the <code>Connection.Do</code> method instead of <code>Connection.<Request></code> methods.</li>
<li>The <code>connection_pool</code> package renamed to <code>pool</code>.</li>
</ul>
<p>See the <a href="https://github.com/tarantool/go-tarantool/blob/master/MIGRATION.md">migration guide</a> for more details.</p>
<h2>Breaking changes</h2>
<ul>
<li>connection_pool renamed to pool (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463810355" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/239" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/239/hovercard" href="https://github.com/tarantool/go-tarantool/issues/239">#239</a>).</li>
<li>Use msgpack/v5 instead of msgpack.v2 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463774133" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/236" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/236/hovercard" href="https://github.com/tarantool/go-tarantool/issues/236">#236</a>).</li>
<li>Call/NewCallRequest = Call17/NewCall17Request (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463771672" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/235" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/235/hovercard" href="https://github.com/tarantool/go-tarantool/issues/235">#235</a>).</li>
<li>Change encoding of the queue.Identify() UUID argument from binary blob to plain string. Needed for upgrade to Tarantool 3.0, where a binary blob is decoded to a varbinary object (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1777056560" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/313" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/313/hovercard" href="https://github.com/tarantool/go-tarantool/pull/313">#313</a>).</li>
<li>Use objects of the Decimal type instead of pointers (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463806641" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/238" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/238/hovercard" href="https://github.com/tarantool/go-tarantool/issues/238">#238</a>).</li>
<li>Use objects of the Datetime type instead of pointers (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463806641" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/238" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/238/hovercard" href="https://github.com/tarantool/go-tarantool/issues/238">#238</a>).</li>
<li><code>connection.Connect</code> no longer return non-working connection objects (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1105689581" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/136" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/136/hovercard" href="https://github.com/tarantool/go-tarantool/issues/136">#136</a>). This function now does not attempt to reconnect and tries to establish a connection only once. Function might be canceled via context. Context accepted as first argument. <code>pool.Connect</code> and <code>pool.Add</code> now accept context as the first argument, which user may cancel in process. If <code>pool.Connect</code> is canceled in progress, an error will be returned. All created connections will be closed.</li>
<li><code>iproto.Feature</code> type now used instead of <code>ProtocolFeature</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1940294672" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/337" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/337/hovercard" href="https://github.com/tarantool/go-tarantool/issues/337">#337</a>).</li>
<li><code>iproto.IPROTO_FEATURE_</code> constants now used instead of local <code>Feature</code> constants for <code>protocol</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1940294672" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/337" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/337/hovercard" href="https://github.com/tarantool/go-tarantool/issues/337">#337</a>).</li>
<li>Change <code>crud</code> operations <code>Timeout</code> option type to <code>crud.OptFloat64</code> instead of <code>crud.OptUint</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1970272297" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/342" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/342/hovercard" href="https://github.com/tarantool/go-tarantool/issues/342">#342</a>).</li>
<li>Change all <code>Upsert</code> and <code>Update</code> requests to accept <code>*tarantool.Operations</code> as <code>ops</code> parameters instead of <code>interface{}</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1976260495" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/348" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/348/hovercard" href="https://github.com/tarantool/go-tarantool/issues/348">#348</a>).</li>
<li>Change <code>OverrideSchema(*Schema)</code> to <code>SetSchema(Schema)</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="120358039" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/7" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/7/hovercard" href="https://github.com/tarantool/go-tarantool/issues/7">#7</a>).</li>
<li>Change values, stored by pointers in the <code>Schema</code>, <code>Space</code>, <code>Index</code> structs, to be stored by their values (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="120358039" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/7" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/7/hovercard" href="https://github.com/tarantool/go-tarantool/issues/7">#7</a>).</li>
<li>Make <code>Dialer</code> mandatory for creation a single connection (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1828887009" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/321" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/321/hovercard" href="https://github.com/tarantool/go-tarantool/issues/321">#321</a>).</li>
<li>Remove <code>Connection.RemoteAddr()</code>, <code>Connection.LocalAddr()</code>. Add <code>Addr()</code> function instead (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1828887009" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/321" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/321/hovercard" href="https://github.com/tarantool/go-tarantool/issues/321">#321</a>).</li>
<li>Remove <code>Connection.ClientProtocolInfo</code>, <code>Connection.ServerProtocolInfo</code>. Add <code>ProtocolInfo()</code> function instead, which returns the server protocol info (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1828887009" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/321" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/321/hovercard" href="https://github.com/tarantool/go-tarantool/issues/321">#321</a>).</li>
<li><code>NewWatcher</code> checks the actual features of the server, rather than relying on the features provided by the user during connection creation (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1828887009" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/321" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/321/hovercard" href="https://github.com/tarantool/go-tarantool/issues/321">#321</a>).</li>
<li><code>pool.NewWatcher</code> does not create watchers for connections that do not support it (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1828887009" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/321" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/321/hovercard" href="https://github.com/tarantool/go-tarantool/issues/321">#321</a>).</li>
<li>Rename <code>pool.GetPoolInfo</code> to <code>pool.GetInfo</code>. Change return type to <code>map[string]ConnectionInfo</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1828887009" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/321" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/321/hovercard" href="https://github.com/tarantool/go-tarantool/issues/321">#321</a>).</li>
<li><code>Response</code> is now an interface (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463779400" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/237" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/237/hovercard" href="https://github.com/tarantool/go-tarantool/issues/237">#237</a>).</li>
<li>All responses are now implementations of the <code>Response</code> interface (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463779400" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/237" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/237/hovercard" href="https://github.com/tarantool/go-tarantool/issues/237">#237</a>). <code>SelectResponse</code>, <code>ExecuteResponse</code>, <code>PrepareResponse</code>, <code>PushResponse</code> are part of a public API. <code>Pos()</code>, <code>MetaData()</code>, <code>SQLInfo()</code> methods created for them to get specific info. Special types of responses are used with special requests.</li>
<li><code>IsPush()</code> method is added to the response iterator (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463779400" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/237" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/237/hovercard" href="https://github.com/tarantool/go-tarantool/issues/237">#237</a>). It returns the information if the current response is a <code>PushResponse</code>. <code>PushCode</code> constant is removed.</li>
<li>Method <code>Get</code> for <code>Future</code> now returns response data (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463779400" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/237" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/237/hovercard" href="https://github.com/tarantool/go-tarantool/issues/237">#237</a>). To get the actual response new <code>GetResponse</code> method has been added. Methods <code>AppendPush</code> and <code>SetResponse</code> accept response <code>Header</code> and data as their arguments.</li>
<li><code>Future</code> constructors now accept <code>Request</code> as their argument (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463779400" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/237" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/237/hovercard" href="https://github.com/tarantool/go-tarantool/issues/237">#237</a>).</li>
<li>Operations <code>Ping</code>, <code>Select</code>, <code>Insert</code>, <code>Replace</code>, <code>Delete</code>, <code>Update</code>, <code>Upsert</code>, <code>Call</code>, <code>Call16</code>, <code>Call17</code>, <code>Eval</code>, <code>Execute</code> of a <code>Connector</code> and <code>Pooler</code> return response data instead of an actual responses (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463779400" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/237" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/237/hovercard" href="https://github.com/tarantool/go-tarantool/issues/237">#237</a>).</li>
<li><code>pool.Connect</code>, <code>pool.ConnetcWithOpts</code> and <code>pool.Add</code> use a new type <code>pool.Instance</code> to determinate connection options (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2012584601" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/356" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/356/hovercard" href="https://github.com/tarantool/go-tarantool/issues/356">#356</a>).</li>
<li><code>pool.Connect</code>, <code>pool.ConnectWithOpts</code> and <code>pool.Add</code> add connections to the pool even it is unable to connect to it (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2098194678" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/372" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/372/hovercard" href="https://github.com/tarantool/go-tarantool/issues/372">#372</a>).</li>
<li>Required Go version from <code>1.13</code> to <code>1.20</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2116493790" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/378" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/378/hovercard" href="https://github.com/tarantool/go-tarantool/issues/378">#378</a>).</li>
<li>multi subpackage is removed (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463811546" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/240" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/240/hovercard" href="https://github.com/tarantool/go-tarantool/issues/240">#240</a>).</li>
<li>msgpack.v2 support is removed (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463774133" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/236" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/236/hovercard" href="https://github.com/tarantool/go-tarantool/issues/236">#236</a>).</li>
<li>pool/RoundRobinStrategy is removed (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1194773760" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/158" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/158/hovercard" href="https://github.com/tarantool/go-tarantool/issues/158">#158</a>).</li>
<li>DeadlineIO is removed (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1194773760" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/158" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/158/hovercard" href="https://github.com/tarantool/go-tarantool/issues/158">#158</a>).</li>
<li>UUID_extId is removed (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1194773760" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/158" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/158/hovercard" href="https://github.com/tarantool/go-tarantool/issues/158">#158</a>).</li>
<li>IPROTO constants are removed (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1194773760" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/158" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/158/hovercard" href="https://github.com/tarantool/go-tarantool/issues/158">#158</a>).</li>
<li>Code() method from the Request interface is removed (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1194773760" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/158" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/158/hovercard" href="https://github.com/tarantool/go-tarantool/issues/158">#158</a>).</li>
<li><code>Schema</code> field from the <code>Connection</code> struct is removed (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="120358039" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/7" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/7/hovercard" href="https://github.com/tarantool/go-tarantool/issues/7">#7</a>).</li>
<li><code>OkCode</code> and <code>PushCode</code> constants are removed (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463779400" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/237" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/237/hovercard" href="https://github.com/tarantool/go-tarantool/issues/237">#237</a>).</li>
<li>SSL support is removed (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1745845578" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/301" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/301/hovercard" href="https://github.com/tarantool/go-tarantool/issues/301">#301</a>).</li>
<li><code>Future.Err()</code> method is removed (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2125563240" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/382" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/382/hovercard" href="https://github.com/tarantool/go-tarantool/pull/382">#382</a>).</li>
</ul>
<h2>New features</h2>
<ul>
<li>Type() method to the Request interface (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1194773760" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/158" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/158/hovercard" href="https://github.com/tarantool/go-tarantool/issues/158">#158</a>).</li>
<li>Enumeration types for RLimitAction/iterators (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1194773760" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/158" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/158/hovercard" href="https://github.com/tarantool/go-tarantool/issues/158">#158</a>).</li>
<li>IsNullable flag for Field (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1748455850" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/302" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/302/hovercard" href="https://github.com/tarantool/go-tarantool/pull/302">#302</a>).</li>
<li>Meaningful description for read/write socket errors (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1089289850" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/129" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/129/hovercard" href="https://github.com/tarantool/go-tarantool/issues/129">#129</a>).</li>
<li>Support <code>operation_data</code> in <code>crud.Error</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1857837640" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/330" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/330/hovercard" href="https://github.com/tarantool/go-tarantool/issues/330">#330</a>).</li>
<li>Support <code>fetch_latest_metadata</code> option for crud requests with metadata (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1928559469" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/335" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/335/hovercard" href="https://github.com/tarantool/go-tarantool/pull/335">#335</a>).</li>
<li>Support <code>noreturn</code> option for data change crud requests (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1928559469" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/335" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/335/hovercard" href="https://github.com/tarantool/go-tarantool/pull/335">#335</a>).</li>
<li>Support <code>crud.schema</code> request (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1935368658" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/336" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/336/hovercard" href="https://github.com/tarantool/go-tarantool/pull/336">#336</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1983626659" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/351" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/351/hovercard" href="https://github.com/tarantool/go-tarantool/pull/351">#351</a>).</li>
<li>Support <code>IPROTO_WATCH_ONCE</code> request type for Tarantool version >= 3.0.0-alpha1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1940294672" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/337" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/337/hovercard" href="https://github.com/tarantool/go-tarantool/issues/337">#337</a>).</li>
<li>Support <code>yield_every</code> option for crud select requests (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1981477870" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/350" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/350/hovercard" href="https://github.com/tarantool/go-tarantool/pull/350">#350</a>).</li>
<li>Support <code>IPROTO_FEATURE_SPACE_AND_INDEX_NAMES</code> for Tarantool version >= 3.0.0-alpha1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1951655782" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/338" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/338/hovercard" href="https://github.com/tarantool/go-tarantool/issues/338">#338</a>). It allows to use space and index names in requests instead of their IDs.</li>
<li><code>GetSchema</code> function to get the actual schema (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="120358039" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/7" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/7/hovercard" href="https://github.com/tarantool/go-tarantool/issues/7">#7</a>).</li>
<li>Support connection via an existing socket fd (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1828887009" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/321" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/321/hovercard" href="https://github.com/tarantool/go-tarantool/issues/321">#321</a>).</li>
<li><code>Header</code> struct for the response header (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463779400" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/237" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/237/hovercard" href="https://github.com/tarantool/go-tarantool/issues/237">#237</a>). It can be accessed via <code>Header()</code> method of the <code>Response</code> interface.</li>
<li><code>Response</code> method added to the <code>Request</code> interface (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463779400" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/237" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/237/hovercard" href="https://github.com/tarantool/go-tarantool/issues/237">#237</a>).</li>
<li>New <code>LogAppendPushFailed</code> connection log constant (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463779400" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/237" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/237/hovercard" href="https://github.com/tarantool/go-tarantool/issues/237">#237</a>). It is logged when connection fails to append a push response.</li>
<li><code>ErrorNo</code> constant that indicates that no error has occurred while getting the response (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463779400" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/237" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/237/hovercard" href="https://github.com/tarantool/go-tarantool/issues/237">#237</a>).</li>
<li><code>AuthDialer</code> type for creating a dialer with authentication (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1745845578" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/301" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/301/hovercard" href="https://github.com/tarantool/go-tarantool/issues/301">#301</a>).</li>
<li><code>ProtocolDialer</code> type for creating a dialer with <code>ProtocolInfo</code> receiving and check (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1745845578" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/301" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/301/hovercard" href="https://github.com/tarantool/go-tarantool/issues/301">#301</a>).</li>
<li><code>GreetingDialer</code> type for creating a dialer, that fills <code>Greeting</code> of a connection (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1745845578" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/301" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/301/hovercard" href="https://github.com/tarantool/go-tarantool/issues/301">#301</a>).</li>
<li>New method <code>Pool.DoInstance</code> to execute a request on a target instance in a pool (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2107617382" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/376" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/376/hovercard" href="https://github.com/tarantool/go-tarantool/issues/376">#376</a>).</li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li>Race condition at roundRobinStrategy.GetNextConnection() (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1775848502" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/309" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/309/hovercard" href="https://github.com/tarantool/go-tarantool/issues/309">#309</a>).</li>
<li>Incorrect decoding of an MP_DECIMAL when the <code>scale</code> value is negative (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1778555350" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/314" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/314/hovercard" href="https://github.com/tarantool/go-tarantool/pull/314">#314</a>).</li>
<li>Incorrect options (<code>after</code>, <code>batch_size</code> and <code>force_map_call</code>) setup for crud.SelectRequest (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1827429762" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/320" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/320/hovercard" href="https://github.com/tarantool/go-tarantool/issues/320">#320</a>).</li>
<li>Incorrect options (<code>vshard_router</code>, <code>fields</code>, <code>bucket_id</code>, <code>mode</code>, <code>prefer_replica</code>, <code>balance</code>) setup for crud.GetRequest (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1928559469" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/335" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/335/hovercard" href="https://github.com/tarantool/go-tarantool/pull/335">#335</a>).</li>
<li>Splice update operation accepts 3 arguments instead of 5 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1976260495" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/348" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/348/hovercard" href="https://github.com/tarantool/go-tarantool/issues/348">#348</a>).</li>
<li>Unable to use a slice of custom types as a slice of tuples or objects for <code>crud.*ManyRequest/crud.*ObjectManyRequest</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2048615878" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/365" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/365/hovercard" href="https://github.com/tarantool/go-tarantool/issues/365">#365</a>).</li>
</ul>
<h2>Testing</h2>
<ul>
<li>More linters on CI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1776913702" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/310" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/310/hovercard" href="https://github.com/tarantool/go-tarantool/pull/310">#310</a>).</li>
<li>Added an ability to mock connections for tests (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463779400" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/237" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/237/hovercard" href="https://github.com/tarantool/go-tarantool/issues/237">#237</a>). Added new types <code>MockDoer</code>, <code>MockRequest</code> to <code>test_helpers</code>.</li>
<li>Fixed flaky decimal/TestSelect (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1745311732" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/300" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/300/hovercard" href="https://github.com/tarantool/go-tarantool/pull/300">#300</a>).</li>
<li>Fixed tests with crud 1.4.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1935368658" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/336" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/336/hovercard" href="https://github.com/tarantool/go-tarantool/pull/336">#336</a>).</li>
<li>Fixed tests with case sensitive SQL (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1961497517" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/341" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/341/hovercard" href="https://github.com/tarantool/go-tarantool/pull/341">#341</a>).</li>
<li>Renamed <code>StrangerResponse</code> to <code>MockResponse</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463779400" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/237" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/237/hovercard" href="https://github.com/tarantool/go-tarantool/issues/237">#237</a>).</li>
</ul>
<h2>Other</h2>
<ul>
<li>All Connection., Connection.Typed and Connection.Async methods are now deprecated. Instead you should use requests objects + Connection.Do() (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463820741" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/241" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/241/hovercard" href="https://github.com/tarantool/go-tarantool/issues/241">#241</a>).</li>
<li>All ConnectionPool., ConnectionPool.Typed and ConnectionPool.Async methods are now deprecated. Instead you should use requests objects + ConnectionPool.Do() (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463820741" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/241" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/241/hovercard" href="https://github.com/tarantool/go-tarantool/issues/241">#241</a>).</li>
<li>box.session.push() usage is deprecated: Future.AppendPush() and Future.GetIterator() methods, ResponseIterator and TimeoutResponseIterator types (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1831553781" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/324" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/324/hovercard" href="https://github.com/tarantool/go-tarantool/issues/324">#324</a>).</li>
</ul>oleg-jukovectag:github.com,2008:Repository/28226810/v1.12.22024-01-11T10:25:13Zv1.12.2<h2>Overview</h2>
<p>The patch release imports fixes from the master branch.</p>
<h2>Breaking changes</h2>
<p>There are no breaking changes in the release.</p>
<h2>Bugfixes</h2>
<ul>
<li>Tests with crud 1.4.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1935368658" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/336" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/336/hovercard" href="https://github.com/tarantool/go-tarantool/pull/336">#336</a>).</li>
<li>Tests with case sensitive SQL (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1961497517" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/341" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/341/hovercard" href="https://github.com/tarantool/go-tarantool/pull/341">#341</a>).</li>
<li>Potentially packet length overflow when reading (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2025978588" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/361" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/361/hovercard" href="https://github.com/tarantool/go-tarantool/pull/361">#361</a>).</li>
</ul>oleg-jukovectag:github.com,2008:Repository/28226810/v1.12.12023-08-07T11:49:20Zv1.12.1<h2>Overview</h2>
<p>The patch release imports fixes from the master branch.</p>
<h2>Breaking changes</h2>
<p>There are no breaking changes in the release.</p>
<h2>Bugfixes</h2>
<ul>
<li>Flaky decimal/TestSelect (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1745311732" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/300" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/300/hovercard" href="https://github.com/tarantool/go-tarantool/pull/300">#300</a>).</li>
<li>Race condition at roundRobinStrategy.GetNextConnection() (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1775848502" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/309" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/309/hovercard" href="https://github.com/tarantool/go-tarantool/issues/309">#309</a>).</li>
<li>Incorrect decoding of an MP_DECIMAL when the <code>scale</code> value is negative (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1778555350" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/314" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/314/hovercard" href="https://github.com/tarantool/go-tarantool/pull/314">#314</a>).</li>
<li>Incorrect options (<code>after</code>, <code>batch_size</code> and <code>force_map_call</code>) setup for crud.SelectRequest (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1827429762" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/320" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/320/hovercard" href="https://github.com/tarantool/go-tarantool/issues/320">#320</a>).</li>
</ul>
<h2>Other</h2>
<ul>
<li>Change encoding of the queue.Identify() UUID argument from binary blob to plain string. Needed for upgrade to Tarantool 3.0, where a binary blob is decoded to a varbinary object (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1777056560" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/313" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/313/hovercard" href="https://github.com/tarantool/go-tarantool/pull/313">#313</a>).</li>
</ul>oleg-jukovectag:github.com,2008:Repository/28226810/v1.12.02023-06-07T08:54:41Zv1.12.0<h2>Overview</h2>
<p>The release introduces the ability to gracefully close Connection and ConnectionPool and also provides methods for adding or removing an endpoint from a ConnectionPool.</p>
<h2>Breaking changes</h2>
<p>There are no breaking changes in the release.</p>
<h2>New features</h2>
<ul>
<li>ConnectionPool.Add()/ConnectionPool.Remove() to add/remove endpoints from a pool (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1706449803" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/290" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/290/hovercard" href="https://github.com/tarantool/go-tarantool/issues/290">#290</a>).</li>
<li>Connection.CloseGraceful() unlike Connection.Close() waits for all requests to complete (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1512769917" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/257" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/257/hovercard" href="https://github.com/tarantool/go-tarantool/issues/257">#257</a>).</li>
<li>ConnectionPool.CloseGraceful() unlike ConnectionPool.Close() waits for all requests to complete (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1512769917" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/257" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/257/hovercard" href="https://github.com/tarantool/go-tarantool/issues/257">#257</a>).</li>
</ul>
<h2>Other</h2>
<ul>
<li>Updates crud tests with Tarantool 3.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1715460805" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/293" data-hovercard-type="issue" data-hovercard-url="/tarantool/go-tarantool/issues/293/hovercard" href="https://github.com/tarantool/go-tarantool/issues/293">#293</a>).</li>
<li>Updates SQL tests with Tarantool 3.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1724591774" data-permission-text="Title is private" data-url="https://github.com/tarantool/go-tarantool/issues/295" data-hovercard-type="pull_request" data-hovercard-url="/tarantool/go-tarantool/pull/295/hovercard" href="https://github.com/tarantool/go-tarantool/pull/295">#295</a>).</li>
</ul>oleg-jukovec