Skip to content

Commit

Permalink
Generate changelog for 2.11.3
Browse files Browse the repository at this point in the history
Also, remove unreleased/ entries.

NO_DOC=changelog
NO_TEST=changelog
NO_CHANGELOG=changelog
  • Loading branch information
sergos committed Apr 17, 2024
1 parent 364af9b commit 6426287
Show file tree
Hide file tree
Showing 32 changed files with 161 additions and 165 deletions.
161 changes: 161 additions & 0 deletions changelogs/2.11.3.md
@@ -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`.
3 changes: 0 additions & 3 deletions changelogs/unreleased/bump-libcurl-to-8.4.0.md

This file was deleted.

3 changes: 0 additions & 3 deletions changelogs/unreleased/bump-libcurl-to-8.5.0.md

This file was deleted.

4 changes: 0 additions & 4 deletions changelogs/unreleased/bump-metrics-to-3370f85.md

This file was deleted.

3 changes: 0 additions & 3 deletions changelogs/unreleased/fix-yaml-alias-serialization.md

This file was deleted.

This file was deleted.

6 changes: 0 additions & 6 deletions changelogs/unreleased/gh-5994-memprof-human-readable.md

This file was deleted.

3 changes: 0 additions & 3 deletions changelogs/unreleased/gh-8140-crash-in-allocator.md

This file was deleted.

3 changes: 0 additions & 3 deletions changelogs/unreleased/gh-8525-strptime-fix.md

This file was deleted.

4 changes: 0 additions & 4 deletions changelogs/unreleased/gh-8535-memleak-in-sqlSelect.md

This file was deleted.

22 changes: 0 additions & 22 deletions changelogs/unreleased/gh-9145-luajit-fixes.md

This file was deleted.

This file was deleted.

This file was deleted.

3 changes: 0 additions & 3 deletions changelogs/unreleased/gh-9283-fix-crash-on-gc-collect.md

This file was deleted.

This file was deleted.

This file was deleted.

4 changes: 0 additions & 4 deletions changelogs/unreleased/gh-9469-too-big-decimal.md

This file was deleted.

This file was deleted.

5 changes: 0 additions & 5 deletions changelogs/unreleased/gh-9489-netbox-wait-connected.md

This file was deleted.

4 changes: 0 additions & 4 deletions changelogs/unreleased/gh-9491-last-local-row-tx-boundary.md

This file was deleted.

4 changes: 0 additions & 4 deletions changelogs/unreleased/gh-9505-relay-stack-use-after-return.md

This file was deleted.

This file was deleted.

23 changes: 0 additions & 23 deletions changelogs/unreleased/gh-9595-luajit-fixes.md

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

3 changes: 0 additions & 3 deletions changelogs/unreleased/gh-9732-func-index-exclude-null.md

This file was deleted.

This file was deleted.

4 changes: 0 additions & 4 deletions changelogs/unreleased/gh-9827-netbox-on_connect-close.md

This file was deleted.

This file was deleted.

3 changes: 0 additions & 3 deletions changelogs/unreleased/gh-9954-mvcc-crash-with-exclude-null.md

This file was deleted.

0 comments on commit 6426287

Please sign in to comment.