From 8aca8a19a54c22e929d1a4aae12354adc67c70da Mon Sep 17 00:00:00 2001
From: Kirill Yukhin <kyukhin@tarantool.org>
Date: Fri, 30 Sep 2022 17:15:34 +0300
Subject: [PATCH] Generate changelog for 2.10.3

Generate changelog for 2.10.3 release.
Also, clean changelogs/unreleased folder.

NO_DOC=no code changes
NO_TEST=no code changes
NO_CHANGELOG=no code changes
---
 changelogs/2.10.3.md                          | 103 ++++++++++++++++++
 changelogs/unreleased/add-redos-7.3-ci-cd.md  |   3 -
 .../gh-4450-logger-sigsegv-revert.md          |   5 -
 ...-high-cpu-usage-by-on_shutdown-triggers.md |   3 -
 ...h-7086-box_issue_promote_demote_asserts.md |   5 -
 .../gh-7253-fiber-hang-on-fencing.md          |   5 -
 .../gh-7253-split-brain-early-vote.md         |   4 -
 ...read-tracked-incorrectly-after-rollback.md |   4 -
 .../gh-7434-yield-in-on_shutdown-trigger.md   |   4 -
 ...449-tuple-is-dirty-assertion-on-replace.md |   4 -
 ...emtx-hash-idx-repeatable-read-violation.md |   4 -
 ...-7536-add-cmake-enable_hardening-option.md |   4 -
 .../unreleased/gh-7584-missing-xlog-fix.md    |   4 -
 ...memtx-tx-manager-idx-rand-inconsistency.md |   4 -
 ...dx-get-with-nullable-field-phantom-read.md |   4 -
 .../unreleased/gh-7705-json-update-crash.md   |   4 -
 .../igrishnov/gh-7479-bug-fix-uri-lib.md      |   4 -
 .../merger-use-after-free-in-gen.md           |   4 -
 changelogs/unreleased/popen-mac-os-race.md    |   3 -
 changelogs/unreleased/promote-hang.md         |   4 -
 .../unreleased/promote-multiple-infinite.md   |   4 -
 changelogs/unreleased/strerror-mt-safe.md     |   4 -
 22 files changed, 103 insertions(+), 84 deletions(-)
 create mode 100644 changelogs/2.10.3.md
 delete mode 100644 changelogs/unreleased/add-redos-7.3-ci-cd.md
 delete mode 100644 changelogs/unreleased/gh-4450-logger-sigsegv-revert.md
 delete mode 100644 changelogs/unreleased/gh-6801-high-cpu-usage-by-on_shutdown-triggers.md
 delete mode 100644 changelogs/unreleased/gh-7086-box_issue_promote_demote_asserts.md
 delete mode 100644 changelogs/unreleased/gh-7253-fiber-hang-on-fencing.md
 delete mode 100644 changelogs/unreleased/gh-7253-split-brain-early-vote.md
 delete mode 100644 changelogs/unreleased/gh-7343-unserializable-read-tracked-incorrectly-after-rollback.md
 delete mode 100644 changelogs/unreleased/gh-7434-yield-in-on_shutdown-trigger.md
 delete mode 100644 changelogs/unreleased/gh-7449-tuple-is-dirty-assertion-on-replace.md
 delete mode 100644 changelogs/unreleased/gh-7493-memtx-hash-idx-repeatable-read-violation.md
 delete mode 100644 changelogs/unreleased/gh-7536-add-cmake-enable_hardening-option.md
 delete mode 100644 changelogs/unreleased/gh-7584-missing-xlog-fix.md
 delete mode 100644 changelogs/unreleased/gh-7670-memtx-tx-manager-idx-rand-inconsistency.md
 delete mode 100644 changelogs/unreleased/gh-7685-memtx-tree-idx-get-with-nullable-field-phantom-read.md
 delete mode 100644 changelogs/unreleased/gh-7705-json-update-crash.md
 delete mode 100644 changelogs/unreleased/igrishnov/gh-7479-bug-fix-uri-lib.md
 delete mode 100644 changelogs/unreleased/merger-use-after-free-in-gen.md
 delete mode 100644 changelogs/unreleased/popen-mac-os-race.md
 delete mode 100644 changelogs/unreleased/promote-hang.md
 delete mode 100644 changelogs/unreleased/promote-multiple-infinite.md
 delete mode 100644 changelogs/unreleased/strerror-mt-safe.md

