GH-48817 [R][C++] Bump C++20 in R build infrastructure - #48819

Merged
jonkeane merged 9 commits into
apache:mainfrom
jonkeane:R_CXX20
Jan 14, 2026
Merged

GH-48817 [R][C++] Bump C++20 in R build infrastructure#48819
jonkeane merged 9 commits into
apache:mainfrom
jonkeane:R_CXX20

Conversation

@jonkeane

@jonkeanejonkeane commented Jan 11, 2026

Copy link
Copy Markdown
Member

Resolves: #48817

Rationale for this change

Keep R build infrastructure inline with our C++ version

What changes are included in this PR?

Mostly s/CXX17/CXX20/g

Are these changes tested?

Yes, lots of CI

Are there any user-facing changes?

This PR includes breaking changes to public APIs. (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)

This PR contains a "Critical Fix". (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)

@github-actions

Copy link
Copy Markdown

⚠️ GitHub issue #48817has been automatically assigned in GitHub to PR creator.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit -g r

@github-actions

Copy link
Copy Markdown

Revision: 1055162

Submitted crossbow builds: ursacomputing/crossbow @ actions-a7d1cc1db3

TaskStatus
r-binary-packagesGitHub Actions
r-recheck-mostGitHub Actions
test-r-alpine-linux-cranGitHub Actions
test-r-arrow-backwards-compatibilityGitHub Actions
test-r-depsource-systemGitHub Actions
test-r-dev-duckdbGitHub Actions
test-r-devdocsGitHub Actions
test-r-extra-packagesGitHub Actions
test-r-gcc-11GitHub Actions
test-r-gcc-12GitHub Actions
test-r-install-localGitHub Actions
test-r-install-local-minsizerelGitHub Actions
test-r-linux-as-cranGitHub Actions
test-r-linux-rchkGitHub Actions
test-r-linux-sanitizersGitHub Actions
test-r-linux-valgrindGitHub Actions
test-r-m1-sanGitHub Actions
test-r-macos-as-cranGitHub Actions
test-r-offline-maximalGitHub Actions
test-r-ubuntu-22.04GitHub Actions
test-r-versionsGitHub Actions

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbowsubmit test-r-linux-as-cran test-r-linux-valgrind

These both looked transient / timedout.

@github-actions

Copy link
Copy Markdown
No such command 'crossbowsubmit'.
The Archery job run can be found at: https://github.com/apache/arrow/actions/runs/20921567593

Comment threadr/configure.win Outdated
# to stdout, to avoid noise in the log we redirect the output to /dev/null
if [ "$UNAME" = "Darwin" ] && expr $(sw_vers -productVersion) : '10\.13' >/dev/null 2>&1; then
# avoid C++17 availability warnings on macOS < 11
# avoid C++20 availability warnings on macOS < 11

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does R still support macOS < 11? It's end-of-life since 2022.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so, I need to dig to see what the actual number is and update this comment / remove this code path if we don't need it.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-as-cran test-r-linux-valgrind

@github-actionsgithub-actionsBot added awaiting changes Awaiting changes and removed awaiting committer review Awaiting committer review labels Jan 12, 2026
@github-actions

Copy link
Copy Markdown

Revision: 1055162

Submitted crossbow builds: ursacomputing/crossbow @ actions-278eeef116

TaskStatus
test-r-linux-as-cranGitHub Actions
test-r-linux-valgrindGitHub Actions

@github-actionsgithub-actionsBot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 14, 2026
@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-valgrind

@github-actions

Copy link
Copy Markdown

Revision: 57abbb9

Submitted crossbow builds: ursacomputing/crossbow @ actions-3baa541c5a

TaskStatus
test-r-linux-valgrindGitHub Actions


As of version 10.0.0, arrow requires a C++17 compiler to build.
For `gcc`, this generally means version 7 or newer. Most contemporary Linux
As of version 22.0.0, arrow requires a C++20 compiler to build.

@pitroupitrouJan 14, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be 23.0.0?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was aiming for 23, but we might have missed the boat on that one. We might still need to backport this to the CRAN release, so I'm going to put that for now. Regardless, yeah it's over 22 not 22 and over.

@github-actionsgithub-actionsBot added awaiting changes Awaiting changes and removed awaiting change review Awaiting change review labels Jan 14, 2026

@pitroupitrou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, thanks a lot @jonkeane ! Hopefully we can merge this soon to unblock other tasks.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-as-cran test-r-linux-valgrind test-r-alpine-linux-cran

@github-actions

Copy link
Copy Markdown

Revision: 60fb687

Submitted crossbow builds: ursacomputing/crossbow @ actions-c91e2c4db5

TaskStatus
test-r-alpine-linux-cranGitHub Actions
test-r-linux-as-cranGitHub Actions
test-r-linux-valgrindGitHub Actions

@github-actionsgithub-actionsBot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 14, 2026
rok
rok approved these changes Jan 14, 2026
@rok

rok commented Jan 14, 2026

Copy link
Copy Markdown
Member

Thanks for pushing this!

@github-actionsgithub-actionsBot added awaiting merge Awaiting merge and removed awaiting change review Awaiting change review labels Jan 14, 2026
@jonkeane
jonkeane merged commit 9a5ddb0 into apache:mainJan 14, 2026
47 checks passed
@jonkeanejonkeane removed the awaiting merge Awaiting merge label Jan 14, 2026
@conbench-apache-arrow

Copy link
Copy Markdown

After merging your PR, Conbench analyzed the 3 benchmarking runs that have been run so far on merge-commit 9a5ddb0.

There weren't enough matching historic benchmark results to make a call on whether there were regressions.

The full Conbench report has more details.

thisisnic pushed a commit that referenced this pull request Jan 22, 2026
Resolves: #48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: #48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
raulcd pushed a commit that referenced this pull request Feb 9, 2026
Resolves: #48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: #48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
…48819)
Resolves: apache#48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: apache#48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[R][C++] Bump C++20 in R build infrastructure

3 participants

@jonkeane@rok@pitrou
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks"); } } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); } })(); (function(){ try { var __m = "github.com"; var __re = new RegExp('^' + "github\\.com" + '
Skip to content

