Commit Diff


commit - 0ec2457a5cfcf8b73818bd6ce287f51b9b567ed8
commit + 7e72167dfde0c9b87700cfe6f872784eb236537f
blob - ada12e2fc0aff7304eed563d6b5ffbd8a126290f (mode 644)
blob + /dev/null
--- changelogs/unreleased/bump-libcurl-to-8.8.0.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## bugfix/build
-
-* Updated libcurl to version 8.8.0.
blob - 76cb2f879ada1029554860f8bc87d0f3aa5d4023 (mode 644)
blob + /dev/null
--- changelogs/unreleased/config-not-a-table-role-error-message.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/config
-
-* Improved an error message on an attempt to use a non-table module as a role
-  (gh-10049).
blob - 8c5b12e208ec956d4d0eb28d7b3b5317b0ee3631 (mode 644)
blob + /dev/null
--- changelogs/unreleased/config-support-vshard-ee.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/config
-
-* Support for `vshard-ee` in addition to `vshard` in the sharding configuration
-  logic (ghe-815).
blob - 5a76a6dee739aa67f80d639084f41374265fe4f9 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-10013-wal-queue-max-size.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/box
-
-* Fixed the `wal_queue_max_size` configuration option not being applied during
-  the initial configuration (gh-10013).
blob - a053d42a19429a02c7bd4674e0143ceb37929f9e (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-10026-vy-index-build-crash-on-invalid-upsert-fix.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/vinyl
-
-* Fixed a bug when creation of a new index crashed while trying to process
-  an invalid `UPSERT` statement (gh-10026).
blob - 615f97386687945b185c4c7acb4fd98542c19d0b (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-10087-update-quorum-in-on_commit-trigger.md
+++ /dev/null
@@ -1,7 +0,0 @@
-## bugfix/replication
-
-* Fixed the inability to add a new replica to the replicaset if the user has
-  manually made space `_cluster` synchronous. Now the synchronous replication
-  quorum is updated after the `_cluster` change is confirmed by a quorum rather
-  than immediately after persisting the configuration change in the WAL
-  (gh-10087).
blob - 7d4023565ae3528f045def5ae879d3b997c5a49d (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-10090-tuple-hash-double-fix.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## bugfix/core
-
-* Fixed a bug when hashing a tuple with `double` fields could crash.
-  The bug could trigger a crash in memtx while inserting a tuple into
-  a `hash` index and in vinyl while writing a bloom filter on dump or
-  compaction (gh-10090).
blob - f02db6f5fc393f90b730fdb9bed953855a2ebd85 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-10094-vy-index-drop-crash-fix.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/vinyl
-
-* Fixed a bug when a DDL operation dropping a unique index could crash
-  if performed concurrently with DML requests (gh-10094).
blob - 7a40071c99a8ee86d9cb4f4b56e20e50c6b60e31 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-10095-vy-index-update-def-fix.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/vinyl
-
-* Fixed a bug when a DDL operation crashed in case of extending the key parts
-  of a secondary index with the primary index key parts (gh-10095).
blob - 3dff68a29588b96cf618e680b610eda273ba1840 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-10099-vy-crash-on-invalid-upsert-fix.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/vinyl
-
-* Fixed a bug when an `upsert` statement crashed in case the created tuple had
-  fields conflicting with the primary key definition (gh-10099).
blob - c52eea7512d727676173ff13282f197cc58c502c (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-10109-vy-read-iterator-fix.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/vinyl
-
-* Fixed a bug when a tuple was not returned by range `select`. The bug could
-  also trigger a crash in the read iterator (gh-10109).
blob - 201f3af65239141f4911cd715f10a698fc2bb3f3 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-10123-vy-tuple-field-lookup-fix.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/vinyl
-
-* Fixed a bug when internal optimization algorithm caused a crash while a read
-  thread tried to look up a tuple field (gh-10123).
blob - ef4c9a3b00ba95f922529c664fba6272afae9bce (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-10128-vy-invalid-vylog-fix.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/vinyl
-
-* Fixed a bug when recovery failed with the error "Invalid VYLOG file: Run XXXX
-  forgotten but not registered" (gh-10128).
blob - b393c594096814ddb09d7cdc222e731ad28f7427 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-10163-fix-functional-index-drop-memleak.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## bugfix/box
-
-* Fixed memory leak on functional index drop (gh-10163).
blob - bd65ecb11a6d127a5a07469c4b8f30de3e6c38b9 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-10173-is-sync-feature.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/core
-
-* Added the missing IPROTO_FEATURE_IS_SYNC feature, which requires
-  IPROTO_IS_SYNC in IPROTO_BEGIN/COMMIT requests on the server (gh-10173).
blob - eaa4d2e96e8d15e92eeb2d504460639449054056 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-10187-fix-memleaks-on-dead-fiber-usage.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## bugfix/core
-
-* Fixed memory leaks on using dead fiber (gh-10187).
blob - 872c3f4531673a79ee3e8f130babfa90427b6d65 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-10196-fix-fiber-self-join-hang.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## bugfix/core
-
-* Fixed hang on fiber self join (gh-10196).
blob - 151f366d769619832f993aa3cf1465a0961f181c (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-10233-vy-snapshot-hang-fix.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/vinyl
-
-* Fixed a bug when a race between `box.snapshot` and the creation of a new
-  index could lead to a fiber hang (gh-10233, gh-10267).
blob - 8fe3c07afd0e10811c916797ad5e541d244dfaa0 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-10243-sql-varbinary-from-lua.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/sql
-
-* Fixed a bug with using a Lua varbinary object as a bound variable in
-  SQL (gh-10243).
blob - 859bb4d7767984caa9f484aaa437ca16d1d4b08e (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-10277-vy-log-dump-after-gc-fix.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## bugfix/vinyl
-
-* Fixed a bug when recovery could fail with the error "Invalid VYLOG file:
-  Deleted range XXXX has run slices" or "Invalid VYLOG file: Run XXXX committed
-  after deletion" after an index drop (gh-10277).
blob - fd2a6322f895ee5682001a28ad26e6e6724675a2 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-10278-vy-tuple-format-lookup-fix.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/vinyl
-
-* Fixed a multi-threading race condition that could cause a writer thread to
-  crash while looking up a tuple format (gh-10278).
blob - 7684dd5bc42a0e4576b228e494a469a85c8947c9 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-10292-vy-log-force-recovery.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/vinyl
-
-* The `force_recovery` mode can now be used to suppress "Invalid VYLOG file"
-  recovery errors (gh-10292).
blob - c13ca7a1b18df29f1626f2a0f747e632eb803afc (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-5975-vy-duplicate-key-error-fix.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## bugfix/vinyl
-
-* Fixed a bug when a duplicate key error referred to a wrong index (gh-5975).
blob - fb243e56296c6344e3bae82b9dcee33509490746 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-7502-bump-openssl.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## feature/build
-
-* Updated OpenSSL to version 3.2.1 (gh-7502).
blob - 4bede11b8c890ac69ae589775b75a11336d7483c (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-8130-enable-somaxconn-on-mac.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## bugfix/core
-
-* Fixed the bug that on Mac the system setting `kern.ipc.somaxconn` was ignored
-  for listening sockets. Now it is used, but capped at 32367 due to how
-  `listen()` works on Mac (gh-8130).
blob - f3c33c7eb310f94040a447b8811320bbb1b2a2cd (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-9094-timeout-on-too-big-xlog-subscribe.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/replication
-
-* Fixed a bug when a replica could timeout on subscribe if the master had to
-  open a big enough xlog file for that (gh-9094).
blob - d6b4d2090a7d355ce5ceff6c55b35c5fce77a6d3 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-9556-fix-uri-ipv6.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## bugfix/lua/uri
-
-* Fixed a bug that caused characters A-F to be unsupported in IPv6
-  addresses. Changed the `uri.format` output for IPv6 to be
-  encapsulated in brackets `[]` (gh-9556).
blob - 15da09ef4eaf4528e3fcf176b4f6cd8b41477f43 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-9621-netbox-worker-crash.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/lua
-
-* Fixed a corner case when the netbox connection's worker fiber case could crash
-  (gh-9621).
blob - 7f9be6ccb26ff5e155ddd7601141f7a1c6b6ffe7 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-9748-downstream-lag-bug.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/replication
-
-* Fixed a bug that the `box.info.replication[...].downstream.lag` value could be
-  misleading, not updating in time, frozen (gh-9748).
blob - 6c067e5008d9fe7eca184608d67decf8b277fb8a (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-9769-vy-unique-nullable-index-fix.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/vinyl
-
-* Fixed a bug in the transaction manager when a tuple was not committed to
-  a unique nullable secondary index (gh-9769).
blob - b7900f6877c7d689986941034cab36e8a2e3f3e7 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-9826-netbox-on_schema_reload-close.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/lua
-
-* Fixed a bug that caused a `net.box` connection to crash after being closed
-  from the connection's `on_schema_reload` trigger (gh-9621).
blob - 44cdc4cfd81ba3f6f770f9b4b636917553334b57 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-9855-box-ctl-demote-guarantee-demoting.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## bugfix/replication
-
-* Fixed a bug that allowed the old leader in
-  `box.cfg{election_mode = 'candidate'` mode to get re-elected after resigning
-  himself through `box.ctl.demote` (gh-9855).
blob - 91c642d1e51414be5daa0edff03f4b291f1c2c01 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-9893-rollback-ddl-on-_space-space.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## bugfix/box
-
-* Fixed rollback of DDL statements on the `_space` space (gh-9893).
blob - 679a69162e05806380e5df62c6a175d5d9c60453 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-9916-registration-invalid-lsn.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## bugfix/replication
-
-* Fixed a bug when an anonymous replica register or a replica name assignment
-  could fail with an error "LSN for ... is used twice" in release and crash in
-  debug (gh-9916).
blob - 15f928af0744679cebe5a2fdb781fb4eab6ceba1 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-9924-luajit-fixes.md
+++ /dev/null
@@ -1,17 +0,0 @@
-## bugfix/luajit
-
-Backported patches from the vanilla LuaJIT trunk (gh-9924). The following issues
-were fixed as part of this activity:
-
-* Fixed `BC_VARG` recording.
-* Fixed `ffi.alignof()` for reference types.
-* Fixed `sizeof()` expression in C parser for reference types.
-* Fixed `ffi.metatype()` for typedefs with attributes.
-* Fixed `ffi.metatype()` for non-raw types.
-* Fixed IR chain invariant in DCE.
-* Fixed OOM errors handling during trace stitching.
-* Fixed `IR_HREF` vs. `IR_HREFK` aliasing in non-`nil` store check.
-* Fixed generation of Mach-O object files.
-* Fixed undefined behavior when negating `INT_MIN` integers.
-* Replaced the numeric values of NYI bytecodes that can't be compiled, with
-  their names in the `jit.dump()`.
blob - f8ffbff55667aed9a3309f780fd0235a9b838a26 (mode 644)
blob + /dev/null
--- changelogs/unreleased/gh-9995-vy-scheduler-crash-fix.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/vinyl
-
-* Fixed a use-after-free bug in the compaction scheduler triggered by a race
-  with a concurrent DDL operation (gh-9995).
blob - 340e0cb487566b7a9753372c2f02a545f4cfc516 (mode 644)
blob + /dev/null
--- changelogs/unreleased/ghe-827-etcd-ssl-cert.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/config
-
-* Added the `ssl.ssl_cert` configuration option for `etcd` configuration
-  storage (ghe-827).
blob - /dev/null
blob + 707d46eb978c41792d088e46d1c2cb8bbb225874 (mode 644)
--- /dev/null
+++ changelogs/3.1.1.md
@@ -0,0 +1,142 @@
+# 3.1.1
+
+Date: 2024-07-31
+Tag: 3.1.1
+
+## Overview
+
+3.1.1 is the 2nd [stable][release_policy] version of the 3.1 release
+series. It resolves 46 bugs since 3.1.0.
+
+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][issues] on GitHub.
+
+[release_policy]: https://www.tarantool.io/en/doc/latest/release/policy/
+[issues]: https://github.com/tarantool/tarantool/issues
+
+## Compatibility
+
+Tarantool 3.x is backward compatible with Tarantool 2.11.x in the binary data
+layout, client-server protocol, and replication protocol.
+
+Please [upgrade][upgrade] using the `box.schema.upgrade()` procedure to unlock
+all the new features of the 3.x series.
+
+[upgrade]: https://www.tarantool.io/en/doc/latest/book/admin/upgrades/
+
+## Bugs fixed
+
+### Core
+
+* Fixed a bug when hashing a tuple with `double` fields could crash.
+  The bug could trigger a crash in memtx while inserting a tuple into
+  a `hash` index and in vinyl while writing a bloom filter on dump or
+  compaction (gh-10090).
+* Fixed the bug that on Mac the system setting `kern.ipc.somaxconn` was ignored
+  for listening sockets. Now it is used, but capped at 32367 due to how
+  `listen()` works on Mac (gh-8130).
+* Fixed memory leaks on using dead fiber (gh-10187).
+* Fixed hang on fiber self join (gh-10196).
+* Added the missing IPROTO_FEATURE_IS_SYNC feature, which requires
+  IPROTO_IS_SYNC in IPROTO_BEGIN/COMMIT requests on the server (gh-10173).
+* Fixed the `wal_queue_max_size` configuration option not being applied during
+  the initial configuration (gh-10013).
+* Fixed rollback of DDL statements on the `_space` space (gh-9893).
+* Fixed memory leak on functional index drop (gh-10163).
+
+### Vinyl
+
+* Fixed a use-after-free bug in the compaction scheduler triggered by a race
+  with a concurrent DDL operation (gh-9995).
+* Fixed a bug in the transaction manager when a tuple was not committed to
+  a unique nullable secondary index (gh-9769).
+* Fixed a bug when creation of a new index crashed while trying to process
+  an invalid `UPSERT` statement (gh-10026).
+* Fixed a bug when a duplicate key error referred to a wrong index (gh-5975).
+* Fixed a bug when a DDL operation dropping a unique index could crash
+  if performed concurrently with DML requests (gh-10094).
+* Fixed a bug when a DDL operation crashed in case of extending the key parts
+  of a secondary index with the primary index key parts (gh-10095).
+* Fixed a bug when an `upsert` statement crashed in case the created tuple had
+  fields conflicting with the primary key definition (gh-10099).
+* Fixed a bug when a tuple was not returned by range `select`. The bug could
+  also trigger a crash in the read iterator (gh-10109).
+* Fixed a bug when internal optimization algorithm caused a crash while a read
+  thread tried to look up a tuple field (gh-10123).
+* Fixed a bug when recovery failed with the error "Invalid VYLOG file: Run XXXX
+  forgotten but not registered" (gh-10128).
+* Fixed a bug when a race between `box.snapshot` and the creation of a new
+  index could lead to a fiber hang (gh-10233, gh-10267).
+* Fixed a multi-threading race condition that could cause a writer thread to
+  crash while looking up a tuple format (gh-10278).
+* Fixed a bug when recovery could fail with the error "Invalid VYLOG file:
+  Deleted range XXXX has run slices" or "Invalid VYLOG file: Run XXXX committed
+  after deletion" after an index drop (gh-10277).
+* The `force_recovery` mode can now be used to suppress "Invalid VYLOG file"
+  recovery errors (gh-10292).
+
+### Replication
+
+* Fixed a bug when a replica could timeout on subscribe if the master had to
+  open a big enough xlog file for that (gh-9094).
+* Fixed a bug that the `box.info.replication[...].downstream.lag` value could be
+  misleading, not updating in time, frozen (gh-9748).
+* Fixed a bug that allowed the old leader in
+  `box.cfg{election_mode = 'candidate'` mode to get re-elected after resigning
+  himself through `box.ctl.demote` (gh-9855).
+* Fixed the inability to add a new replica to the replica set if the user has
+  manually made space `_cluster` synchronous. Now the synchronous replication
+  quorum is updated after the `_cluster` change is confirmed by a quorum rather
+  than immediately after persisting the configuration change in the WAL
+  (gh-10087).
+* Fixed a bug when an anonymous replica register or a replica name assignment
+  could fail with an error "LSN for ... is used twice" in release and crash in
+  debug (gh-9916).
+
+### LuaJIT
+
+Backported patches from the vanilla LuaJIT trunk (gh-9924). The following issues
+were fixed as part of this activity:
+
+* Fixed `BC_VARG` recording.
+* Fixed `ffi.alignof()` for reference types.
+* Fixed `sizeof()` expression in C parser for reference types.
+* Fixed `ffi.metatype()` for typedefs with attributes.
+* Fixed `ffi.metatype()` for non-raw types.
+* Fixed IR chain invariant in DCE.
+* Fixed OOM error handling during trace stitching.
+* Fixed `IR_HREF` vs. `IR_HREFK` aliasing in non-`nil` store check.
+* Fixed generation of Mach-O object files.
+* Fixed undefined behavior when negating `INT_MIN` integers.
+* Replaced the numeric values of NYI bytecodes that can't be compiled, with
+  their names in the `jit.dump()`.
+
+### Lua
+
+* Fixed a corner case when the netbox connection's worker fiber case could crash
+  (gh-9621).
+* Fixed a bug that caused a `net.box` connection to crash after being closed
+  from the connection's `on_schema_reload` trigger (gh-9621).
+* Fixed a bug that caused characters A-F to be unsupported in IPv6
+  addresses. Changed the `uri.format` output for IPv6 to be
+  encapsulated in brackets `[]` (gh-9556).
+
+### SQL
+
+* Fixed a bug with using a Lua varbinary object as a bound variable in
+  SQL (gh-10243).
+
+### Config
+
+* Improved an error message on an attempt to use a non-table module as a role
+  (gh-10049).
+* Support for `vshard-ee` in addition to `vshard` in the sharding configuration
+  logic (ghe-815).
+* Added the `ssl.ssl_cert` configuration option for `etcd` configuration
+  storage (ghe-827).
+
+### Build
+
+* Updated libcurl to version 8.8.0.
+* Updated OpenSSL to version 3.2.1 (gh-7502).