Released on 2022-09-30.
- Release: v. 2.10.3.
2.10.3 is the fourth stable version of the 2.10 release series. It introduces 2 improvements and resolves 19 bugs since 2.10.2.
The “stable” label means that we have all planned features implemented and we see no high-impact issues. However, if you encounter an issue, feel free to report it on GitHub.
Tarantool 2.x is backward compatible with Tarantool 1.10.x in the binary data layout, client-server protocol, and replication protocol.
box.schema.upgrade() procedure to unlock all the new
features of the 2.x series.
- RedOS 7.3 is now supported.
- Added the
-DENABLE_HARDENING=ON/OFFCMake option that enables hardening against memory corruption attacks (gh-7536).
- Fixed a bug introduced in Tarantool 2.10.2: log messages could be written to data files thus causing data corruption. The issue was fixed by reverting the fix for gh-4450.
- Switched from MT-Unsafe
strerror_r(). The usage of the unsafe function could result in corrupted error messages.
- Fixed a bug when a single JSON update couldn’t insert and update a field of a map or an array in two sequential calls. It would either crash or return an error (gh-7705).
- Fixed incorrect handling of transaction conflicts in full scans by HASH indexes (gh-7493).
use after freethat could occur in the transaction manager in certain states (gh-7449).
- Fixed possible phantom reads with
geton TREE indexes containing nullable parts (gh-7685).
- Fixed an inconsistency in
index:randomin the context of transaction management (gh-7670).
- Fixed unserializable reads tracked incorrectly after transaction rollbacks (gh-7343).
- Fixed a bug when
box.ctl.promote()could hang and bump thousands of terms in a row if called on more than one node at the same time (part of gh-7253).
- Fixed a bug when a node with
election_mode='voter'could hang in
box.ctl.promote()or become a leader (part of gh-7253).
- Fixed a bug when a replicaset could be split into parts if a node voted for another instance while having local WAL writes unfinished (part of gh-7253).
use after freethat could occur during iteration over
- Fixed a race condition in
<popen handle>:signal()on Mac OS 12 and newer (gh-7658).
- Fixed assertions in debug builds and undefined behaviour in release builds when simultaneous elections started or another instance was promoted while an instance was acquiring or releasing the synchro queue (gh-7086).
- Fixed a bug in the URI parser: tarantoolctl could not connect when the host name was skipped (gh-7479).