GH-48817 [R][C++] Bump C++20 in R build infrastructure - #48819

Merged
jonkeane merged 9 commits into
apache:mainfrom
jonkeane:R_CXX20
Jan 14, 2026
Merged

GH-48817 [R][C++] Bump C++20 in R build infrastructure#48819
jonkeane merged 9 commits into
apache:mainfrom
jonkeane:R_CXX20

Conversation

@jonkeane

@jonkeanejonkeane commented Jan 11, 2026

Copy link
Copy Markdown
Member

Resolves: #48817

Rationale for this change

Keep R build infrastructure inline with our C++ version

What changes are included in this PR?

Mostly s/CXX17/CXX20/g

Are these changes tested?

Yes, lots of CI

Are there any user-facing changes?

This PR includes breaking changes to public APIs. (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)

This PR contains a "Critical Fix". (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)

@github-actions

Copy link
Copy Markdown

⚠️ GitHub issue #48817has been automatically assigned in GitHub to PR creator.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit -g r

@github-actions

Copy link
Copy Markdown

Revision: 1055162

Submitted crossbow builds: ursacomputing/crossbow @ actions-a7d1cc1db3

TaskStatus
r-binary-packagesGitHub Actions
r-recheck-mostGitHub Actions
test-r-alpine-linux-cranGitHub Actions
test-r-arrow-backwards-compatibilityGitHub Actions
test-r-depsource-systemGitHub Actions
test-r-dev-duckdbGitHub Actions
test-r-devdocsGitHub Actions
test-r-extra-packagesGitHub Actions
test-r-gcc-11GitHub Actions
test-r-gcc-12GitHub Actions
test-r-install-localGitHub Actions
test-r-install-local-minsizerelGitHub Actions
test-r-linux-as-cranGitHub Actions
test-r-linux-rchkGitHub Actions
test-r-linux-sanitizersGitHub Actions
test-r-linux-valgrindGitHub Actions
test-r-m1-sanGitHub Actions
test-r-macos-as-cranGitHub Actions
test-r-offline-maximalGitHub Actions
test-r-ubuntu-22.04GitHub Actions
test-r-versionsGitHub Actions

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbowsubmit test-r-linux-as-cran test-r-linux-valgrind

These both looked transient / timedout.

@github-actions

Copy link
Copy Markdown
No such command 'crossbowsubmit'.
The Archery job run can be found at: https://github.com/apache/arrow/actions/runs/20921567593

Comment threadr/configure.win Outdated
# to stdout, to avoid noise in the log we redirect the output to /dev/null
if [ "$UNAME" = "Darwin" ] && expr $(sw_vers -productVersion) : '10\.13' >/dev/null 2>&1; then
# avoid C++17 availability warnings on macOS < 11
# avoid C++20 availability warnings on macOS < 11

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does R still support macOS < 11? It's end-of-life since 2022.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so, I need to dig to see what the actual number is and update this comment / remove this code path if we don't need it.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-as-cran test-r-linux-valgrind

@github-actionsgithub-actionsBot added awaiting changes Awaiting changes and removed awaiting committer review Awaiting committer review labels Jan 12, 2026
@github-actions

Copy link
Copy Markdown

Revision: 1055162

Submitted crossbow builds: ursacomputing/crossbow @ actions-278eeef116

TaskStatus
test-r-linux-as-cranGitHub Actions
test-r-linux-valgrindGitHub Actions

@github-actionsgithub-actionsBot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 14, 2026
@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-valgrind

@github-actions

Copy link
Copy Markdown

Revision: 57abbb9

Submitted crossbow builds: ursacomputing/crossbow @ actions-3baa541c5a

TaskStatus
test-r-linux-valgrindGitHub Actions


As of version 10.0.0, arrow requires a C++17 compiler to build.
For `gcc`, this generally means version 7 or newer. Most contemporary Linux
As of version 22.0.0, arrow requires a C++20 compiler to build.

@pitroupitrouJan 14, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be 23.0.0?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was aiming for 23, but we might have missed the boat on that one. We might still need to backport this to the CRAN release, so I'm going to put that for now. Regardless, yeah it's over 22 not 22 and over.

@github-actionsgithub-actionsBot added awaiting changes Awaiting changes and removed awaiting change review Awaiting change review labels Jan 14, 2026

@pitroupitrou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, thanks a lot @jonkeane ! Hopefully we can merge this soon to unblock other tasks.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-as-cran test-r-linux-valgrind test-r-alpine-linux-cran

@github-actions

Copy link
Copy Markdown

Revision: 60fb687

Submitted crossbow builds: ursacomputing/crossbow @ actions-c91e2c4db5

TaskStatus
test-r-alpine-linux-cranGitHub Actions
test-r-linux-as-cranGitHub Actions
test-r-linux-valgrindGitHub Actions

@github-actionsgithub-actionsBot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 14, 2026
rok
rok approved these changes Jan 14, 2026
@rok

rok commented Jan 14, 2026

Copy link
Copy Markdown
Member

Thanks for pushing this!

@github-actionsgithub-actionsBot added awaiting merge Awaiting merge and removed awaiting change review Awaiting change review labels Jan 14, 2026
@jonkeane
jonkeane merged commit 9a5ddb0 into apache:mainJan 14, 2026
47 checks passed
@jonkeanejonkeane removed the awaiting merge Awaiting merge label Jan 14, 2026
@conbench-apache-arrow

Copy link
Copy Markdown

After merging your PR, Conbench analyzed the 3 benchmarking runs that have been run so far on merge-commit 9a5ddb0.

There weren't enough matching historic benchmark results to make a call on whether there were regressions.

The full Conbench report has more details.

thisisnic pushed a commit that referenced this pull request Jan 22, 2026
Resolves: #48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: #48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
raulcd pushed a commit that referenced this pull request Feb 9, 2026
Resolves: #48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: #48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
…48819)
Resolves: apache#48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: apache#48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[R][C++] Bump C++20 in R build infrastructure

3 participants

