Skip to content

Comments

Drop macOS 12 Support#9477

Merged
i2h3 merged 1 commit intomasterfrom
i2h3/fix/9470-drop-macos-12
Feb 20, 2026
Merged

Drop macOS 12 Support#9477
i2h3 merged 1 commit intomasterfrom
i2h3/fix/9470-drop-macos-12

Conversation

@i2h3
Copy link
Collaborator

@i2h3 i2h3 commented Feb 20, 2026

  • Raised required macOS version to 13 for Swift packages.
  • Removed fallback code switches for macOS and file provider framework releases before macOS 13.
  • Consolidated Xcode project build settings into single declaration in build settings file.

@i2h3 i2h3 added this to the 33.0.0 milestone Feb 20, 2026
@i2h3 i2h3 self-assigned this Feb 20, 2026
Copilot AI review requested due to automatic review settings February 20, 2026 10:40
@i2h3 i2h3 added the bug label Feb 20, 2026
@i2h3 i2h3 requested a review from nilsding as a code owner February 20, 2026 10:40
@i2h3 i2h3 added os: 🍎 macOS Apple macOS, formerly also known as OS X 3. to review labels Feb 20, 2026
@github-project-automation github-project-automation bot moved this to 🧭 Planning evaluation (don't pick) in 💻 Desktop Clients team Feb 20, 2026
@i2h3 i2h3 moved this from 🧭 Planning evaluation (don't pick) to 🏗️ In progress in 💻 Desktop Clients team Feb 20, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request raises the minimum supported macOS version from 12.0 (Monterey) to 13.0 (Ventura) across the entire codebase. This change enables removal of version availability checks and fallback code that was previously needed to support macOS 12 and earlier versions. The update simplifies the codebase by eliminating conditional compilation for older APIs.

Changes:

  • Updated minimum macOS version to 13.0 in all build configuration files (Package.swift, CMakeLists.txt, xcconfig, plist)
  • Removed @available(macOS 13.0, *) and if #available(macOS 13.0, *) version checks throughout Swift and Objective-C++ code
  • Consolidated Xcode project build settings by removing duplicate MACOSX_DEPLOYMENT_TARGET declarations

Reviewed changes

Copilot reviewed 25 out of 25 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
Package.swift (multiple) Updated Swift package minimum platform version from .macOS(.v12) to .macOS(.v13)
CMakeLists.txt Updated CMAKE_OSX_DEPLOYMENT_TARGET from 12.0 to 13.0
craftmaster.ini Updated MacDeploymentTarget from 12.0 to 13.0
MacOSXBundleInfo.plist.in Updated LSMinimumSystemVersion from 12.0 to 13.0
Build.xcconfig Added centralized MACOSX_DEPLOYMENT_TARGET=13.0 declaration
project.pbxproj Removed duplicate MACOSX_DEPLOYMENT_TARGET=12.0 declarations from individual targets
fileproviderxpc_mac_utils.mm Removed macOS 13.0 availability check in getFileProviderServices, using newer API directly
fileprovideritemmetadata_mac.mm Removed macOS 12.0 availability check for typeAndCreator property access
fileproviderdomainmanager.mm Removed macOS 13.0 availability check for supportsSyncingTrash property
ShareTableItemView.swift Removed macOS 12.0 availability check for hierarchicalColor configuration
NKShare+Extensions.swift Removed macOS 12.0 availability check for paletteColors configuration
FileProviderExtension.swift Removed macOS 13.0 availability check for .excludedFromSync error handling
ItemPropertyTests.swift Removed macOS 11.3 availability checks for .allowsExcludingFromSync capability tests
ItemModifyTests.swift Removed macOS 13.0 availability check for .excludedFromSync error expectation
ItemCreateTests.swift Removed macOS 13.0 availability check for .excludedFromSync error expectation
ItemMetadata.swift Removed macOS 13.0 availability check for thumbnailUrl URL construction
Item.swift Removed multiple version checks for capabilities, userInfo, and keepDownloaded properties
Item+Trash.swift Removed macOS 11.3 availability checks for .unsyncedEdits error returns
Item+Modify.swift Removed macOS 13.0 availability check for .excludedFromSync error return
Item+LockFile.swift Removed macOS 13.0 availability checks for .excludedFromSync error returns
Item+KeepDownloaded.swift Removed macOS 13.0 availability check for requestDownloadForItem/requestModification calls
Item+Ignored.swift Removed macOS 13.0 availability check for .excludedFromSync error return
Item+Fetch.swift Removed macOS 13.0 availability check for lock file error handling
FilesDatabaseManager+KeepDownloaded.swift Removed macOS 13.0 guard preventing keepDownloaded updates on older versions

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- Raised required macOS version to 13 for Swift packages.
- Removed fallback code switches for macOS and file provider framework releases before macOS 13.
- Consolidated Xcode project build settings into single declaration in build settings file.

Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
@i2h3 i2h3 force-pushed the i2h3/fix/9470-drop-macos-12 branch from df2b3d7 to 78f36bf Compare February 20, 2026 14:35
@github-actions
Copy link

Artifact containing the AppImage: nextcloud-appimage-pr-9477.zip

Digest: sha256:4323a8f33f1eccd0d9d3f07ce4d56463075fb64259be0e12b29f816e24d3d6b2

To test this change/fix you can download the above artifact file, unzip it, and run it.

Please make sure to quit your existing Nextcloud app and backup your data.

@sonarqubecloud
Copy link

@i2h3 i2h3 merged commit d47e54f into master Feb 20, 2026
22 of 24 checks passed
@i2h3 i2h3 deleted the i2h3/fix/9470-drop-macos-12 branch February 20, 2026 15:45
@github-project-automation github-project-automation bot moved this from 🏗️ In progress to ☑️ Done in 💻 Desktop Clients team Feb 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. to review bug os: 🍎 macOS Apple macOS, formerly also known as OS X

Projects

Status: ☑️ Done

Development

Successfully merging this pull request may close these issues.

1 participant