github tarantool/tarantool 3.6.4

latest releases: 3.8.0, 3.7.1
3 hours ago

3.6.4

Date: 2026-07-09
Tag: 3.6.4

Overview

Tarantool 3.x is the recommended release series. Users of Tarantool 2.11 are
encouraged to update to the latest 3.x release.

This release resolves 19 bugs since 3.6.3.

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 to plan your update actions.

Users of Tarantool 2.x may be interested in the compat options that
allow to imitate some 2.x behavior. This allows to perform application code
update step-by-step, not all-at-once.

Bugs fixed

Core

  • Fixed a heap-use-after-free bug when a space.before_replace trigger yielded
    with disabled MVCC (gh-12779).
  • Fixed a stack overflow when checking MsgPack input with deeply nested values
    containing extension types
    (ghs-162).
  • Fixed an issue where zero values were incorrectly rejected by fixed-point
    decimal fields when their scale was greater than or equal to their precision
    (gh-12808).

Memtx

  • Fixed a bug in MVCC read-confirmed isolation where delete and update
    could see an incorrect tuple (gh-12260).

Replication

  • Fixed a crash that could occur when a replication source was removed from
    box.cfg.replication at the same time as the node reached its maximum WAL
    queue size (configured by box.cfg.wal_queue_max_size) (gh-12719).
  • Fixed a replica sending its master an outdated acknowledgement right after
    reconnecting, which made the replica's vclock progress appear to move
    backwards on the master in box.info.replication (gh-12795).
  • Fixed a bug where replicas kept their old connection to the master and
    ignored changes to replication parameters (gh-12728).
  • election_mode='off' has been reworked internally. A promoted off-mode
    node will now be reported as 'leader' in box.info.election.state.
    Additionally, such nodes are now able to vote for other nodes that may
    have different election modes (gh-8095).

LuaJIT

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

  • Fixed incorrect JIT behavior for vararg FFI functions on the macOS AArch64
    platform (gh-6097).
  • Fixed various FFI ABI and calling convention issues for x64/AArch64
    architectures.
  • Fixed ipairs_aux() to match JIT backend behavior on x86/x64.
  • Fixed os.time() returning -1.
  • Fixed UBSan warnings for table.new().

SQL

  • Added permission checks when creating a trigger in SQL.
    Now only users with 'alter' privileges on a table can create
    triggers for that table
    (ghs-163).
  • Fixed collisions of prepared statement IDs - now a new prepared statement
    will always be assigned a free ID (gh-12537).
  • An error now occurs if a column appears more than once in a subquery of
    a SELECT statement (gh-12337).

Lua

Datetime

  • Fixed parsing for time with a decimal fraction of hour or minute (gh-12082).
  • Fixed a stack overflow strptime() function when parsing
    timezones (ghs-146).

Pickle

  • Fixed abortion on calling pack() with an empty format string
    or a string value for the 'a' format specifier (gh-12063).

Don't miss a new tarantool release

NewReleases is sending notifications on new releases.