@jonkeane@rok@pitrou
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

GH-48817 [R][C++] Bump C++20 in R build infrastructure - #48819

Merged
jonkeane merged 9 commits into
apache:mainfrom
jonkeane:R_CXX20
Jan 14, 2026
Merged

GH-48817 [R][C++] Bump C++20 in R build infrastructure#48819
jonkeane merged 9 commits into
apache:mainfrom
jonkeane:R_CXX20

Conversation

@jonkeane

@jonkeanejonkeane commented Jan 11, 2026

Copy link
Copy Markdown
Member

Resolves: #48817

Rationale for this change

Keep R build infrastructure inline with our C++ version

What changes are included in this PR?

Mostly s/CXX17/CXX20/g

Are these changes tested?

Yes, lots of CI

Are there any user-facing changes?

This PR includes breaking changes to public APIs. (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)

This PR contains a "Critical Fix". (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)

@github-actions

Copy link
Copy Markdown

⚠️ GitHub issue #48817has been automatically assigned in GitHub to PR creator.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit -g r

@github-actions

Copy link
Copy Markdown

Revision: 1055162

Submitted crossbow builds: ursacomputing/crossbow @ actions-a7d1cc1db3

TaskStatus
r-binary-packagesGitHub Actions
r-recheck-mostGitHub Actions
test-r-alpine-linux-cranGitHub Actions
test-r-arrow-backwards-compatibilityGitHub Actions
test-r-depsource-systemGitHub Actions
test-r-dev-duckdbGitHub Actions
test-r-devdocsGitHub Actions
test-r-extra-packagesGitHub Actions
test-r-gcc-11GitHub Actions
test-r-gcc-12GitHub Actions
test-r-install-localGitHub Actions
test-r-install-local-minsizerelGitHub Actions
test-r-linux-as-cranGitHub Actions
test-r-linux-rchkGitHub Actions
test-r-linux-sanitizersGitHub Actions
test-r-linux-valgrindGitHub Actions
test-r-m1-sanGitHub Actions
test-r-macos-as-cranGitHub Actions
test-r-offline-maximalGitHub Actions
test-r-ubuntu-22.04GitHub Actions
test-r-versionsGitHub Actions

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbowsubmit test-r-linux-as-cran test-r-linux-valgrind

These both looked transient / timedout.

@github-actions

Copy link
Copy Markdown
No such command 'crossbowsubmit'.
The Archery job run can be found at: https://github.com/apache/arrow/actions/runs/20921567593

Comment threadr/configure.win Outdated
# to stdout, to avoid noise in the log we redirect the output to /dev/null
if [ "$UNAME" = "Darwin" ] && expr $(sw_vers -productVersion) : '10\.13' >/dev/null 2>&1; then
# avoid C++17 availability warnings on macOS < 11
# avoid C++20 availability warnings on macOS < 11

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does R still support macOS < 11? It's end-of-life since 2022.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so, I need to dig to see what the actual number is and update this comment / remove this code path if we don't need it.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-as-cran test-r-linux-valgrind

@github-actionsgithub-actionsBot added awaiting changes Awaiting changes and removed awaiting committer review Awaiting committer review labels Jan 12, 2026
@github-actions

Copy link
Copy Markdown

Revision: 1055162

Submitted crossbow builds: ursacomputing/crossbow @ actions-278eeef116

TaskStatus
test-r-linux-as-cranGitHub Actions
test-r-linux-valgrindGitHub Actions

@github-actionsgithub-actionsBot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 14, 2026
@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-valgrind

@github-actions

Copy link
Copy Markdown

Revision: 57abbb9

Submitted crossbow builds: ursacomputing/crossbow @ actions-3baa541c5a

TaskStatus
test-r-linux-valgrindGitHub Actions


As of version 10.0.0, arrow requires a C++17 compiler to build.
For `gcc`, this generally means version 7 or newer. Most contemporary Linux
As of version 22.0.0, arrow requires a C++20 compiler to build.

@pitroupitrouJan 14, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be 23.0.0?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was aiming for 23, but we might have missed the boat on that one. We might still need to backport this to the CRAN release, so I'm going to put that for now. Regardless, yeah it's over 22 not 22 and over.

@github-actionsgithub-actionsBot added awaiting changes Awaiting changes and removed awaiting change review Awaiting change review labels Jan 14, 2026

@pitroupitrou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, thanks a lot @jonkeane ! Hopefully we can merge this soon to unblock other tasks.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-as-cran test-r-linux-valgrind test-r-alpine-linux-cran

@github-actions

Copy link
Copy Markdown

Revision: 60fb687

Submitted crossbow builds: ursacomputing/crossbow @ actions-c91e2c4db5

TaskStatus
test-r-alpine-linux-cranGitHub Actions
test-r-linux-as-cranGitHub Actions
test-r-linux-valgrindGitHub Actions

@github-actionsgithub-actionsBot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 14, 2026
rok
rok approved these changes Jan 14, 2026
@rok

rok commented Jan 14, 2026

Copy link
Copy Markdown
Member

Thanks for pushing this!

@github-actionsgithub-actionsBot added awaiting merge Awaiting merge and removed awaiting change review Awaiting change review labels Jan 14, 2026
@jonkeane
jonkeane merged commit 9a5ddb0 into apache:mainJan 14, 2026
47 checks passed
@jonkeanejonkeane removed the awaiting merge Awaiting merge label Jan 14, 2026
@conbench-apache-arrow

Copy link
Copy Markdown

After merging your PR, Conbench analyzed the 3 benchmarking runs that have been run so far on merge-commit 9a5ddb0.

There weren't enough matching historic benchmark results to make a call on whether there were regressions.

The full Conbench report has more details.

thisisnic pushed a commit that referenced this pull request Jan 22, 2026
Resolves: #48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: #48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
raulcd pushed a commit that referenced this pull request Feb 9, 2026
Resolves: #48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: #48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
…48819)
Resolves: apache#48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: apache#48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[R][C++] Bump C++20 in R build infrastructure

3 participants

@jonkeane@rok@pitrou
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length \u003e 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

