# 2.11.8

Date: 2025-10-17
Tag: 2.11.8

## Overview

2.x is the old stable release series. Users are encouraged to update to the
latest 3.x release.

This is a bugfix release. It resolves 15 issues since the previous version.

Please consider the full list of user-visible changes below.

## Compatibility

Tarantool 2.x and 3.x are compatible in the binary data layout, client-server
protocol, and replication protocol. It means upgrade may be performed with zero
downtime for read requests and the order-of-network-lag downtime for write
requests.

Please follow the [upgrade procedure][upgrade] to plan your update actions.

[upgrade]: https://www.tarantool.io/en/doc/latest/book/admin/upgrades/

## Bugs fixed

### Core

* Now the server binds all URIs matching the `listen` parameter in the box
  configuration. Previously it bound only a single URI per entry. Now providing
  a single port number makes all interfaces be listened on that port. It is
  also possible now to bind multiple interfaces with a single port number
  (gh-7152).
* Fixed a crash, undefined behavior, and inconsistent data across replicas that
  could all occur when the WAL queue was full (`box.cfg.wal_queue_max_size` was
  reached) and transactions blocked on that queue were woken up or cancelled
  spuriously (for example, manually via `fiber:wakeup()` or `fiber:cancel()`).
  (gh-11180).
* Fixed the creation of broken snapshots, which could contain outdated entries
  also applied in the following xlog files. This could happen if the
  transactions would pile up and fill the whole WAL queue
  (`box.cfg.wal_queue_max_size` was reached), and a snapshot was created at this
  moment (gh-11180).

### Replication

* Fixed the election state corruption after an anonymous replica
  becomes non-anonymous (gh-11938).

### LuaJIT

Backported patches from the vanilla LuaJIT trunk (gh-11278). The following
issues were fixed as part of this activity:

* Fixed JIT slot overflow during recording of trace with up-recursion.
* Fixed stack overflow handling.
* Fixed potential file descriptor leaks in `loadfile()`.
* Fixed error generation in `loadfile()`.
* Fixed incorrect snapshot restore due to stack overflow.
* Fixed assembling of IR SLOAD for the aarch64 architecture.
* Fixed assembling of IR HREFK for the aarch64 architecture.
* Fixed incorrect `stp`/`ldp` instructions fusion on aarch64.

### Lua

#### Uri

* Fixed a bug that caused an incorrect display of string URI
  parameters in the URI returned by `uri.format` (gh-11820).

### Tools

* Fixed a sysprof crash (gh-11185, gh-11429) when a sample was collected outside
  the LuaJIT VM.
* It is now possible to call LuaJIT's platform profile function
  `misc.sysprof.report()` during the profiling as well (gh-11229).
