|
| 1 | +Tarantool 1.10.14 |
| 2 | +================= |
| 3 | + |
| 4 | +Released on 2022-08-08. |
| 5 | + |
| 6 | +* Release: :tarantool-release:`1.10.14`. |
| 7 | +* Tag: ``1.10.14``. |
| 8 | + |
| 9 | +Overview |
| 10 | +-------- |
| 11 | + |
| 12 | +1.10.14 is the next stable release in the :doc:`long-term support (LTS) version </release/policy>` |
| 13 | +1.10.x release series. |
| 14 | + |
| 15 | +The label “stable” means there are 1.10.x-based applications running in |
| 16 | +production for quite a while without known crashes, incorrect results or |
| 17 | +other showstopper bugs. |
| 18 | + |
| 19 | +This release introduces 10 improvements and resolves roughly 20 issues |
| 20 | +since the :doc:`1.10.13 </release/1.10.13>` version. |
| 21 | + |
| 22 | +Compatibility |
| 23 | +------------- |
| 24 | + |
| 25 | +Tarantool 1.10.x is backward compatible with Tarantool 1.9.x in binary |
| 26 | +data layout, client-server protocol and replication protocol. |
| 27 | + |
| 28 | +Please |
| 29 | +`upgrade <https://www.tarantool.io/en/doc/1.10/book/admin/upgrades/>`__ |
| 30 | +using the ``box.schema.upgrade()`` procedure to unlock all the new |
| 31 | +features of the 1.10.x series. |
| 32 | + |
| 33 | +Functionality added or changed |
| 34 | +------------------------------ |
| 35 | + |
| 36 | +Build |
| 37 | +~~~~~ |
| 38 | + |
| 39 | +- Fedora 35 is now supported (:tarantool-issue:`6692`). |
| 40 | +- Fedora 36 is now supported. |
| 41 | +- Ubuntu 22.04 (Jammy Jellyfish) is now supported. |
| 42 | +- Fedora 30, 31, 32, and 33 are no longer supported. |
| 43 | +- Ubuntu 21.04 (Hirsute Hippo) is no longer supported. |
| 44 | +- Updated OpenSSL used for static builds to version 1.1.1n (:tarantool-issue:`6947`). |
| 45 | +- Updated OpenSSL used for static builds to version 1.1.1q. |
| 46 | +- Updated libcurl to version 7.83.0 (:tarantool-issue:`6029`). |
| 47 | +- Updated libcurl to version 7.84.0. |
| 48 | +- Updated libyaml to the version with fixed stack overflows. |
| 49 | + |
| 50 | +Bugs fixed |
| 51 | +---------- |
| 52 | + |
| 53 | +Core |
| 54 | +~~~~ |
| 55 | + |
| 56 | +- Fixed a memory leak in the interactive console (:tarantool-issue:`6817`). |
| 57 | +- Fixed an assertion fail when passing a tuple without the primary key |
| 58 | + fields to a ``before_replace`` trigger. Now the tuple format is |
| 59 | + checked before the execution of ``before_replace`` triggers and after |
| 60 | + each of them (:tarantool-issue:`6780`). |
| 61 | +- Now inserting a tuple with a wrong ``id`` field into the ``\_priv`` |
| 62 | + space returns the correct error (:tarantool-issue:`6295`). |
| 63 | +- Fixed a bug that was making all fibers created with |
| 64 | + ``fiber_attr_setstacksize()`` leak until the thread exit. Their |
| 65 | + stacks also leaked except when ``fiber_set_joinable(..., true)`` was |
| 66 | + used. |
| 67 | +- Fixed a crash that happened when Tarantool was launched with multiple |
| 68 | + ``-e`` or ``-l`` options without spaces between the options and their |
| 69 | + values (:tarantool-issue:`5747`). |
| 70 | +- Fixed the usage of ``box.session.peer()`` in |
| 71 | + ``box.session.on_disconnect()`` triggers. Now it’s safe to assume |
| 72 | + that ``box.session.peer()`` returns the address of the disconnected |
| 73 | + peer, not nil, as it used to (:tarantool-issue:`7014`). |
| 74 | +- Fixed a bug in the sequence cache that could result in an error |
| 75 | + creating a new sequence (:tarantool-issue:`5306`). |
| 76 | + |
| 77 | +Vinyl |
| 78 | +~~~~~ |
| 79 | + |
| 80 | +- Immediate removal of compacted run files created after the last |
| 81 | + checkpoint optimization now works for the initial JOIN stage of a |
| 82 | + replica (:tarantool-issue:`6568`). |
| 83 | +- Fixed a crash during the recovery of a secondary index in case the |
| 84 | + primary index contains incompatible phantom tuples (:tarantool-issue:`6778`). |
| 85 | +- Fixed a bug in the vinyl upsert squashing optimization that could |
| 86 | + lead to a segmentation fault error (:tarantool-issue:`5080`). |
| 87 | +- Fixed a bug in the vinyl read iterator that could result in a |
| 88 | + significant performance degradation of range select requests in the |
| 89 | + presence of an intensive write workload (:tarantool-issue:`5700`). |
| 90 | + |
| 91 | +Replication |
| 92 | +~~~~~~~~~~~ |
| 93 | + |
| 94 | +- Fixed replicas failing to bootstrap when the master has just |
| 95 | + restarted (:tarantool-issue:`6966`). |
| 96 | + |
| 97 | +LuaJIT |
| 98 | +~~~~~~ |
| 99 | + |
| 100 | +- Fixed the top part of Lua stack (red zone, free slots, top slot) |
| 101 | + unwinding in the ``lj-stack`` command. |
| 102 | + |
| 103 | +- Added the value of ``g->gc.mmudata`` field to ``lj-gc`` output. |
| 104 | + |
| 105 | +- Fixed a bug with ``string.char()`` builtin recording when no |
| 106 | + arguments are provided (:tarantool-issue:`6371`, :tarantool-issue:`6548`). |
| 107 | + |
| 108 | +- Actually made JIT respect the ``maxirconst`` trace limit while |
| 109 | + recording (:tarantool-issue:`6548`). |
| 110 | + |
| 111 | +- Backported patches from vanilla LuaJIT trunk (:tarantool-issue:`6548`, :tarantool-issue:`7230`). |
| 112 | + In the scope of this activity, the following issues have been resolved: |
| 113 | + |
| 114 | + - Fixed emitting for fuse load of constant in GC64 mode (:tarantool-issue:`4095`, |
| 115 | + :tarantool-issue:`4199`, :tarantool-issue:`4614`). |
| 116 | + - Now initialization of zero-filled struct is compiled (:tarantool-issue:`4630`, |
| 117 | + :tarantool-issue:`5885`). |
| 118 | + - Actually implemented ``maxirconst`` option for tuning JIT |
| 119 | + compiler. |
| 120 | + - Fixed JIT stack of Lua slots overflow during recording for |
| 121 | + metamethod calls. |
| 122 | + - Fixed bytecode dump unpatching for JLOOP in up-recursion compiled |
| 123 | + functions. |
| 124 | + - Fixed FOLD rule for strength reduction of widening in cdata |
| 125 | + indexing. |
| 126 | + - Fixed ``string.char()`` recording without arguments. |
| 127 | + - Fixed ``print()`` behaviour with the reloaded default metatable |
| 128 | + for numbers. |
| 129 | + - ``tonumber("-0")`` now saves the sign of number for conversion. |
| 130 | + - ``tonumber()`` now gives predictable results for negative |
| 131 | + non-base-10 numbers. |
| 132 | + - Fixed write barrier for ``debug.setupvalue()`` and |
| 133 | + ``lua_setupvalue()``. |
| 134 | + - ``jit.p`` now flushes and closes output file after run, not at |
| 135 | + program exit. |
| 136 | + - Fixed ``jit.p`` profiler interaction with GC finalizers. |
| 137 | + - Fixed the case for partial recording of vararg function body with |
| 138 | + the fixed number of result values in with ``LJ_GC64`` |
| 139 | + (i.e. ``LJ_FR2`` enabled) (:tarantool-issue:`7172`). |
| 140 | + - Fixed handling of errors during trace snapshot restore. |
| 141 | + |
| 142 | +Box |
| 143 | +~~~ |
| 144 | + |
| 145 | +- Added the check of the iterator type in the ``select``, ``count``, |
| 146 | + and ``pairs`` methods of the index object. Iterator can now be passed |
| 147 | + to these methods directly: ``box.index.ALL``, ``box.index.GT``, and |
| 148 | + so on (:tarantool-issue:`6501`). |
| 149 | + |
| 150 | +Recovery |
| 151 | +~~~~~~~~ |
| 152 | + |
| 153 | +- With the ``force_recovery`` cfg option, Tarantool is now able to boot |
| 154 | + from ``snap``/``xlog`` combinations where ``xlog`` covers changes |
| 155 | + committed both before and after the ``snap`` was created. For |
| 156 | + example, ``0...0.xlog`` that covers everything up to vclock |
| 157 | + ``{1: 15}`` and ``0...09.snap`` corresponding to vclock ``{1: 9}`` |
| 158 | + (:tarantool-issue:`6794`). |
0 commit comments