GH-48817 [R][C++] Bump C++20 in R build infrastructure - #48819

Merged
jonkeane merged 9 commits into
apache:mainfrom
jonkeane:R_CXX20
Jan 14, 2026
Merged

GH-48817 [R][C++] Bump C++20 in R build infrastructure#48819
jonkeane merged 9 commits into
apache:mainfrom
jonkeane:R_CXX20

Conversation

@jonkeane

@jonkeanejonkeane commented Jan 11, 2026

Copy link
Copy Markdown
Member

Resolves: #48817

Rationale for this change

Keep R build infrastructure inline with our C++ version

What changes are included in this PR?

Mostly s/CXX17/CXX20/g

Are these changes tested?

Yes, lots of CI

Are there any user-facing changes?

This PR includes breaking changes to public APIs. (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)

This PR contains a "Critical Fix". (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)

@github-actions

Copy link
Copy Markdown

⚠️ GitHub issue #48817has been automatically assigned in GitHub to PR creator.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit -g r

@github-actions

Copy link
Copy Markdown

Revision: 1055162

Submitted crossbow builds: ursacomputing/crossbow @ actions-a7d1cc1db3

TaskStatus
r-binary-packagesGitHub Actions
r-recheck-mostGitHub Actions
test-r-alpine-linux-cranGitHub Actions
test-r-arrow-backwards-compatibilityGitHub Actions
test-r-depsource-systemGitHub Actions
test-r-dev-duckdbGitHub Actions
test-r-devdocsGitHub Actions
test-r-extra-packagesGitHub Actions
test-r-gcc-11GitHub Actions
test-r-gcc-12GitHub Actions
test-r-install-localGitHub Actions
test-r-install-local-minsizerelGitHub Actions
test-r-linux-as-cranGitHub Actions
test-r-linux-rchkGitHub Actions
test-r-linux-sanitizersGitHub Actions
test-r-linux-valgrindGitHub Actions
test-r-m1-sanGitHub Actions
test-r-macos-as-cranGitHub Actions
test-r-offline-maximalGitHub Actions
test-r-ubuntu-22.04GitHub Actions
test-r-versionsGitHub Actions

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbowsubmit test-r-linux-as-cran test-r-linux-valgrind

These both looked transient / timedout.

@github-actions

Copy link
Copy Markdown
No such command 'crossbowsubmit'.
The Archery job run can be found at: https://github.com/apache/arrow/actions/runs/20921567593

Comment threadr/configure.win Outdated
# to stdout, to avoid noise in the log we redirect the output to /dev/null
if [ "$UNAME" = "Darwin" ] && expr $(sw_vers -productVersion) : '10\.13' >/dev/null 2>&1; then
# avoid C++17 availability warnings on macOS < 11
# avoid C++20 availability warnings on macOS < 11

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does R still support macOS < 11? It's end-of-life since 2022.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so, I need to dig to see what the actual number is and update this comment / remove this code path if we don't need it.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-as-cran test-r-linux-valgrind

@github-actionsgithub-actionsBot added awaiting changes Awaiting changes and removed awaiting committer review Awaiting committer review labels Jan 12, 2026
@github-actions

Copy link
Copy Markdown

Revision: 1055162

Submitted crossbow builds: ursacomputing/crossbow @ actions-278eeef116

TaskStatus
test-r-linux-as-cranGitHub Actions
test-r-linux-valgrindGitHub Actions

@github-actionsgithub-actionsBot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 14, 2026
@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-valgrind

@github-actions

Copy link
Copy Markdown

Revision: 57abbb9

Submitted crossbow builds: ursacomputing/crossbow @ actions-3baa541c5a

TaskStatus
test-r-linux-valgrindGitHub Actions


As of version 10.0.0, arrow requires a C++17 compiler to build.
For `gcc`, this generally means version 7 or newer. Most contemporary Linux
As of version 22.0.0, arrow requires a C++20 compiler to build.

@pitroupitrouJan 14, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be 23.0.0?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was aiming for 23, but we might have missed the boat on that one. We might still need to backport this to the CRAN release, so I'm going to put that for now. Regardless, yeah it's over 22 not 22 and over.

@github-actionsgithub-actionsBot added awaiting changes Awaiting changes and removed awaiting change review Awaiting change review labels Jan 14, 2026

@pitroupitrou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, thanks a lot @jonkeane ! Hopefully we can merge this soon to unblock other tasks.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-as-cran test-r-linux-valgrind test-r-alpine-linux-cran

@github-actions

Copy link
Copy Markdown

Revision: 60fb687

Submitted crossbow builds: ursacomputing/crossbow @ actions-c91e2c4db5

TaskStatus
test-r-alpine-linux-cranGitHub Actions
test-r-linux-as-cranGitHub Actions
test-r-linux-valgrindGitHub Actions

@github-actionsgithub-actionsBot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 14, 2026
rok
rok approved these changes Jan 14, 2026
@rok

rok commented Jan 14, 2026

Copy link
Copy Markdown
Member

Thanks for pushing this!

@github-actionsgithub-actionsBot added awaiting merge Awaiting merge and removed awaiting change review Awaiting change review labels Jan 14, 2026
@jonkeane
jonkeane merged commit 9a5ddb0 into apache:mainJan 14, 2026
47 checks passed
@jonkeanejonkeane removed the awaiting merge Awaiting merge label Jan 14, 2026
@conbench-apache-arrow

Copy link
Copy Markdown

After merging your PR, Conbench analyzed the 3 benchmarking runs that have been run so far on merge-commit 9a5ddb0.

There weren't enough matching historic benchmark results to make a call on whether there were regressions.

The full Conbench report has more details.

thisisnic pushed a commit that referenced this pull request Jan 22, 2026
Resolves: #48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: #48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
raulcd pushed a commit that referenced this pull request Feb 9, 2026
Resolves: #48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: #48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
…48819)
Resolves: apache#48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: apache#48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[R][C++] Bump C++20 in R build infrastructure

3 participants

@jonkeane@rok@pitrou
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

GH-48817 [R][C++] Bump C++20 in R build infrastructure - #48819

