Skip to content

Add Xcode 27 SDK support#902

Merged
Kyle-Ye merged 3 commits into
mainfrom
optimize/sdk_27
Jun 9, 2026
Merged

Add Xcode 27 SDK support#902
Kyle-Ye merged 3 commits into
mainfrom
optimize/sdk_27

Conversation

@Kyle-Ye

@Kyle-Ye Kyle-Ye commented Jun 9, 2026

Copy link
Copy Markdown
Member

Summary

  • Add SDK-version addition guards for Xcode 26 and Xcode 27 availability surfaces.
  • Update UIFoundation paragraph style shims to match SDK 27 public definitions.
  • Keep compatibility with Xcode 26.3 / macOS 26.2 SDK by only exposing SDK 27 additions when the SDK defines them.
  • Document the Xcode 27 / SDK 27 compatibility update in the toolchain changelog.

Validation

  • Xcode 27 / macOS 27: AppKit + UIFoundation_Private import typecheck.

  • Xcode 26.3 / macOS 26.2: AppKit + UIFoundation_Private import typecheck.

  • Xcode 26.3 / macOS 26.2:

    DEVELOPER_DIR=/Applications/Xcode-26.3.0.app/Contents/Developer swift build --target OpenSwiftUI_SPI --build-path .build/xcode26_3_spi_base_sdk_macros

  • Xcode 27 and Xcode 26.4.1 iOS SDKs: UIKit + UIFoundation_Private import typecheck.

@github-actions github-actions Bot added area: compatibility Compatibility, availability, legacy support, and cross-version behavior. area: text Text, labels, line style, and text rendering APIs. type: build Build system, packaging, toolchain, release, or compiler support. labels Jun 9, 2026
@Kyle-Ye Kyle-Ye marked this pull request as ready for review June 9, 2026 08:00
@codecov

codecov Bot commented Jun 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 26.71%. Comparing base (a3e0c8d) to head (2d05a6e).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #902   +/-   ##
=======================================
  Coverage   26.71%   26.71%           
=======================================
  Files         697      697           
  Lines       48916    48916           
=======================================
+ Hits        13067    13068    +1     
+ Misses      35849    35848    -1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@augmentcode

augmentcode Bot commented Jun 9, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Adds Xcode 27 / SDK 27 compatibility guards and updates UIFoundation shims to match newer public SDK surfaces.

Changes:

  • Introduce OPENSWIFTUI_HAS_SDK_26_ADDITIONS and OPENSWIFTUI_HAS_SDK_27_ADDITIONS macros in OpenSwiftUIBase.h based on SDK max-allowed version checks.
  • Gate new SDK 27 declarations in NSParagraphStyle.h (e.g., NSTextTab alignment APIs, paragraph alignment/textBlocks, and macOS-only paragraph fields).
  • Add an NSTextAlignment shared-section shim in NSText.h to align with SDK 27 definitions.
  • Switch NSStringDrawingOptions SDK-26 gating to use the new macro for cleaner, centralized checks.

Technical Notes: The new guards keep Xcode 26.x builds working by compiling SDK 27 additions only when the underlying SDK exposes the relevant availability macros.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Review completed. No suggestions at this time.

Comment augment review to trigger a new review at any time.

@Kyle-Ye Kyle-Ye merged commit 629abc6 into main Jun 9, 2026
8 checks passed
@Kyle-Ye Kyle-Ye deleted the optimize/sdk_27 branch June 9, 2026 10:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: compatibility Compatibility, availability, legacy support, and cross-version behavior. area: text Text, labels, line style, and text rendering APIs. type: build Build system, packaging, toolchain, release, or compiler support.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant