Skip to content

4.0.0 Beta 1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 May 18:39

XcodesApp Release Notes

Highlights

  • Refactored XcodesApp to use the shared, concurrency-enabled XcodesKit package.
  • Added architecture-aware filtering for Xcode and runtime lists.
  • Defaulted architecture filtering to the current Mac, with filter labels that indicate “This Mac”.
  • Added an optional grouped Xcode list view that collapses versions by major/minor release.
  • Added federated Apple ID authentication support.
  • Updated install, runtime, update, helper, selection, and uninstall flows to use Swift concurrency tasks instead of Combine publishers.
  • Removed duplicated in-app Apple API/XcodesKit model code now provided by shared packages.
  • Updated dependencies, including XcodesKit 1.0.0 and XcodesLoginKit.
  • Cleaned up obsolete dependencies such as ErrorHandling and CombineExpectations.
  • Improved test coverage around app state, update behavior, grouped-list defaults, and shared XcodesKit mocks.

Xcode And Runtime Filtering

  • Xcode list filtering now uses shared XcodesKit filter logic.
  • Runtime and Xcode architecture filters are handled consistently through architecture variants.
  • The architecture filter defaults to the best match for the current machine.
  • Architecture labels are localized and can show the current-machine hint.

Xcode List

  • Added grouped Xcode list support with expandable major and minor version sections.
  • Added a General preference to enable or disable grouped list behavior.
  • Preserved the existing flat list as the fallback view.
  • Added persisted expansion state for grouped Xcode versions.

Sign In

  • Added a federated authentication view for Apple IDs managed by an organization.
  • Added support for validating federated callback URLs.
  • Moved sign-in and security-key flows onto XcodesLoginKit / XcodesLoginKitSecurityKey.

Localization

  • Added new strings for grouped list controls, federated authentication, architecture labels, and “This Mac”.
  • Included zh-Hans updates for architecture and filter-related strings.

Dependency And Build Changes

  • Added XcodesKit as a shared package dependency.
  • Added XcodesLoginKit and XcodesLoginKitSecurityKey.
  • Updated LibFido2Swift package resolution.
  • Refreshed generated acknowledgements/licenses.
  • Kept the libfido2 framework structure fix in the build pipeline.

PRs And Contributors

  • Includes zh-Hans localization and localized architecture display work from #761 by @megabitsenmzq.
  • Builds on the grouped/collapsible list direction from #751 by @anciltech.
  • Builds on the compact filter menu UX from #746 by @LiYanan2004.
  • Continues the Xcode 26 / libfido2 build compatibility work from #753, including the fix credited in that thread to @anciltech.

Currently tracked in concurrency-shared-xcodeskit branch