Merged
jonkeane merged 9 commits into
apache:mainfrom
jonkeane:R_CXX20
Jan 14, 2026
Merged

GH-48817 [R][C++] Bump C++20 in R build infrastructure#48819
jonkeane merged 9 commits into
apache:mainfrom
jonkeane:R_CXX20

Conversation

@jonkeane

@jonkeanejonkeane commented Jan 11, 2026

Copy link
Copy Markdown
Member

Resolves: #48817

Rationale for this change

Keep R build infrastructure inline with our C++ version

What changes are included in this PR?

Mostly s/CXX17/CXX20/g

Are these changes tested?

Yes, lots of CI

Are there any user-facing changes?

This PR includes breaking changes to public APIs. (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)

This PR contains a "Critical Fix". (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)

@github-actions

Copy link
Copy Markdown

⚠️ GitHub issue #48817has been automatically assigned in GitHub to PR creator.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit -g r

@github-actions

Copy link
Copy Markdown

Revision: 1055162

Submitted crossbow builds: ursacomputing/crossbow @ actions-a7d1cc1db3

TaskStatus
r-binary-packagesGitHub Actions
r-recheck-mostGitHub Actions
test-r-alpine-linux-cranGitHub Actions
test-r-arrow-backwards-compatibilityGitHub Actions
test-r-depsource-systemGitHub Actions
test-r-dev-duckdbGitHub Actions
test-r-devdocsGitHub Actions
test-r-extra-packagesGitHub Actions
test-r-gcc-11GitHub Actions
test-r-gcc-12GitHub Actions
test-r-install-localGitHub Actions
test-r-install-local-minsizerelGitHub Actions
test-r-linux-as-cranGitHub Actions
test-r-linux-rchkGitHub Actions
test-r-linux-sanitizersGitHub Actions
test-r-linux-valgrindGitHub Actions
test-r-m1-sanGitHub Actions
test-r-macos-as-cranGitHub Actions
test-r-offline-maximalGitHub Actions
test-r-ubuntu-22.04GitHub Actions
test-r-versionsGitHub Actions

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbowsubmit test-r-linux-as-cran test-r-linux-valgrind

These both looked transient / timedout.

@github-actions

Copy link
Copy Markdown
No such command 'crossbowsubmit'.
The Archery job run can be found at: https://github.com/apache/arrow/actions/runs/20921567593

Comment threadr/configure.win Outdated
# to stdout, to avoid noise in the log we redirect the output to /dev/null
if [ "$UNAME" = "Darwin" ] && expr $(sw_vers -productVersion) : '10\.13' >/dev/null 2>&1; then
# avoid C++17 availability warnings on macOS < 11
# avoid C++20 availability warnings on macOS < 11

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does R still support macOS < 11? It's end-of-life since 2022.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so, I need to dig to see what the actual number is and update this comment / remove this code path if we don't need it.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-as-cran test-r-linux-valgrind

@github-actionsgithub-actionsBot added awaiting changes Awaiting changes and removed awaiting committer review Awaiting committer review labels Jan 12, 2026
@github-actions

Copy link
Copy Markdown

Revision: 1055162

Submitted crossbow builds: ursacomputing/crossbow @ actions-278eeef116

TaskStatus
test-r-linux-as-cranGitHub Actions
test-r-linux-valgrindGitHub Actions

@github-actionsgithub-actionsBot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 14, 2026
@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-valgrind

@github-actions

Copy link
Copy Markdown

Revision: 57abbb9

Submitted crossbow builds: ursacomputing/crossbow @ actions-3baa541c5a

TaskStatus
test-r-linux-valgrindGitHub Actions


As of version 10.0.0, arrow requires a C++17 compiler to build.
For `gcc`, this generally means version 7 or newer. Most contemporary Linux
As of version 22.0.0, arrow requires a C++20 compiler to build.

@pitroupitrouJan 14, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be 23.0.0?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was aiming for 23, but we might have missed the boat on that one. We might still need to backport this to the CRAN release, so I'm going to put that for now. Regardless, yeah it's over 22 not 22 and over.

@github-actionsgithub-actionsBot added awaiting changes Awaiting changes and removed awaiting change review Awaiting change review labels Jan 14, 2026

@pitroupitrou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, thanks a lot @jonkeane ! Hopefully we can merge this soon to unblock other tasks.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-as-cran test-r-linux-valgrind test-r-alpine-linux-cran

@github-actions

Copy link
Copy Markdown

Revision: 60fb687

Submitted crossbow builds: ursacomputing/crossbow @ actions-c91e2c4db5

TaskStatus
test-r-alpine-linux-cranGitHub Actions
test-r-linux-as-cranGitHub Actions
test-r-linux-valgrindGitHub Actions

@github-actionsgithub-actionsBot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 14, 2026
rok
rok approved these changes Jan 14, 2026
@rok

rok commented Jan 14, 2026

Copy link
Copy Markdown
Member

Thanks for pushing this!

@github-actionsgithub-actionsBot added awaiting merge Awaiting merge and removed awaiting change review Awaiting change review labels Jan 14, 2026
@jonkeane
jonkeane merged commit 9a5ddb0 into apache:mainJan 14, 2026
47 checks passed
@jonkeanejonkeane removed the awaiting merge Awaiting merge label Jan 14, 2026
@conbench-apache-arrow

Copy link
Copy Markdown

After merging your PR, Conbench analyzed the 3 benchmarking runs that have been run so far on merge-commit 9a5ddb0.

There weren't enough matching historic benchmark results to make a call on whether there were regressions.

The full Conbench report has more details.

thisisnic pushed a commit that referenced this pull request Jan 22, 2026
Resolves: #48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: #48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
raulcd pushed a commit that referenced this pull request Feb 9, 2026
Resolves: #48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: #48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
…48819)
Resolves: apache#48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: apache#48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[R][C++] Bump C++20 in R build infrastructure

3 participants

@jonkeane@rok@pitrou
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

GH-48817 [R][C++] Bump C++20 in R build infrastructure - #48819

