What changed, and why it matters
This commit simply stops supporting macOS 13, an operating system version that has reached end-of-life. It updates build and release documentation to require macOS 14 or newer. There is no security vulnerability being fixed here.
No security action needed. Users still on macOS 13 should upgrade to a supported macOS version to continue receiving Bitcoin Core updates.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit raises the minimum supported macOS version from 13.0 to 14.0 across CI configuration, Guix symbol checks, depends build files, release notes, and the Qt Info.plist. It also updates the CI runner to macOS 15 and Xcode to 16.0. This is a routine platform support deprecation, not a code-level security patch.
Changed components
macOS build and CI configurationdepends/hosts/darwin.mkcontrib/guix/symbol-check.pyshare/qt/Info.plist.indoc/release-notes-empty-template.mdInspect captured patch +9 / −9
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index a5cae564..0b0a4289 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -105,7 +105,7 @@ jobs:
name: ${{ matrix.job-name }}
# Use any image to support the xcode-select below, but hardcode version to avoid silent upgrades (and breaks).
# See: https://github.com/actions/runner-images#available-images.
- runs-on: macos-14
+ runs-on: macos-15
# When a contributor maintains a fork of the repo, any pull request they make
# to their own fork, or to the main repository, will trigger two CI runs:
@@ -123,10 +123,10 @@ jobs:
include:
- job-type: standard
file-env: './ci/test/00_setup_env_mac_native.sh'
- job-name: 'macOS 14 native, arm64, no depends, sqlite only, gui'
+ job-name: 'macOS native, no depends, sqlite only, gui'
- job-type: fuzz
file-env: './ci/test/00_setup_env_mac_native_fuzz.sh'
- job-name: 'macOS 14 native, arm64, fuzz'
+ job-name: 'macOS native, fuzz'
env:
DANGER_RUN_CI_ON_HOST: 1
@@ -145,8 +145,8 @@ jobs:
# Use the earliest Xcode supported by the version of macOS denoted in
# doc/release-notes-empty-template.md and providing at least the
# minimum clang version denoted in doc/dependencies.md.
- # See: https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes
- sudo xcode-select --switch /Applications/Xcode_15.0.app
+ # See: https://developer.apple.com/documentation/xcode-release-notes/xcode-16-release-notes
+ sudo xcode-select --switch /Applications/Xcode_16.0.app
clang --version
- name: Install Homebrew packages
diff --git a/contrib/guix/symbol-check.py b/contrib/guix/symbol-check.py
index d808ef6b..f1de0737 100755
--- a/contrib/guix/symbol-check.py
+++ b/contrib/guix/symbol-check.py
@@ -249,7 +249,7 @@ def check_MACHO_libraries(binary) -> bool:
return ok
def check_MACHO_min_os(binary) -> bool:
- if binary.build_version.minos == [13,0,0]:
+ if binary.build_version.minos == [14,0,0]:
return True
return False
diff --git a/depends/hosts/darwin.mk b/depends/hosts/darwin.mk
index 7ec2fd96..d33b681b 100644
--- a/depends/hosts/darwin.mk
+++ b/depends/hosts/darwin.mk
@@ -1,4 +1,4 @@
-OSX_MIN_VERSION=13.0
+OSX_MIN_VERSION=14.0
OSX_SDK_VERSION=14.0
XCODE_VERSION=15.0
XCODE_BUILD_ID=15A240d
diff --git a/doc/release-notes-empty-template.md b/doc/release-notes-empty-template.md
index 0e8dc770..7f419cbf 100644
--- a/doc/release-notes-empty-template.md
+++ b/doc/release-notes-empty-template.md
@@ -36,7 +36,7 @@ Compatibility
==============
Bitcoin Core is supported and tested on operating systems using the
-Linux Kernel 3.17+, macOS 13+, and Windows 10+. Bitcoin
+Linux Kernel 3.17+, macOS 14+, and Windows 10+. Bitcoin
Core should also work on most other Unix-like systems but is not as
frequently tested on them. It is not recommended to use Bitcoin Core on
unsupported systems.
diff --git a/share/qt/Info.plist.in b/share/qt/Info.plist.in
index 5ff73615..e33f3778 100644
--- a/share/qt/Info.plist.in
+++ b/share/qt/Info.plist.in
@@ -3,7 +3,7 @@
<plist version="0.9">
<dict>
<key>LSMinimumSystemVersion</key>
- <string>13</string>
+ <string>14</string>
<key>LSArchitecturePriority</key>
<array>
Why this scored 20/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.