diff --git a/changelogs/2.10.3.md b/changelogs/2.10.3.md
new file mode 100644
index 0000000000..8225f9a232
--- /dev/null
+++ b/changelogs/2.10.3.md
@@ -0,0 +1,103 @@
+Date: 2022-09-30
+Tag: 2.10.3
+
+## Overview
+
+2.10.3 is the 4th [stable][release_policy] 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][issues] on GitHub.
+
+[release_policy]: https://www.tarantool.io/en/doc/latest/dev_guide/release_management/#release-policy
+[issues]: https://github.com/tarantool/tarantool/issues
+
+## Compatibility
+
+Tarantool 2.x is backward compatible with Tarantool 1.10.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 2.x series.
+
+[upgrade]: https://www.tarantool.io/en/doc/latest/book/admin/upgrades/
+
+## Functionality added or changed
+
+### Build
+
+* RedOS 7.3 is now supported.
+* Added the `-DENABLE_HARDENING=ON/OFF` CMake option that enables hardening
+  against memory corruption attacks (gh-7536).
+
+## Bugs fixed
+
+### Core
+
+* 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()` to MT-Safe `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).
+
+### Memtx
+
+* Fixed incorrect handling of transaction conflicts in full scans
+  by HASH indexes (gh-7493).
+* Fixed `use after free` that could occur in the transaction manager
+  in certain states (gh-7449).
+* Fixed possible phantom reads with `get` on TREE indexes containing
+  nullable parts (gh-7685).
+* Fixed an inconsistency in `index:random` in the context of transaction management
+  (gh-7670).
+* Fixed unserializable reads tracked incorrectly after transaction rollbacks
+  (gh-7343).
+
+### Replication
+
+* Fixed a bug when a fiber committing a synchronous transaction could hang if
+  the instance got a term bump during that or its synchro-queue was fenced in
+  any other way (gh-7253).
+* Fixed master occasionally deleting xlogs needed by replicas even without a
+  restart (gh-7584).
+
+### Raft
+
+* 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).
+
+### Lua
+
+#### Merger
+
+* Fixed `use after free` that could occur during iteration over `merge_source:pairs()` or
+  `merger:pairs()` (gh-7657).
+
+#### Popen
+
+* Fixed a race condition in `<popen handle>:signal()` on Mac OS 12 and newer (gh-7658).
+
+### Box
+
+* Fixed a bug when `fiber.yield()` might break the execution of a shutdown
+  trigger (gh-7434).
+* Fixed a possible high CPU usage caused by shutdown triggers (gh-6801).
+
+### Synchro
+
+* 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).
+
+### Uri
+
+* Fixed a bug in the URI parser: tarantoolctl could not
+  connect when the host name was skipped (gh-7479).
diff --git a/changelogs/unreleased/add-redos-7.3-ci-cd.md b/changelogs/unreleased/add-redos-7.3-ci-cd.md
deleted file mode 100644
index 9b3dd42f0b..0000000000
--- a/changelogs/unreleased/add-redos-7.3-ci-cd.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## feature/build
-
-* RedOS 7.3 is now supported.
diff --git a/changelogs/unreleased/gh-4450-logger-sigsegv-revert.md b/changelogs/unreleased/gh-4450-logger-sigsegv-revert.md
deleted file mode 100644
index a74d50f1c4..0000000000
--- a/changelogs/unreleased/gh-4450-logger-sigsegv-revert.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## bugfix/core
-
-* 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.
diff --git a/changelogs/unreleased/gh-6801-high-cpu-usage-by-on_shutdown-triggers.md b/changelogs/unreleased/gh-6801-high-cpu-usage-by-on_shutdown-triggers.md
deleted file mode 100644
index 8e9146fb78..0000000000
--- a/changelogs/unreleased/gh-6801-high-cpu-usage-by-on_shutdown-triggers.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## bugfix/box
-
-* Fixed a possible high CPU usage caused by shutdown triggers (gh-6801).
diff --git a/changelogs/unreleased/gh-7086-box_issue_promote_demote_asserts.md b/changelogs/unreleased/gh-7086-box_issue_promote_demote_asserts.md
deleted file mode 100644
index 5b91827087..0000000000
--- a/changelogs/unreleased/gh-7086-box_issue_promote_demote_asserts.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## bugfix/synchro
-
-* 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).
diff --git a/changelogs/unreleased/gh-7253-fiber-hang-on-fencing.md b/changelogs/unreleased/gh-7253-fiber-hang-on-fencing.md
deleted file mode 100644
index 118d537e72..0000000000
--- a/changelogs/unreleased/gh-7253-fiber-hang-on-fencing.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## bugfix/replication
-
-* Fixed a bug when a fiber committing a synchronous transaction could hang if
-  the instance got a term bump during that or its synchro-queue was fenced in
-  any other way (gh-7253).
diff --git a/changelogs/unreleased/gh-7253-split-brain-early-vote.md b/changelogs/unreleased/gh-7253-split-brain-early-vote.md
deleted file mode 100644
index c91e597112..0000000000
--- a/changelogs/unreleased/gh-7253-split-brain-early-vote.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/raft
-
-* Fixed a bug when a replicaset could be split into parts if a node voted
-  for another instance while having local WAL writes unfinished (gh-7253).
diff --git a/changelogs/unreleased/gh-7343-unserializable-read-tracked-incorrectly-after-rollback.md b/changelogs/unreleased/gh-7343-unserializable-read-tracked-incorrectly-after-rollback.md
deleted file mode 100644
index bc04ba88ed..0000000000
--- a/changelogs/unreleased/gh-7343-unserializable-read-tracked-incorrectly-after-rollback.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/memtx
-
-* Fixed unserializable reads tracked incorrectly after transaction rollbacks
-  (gh-7343).
diff --git a/changelogs/unreleased/gh-7434-yield-in-on_shutdown-trigger.md b/changelogs/unreleased/gh-7434-yield-in-on_shutdown-trigger.md
deleted file mode 100644
index 82bbf8c321..0000000000
--- a/changelogs/unreleased/gh-7434-yield-in-on_shutdown-trigger.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/box
-
-* Fixed a bug when `fiber.yield()` might break the execution of a shutdown
-  trigger (gh-7434).
diff --git a/changelogs/unreleased/gh-7449-tuple-is-dirty-assertion-on-replace.md b/changelogs/unreleased/gh-7449-tuple-is-dirty-assertion-on-replace.md
deleted file mode 100644
index eae87ab44f..0000000000
--- a/changelogs/unreleased/gh-7449-tuple-is-dirty-assertion-on-replace.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/memtx
-
-* Fixed `use after free` that could occur in the transaction manager
-  in certain states (gh-7449).
diff --git a/changelogs/unreleased/gh-7493-memtx-hash-idx-repeatable-read-violation.md b/changelogs/unreleased/gh-7493-memtx-hash-idx-repeatable-read-violation.md
deleted file mode 100644
index 5d3e26fef3..0000000000
--- a/changelogs/unreleased/gh-7493-memtx-hash-idx-repeatable-read-violation.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/memtx
-
-* Fixed incorrect handling of transaction conflicts in full scans
-  by HASH indexes (gh-7493).
diff --git a/changelogs/unreleased/gh-7536-add-cmake-enable_hardening-option.md b/changelogs/unreleased/gh-7536-add-cmake-enable_hardening-option.md
deleted file mode 100644
index 573474d64a..0000000000
--- a/changelogs/unreleased/gh-7536-add-cmake-enable_hardening-option.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## feature/build
-
-* Added the `-DENABLE_HARDENING=ON/OFF` CMake option that enables hardening
-  against memory corruption attacks (gh-7536).
diff --git a/changelogs/unreleased/gh-7584-missing-xlog-fix.md b/changelogs/unreleased/gh-7584-missing-xlog-fix.md
deleted file mode 100644
index 39c199f540..0000000000
--- a/changelogs/unreleased/gh-7584-missing-xlog-fix.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/replication
-
-* Fixed master occasionally deleting xlogs needed by replicas even without a
-  restart (gh-7584).
diff --git a/changelogs/unreleased/gh-7670-memtx-tx-manager-idx-rand-inconsistency.md b/changelogs/unreleased/gh-7670-memtx-tx-manager-idx-rand-inconsistency.md
deleted file mode 100644
index 3977aab33e..0000000000
--- a/changelogs/unreleased/gh-7670-memtx-tx-manager-idx-rand-inconsistency.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/memtx
-
-* Fixed an inconsistency in `index:random` in the context of transaction management
-  (gh-7670).
diff --git a/changelogs/unreleased/gh-7685-memtx-tree-idx-get-with-nullable-field-phantom-read.md b/changelogs/unreleased/gh-7685-memtx-tree-idx-get-with-nullable-field-phantom-read.md
deleted file mode 100644
index 7b27ae3dd2..0000000000
--- a/changelogs/unreleased/gh-7685-memtx-tree-idx-get-with-nullable-field-phantom-read.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/memtx
-
-* Fixed possible phantom reads with `get` on TREE indexes containing
-  nullable parts (gh-7685).
diff --git a/changelogs/unreleased/gh-7705-json-update-crash.md b/changelogs/unreleased/gh-7705-json-update-crash.md
deleted file mode 100644
index 9f1551d1c4..0000000000
--- a/changelogs/unreleased/gh-7705-json-update-crash.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/core
-
-* 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).
diff --git a/changelogs/unreleased/igrishnov/gh-7479-bug-fix-uri-lib.md b/changelogs/unreleased/igrishnov/gh-7479-bug-fix-uri-lib.md
deleted file mode 100644
index d493f2f195..0000000000
--- a/changelogs/unreleased/igrishnov/gh-7479-bug-fix-uri-lib.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/uri
-
-* Fixed a bug in the URI parser: tarantoolctl could not
-  connect when the host name was skipped (gh-7479).
diff --git a/changelogs/unreleased/merger-use-after-free-in-gen.md b/changelogs/unreleased/merger-use-after-free-in-gen.md
deleted file mode 100644
index 5288733f1e..0000000000
--- a/changelogs/unreleased/merger-use-after-free-in-gen.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/lua/merger
-
-* Fixed `use after free` that could occur during iteration over `merge_source:pairs()` or
-  `merger:pairs()` (gh-7657).
diff --git a/changelogs/unreleased/popen-mac-os-race.md b/changelogs/unreleased/popen-mac-os-race.md
deleted file mode 100644
index c831e5854c..0000000000
--- a/changelogs/unreleased/popen-mac-os-race.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## bugfix/lua/popen
-
-* Fixed a race condition in `<popen handle>:signal()` on Mac OS 12 and newer (gh-7658).
diff --git a/changelogs/unreleased/promote-hang.md b/changelogs/unreleased/promote-hang.md
deleted file mode 100644
index b8693b8521..0000000000
--- a/changelogs/unreleased/promote-hang.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/raft
-
-* Fixed a bug when a node with `election_mode='voter'` could hang in
-  `box.ctl.promote()` or become a leader.
diff --git a/changelogs/unreleased/promote-multiple-infinite.md b/changelogs/unreleased/promote-multiple-infinite.md
deleted file mode 100644
index 663225ca09..0000000000
--- a/changelogs/unreleased/promote-multiple-infinite.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/raft
-
-* 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.
diff --git a/changelogs/unreleased/strerror-mt-safe.md b/changelogs/unreleased/strerror-mt-safe.md
deleted file mode 100644
index a6aef93d49..0000000000
--- a/changelogs/unreleased/strerror-mt-safe.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## bugfix/core
-
-* Switched from MT-Unsafe `strerror()` to MT-Safe `strerror_r()`. The usage
-  of the unsafe function could result in corrupted error messages.
-- 
GitLab