Merged
jonkeane merged 9 commits into
apache:mainfrom
jonkeane:R_CXX20
Jan 14, 2026
Merged

GH-48817 [R][C++] Bump C++20 in R build infrastructure#48819
jonkeane merged 9 commits into
apache:mainfrom
jonkeane:R_CXX20

Conversation

@jonkeane

@jonkeanejonkeane commented Jan 11, 2026

Copy link
Copy Markdown
Member

Resolves: #48817

Rationale for this change

Keep R build infrastructure inline with our C++ version

What changes are included in this PR?

Mostly s/CXX17/CXX20/g

Are these changes tested?

Yes, lots of CI

Are there any user-facing changes?

This PR includes breaking changes to public APIs. (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)

This PR contains a "Critical Fix". (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)

@github-actions

Copy link
Copy Markdown

⚠️ GitHub issue #48817has been automatically assigned in GitHub to PR creator.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit -g r

@github-actions

Copy link
Copy Markdown

Revision: 1055162

Submitted crossbow builds: ursacomputing/crossbow @ actions-a7d1cc1db3

TaskStatus
r-binary-packagesGitHub Actions
r-recheck-mostGitHub Actions
test-r-alpine-linux-cranGitHub Actions
test-r-arrow-backwards-compatibilityGitHub Actions
test-r-depsource-systemGitHub Actions
test-r-dev-duckdbGitHub Actions
test-r-devdocsGitHub Actions
test-r-extra-packagesGitHub Actions
test-r-gcc-11GitHub Actions
test-r-gcc-12GitHub Actions
test-r-install-localGitHub Actions
test-r-install-local-minsizerelGitHub Actions
test-r-linux-as-cranGitHub Actions
test-r-linux-rchkGitHub Actions
test-r-linux-sanitizersGitHub Actions
test-r-linux-valgrindGitHub Actions
test-r-m1-sanGitHub Actions
test-r-macos-as-cranGitHub Actions
test-r-offline-maximalGitHub Actions
test-r-ubuntu-22.04GitHub Actions
test-r-versionsGitHub Actions

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbowsubmit test-r-linux-as-cran test-r-linux-valgrind

These both looked transient / timedout.

@github-actions

Copy link
Copy Markdown
No such command 'crossbowsubmit'.
The Archery job run can be found at: https://github.com/apache/arrow/actions/runs/20921567593

Comment threadr/configure.win Outdated
# to stdout, to avoid noise in the log we redirect the output to /dev/null
if [ "$UNAME" = "Darwin" ] && expr $(sw_vers -productVersion) : '10\.13' >/dev/null 2>&1; then
# avoid C++17 availability warnings on macOS < 11
# avoid C++20 availability warnings on macOS < 11

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does R still support macOS < 11? It's end-of-life since 2022.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so, I need to dig to see what the actual number is and update this comment / remove this code path if we don't need it.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-as-cran test-r-linux-valgrind

@github-actionsgithub-actionsBot added awaiting changes Awaiting changes and removed awaiting committer review Awaiting committer review labels Jan 12, 2026
@github-actions

Copy link
Copy Markdown

Revision: 1055162

Submitted crossbow builds: ursacomputing/crossbow @ actions-278eeef116

TaskStatus
test-r-linux-as-cranGitHub Actions
test-r-linux-valgrindGitHub Actions

@github-actionsgithub-actionsBot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 14, 2026
@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-valgrind

@github-actions

Copy link
Copy Markdown

Revision: 57abbb9

Submitted crossbow builds: ursacomputing/crossbow @ actions-3baa541c5a

TaskStatus
test-r-linux-valgrindGitHub Actions


As of version 10.0.0, arrow requires a C++17 compiler to build.
For `gcc`, this generally means version 7 or newer. Most contemporary Linux
As of version 22.0.0, arrow requires a C++20 compiler to build.

@pitroupitrouJan 14, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be 23.0.0?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was aiming for 23, but we might have missed the boat on that one. We might still need to backport this to the CRAN release, so I'm going to put that for now. Regardless, yeah it's over 22 not 22 and over.

@github-actionsgithub-actionsBot added awaiting changes Awaiting changes and removed awaiting change review Awaiting change review labels Jan 14, 2026

@pitroupitrou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, thanks a lot @jonkeane ! Hopefully we can merge this soon to unblock other tasks.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-as-cran test-r-linux-valgrind test-r-alpine-linux-cran

@github-actions

Copy link
Copy Markdown

Revision: 60fb687

Submitted crossbow builds: ursacomputing/crossbow @ actions-c91e2c4db5

TaskStatus
test-r-alpine-linux-cranGitHub Actions
test-r-linux-as-cranGitHub Actions
test-r-linux-valgrindGitHub Actions

@github-actionsgithub-actionsBot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 14, 2026
rok
rok approved these changes Jan 14, 2026
@rok

rok commented Jan 14, 2026

Copy link
Copy Markdown
Member

Thanks for pushing this!

@github-actionsgithub-actionsBot added awaiting merge Awaiting merge and removed awaiting change review Awaiting change review labels Jan 14, 2026
@jonkeane
jonkeane merged commit 9a5ddb0 into apache:mainJan 14, 2026
47 checks passed
@jonkeanejonkeane removed the awaiting merge Awaiting merge label Jan 14, 2026
@conbench-apache-arrow

Copy link
Copy Markdown

After merging your PR, Conbench analyzed the 3 benchmarking runs that have been run so far on merge-commit 9a5ddb0.

There weren't enough matching historic benchmark results to make a call on whether there were regressions.

The full Conbench report has more details.

thisisnic pushed a commit that referenced this pull request Jan 22, 2026
Resolves: #48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: #48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
raulcd pushed a commit that referenced this pull request Feb 9, 2026
Resolves: #48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: #48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
…48819)
Resolves: apache#48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: apache#48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[R][C++] Bump C++20 in R build infrastructure

3 participants

@jonkeane@rok@pitrou
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

GH-48817 [R][C++] Bump C++20 in R build infrastructure - #48819

Merged
jonkeane merged 9 commits into
apache:mainfrom
jonkeane:R_CXX20
Jan 14, 2026
Merged

