Commit
Also, remove unreleased/ entries. NO_DOC=changelog NO_TEST=changelog NO_CHANGELOG=changelog
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,161 @@ | ||
# 2.11.3 | ||
|
||
Date: 2024-04-17 | ||
Tag: 2.11.3 | ||
|
||
## Overview | ||
|
||
2.11.3 is the next stable release in the [long-term support (LTS) | ||
version][release_policy][release_policy] 2.11.x release series. | ||
|
||
The label "stable" means there are 1.10.x-based applications running in | ||
production for quite a while without known crashes, incorrect results or | ||
other showstopper bugs. | ||
|
||
This release introduces 1 improvements and resolves roughly 54 | ||
issues since the 2.11.2 version. | ||
|
||
[release_policy]: https://www.tarantool.io/en/doc/latest/release/policy/ | ||
[issues]: https://github.com/tarantool/tarantool/issues | ||
|
||
## Compatibility | ||
|
||
Tarantool 2.11.x is backward compatible with Tarantool 1.10.x in binary data | ||
layout, client-server protocol and replication protocol. | ||
|
||
Please [upgrade][upgrade] using the `box.schema.upgrade()` procedure to unlock | ||
all the new features of the 2.11.x series. | ||
|
||
[upgrade]: https://www.tarantool.io/en/doc/latest/book/admin/upgrades/ | ||
|
||
## Functionality added or changed | ||
|
||
### Tools | ||
|
||
* Added the `--human-readable` option for the `misc.memprof` parser to print | ||
sizes like 1KiB, 234MiB, 2GiB, etc. | ||
Made the errors from the profilers more user-friendly (gh-9217). | ||
|
||
## Bugs fixed | ||
|
||
### Core | ||
|
||
* Fixed a bug when the assertion in `box_wait_limbo_acked` would fail. The | ||
assertion is that the lsn of the last entry in limbo is always positive after | ||
`wal_sync`. Before the patch, if the `replication_synchro_quorum` was set too | ||
high on the replica, it would never be reached. After the timeout was | ||
triggered, the user received a `TimedOut` error. If the quorum was greater | ||
than or equal to the number of instances in the replica set, the program | ||
immediately stopped with a segmentation fault (gh-9235). | ||
* Fixed a bug when the assertion in `box_promote_qsync` would fail in the | ||
debug build mode. The assertion is that at the moment when `box_promote_qsync` | ||
is called, no other promote is being executed. It turned out that this | ||
assertion is basically incorrect. In the release build mode, this incorrect | ||
assumption could potentially lead to writing 2 PROMOTE entries in the same | ||
term (gh-9263). | ||
* The error messages are no longer stripped (gh-4975). | ||
* Increased the maximum number of tuples in a hash index from 2147483648 (2^31) | ||
to 4294967288 (2^32 - 8) (gh-9864). | ||
* Fixed a bug that resulted in a crash when both MVCC and index with the `exclude_null` part were used (gh-9954). | ||
* Now `box.cfg()` correctly interprets the `TT_LISTEN` and `TT_REPLICATION` | ||
environment variables with query parameters (gh-9539). | ||
* The `exclude_null` option is now supported by functional indexes (gh-9732). | ||
|
||
### Replication | ||
|
||
* Now transactions are not rolled back if the transaction fiber is | ||
cancelled when waiting for quorum from replicas (gh-9480). | ||
* Fixed a bug when replication broke with `ER_PROTOCOL` when transactions ended | ||
with a local space operation (gh-9491). | ||
* Fixed an issue when it was possible to use the | ||
`box_collect_confirmed_vclock` stack after return (gh-9505). | ||
|
||
### LuaJIT | ||
|
||
Backported patches from the vanilla LuaJIT trunk (gh-9145, gh-9595). The | ||
following issues were fixed as part of this activity: | ||
|
||
* Fixed CSE of a `REF_BASE` operand across `IR_RETF`. | ||
* Fixed the fold rule for `BUFHDR APPEND`. | ||
* Fixed HREFK, ALOAD, HLOAD, forwarding vs. `table.clear()`. | ||
* Fixed snapshot PC when linking to `BC_JLOOP` that was a `BC_RET*`. | ||
* Fixed dangling references to CType. | ||
* Ensured returned string is alive in `ffi.typeinfo()`. | ||
* Fixed the missing initialization of the internal structure, leading to a | ||
crash when recording a trace with an allocation of cdata. | ||
* Limited exponent range in number parsing by `2^20`. | ||
* Fixed double-emitting of `IR_NEWREF` when restoring sunk values for side | ||
trace (gh-7937). | ||
* Fixed the `IR_HREFK` optimization for huge tables. | ||
* Fixed recording of the `__concat` metamethod. | ||
* Fixed the embedded bytecode loader. | ||
* Improved error reporting on stack overflow. | ||
* Fixed assertion on the Lua stack overflow for a stitched trace. | ||
* Fixed snapshoting of functions for non-base frames. | ||
* Fixed a crash in the allocator during sysprof profiling (gh-8140). | ||
* No side traces are recorded now after disabling the JIT via `jit.off()`. | ||
* Fixed handling of instable boolean types in TDUP load forwarding. | ||
* Fixed a crash during the restoration of the sunk `TNEW` with a huge array | ||
part. | ||
* Fixed stack-buffer-overflow for `string.format()` with `%g` modifier and | ||
length modifier. | ||
* Fixed recording of `setmetatable()` with `nil` as the second argument. | ||
* Fixed recording of `select()` in case with negative first argument. | ||
* Fixed use-def analysis for child upvalues. | ||
* Added the `cc` file type for saving bytecode. | ||
* Fixed C file generation in `jit.bcsave`. | ||
* Fixed trace error handling during trace stitching. | ||
* Fixed recording of the `__concat` metamethod for vararg or protected frames. | ||
* Fixed recording of a side trace returning to a lower frame with a maximum | ||
possible frame size. | ||
* Fixed `debug.setmetatable()` and `lua_setmetatable()` with enabled | ||
`jit.dump()`. | ||
* Fixed recording of side traces with a down-recursion. | ||
|
||
### Lua | ||
|
||
* Fixed a memory leak in `error_object:set_prev()` (gh-9694). | ||
* Fixed alias detection in the YAML encoder (gh-8350, gh-8310, gh-8321). | ||
* Fixed a regression that caused the `wait_connected = false` option of | ||
`net_box.connect` to yield, despite being required to be fully asynchronous | ||
(gh-9489). | ||
* Fixed a bug in `net.box` when a connection with asynchronous requests could | ||
get garbage collected (gh-9629). | ||
* Fixed an inconsistency between the documented `on_disconnect` trigger behavior | ||
of `net.box` connections when an error is thrown and the actual behavior | ||
(gh-9717). | ||
* Fixed a bug in the `on_disconnect` trigger of `net.box` connections that | ||
caused Tarantool server to hang indefinitely when an error was thrown from the | ||
trigger (gh-9797). | ||
* The `on_schema_reload` trigger behavior of `net.box` connections when an | ||
error is thrown is now consistent with the behavior of the `on_disconnect` | ||
trigger (gh-9679). | ||
* Fixed a bug when a `net.box` connection remained active after being closed | ||
from the connection's `on_connect` trigger (gh-9827). | ||
|
||
#### HTTP client | ||
|
||
* Fixed a crash on garbage collection of httpc objects (gh-9283). | ||
* Fixed a crash due to a race in GC finalizers (gh-9346). | ||
* Fixed behaviour of GC-finalizer of HTTP client Lua object when chunked HTTP | ||
request is alive. (gh-9453). | ||
|
||
### SQL | ||
|
||
* Fixed a memory leak when an error occurred in `SELECT` with a `GROUP BY` | ||
expression (gh-8535, ghs-125). | ||
* Fixed a crash when a decimal literal representing a decimal number greater | ||
than or equal to 10^38 was parsed in SQL (gh-9469). | ||
|
||
### Datetime | ||
|
||
* Fixed a bug in `strptime` when the assertion was triggered (gh-8525). | ||
|
||
## Build | ||
|
||
* Updated libcurl to version 8.5.0. | ||
|
||
## Testing | ||
|
||
* Bumped `metrics` submodule to commit `3370f85` to fix compatibility with | ||
`luatest` commit `d985997`. |
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.