This is an automated email from the ASF dual-hosted git repository.
Jefffrey pushed a commit to branch 57_maintenance
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
The following commit(s) were added to refs/heads/57_maintenance by this push:
new d699f2cb2b [57_maintenance] Update version to `57.3.2` and add
CHANGELOG (#11823)
d699f2cb2b is described below
commit d699f2cb2bfb4df22e6b4a67d3a39697ca507941
Author: Andrew Lamb <[email protected]>
AuthorDate: Thu Oct 22 20:30:54 2026 -0400
[57_maintenance] Update version to `57.3.2` and add CHANGELOG (#11823)
# Which issue does this PR close?
- Part of https://github.com/apache/arrow-rs/issues/11666
# Rationale for this change
Prepare for the `57.3.2` patch release from the `57_maintenance` branch
# What changes are included in this PR?
1. Update version to `57.3.2`
2. Move the `57.3.1` changelog entry into `CHANGELOG-old.md`
3. Add `57.3.2` CHANGELOG (see rendered version
https://github.com/alamb/arrow-rs/blob/alamb/prepare_57.3.2/CHANGELOG.md)
4. Update `dev/release/update_change_log.sh` for the `57.3.2` release
range
Notes on the changelog: `update_change_log.sh`
(github-changelog-generator) does not filter by branch, so running it
picks up `main` PRs and misses the `57_maintenance` backports. The
`57.3.2` entry was therefore written by hand in the same format as the
`58.4.1` (#11822) and `59.3.2` (#11797) changelogs: all backported fixes
are grouped under "Bug fixes", following how the corresponding `main`
PRs were labeled, and the CI-only changes (#11728, #11777, #11784,
#11819) are omitted.
# Are these changes tested?
By CI
# Are there any user-facing changes?
New version and changelog
---------
Co-authored-by: Claude Fable 5.1 <[email protected]>
Co-authored-by: Jefffrey <[email protected]>
---
CHANGELOG-old.md | 24 ++++++++++++
CHANGELOG.md | 43 ++++++++++----------
Cargo.lock | 52 ++++++++++++-------------
Cargo.toml | 42 ++++++++++----------
cliff.toml | 84 ++++++++++++++++++++++++++++++++++++++++
dev/release/update_change_log.sh | 4 +-
6 files changed, 179 insertions(+), 70 deletions(-)
diff --git a/CHANGELOG-old.md b/CHANGELOG-old.md
index 8829f3da44..83a558a010 100644
--- a/CHANGELOG-old.md
+++ b/CHANGELOG-old.md
@@ -20,6 +20,30 @@
# Historical Changelog
+## [57.3.1](https://github.com/apache/arrow-rs/tree/57.3.1) (2026-05-07)
+
+[Full Changelog](https://github.com/apache/arrow-rs/compare/57.3.0...57.3.1)
+
+**Fixed bugs:**
+
+- \[arrow-buffer\] Integer overflow in BufferBuilder::reserve leads to
undefined behavior [\#9897](https://github.com/apache/arrow-rs/issues/9897)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[arrow-array\] Integer overflow in FixedSizeBinaryArray::value leads to
undefined behavior [\#9898](https://github.com/apache/arrow-rs/issues/9898)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[arrow-data\] Integer overflow in ArrayData::slice leads to undefined
behavior [\#9899](https://github.com/apache/arrow-rs/issues/9899)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[arrow-data\] Integer overflow in ArrayData validation leads to undefined
behavior [\#9900](https://github.com/apache/arrow-rs/issues/9900)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[arrow-row\] Integer overflow in Rows::row index handling leads to
undefined behavior [\#9901](https://github.com/apache/arrow-rs/issues/9901)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[arrow-buffer\] Integer overflow in BitChunks::new leads to undefined
behavior [\#9903](https://github.com/apache/arrow-rs/issues/9903)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[arrow-buffer\] Integer overflow in repeat_slice_n_times leads to undefined
behavior [\#9904](https://github.com/apache/arrow-rs/issues/9904)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+
+**Merged pull requests:**
+
+- \[57_maintenance\] Prevent ArrayData::slice length overflow \(\#9813\)
[\#9927](https://github.com/apache/arrow-rs/pull/9927)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- \[57_maintenance\] Prevent repeat slice length overflow \(\#9819\)
[\#9920](https://github.com/apache/arrow-rs/pull/9920)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- \[57_maintenance\] Prevent buffer builder length overflow in
MutableBuffer::extend_zeros \(\#9820\)
[\#9926](https://github.com/apache/arrow-rs/pull/9926)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- \[57_maintenance\] Prevent FixedSizeBinaryArray i32 offset overflows
\(\#9872\) [\#9928](https://github.com/apache/arrow-rs/pull/9928)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- \[57_maintenance\] Prevent ArrayData validation length overflow \(\#9816\)
[\#9925](https://github.com/apache/arrow-rs/pull/9925)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- \[57_maintenance\] Prevent Rows row index overflow \(\#9817\)
[\#9922](https://github.com/apache/arrow-rs/pull/9922)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- \[57_maintenance\] Prevent BitChunks length overflow \(\#9818\)
[\#9918](https://github.com/apache/arrow-rs/pull/9918)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+
## [57.3.0](https://github.com/apache/arrow-rs/tree/57.3.0) (2026-02-02)
[Full Changelog](https://github.com/apache/arrow-rs/compare/57.2.0...57.3.0)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 55e34cfb9b..198f945d6d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -19,26 +19,27 @@
# Changelog
-## [57.3.1](https://github.com/apache/arrow-rs/tree/57.3.1) (2026-05-07)
-[Full Changelog](https://github.com/apache/arrow-rs/compare/57.3.0...57.3.1)
+## [57.3.2](https://github.com/apache/arrow-rs/tree/57.3.2) - (2026-10-22)
+
+[Full Changelog](https://github.com/apache/arrow-rs/compare/57.3.1...57.3.2)
+
+### Bug fixes
+- [57_maintenance] fix: implement `ArrayData::validate_values` for union types
by @Jefffrey in [#11814](https://github.com/apache/arrow-rs/pull/11814)
+- [57_maintenance] fix(arrow-array): avoid returning corrupt array in
`GenericByteArray::into_builder` by @Jefffrey in
[#11816](https://github.com/apache/arrow-rs/pull/11816)
+- [57_maintenance] fix: account for offsets in runarrays when using extend for
MutableArrayData by @Jefffrey in
[#11815](https://github.com/apache/arrow-rs/pull/11815)
+- [57_maintenance] fix(arrow-schema): validate `UnionFields` when
deserializing by @Jefffrey in
[#11813](https://github.com/apache/arrow-rs/pull/11813)
+- [57_maintenance] Fix sliced sparse union ArrayData conversion by @Jefffrey
in [#11812](https://github.com/apache/arrow-rs/pull/11812)
+- [57_maintenance] fix(arrow-data): account for FixedSizeList parent offset in
MutableArrayData by @Jefffrey in
[#11809](https://github.com/apache/arrow-rs/pull/11809)
+- [57_maintenance] fix(arrow-array): preserve type params in
`PrimitiveArray::into_builder` by @Jefffrey in
[#11807](https://github.com/apache/arrow-rs/pull/11807)
+- [57_maintenance] fix: use correct length in runarray validation by @Jefffrey
in [#11801](https://github.com/apache/arrow-rs/pull/11801)
+- [57_maintenance] fix(arrow-data): check view nulls at the right index in
`ArrayData` equality by @Jefffrey in
[#11811](https://github.com/apache/arrow-rs/pull/11811)
+- [57_maintenance] fix: account for offset when building RunArray from
ArrayData by @Jefffrey in
[#11800](https://github.com/apache/arrow-rs/pull/11800)
+- [57_maintenance] fix: `Buffer::into_mutable` return error instead of panic
for converting owned sliced when not start at 0 and fix returned Mutable length
by @Jefffrey in [#11806](https://github.com/apache/arrow-rs/pull/11806)
+- [57_maintenance] fix(arrow-array): `PrimitiveRunBuilder` was buggy after
`finish` by @Jefffrey in [#11804](https://github.com/apache/arrow-rs/pull/11804)
+- [57_maintenance] fix(arrow-data): fix gaps in ListView equality by @Jefffrey
in [#11802](https://github.com/apache/arrow-rs/pull/11802)
+- [57_maintenance] fix(arrow-array): use the field's type id in dense union
logical_nulls by @Jefffrey in
[#11810](https://github.com/apache/arrow-rs/pull/11810)
+- [57_maintenance] fix: finish methods in `PrimitiveDictionaryBuilder` discard
type params by @Jefffrey in
[#11805](https://github.com/apache/arrow-rs/pull/11805)
+- [57_maintenance] fix(arrow-buffer): prevent use-after-free in
Buffer::shrink_to_fit when MemoryReservation::resize panics by @alamb in
[#11786](https://github.com/apache/arrow-rs/pull/11786)
+- [57_maintenance] fix: `UnionFields::from_iter` should validate input by
@alamb in [#11726](https://github.com/apache/arrow-rs/pull/11726)
-**Fixed bugs:**
-
-- \[arrow-buffer\] Integer overflow in BufferBuilder::reserve leads to
undefined behavior [\#9897](https://github.com/apache/arrow-rs/issues/9897)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- \[arrow-array\] Integer overflow in FixedSizeBinaryArray::value leads to
undefined behavior [\#9898](https://github.com/apache/arrow-rs/issues/9898)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- \[arrow-data\] Integer overflow in ArrayData::slice leads to undefined
behavior [\#9899](https://github.com/apache/arrow-rs/issues/9899)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- \[arrow-data\] Integer overflow in ArrayData validation leads to undefined
behavior [\#9900](https://github.com/apache/arrow-rs/issues/9900)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- \[arrow-row\] Integer overflow in Rows::row index handling leads to
undefined behavior [\#9901](https://github.com/apache/arrow-rs/issues/9901)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- \[arrow-buffer\] Integer overflow in BitChunks::new leads to undefined
behavior [\#9903](https://github.com/apache/arrow-rs/issues/9903)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- \[arrow-buffer\] Integer overflow in repeat_slice_n_times leads to undefined
behavior [\#9904](https://github.com/apache/arrow-rs/issues/9904)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-
-**Merged pull requests:**
-
-- \[57_maintenance\] Prevent ArrayData::slice length overflow \(\#9813\)
[\#9927](https://github.com/apache/arrow-rs/pull/9927)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- \[57_maintenance\] Prevent repeat slice length overflow \(\#9819\)
[\#9920](https://github.com/apache/arrow-rs/pull/9920)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- \[57_maintenance\] Prevent buffer builder length overflow in
MutableBuffer::extend_zeros \(\#9820\)
[\#9926](https://github.com/apache/arrow-rs/pull/9926)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- \[57_maintenance\] Prevent FixedSizeBinaryArray i32 offset overflows
\(\#9872\) [\#9928](https://github.com/apache/arrow-rs/pull/9928)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- \[57_maintenance\] Prevent ArrayData validation length overflow \(\#9816\)
[\#9925](https://github.com/apache/arrow-rs/pull/9925)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- \[57_maintenance\] Prevent Rows row index overflow \(\#9817\)
[\#9922](https://github.com/apache/arrow-rs/pull/9922)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- \[57_maintenance\] Prevent BitChunks length overflow \(\#9818\)
[\#9918](https://github.com/apache/arrow-rs/pull/9918)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
diff --git a/Cargo.lock b/Cargo.lock
index ddd3a7f61b..7b900065a6 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -161,7 +161,7 @@ dependencies = [
[[package]]
name = "arrow"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"arrow-arith",
"arrow-array",
@@ -188,7 +188,7 @@ dependencies = [
[[package]]
name = "arrow-arith"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -200,7 +200,7 @@ dependencies = [
[[package]]
name = "arrow-array"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"ahash",
"arrow-buffer",
@@ -219,7 +219,7 @@ dependencies = [
[[package]]
name = "arrow-avro"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"apache-avro",
"arrow",
@@ -253,7 +253,7 @@ dependencies = [
[[package]]
name = "arrow-buffer"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"bytes",
"criterion",
@@ -265,7 +265,7 @@ dependencies = [
[[package]]
name = "arrow-cast"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -287,7 +287,7 @@ dependencies = [
[[package]]
name = "arrow-csv"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -305,7 +305,7 @@ dependencies = [
[[package]]
name = "arrow-data"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"arrow-buffer",
"arrow-schema",
@@ -316,7 +316,7 @@ dependencies = [
[[package]]
name = "arrow-flight"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"anyhow",
"arrow-arith",
@@ -356,7 +356,7 @@ dependencies = [
[[package]]
name = "arrow-integration-test"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"arrow",
"arrow-buffer",
@@ -369,7 +369,7 @@ dependencies = [
[[package]]
name = "arrow-integration-testing"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"arrow",
"arrow-buffer",
@@ -388,7 +388,7 @@ dependencies = [
[[package]]
name = "arrow-ipc"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -407,7 +407,7 @@ dependencies = [
[[package]]
name = "arrow-json"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -436,7 +436,7 @@ dependencies = [
[[package]]
name = "arrow-ord"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -449,7 +449,7 @@ dependencies = [
[[package]]
name = "arrow-pyarrow"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"arrow-array",
"arrow-data",
@@ -459,7 +459,7 @@ dependencies = [
[[package]]
name = "arrow-row"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -473,7 +473,7 @@ dependencies = [
[[package]]
name = "arrow-schema"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"bincode",
"bitflags",
@@ -487,7 +487,7 @@ dependencies = [
[[package]]
name = "arrow-select"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"ahash",
"arrow-array",
@@ -500,7 +500,7 @@ dependencies = [
[[package]]
name = "arrow-string"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -2287,7 +2287,7 @@ dependencies = [
[[package]]
name = "parquet"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"ahash",
"arrow",
@@ -2338,7 +2338,7 @@ dependencies = [
[[package]]
name = "parquet-geospatial"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"arrow-schema",
"geo-traits",
@@ -2350,7 +2350,7 @@ dependencies = [
[[package]]
name = "parquet-variant"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"arrow-schema",
"chrono",
@@ -2365,7 +2365,7 @@ dependencies = [
[[package]]
name = "parquet-variant-compute"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"arrow",
"arrow-schema",
@@ -2381,7 +2381,7 @@ dependencies = [
[[package]]
name = "parquet-variant-json"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"arrow-schema",
"base64 0.22.1",
@@ -2393,7 +2393,7 @@ dependencies = [
[[package]]
name = "parquet_derive"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"parquet",
"proc-macro2",
@@ -2403,7 +2403,7 @@ dependencies = [
[[package]]
name = "parquet_derive_test"
-version = "57.3.1"
+version = "57.3.2"
dependencies = [
"chrono",
"parquet",
diff --git a/Cargo.toml b/Cargo.toml
index aa54cff4e4..5f51765f3b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -68,7 +68,7 @@ exclude = [
]
[workspace.package]
-version = "57.3.1"
+version = "57.3.2"
repository = "https://github.com/apache/arrow-rs"
authors = ["Apache Arrow <[email protected]>"]
license = "Apache-2.0"
@@ -84,26 +84,26 @@ edition = "2024"
rust-version = "1.85"
[workspace.dependencies]
-arrow = { version = "57.3.1", path = "./arrow", default-features = false }
-arrow-arith = { version = "57.3.1", path = "./arrow-arith" }
-arrow-array = { version = "57.3.1", path = "./arrow-array" }
-arrow-buffer = { version = "57.3.1", path = "./arrow-buffer" }
-arrow-cast = { version = "57.3.1", path = "./arrow-cast" }
-arrow-csv = { version = "57.3.1", path = "./arrow-csv" }
-arrow-data = { version = "57.3.1", path = "./arrow-data" }
-arrow-ipc = { version = "57.3.1", path = "./arrow-ipc" }
-arrow-json = { version = "57.3.1", path = "./arrow-json" }
-arrow-ord = { version = "57.3.1", path = "./arrow-ord" }
-arrow-pyarrow = { version = "57.3.1", path = "./arrow-pyarrow" }
-arrow-row = { version = "57.3.1", path = "./arrow-row" }
-arrow-schema = { version = "57.3.1", path = "./arrow-schema" }
-arrow-select = { version = "57.3.1", path = "./arrow-select" }
-arrow-string = { version = "57.3.1", path = "./arrow-string" }
-parquet = { version = "57.3.1", path = "./parquet", default-features = false }
-parquet-geospatial = { version = "57.3.1", path = "./parquet-geospatial" }
-parquet-variant = { version = "57.3.1", path = "./parquet-variant" }
-parquet-variant-json = { version = "57.3.1", path = "./parquet-variant-json" }
-parquet-variant-compute = { version = "57.3.1", path =
"./parquet-variant-compute" }
+arrow = { version = "57.3.2", path = "./arrow", default-features = false }
+arrow-arith = { version = "57.3.2", path = "./arrow-arith" }
+arrow-array = { version = "57.3.2", path = "./arrow-array" }
+arrow-buffer = { version = "57.3.2", path = "./arrow-buffer" }
+arrow-cast = { version = "57.3.2", path = "./arrow-cast" }
+arrow-csv = { version = "57.3.2", path = "./arrow-csv" }
+arrow-data = { version = "57.3.2", path = "./arrow-data" }
+arrow-ipc = { version = "57.3.2", path = "./arrow-ipc" }
+arrow-json = { version = "57.3.2", path = "./arrow-json" }
+arrow-ord = { version = "57.3.2", path = "./arrow-ord" }
+arrow-pyarrow = { version = "57.3.2", path = "./arrow-pyarrow" }
+arrow-row = { version = "57.3.2", path = "./arrow-row" }
+arrow-schema = { version = "57.3.2", path = "./arrow-schema" }
+arrow-select = { version = "57.3.2", path = "./arrow-select" }
+arrow-string = { version = "57.3.2", path = "./arrow-string" }
+parquet = { version = "57.3.2", path = "./parquet", default-features = false }
+parquet-geospatial = { version = "57.3.2", path = "./parquet-geospatial" }
+parquet-variant = { version = "57.3.2", path = "./parquet-variant" }
+parquet-variant-json = { version = "57.3.2", path = "./parquet-variant-json" }
+parquet-variant-compute = { version = "57.3.2", path =
"./parquet-variant-compute" }
chrono = { version = "0.4.40", default-features = false, features = ["clock"] }
diff --git a/cliff.toml b/cliff.toml
new file mode 100644
index 0000000000..5cd02a498c
--- /dev/null
+++ b/cliff.toml
@@ -0,0 +1,84 @@
+# git-cliff ~ configuration file
+# https://git-cliff.org/docs/configuration
+
+[remote.github]
+# For token set GITHUB_TOKEN env var or pass via --github-token
+owner = "apache"
+repo = "arrow-rs"
+
+[changelog]
+# Otherwise it removes the left padding in the license header
+trim = false
+
+header = """
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# Changelog
+"""
+body = """
+{%- macro remote_url() -%}
+ https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}
+{%- endmacro -%}
+
+{% if version %}
+## [{{ version }}]({{ self::remote_url() }}/tree/{{ version }}) - ({{
timestamp | date(format="%Y-%m-%d") }})
+{% else %}
+## [unreleased]
+{% endif %}
+[Full Changelog]({{ self::remote_url() }}/compare/{{ previous.version }}...{{
version }})
+{% for group, commits in commits | group_by(attribute="group") %}
+### {{ group | striptags | trim | upper_first }}
+ {%- for commit in commits %}
+- {% if commit.remote.pr_title %}{{ commit.remote.pr_title | trim }}{% else
%}{{ commit.message | split(pat="\n") | first | upper_first | trim }}{% endif
%}\
+ {% if commit.remote.username %} by @{{ commit.remote.username }}{%- endif
-%}
+ {% if commit.remote.pr_number %} in \
+ [#{{ commit.remote.pr_number }}]({{ self::remote_url() }}/pull/{{
commit.remote.pr_number }}) \
+ {%- endif -%}
+ {% endfor %}
+{% endfor %}
+"""
+
+[git]
+# We don't use conventional commits
+conventional_commits = false
+filter_unconventional = false
+require_conventional = false
+
+# To make backport releases easier
+use_branch_tags = true
+# Ignoring rc tags
+tag_pattern = "^\\d+\\.\\d+\\.\\d+$"
+
+commit_parsers = [
+ # Grouping based on PR labels
+ { field = "remote.pr_labels", pattern = "api-change", group = "<!-- 0
-->Breaking changes" },
+ { field = "remote.pr_labels", pattern = "security", group = "<!-- 1
-->Security fixes" },
+ { field = "remote.pr_labels", pattern = "enhancement", group = "<!-- 2
-->Enhancements" },
+ { field = "remote.pr_labels", pattern = "bug", group = "<!-- 3 -->Bug
fixes" },
+ { field = "remote.pr_labels", pattern = "performance", group = "<!-- 4
-->Performance improvements" },
+ { field = "remote.pr_labels", pattern = "documentation", group = "<!-- 5
-->Documentation updates" },
+ { field = "remote.pr_labels", pattern = "development-process", skip = true
},
+ # We could have a visible section for dependency updates if we want
+ { field = "remote.pr_labels", pattern = "auto-dependencies", skip = true },
+ # Ideally we minimize this last section as much as possible by ensuring PRs
+ # are labelled as above
+ { message = ".*", group = "<!-- 6 -->Miscellaneous" },
+]
+sort_commits = "newest"
diff --git a/dev/release/update_change_log.sh b/dev/release/update_change_log.sh
index 1c39b74f88..b8ddffe5ec 100755
--- a/dev/release/update_change_log.sh
+++ b/dev/release/update_change_log.sh
@@ -29,8 +29,8 @@
set -e
-SINCE_TAG="57.3.0"
-FUTURE_RELEASE="57.3.1"
+SINCE_TAG="57.3.1"
+FUTURE_RELEASE="57.3.2"
SOURCE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SOURCE_TOP_DIR="$(cd "${SOURCE_DIR}/../../" && pwd)"