GH-48817 [R][C++] Bump C++20 in R build infrastructure#48819
jonkeane merged 9 commits into
apache:mainfrom
jonkeane:R_CXX20

Conversation

@jonkeane

@jonkeanejonkeane commented Jan 11, 2026

Copy link
Copy Markdown
Member

Resolves: #48817

Rationale for this change

Keep R build infrastructure inline with our C++ version

What changes are included in this PR?

Mostly s/CXX17/CXX20/g

Are these changes tested?

Yes, lots of CI

Are there any user-facing changes?

This PR includes breaking changes to public APIs. (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)

This PR contains a "Critical Fix". (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)

@github-actions

Copy link
Copy Markdown

⚠️ GitHub issue #48817has been automatically assigned in GitHub to PR creator.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit -g r

@github-actions

Copy link
Copy Markdown

Revision: 1055162

Submitted crossbow builds: ursacomputing/crossbow @ actions-a7d1cc1db3

TaskStatus
r-binary-packagesGitHub Actions
r-recheck-mostGitHub Actions
test-r-alpine-linux-cranGitHub Actions
test-r-arrow-backwards-compatibilityGitHub Actions
test-r-depsource-systemGitHub Actions
test-r-dev-duckdbGitHub Actions
test-r-devdocsGitHub Actions
test-r-extra-packagesGitHub Actions
test-r-gcc-11GitHub Actions
test-r-gcc-12GitHub Actions
test-r-install-localGitHub Actions
test-r-install-local-minsizerelGitHub Actions
test-r-linux-as-cranGitHub Actions
test-r-linux-rchkGitHub Actions
test-r-linux-sanitizersGitHub Actions
test-r-linux-valgrindGitHub Actions
test-r-m1-sanGitHub Actions
test-r-macos-as-cranGitHub Actions
test-r-offline-maximalGitHub Actions
test-r-ubuntu-22.04GitHub Actions
test-r-versionsGitHub Actions

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbowsubmit test-r-linux-as-cran test-r-linux-valgrind

These both looked transient / timedout.

@github-actions

Copy link
Copy Markdown
No such command 'crossbowsubmit'.
The Archery job run can be found at: https://github.com/apache/arrow/actions/runs/20921567593

Comment threadr/configure.win Outdated
# to stdout, to avoid noise in the log we redirect the output to /dev/null
if [ "$UNAME" = "Darwin" ] && expr $(sw_vers -productVersion) : '10\.13' >/dev/null 2>&1; then
# avoid C++17 availability warnings on macOS < 11
# avoid C++20 availability warnings on macOS < 11

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does R still support macOS < 11? It's end-of-life since 2022.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so, I need to dig to see what the actual number is and update this comment / remove this code path if we don't need it.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-as-cran test-r-linux-valgrind

@github-actionsgithub-actionsBot added awaiting changes Awaiting changes and removed awaiting committer review Awaiting committer review labels Jan 12, 2026
@github-actions

Copy link
Copy Markdown

Revision: 1055162

Submitted crossbow builds: ursacomputing/crossbow @ actions-278eeef116

TaskStatus
test-r-linux-as-cranGitHub Actions
test-r-linux-valgrindGitHub Actions

@github-actionsgithub-actionsBot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 14, 2026
@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-valgrind

@github-actions

Copy link
Copy Markdown

Revision: 57abbb9

Submitted crossbow builds: ursacomputing/crossbow @ actions-3baa541c5a

TaskStatus
test-r-linux-valgrindGitHub Actions


As of version 10.0.0, arrow requires a C++17 compiler to build.
For `gcc`, this generally means version 7 or newer. Most contemporary Linux
As of version 22.0.0, arrow requires a C++20 compiler to build.

@pitroupitrouJan 14, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be 23.0.0?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was aiming for 23, but we might have missed the boat on that one. We might still need to backport this to the CRAN release, so I'm going to put that for now. Regardless, yeah it's over 22 not 22 and over.

@github-actionsgithub-actionsBot added awaiting changes Awaiting changes and removed awaiting change review Awaiting change review labels Jan 14, 2026

@pitroupitrou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, thanks a lot @jonkeane ! Hopefully we can merge this soon to unblock other tasks.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-as-cran test-r-linux-valgrind test-r-alpine-linux-cran

@github-actions

Copy link
Copy Markdown

Revision: 60fb687

Submitted crossbow builds: ursacomputing/crossbow @ actions-c91e2c4db5

TaskStatus
test-r-alpine-linux-cranGitHub Actions
test-r-linux-as-cranGitHub Actions
test-r-linux-valgrindGitHub Actions

@github-actionsgithub-actionsBot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 14, 2026
rok
rok approved these changes Jan 14, 2026
@rok

rok commented Jan 14, 2026

Copy link
Copy Markdown
Member

Thanks for pushing this!

@github-actionsgithub-actionsBot added awaiting merge Awaiting merge and removed awaiting change review Awaiting change review labels Jan 14, 2026
@jonkeane
jonkeane merged commit 9a5ddb0 into apache:mainJan 14, 2026
47 checks passed
@jonkeanejonkeane removed the awaiting merge Awaiting merge label Jan 14, 2026
@conbench-apache-arrow

Copy link
Copy Markdown

After merging your PR, Conbench analyzed the 3 benchmarking runs that have been run so far on merge-commit 9a5ddb0.

There weren't enough matching historic benchmark results to make a call on whether there were regressions.

The full Conbench report has more details.

thisisnic pushed a commit that referenced this pull request Jan 22, 2026
Resolves: #48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: #48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
raulcd pushed a commit that referenced this pull request Feb 9, 2026
Resolves: #48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: #48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
…48819)
Resolves: apache#48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: apache#48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[R][C++] Bump C++20 in R build infrastructure

3 participants

@jonkeane@rok@pitrou
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

GH-48817 [R][C++] Bump C++20 in R build infrastructure - #48819

Merged
jonkeane merged 9 commits into
apache:mainfrom
jonkeane:R_CXX20
Jan 14, 2026
Merged

