Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 46 additions & 6 deletions .github/workflows/verify_rc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,16 +91,37 @@ jobs:
VERSION: ${{ needs.target.outputs.version }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
- name: Run
run: |
dev/release/verify-release-candidate.sh ${VERSION} ${RC}
- name: Verify the previous version
# TODO: We may re-enable this in the future.
# There are some problems for now:
# * We need to specify the previous versions for all
# dependencies explicitly. For example, "apt install
# libarrow-glib-dev=20.0.0-1" doesn't work. We need "apt
# install libarrow-glib-dev=20.0.0-1
# libarrow-acero-dev=20.0.0-1 libparquet-dev=20.0.0-1
# gir1.2-arrow-1.0=20.0.0-1 libparquet-dev=20.0.0-1
# libarrow-dev=20.0.0-1"
continue-on-error: true
run: |
major_version=${VERSION%%.*}
previous_major_version$((major_version - 1))
previous_major_version=$((major_version - 1))
previous_version=${previous_major_version}.0.0
rc=0 # This number isn't used for APT verification
dev/release/verify-release-candidate.sh ${previous_version} ${rc}
previous_tag=apache-arrow-${previous_version}
git checkout ${previous_tag}
# This is workaround. dev/release/verify-release-candidate.sh
# in < 21.0.0 doesn't accept 20.0.0 as the VERSION argument.
# We can remove this workaround after 21.0.0 release.
sed \
-i \
-e 's/^\(ensure_source_directory\)$/# \1/' \
-e 's/^\(test_source_distribution\)$/# \1/' \
dev/release/verify-release-candidate.sh
dev/release/verify-release-candidate.sh ${previous_version}

binary:
name: Binary
Expand Down Expand Up @@ -234,13 +255,32 @@ jobs:
VERSION: ${{ needs.target.outputs.version }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
- name: Run
run: |
dev/release/verify-release-candidate.sh ${VERSION} ${RC}
- name: Verify the previous version
# TODO: We may re-enable this in the future.
# There are some problems for now:
# * x86_64: libLLVM.so.18.1 needed by gandiva2000-libs on AlmaLinux 9
# * arm64: libarrow.so.2000.0.0: refers the
# "std::condition_variable::wait(std::unique_lock<std::mutex>&)@GLIBCXX_3.4.30"
# (not "...@@GLIBCXX_3.4.30" nor "...@GLIBCXX_3.4.11") symbol on
# AmazonLinux 2023.
continue-on-error: true
run: |
major_version=${VERSION%%.*}
previous_major_version$((major_version - 1))
previous_major_version=$((major_version - 1))
previous_version=${previous_major_version}.0.0
rc=0 # This number isn't used for Yum verification
dev/release/verify-release-candidate.sh ${previous_version} ${rc}
previous_tag=apache-arrow-${previous_version}
git checkout ${previous_tag}
# This is workaround. dev/release/verify-release-candidate.sh
# in < 21.0.0 doesn't accept 20.0.0 as the VERSION argument.
# We can remove this workaround after 21.0.0 release.
sed \
-i \
-e 's/^\(ensure_source_directory\)$/# \1/' \
-e 's/^\(test_source_distribution\)$/# \1/' \
dev/release/verify-release-candidate.sh
dev/release/verify-release-candidate.sh ${previous_version}
352 changes: 352 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion c_glib/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ project(
# * 22.04: 0.61.2
# * 24.04: 1.3.2
meson_version: '>=0.61.2',
version: '21.0.0-SNAPSHOT',
version: '21.0.0',
)

version = meson.project_version()
Expand Down
2 changes: 1 addition & 1 deletion c_glib/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "arrow-glib",
"version-string": "21.0.0-SNAPSHOT",
"version-string": "21.0.0",
"$comment:dependencies": "We can enable gobject-introspection again once it's updated",
"dependencies": [
"glib",
Expand Down
2 changes: 1 addition & 1 deletion ci/scripts/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
_realname=arrow
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=20.0.0.9000
pkgver=21.0.0
pkgrel=8000
pkgdesc="Apache Arrow is a cross-language development platform for in-memory data (mingw-w64)"
arch=("any")
Expand Down
2 changes: 1 addition & 1 deletion cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ if(POLICY CMP0170)
cmake_policy(SET CMP0170 NEW)
endif()

set(ARROW_VERSION "21.0.0-SNAPSHOT")
set(ARROW_VERSION "21.0.0")

string(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" ARROW_BASE_VERSION "${ARROW_VERSION}")

Expand Down
2 changes: 1 addition & 1 deletion cpp/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ project(
'arrow',
'cpp',
'c',
version: '21.0.0-SNAPSHOT',
version: '21.0.0',
license: 'Apache-2.0',
meson_version: '>=1.3.0',
default_options: ['c_std=gnu11,c11', 'warning_level=2', 'cpp_std=c++17'],
Expand Down
2 changes: 1 addition & 1 deletion cpp/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "arrow",
"version-string": "21.0.0-SNAPSHOT",
"version-string": "21.0.0",
"dependencies": [
"abseil",
{
Expand Down
2 changes: 1 addition & 1 deletion csharp/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
<Product>Apache Arrow library</Product>
<Copyright>Copyright 2016-2024 The Apache Software Foundation</Copyright>
<Company>The Apache Software Foundation</Company>
<Version>21.0.0-SNAPSHOT</Version>
<Version>21.0.0</Version>
</PropertyGroup>

<PropertyGroup>
Expand Down
42 changes: 32 additions & 10 deletions dev/release/verify-release-candidate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -776,11 +776,19 @@ ensure_source_directory() {
elif [ "${SOURCE_KIND}" = "git" ]; then
# Remote arrow repository, testing repositories must be cloned
: ${SOURCE_REPOSITORY:="https://github.com/apache/arrow"}
echo "Verifying Arrow repository ${SOURCE_REPOSITORY} with revision checkout ${VERSION}"
case "${VERSION}" in
*.*.*)
revision="apache-arrow-${VERSION}"
;;
*)
revision="${VERSION}"
;;
esac
echo "Verifying Arrow repository ${SOURCE_REPOSITORY} with revision checkout ${revision}"
export ARROW_SOURCE_DIR="${ARROW_TMPDIR}/arrow"
if [ ! -d "${ARROW_SOURCE_DIR}" ]; then
git clone --recurse-submodules $SOURCE_REPOSITORY $ARROW_SOURCE_DIR
git -C $ARROW_SOURCE_DIR checkout $VERSION
git -C $ARROW_SOURCE_DIR checkout "${revision}"
fi
else
# Release tarball, testing repositories must be cloned separately
Expand All @@ -789,14 +797,6 @@ ensure_source_directory() {
if [ ! -d "${ARROW_SOURCE_DIR}" ]; then
pushd $ARROW_TMPDIR
fetch_archive ${dist_name}
git clone https://github.com/${GITHUB_REPOSITORY}.git arrow
pushd arrow
dev/release/utils-create-release-tarball.sh ${VERSION} ${RC_NUMBER}
if ! cmp ${dist_name}.tar.gz ../${dist_name}.tar.gz; then
echo "Source archive isn't reproducible"
return 1
fi
popd
tar xf ${dist_name}.tar.gz
popd
fi
Expand Down Expand Up @@ -845,6 +845,27 @@ test_source_distribution() {

pushd $ARROW_SOURCE_DIR

if [ "${SOURCE_KIND}" = "tarball" ] && [ "${TEST_SOURCE_REPRODUCIBLE}" -gt 0 ]; then
pushd ..
git clone "https://github.com/${GITHUB_REPOSITORY}.git" arrow
pushd arrow
dev/release/utils-create-release-tarball.sh "${VERSION}" "${RC_NUMBER}"
tarball="apache-arrow-${VERSION}.tar.gz"
if ! cmp "${tarball}" "../${tarball}"; then
echo "Source archive isn't reproducible"
if ! tar --version | grep --quiet --fixed GNU && \
! gtar --version | grep --quiet --fixed GNU; then
echo "We need GNU tar to verify reproducible build"
fi
if ! gzip --version | grep --quiet --fixed GNU; then
echo "We need GNU gzip to verify reproducible build"
fi
return 1
fi
popd
popd
fi

if [ ${TEST_CSHARP} -gt 0 ]; then
test_csharp
fi
Expand Down Expand Up @@ -1033,6 +1054,7 @@ test_wheels() {
: ${TEST_YUM:=${TEST_BINARIES}}

# Source verification tasks
: ${TEST_SOURCE_REPRODUCIBLE:=0}
: ${TEST_CPP:=${TEST_SOURCE}}
: ${TEST_CSHARP:=${TEST_SOURCE}}
: ${TEST_GLIB:=${TEST_SOURCE}}
Expand Down
2 changes: 1 addition & 1 deletion dev/tasks/homebrew-formulae/apache-arrow-glib.rb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
class ApacheArrowGlib < Formula
desc "GLib bindings for Apache Arrow"
homepage "https://arrow.apache.org/"
url "https://www.apache.org/dyn/closer.lua?path=arrow/arrow-21.0.0-SNAPSHOT/apache-arrow-21.0.0-SNAPSHOT.tar.gz"
url "https://www.apache.org/dyn/closer.lua?path=arrow/arrow-21.0.0/apache-arrow-21.0.0.tar.gz"
sha256 "9948ddb6d4798b51552d0dca3252dd6e3a7d0f9702714fc6f5a1b59397ce1d28"
license "Apache-2.0"
head "https://github.com/apache/arrow.git", branch: "main"
Expand Down
2 changes: 1 addition & 1 deletion dev/tasks/homebrew-formulae/apache-arrow.rb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
class ApacheArrow < Formula
desc "Columnar in-memory analytics layer designed to accelerate big data"
homepage "https://arrow.apache.org/"
url "https://www.apache.org/dyn/closer.lua?path=arrow/arrow-21.0.0-SNAPSHOT/apache-arrow-21.0.0-SNAPSHOT.tar.gz"
url "https://www.apache.org/dyn/closer.lua?path=arrow/arrow-21.0.0/apache-arrow-21.0.0.tar.gz"
sha256 "9948ddb6d4798b51552d0dca3252dd6e3a7d0f9702714fc6f5a1b59397ce1d28"
license "Apache-2.0"
head "https://github.com/apache/arrow.git", branch: "main"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
apache-arrow-apt-source (21.0.0-1) unstable; urgency=low

* New upstream release.

-- Sutou Kouhei <kou@clear-code.com> Fri, 11 Jul 2025 07:44:45 -0000

apache-arrow-apt-source (20.0.0-1) unstable; urgency=low

* New upstream release.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,9 @@ else
fi

%changelog
* Fri Jul 11 2025 Sutou Kouhei <kou@clear-code.com> - 21.0.0-1
- New upstream release.

* Tue Apr 22 2025 Jacob Wujciak-Jens <jacob@wujciak.de> - 20.0.0-1
- New upstream release.

Expand Down
6 changes: 6 additions & 0 deletions dev/tasks/linux-packages/apache-arrow/debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
apache-arrow (21.0.0-1) unstable; urgency=low

* New upstream release.

-- Sutou Kouhei <kou@clear-code.com> Fri, 11 Jul 2025 07:44:45 -0000

apache-arrow (20.0.0-1) unstable; urgency=low

* New upstream release.
Expand Down
3 changes: 3 additions & 0 deletions dev/tasks/linux-packages/apache-arrow/yum/arrow.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -931,6 +931,9 @@ Documentation for Apache Parquet GLib.
%endif

%changelog
* Fri Jul 11 2025 Sutou Kouhei <kou@clear-code.com> - 21.0.0-1
- New upstream release.

* Tue Apr 22 2025 Jacob Wujciak-Jens <jacob@wujciak.de> - 20.0.0-1
- New upstream release.

Expand Down
3 changes: 3 additions & 0 deletions dev/tasks/verify-rc/github.linux.amd64.docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ jobs:
{% endif %}
-e VERIFY_RC="{{ rc|default("") }}" \
-e TEST_DEFAULT=0 \
{% if target == "cpp" %}
-e TEST_SOURCE_REPRODUCIBLE=1 \
{% endif %}
-e TEST_{{ target|upper }}=1 \
{{ distro }}-verify-rc

Expand Down
17 changes: 16 additions & 1 deletion dev/tasks/verify-rc/github.macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,9 @@ jobs:
if [ -x "${pkgconf}" ]; then
echo "PKG_CONFIG=${pkgconf}" >> $GITHUB_ENV
fi

# For reproducible source archive verification
brew install gzip
{% endif %}

- uses: actions/setup-java@v2
Expand Down Expand Up @@ -91,6 +94,18 @@ jobs:
USE_CONDA: 1
{% else %}
GTest_SOURCE: SYSTEM
{% if target == "cpp" %}
TEST_SOURCE_REPRODUCIBLE: 1
{% endif %}
{% endif %}
run: |
arrow/dev/release/verify-release-candidate.sh {{ release|default("") }} {{ rc|default("") }}
version={{ release|default("") }}
rc={{ rc|default("") }}
if [ -n "${version}" ] && [ -n "${rc}" ]; then
args=("${version}" "${rc}")
GITHUB_REPOSITORY=apache/arrow
else
args=()
GITHUB_REPOSITORY={{ arrow.github_repo }}
fi
arrow/dev/release/verify-release-candidate.sh "${args[@]}"
9 changes: 7 additions & 2 deletions docs/source/_static/versions.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
[
{
"name": "21.0 (dev)",
"name": "22.0 (dev)",
"version": "dev/",
"url": "https://arrow.apache.org/docs/dev/"
},
{
"name": "20.0 (stable)",
"name": "21.0 (stable)",
"version": "",
"url": "https://arrow.apache.org/docs/",
"preferred": true
},
{
"name": "20.0",
"version": "20.0/",
"url": "https://arrow.apache.org/docs/20.0/"
},
{
"name": "19.0",
"version": "19.0/",
Expand Down
2 changes: 1 addition & 1 deletion matlab/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ endfunction()

set(CMAKE_CXX_STANDARD 17)

set(MLARROW_VERSION "21.0.0-SNAPSHOT")
set(MLARROW_VERSION "21.0.0")
string(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" MLARROW_BASE_VERSION "${MLARROW_VERSION}")

project(mlarrow VERSION "${MLARROW_BASE_VERSION}")
Expand Down
2 changes: 1 addition & 1 deletion python/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ project(pyarrow)
# which in turn meant that Py_GIL_DISABLED was not set.
set(CMAKE_NO_SYSTEM_FROM_IMPORTED ON)

set(PYARROW_VERSION "21.0.0-SNAPSHOT")
set(PYARROW_VERSION "21.0.0")
string(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" PYARROW_BASE_VERSION "${PYARROW_VERSION}")

# Generate SO version and full SO version
Expand Down
2 changes: 1 addition & 1 deletion python/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -96,4 +96,4 @@ root = '..'
version_file = 'pyarrow/_generated_version.py'
version_scheme = 'guess-next-dev'
git_describe_command = 'git describe --dirty --tags --long --match "apache-arrow-[0-9]*.*"'
fallback_version = '21.0.0a0'
fallback_version = '21.0.0'
2 changes: 1 addition & 1 deletion r/DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Package: arrow
Title: Integration to 'Apache' 'Arrow'
Version: 20.0.0.9000
Version: 21.0.0
Authors@R: c(
person("Neal", "Richardson", email = "neal.p.richardson@gmail.com", role = c("aut")),
person("Ian", "Cook", email = "ianmcook@gmail.com", role = c("aut")),
Expand Down
2 changes: 1 addition & 1 deletion r/NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
under the License.
-->

# arrow 20.0.0.9000
# arrow 21.0.0

## Minor improvements and fixes

Expand Down
5 changes: 3 additions & 2 deletions r/pkgdown/assets/versions.html
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
<!DOCTYPE html>
<html>
<body><p><a href="../dev/r/">20.0.0.9000 (dev)</a></p>
<p><a href="../r/">20.0.0 (release)</a></p>
<body><p><a href="../dev/r/">21.0.0.9000 (dev)</a></p>
<p><a href="../r/">21.0.0 (release)</a></p>
<p><a href="../20.0/r/">20.0.0</a></p>
<p><a href="../19.0/r/">19.0.1</a></p>
<p><a href="../18.1/r/">18.1.0</a></p>
<p><a href="../17.0/r/">17.0.0</a></p>
Expand Down
Loading
Loading