Download Latest Version 2.11.9 source code.tar.gz (8.7 MB)
Email in envelope

Get an email when there's a new version of Tarantool

Home / 2.11.9
Name Modified Size InfoDownloads / Week
Parent folder
2.11.9 source code.tar.gz 2026-04-28 8.7 MB
2.11.9 source code.zip 2026-04-28 10.9 MB
README.md 2026-04-28 4.1 kB
Totals: 3 Items   19.6 MB 0

2.11.9

Date: 2026-04-27 Tag: 2.11.9

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 34 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 terms of binary data layout, client-server protocol, and replication protocol. This means that upgrades can be performed with zero downtime for read requests and the order-of-network-lag downtime for write requests.

Please follow the upgrade procedure to plan your update actions.

Tools

Introduced the misc.memprof.available and misc.sysprof.available flags to determine whether the corresponding profiler is available for the current Tarantool build (gh-12215).

Bugs fixed

Core

  • Fixed a bug when Tarantool could hang due to box.watch (gh-9632).
  • Fixed a bug where .xlog.inprogress files were not automatically deleted during server startup when wal_dir was set to a non-default value (gh-12081).
  • Introduced the new built-in system event box.wal_error that is broadcast whenever Tarantool fails to commit a transaction to the write-ahead log (gh-9405).
  • Fixed a bug where a local space could not be truncated when the _truncate space was synchronous (gh-12585).

Election

  • The leader now resigns upon the first encounter with an ER_WAL_IO write error (gh-9399).

LuaJIT

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

  • Fixed incorrect emission of IR_TBAR on aarch64.
  • Fixed stack overflow handling for trace exit.
  • Fixed dangling CType references.
  • Fixed VM state closure after early OOM.
  • Fixed emission of IR_MUL on x86/x64.
  • Fixed incorrect stp/ldp instructions fusion on aarch64.
  • Fixed SCEV entry invalidation when returning to a lower frame.
  • Fixed builds on macOS 15 / Clang 16.
  • Fixed emission of IR_HREFK on aarch64.
  • Added ffi.abi("dualnum").
  • Fixed stack checks in varargs calls in the GC64 build.
  • Fixed stack checks in pcall()/xpcall() in the GC64 build.
  • Fixed the allocation limit for the no-JIT build.
  • Fixed handling of OOM errors on stack resizing in coroutine.resume() and lua_checkstack().
  • Fixed recording of loops with a -0 step value or NaN control values.
  • Fixed error reporting when an error occurs during error handling.
  • Fixed a dangling reference for FFI callbacks.
  • Fixed BC_UNM for a -0 argument in dual-number mode.
  • Fixed narrowing of unary minus in dual-number mode.
  • Fixed recording of string.byte(), string.sub(), and string.find().
  • Fixed missing type conversion for BC_FORI slots in dual-number mode.
  • Fixed various corner cases in VM events.
  • Fixed constructor index resolution recording in the JIT compiler.
  • Fixed a UBSan warning in unpack().

Datetime

  • Fixed an assertion failure in an ambiguous case where both the day of year (yday, which implicitly defines the calendar month and month day) and the calendar month (without a month day) were defined in the date text. Such cases are now detected and an error is thrown (gh-11347).
  • Fixed tzoffset calculations for cases such as new({timestamp=x, tz='Zone'}) (gh-12412).
  • Fixed inconsistency between dates produced by new({tzoffset=x}) and d:set({tzoffset=x}) where d.tz ~= '' comes before set() (gh-7680, gh-12416).
  • Now datetime.new() and datetime_object:set() check that the timestamp value is within the valid range (gh-12147).
  • Fixed timestamp type checking in set() (gh-12411).

For backward compatibility, the `compat.datetime_setfn_timestamp_type_check`` option has been introduced. It's disabled by default for now ('old' behaviour), which means no type check is performed. The 'new' behavior (with type check) is planned to become the default in version 4.x.

Source: README.md, updated 2026-04-28