GH-48817 [R][C++] Bump C++20 in R build infrastructure#48819
jonkeane merged 9 commits into
apache:mainfrom
jonkeane:R_CXX20

Conversation

@jonkeane

@jonkeanejonkeane commented Jan 11, 2026

Copy link
Copy Markdown
Member

Resolves: #48817

Rationale for this change

Keep R build infrastructure inline with our C++ version

What changes are included in this PR?

Mostly s/CXX17/CXX20/g

Are these changes tested?

Yes, lots of CI

Are there any user-facing changes?

This PR includes breaking changes to public APIs. (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)

This PR contains a "Critical Fix". (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)

@github-actions

Copy link
Copy Markdown

⚠️ GitHub issue #48817has been automatically assigned in GitHub to PR creator.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit -g r

@github-actions

Copy link
Copy Markdown

Revision: 1055162

Submitted crossbow builds: ursacomputing/crossbow @ actions-a7d1cc1db3

TaskStatus
r-binary-packagesGitHub Actions
r-recheck-mostGitHub Actions
test-r-alpine-linux-cranGitHub Actions
test-r-arrow-backwards-compatibilityGitHub Actions
test-r-depsource-systemGitHub Actions
test-r-dev-duckdbGitHub Actions
test-r-devdocsGitHub Actions
test-r-extra-packagesGitHub Actions
test-r-gcc-11GitHub Actions
test-r-gcc-12GitHub Actions
test-r-install-localGitHub Actions
test-r-install-local-minsizerelGitHub Actions
test-r-linux-as-cranGitHub Actions
test-r-linux-rchkGitHub Actions
test-r-linux-sanitizersGitHub Actions
test-r-linux-valgrindGitHub Actions
test-r-m1-sanGitHub Actions
test-r-macos-as-cranGitHub Actions
test-r-offline-maximalGitHub Actions
test-r-ubuntu-22.04GitHub Actions
test-r-versionsGitHub Actions

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbowsubmit test-r-linux-as-cran test-r-linux-valgrind

These both looked transient / timedout.

@github-actions

Copy link
Copy Markdown
No such command 'crossbowsubmit'.
The Archery job run can be found at: https://github.com/apache/arrow/actions/runs/20921567593

Comment threadr/configure.win Outdated
# to stdout, to avoid noise in the log we redirect the output to /dev/null
if [ "$UNAME" = "Darwin" ] && expr $(sw_vers -productVersion) : '10\.13' >/dev/null 2>&1; then
# avoid C++17 availability warnings on macOS < 11
# avoid C++20 availability warnings on macOS < 11

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does R still support macOS < 11? It's end-of-life since 2022.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so, I need to dig to see what the actual number is and update this comment / remove this code path if we don't need it.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-as-cran test-r-linux-valgrind

@github-actionsgithub-actionsBot added awaiting changes Awaiting changes and removed awaiting committer review Awaiting committer review labels Jan 12, 2026
@github-actions

Copy link
Copy Markdown

Revision: 1055162

Submitted crossbow builds: ursacomputing/crossbow @ actions-278eeef116

TaskStatus
test-r-linux-as-cranGitHub Actions
test-r-linux-valgrindGitHub Actions

@github-actionsgithub-actionsBot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 14, 2026
@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-valgrind

@github-actions

Copy link
Copy Markdown

Revision: 57abbb9

Submitted crossbow builds: ursacomputing/crossbow @ actions-3baa541c5a

TaskStatus
test-r-linux-valgrindGitHub Actions


As of version 10.0.0, arrow requires a C++17 compiler to build.
For `gcc`, this generally means version 7 or newer. Most contemporary Linux
As of version 22.0.0, arrow requires a C++20 compiler to build.

@pitroupitrouJan 14, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be 23.0.0?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was aiming for 23, but we might have missed the boat on that one. We might still need to backport this to the CRAN release, so I'm going to put that for now. Regardless, yeah it's over 22 not 22 and over.

@github-actionsgithub-actionsBot added awaiting changes Awaiting changes and removed awaiting change review Awaiting change review labels Jan 14, 2026

@pitroupitrou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, thanks a lot @jonkeane ! Hopefully we can merge this soon to unblock other tasks.

@jonkeane

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit test-r-linux-as-cran test-r-linux-valgrind test-r-alpine-linux-cran

@github-actions

Copy link
Copy Markdown

Revision: 60fb687

Submitted crossbow builds: ursacomputing/crossbow @ actions-c91e2c4db5

TaskStatus
test-r-alpine-linux-cranGitHub Actions
test-r-linux-as-cranGitHub Actions
test-r-linux-valgrindGitHub Actions

@github-actionsgithub-actionsBot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 14, 2026
rok
rok approved these changes Jan 14, 2026
@rok

rok commented Jan 14, 2026

Copy link
Copy Markdown
Member

Thanks for pushing this!

@github-actionsgithub-actionsBot added awaiting merge Awaiting merge and removed awaiting change review Awaiting change review labels Jan 14, 2026
@jonkeane
jonkeane merged commit 9a5ddb0 into apache:mainJan 14, 2026
47 checks passed
@jonkeanejonkeane removed the awaiting merge Awaiting merge label Jan 14, 2026
@conbench-apache-arrow

Copy link
Copy Markdown

After merging your PR, Conbench analyzed the 3 benchmarking runs that have been run so far on merge-commit 9a5ddb0.

There weren't enough matching historic benchmark results to make a call on whether there were regressions.

The full Conbench report has more details.

thisisnic pushed a commit that referenced this pull request Jan 22, 2026
Resolves: #48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: #48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
raulcd pushed a commit that referenced this pull request Feb 9, 2026
Resolves: #48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: #48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
…48819)
Resolves: apache#48817
### Rationale for this change
Keep R build infrastructure inline with our C++ version
### What changes are included in this PR?
Mostly `s/CXX17/CXX20/g`
### Are these changes tested?
Yes, lots of CI
### Are there any user-facing changes?
**This PR includes breaking changes to public APIs.** (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: apache#48817
Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[R][C++] Bump C++20 in R build infrastructure

3 participants

@jonkeane@rok@pitrou