From 1ab46b86e1ad0087b5fc789ee33b41fa96f47ff1 Mon Sep 17 00:00:00 2001 From: Pavel Semyonov Date: Tue, 9 Aug 2022 18:46:41 +0700 Subject: [PATCH 1/2] Add 1.10.14 release notes --- doc/release/1.10.14.rst | 158 +++++++++++++++++++++++++++++++++++++++ doc/release/calendar.rst | 4 + doc/release/notes.rst | 4 +- 3 files changed, 165 insertions(+), 1 deletion(-) create mode 100644 doc/release/1.10.14.rst diff --git a/doc/release/1.10.14.rst b/doc/release/1.10.14.rst new file mode 100644 index 0000000000..ae17fccb1e --- /dev/null +++ b/doc/release/1.10.14.rst @@ -0,0 +1,158 @@ +Tarantool 1.10.14 +================= + +Released on 2022-08-08. + +* Release: :tarantool-release:`1.10.14`. +* Tag: ``1.10.14``. + +Overview +-------- + +1.10.14 is the next stable release in the :doc:`long-term support (LTS) version ` +1.10.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 10 improvements and resolves roughly 20 issues +since the :doc:`1.10.13 ` version. + +Compatibility +------------- + +Tarantool 1.10.x is backward compatible with Tarantool 1.9.x in binary +data layout, client-server protocol and replication protocol. + +Please +`upgrade `__ +using the ``box.schema.upgrade()`` procedure to unlock all the new +features of the 1.10.x series. + +Functionality added or changed +------------------------------ + +Build +~~~~~ + +- Fedora 35 is are now supported (:tarantool-issue:`6692`). +- Fedora 36 is now supported. +- Ubuntu 22.04 (Jammy Jellyfish) is now supported. +- Fedora 30, 31, 32, and 33 are no longer supported. +- Ubuntu 21.04 (Hirsute Hippo) is no longer supported. +- Updated OpenSSL used for static builds to version 1.1.1n. (:tarantool-issue:`6947`). +- Updated OpenSSL used for static builds to version 1.1.1q. +- Updated libcurl to version 7.83.0 (:tarantool-issue:`6029`). +- Updated libcurl to version 7.84.0. +- Updated libyaml to the version with fixed stack overflows. + +Bugs fixed +---------- + +Core +~~~~ + +- Fixed a memory leak in the interactive console (:tarantool-issue:`6817`). +- Fixed an assertion fail when passing a tuple without the primary key + fields to a ``before_replace`` trigger. Now the tuple format is + checked before the execution of ``before_replace`` triggers and after + each of them (:tarantool-issue:`6780`). +- Now inserting a tuple with a wrong ``id`` field into the ``\_priv`` + space returns the correct error (:tarantool-issue:`6295`). +- Fixed a bug that was making all fibers created with + ``fiber_attr_setstacksize()`` leak until the thread exit. Their + stacks also leaked except when ``fiber_set_joinable(..., true)`` was + used. +- Fixed a crash that happened when Tarantool was launched with multiple + ``-e`` or ``-l`` options without spaces between the options and their + values (:tarantool-issue:`5747`). +- Fixed the usage of ``box.session.peer()`` in + ``box.session.on_disconnect()`` triggers. Now it’s safe to assume + that ``box.session.peer()`` returns the address of the disconnected + peer, not nil, as it used to (:tarantool-issue:`7014`). +- Fixed a bug in the sequence cache that could result in an error + creating a new sequence (:tarantool-issue:`5306`). + +Vinyl +~~~~~ + +- Immediate removal of compacted run files created after the last + checkpoint optimization now works for the initial JOIN stage of a + replica (:tarantool-issue:`6568`). +- Fixed a crash during the recovery of a secondary index in case the + primary index contains incompatible phantom tuples (:tarantool-issue:`6778`). +- Fixed a bug in the vinyl upsert squashing optimization that could + lead to a segmentation fault error (:tarantool-issue:`5080`). +- Fixed a bug in the vinyl read iterator that could result in a + significant performance degradation of range select requests in the + presence of an intensive write workload (:tarantool-issue:`5700`). + +Replication +~~~~~~~~~~~ + +- Fixed replicas failing to bootstrap when the master has just + restarted (:tarantool-issue:`6966`). + +LuaJIT +~~~~~~ + +- Fixed the top part of Lua stack (red zone, free slots, top slot) + unwinding in the ``lj-stack`` command. + +- Added the value of ``g->gc.mmudata`` field to ``lj-gc`` output. + +- Fixed a bug with ``string.char()`` builtin recording when no + arguments are provided (:tarantool-issue:`6371`, :tarantool-issue:`6548`). + +- Actually made JIT respect the ``maxirconst`` trace limit while + recording (:tarantool-issue:`6548`). + +- Backported patches from vanilla LuaJIT trunk (:tarantool-issue:`6548`, :tarantool-issue:`7230`). + In the scope of this activity, the following issues have been resolved: + + - Fixed emitting for fuse load of constant in GC64 mode (:tarantool-issue:`4095`, + :tarantool-issue:`4199`, :tarantool-issue:`4614`). + - Now initialization of zero-filled struct is compiled (:tarantool-issue:`4630`, + :tarantool-issue:`5885`). + - Actually implemented ``maxirconst`` option for tuning JIT + compiler. + - Fixed JIT stack of Lua slots overflow during recording for + metamethod calls. + - Fixed bytecode dump unpatching for JLOOP in up-recursion compiled + functions. + - Fixed FOLD rule for strength reduction of widening in cdata + indexing. + - Fixed ``string.char()`` recording without arguments. + - Fixed ``print()`` behaviour with the reloaded default metatable + for numbers. + - ``tonumber("-0")`` now saves the sign of number for conversion. + - ``tonumber()`` now give predictable results for negative + non-base-10 numbers. + - Fixed write barrier for ``debug.setupvalue()`` and + ``lua_setupvalue()``. + - ``jit.p`` now flushes and closes output file after run, not at + program exit. + - Fixed ``jit.p`` profiler interaction with GC finalizers. + - Fixed the case for partial recording of vararg function body with + the fixed number of result values in with ``LJ_GC64`` + (i.e. ``LJ_FR2`` enabled) (:tarantool-issue:`7172`). + - Fixed handling of errors during trace snapshot restore. + +Box +~~~ + +- Added the check of the iterator type in the ``select``, ``count``, + and ``pairs`` methods of the index object. Iterator can now be passed + to these methods directly: ``box.index.ALL``, ``box.index.GT``, and + so on (:tarantool-issue:`6501`). + +Recovery +~~~~~~~~ + +- With the ``force_recovery`` cfg option, Tarantool is now able to boot + from ``snap``/``xlog`` combinations where ``xlog`` covers changes + committed both before and after the ``snap`` was created. For + example, ``0...0.xlog`` that covers everything up to vclock + ``{1: 15}`` and ``0...09.snap`` corresponding to vclock ``{1: 9}`` + (:tarantool-issue:`6794`). diff --git a/doc/release/calendar.rst b/doc/release/calendar.rst index 8ff345bf3a..b2a9b77691 100644 --- a/doc/release/calendar.rst +++ b/doc/release/calendar.rst @@ -94,6 +94,10 @@ End of series support means the release series will no longer receive any patche - December 31, 2019 - April 20, 2020 + * - :doc:`1.10.14 LTS ` + - August 8, 2022 + - Not planned yet + * - :doc:`1.10.13 LTS ` - April 25, 2022 - Not planned yet diff --git a/doc/release/notes.rst b/doc/release/notes.rst index c165c5da82..4bdd30ab8b 100644 --- a/doc/release/notes.rst +++ b/doc/release/notes.rst @@ -104,7 +104,8 @@ based on :doc:`the legacy versioning policy `: :doc:`1.10.10 <1.10.10>`, :doc:`1.10.11 <1.10.11>`, :doc:`1.10.12 <1.10.12>`, - :doc:`1.10.13 <1.10.13>` + :doc:`1.10.13 <1.10.13>`, + :doc:`1.10.14 <1.10.14>` For smaller feature changes and bug fixes, see closed @@ -149,6 +150,7 @@ Release notes for series before 1.10 are also available: 2.2.2 2.2.1 2.1.2 + 1.10.14 1.10.13 1.10.12 1.10.11 From 5eac39ec04f91532a9573e49affbd05233f80e22 Mon Sep 17 00:00:00 2001 From: Pavel Semyonov Date: Wed, 10 Aug 2022 10:39:34 +0700 Subject: [PATCH 2/2] Apply suggestions from code review Co-authored-by: Kseniia Antonova <73473519+xuniq@users.noreply.github.com> --- doc/release/1.10.14.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/release/1.10.14.rst b/doc/release/1.10.14.rst index ae17fccb1e..483bc4741b 100644 --- a/doc/release/1.10.14.rst +++ b/doc/release/1.10.14.rst @@ -36,12 +36,12 @@ Functionality added or changed Build ~~~~~ -- Fedora 35 is are now supported (:tarantool-issue:`6692`). +- Fedora 35 is now supported (:tarantool-issue:`6692`). - Fedora 36 is now supported. - Ubuntu 22.04 (Jammy Jellyfish) is now supported. - Fedora 30, 31, 32, and 33 are no longer supported. - Ubuntu 21.04 (Hirsute Hippo) is no longer supported. -- Updated OpenSSL used for static builds to version 1.1.1n. (:tarantool-issue:`6947`). +- Updated OpenSSL used for static builds to version 1.1.1n (:tarantool-issue:`6947`). - Updated OpenSSL used for static builds to version 1.1.1q. - Updated libcurl to version 7.83.0 (:tarantool-issue:`6029`). - Updated libcurl to version 7.84.0. @@ -127,7 +127,7 @@ LuaJIT - Fixed ``print()`` behaviour with the reloaded default metatable for numbers. - ``tonumber("-0")`` now saves the sign of number for conversion. - - ``tonumber()`` now give predictable results for negative + - ``tonumber()`` now gives predictable results for negative non-base-10 numbers. - Fixed write barrier for ``debug.setupvalue()`` and ``lua_setupvalue()``.