Releases: bazelbuild/rules_apple
Release list
5.0.0-rc2
Changes since rc1
- Fix Swift module synthesis for imported static XCFrameworks without modulemaps by @adincebic in #2992
- Fix swiftmodule embedding from frameworks by @keith in #2999
- Remove most of AppleTestInfo by @keith in #2987
- Remove apple_common.Objc provider linking by @keith in #1872
- Switch default iOS test runner to xctestrun runner by @keith in #2997
- Handle smartcard certs with no expiry date in codesigningtool by @jpsim in #3000
Full Changelog: 5.0.0-rc1...5.0.0-rc2
This release is compatible with Bazel 8.x LTS, 9.x LTS, and rolling releases.
MODULE.bazel Snippet
bazel_dep(name = "rules_apple", version = "5.0.0-rc2")5.0.0-rc1
Breaking changes
- Removed
WORKSPACEsupport - Removed bazel 7.x support
New features
- Add opt-in support for explicit modules, see the docs for usage.
- feat: Add support for ios_kernel_extension() bazel rule by @YungRaj in #2911
- Adopt symbolic macros for public-facing API by @aaronsky in #2933
Other notable changes
- Fix SDK->simruntime mapping assumptions in test runners by @aaronsky in #2889
- Fix *_build_test rules with bazel 9.x by @keith in #2890
- Pass runner PID to simulator create/clean up actions by @brentleyjones in #2899
- Fix rules_apple device runner crash on Rapid Security Response versions by @lelandjansen in #2898
- Bump Swift stdlib presence thresholds for Span compatibility by @jpsim in #2915
- Improve performance of test filter creation by @john-flanagan in #2917
- Add
@loader_path/../Frameworksrpath for macOS extensions and ExtensionKit by @adincebic in #2895 - Add Swift deterministic hashing to the environment variables passed to all actions generated by the Apple rules. by @adincebic in #2918
- Support macOS tree-artifact bundling for imported versioned frameworks by @adincebic in #2920
- Add support for launching watchOS apps by @rockbruno in #2875
- Provide default Info.plist for *_application rules by @ssarad in #2919
- fix framework imports with private swiftinterface by @adincebic in #2921
- Remove armv7k watchOS support by @keith in #2934
- Fix macOS test runner env propagation and add missing features by @kirillyakimovich in #2953
- Add app run modes to Apple application runners by @brentleyjones in #2974
- Prevent runfiles env leakage into
ipa_post_processorby @adincebic in #2982
New Contributors
- @lelandjansen made their first contribution in #2898
- @YungRaj made their first contribution in #2911
- @john-flanagan made their first contribution in #2917
- @kirillyakimovich made their first contribution in #2953
- @congt made their first contribution in #2988
Full Changelog: 4.5.0...5.0.0-rc1
This release is compatible with Bazel 8.x LTS, 9.x LTS, and rolling releases.
MODULE.bazel Snippet
bazel_dep(name = "rules_apple", version = "5.0.0-rc1")4.5.3
What's Changed
- Bump Swift stdlib presence thresholds for Span compatibility (#2915) by @adincebic in #2916
Full Changelog: 4.5.2...4.5.3
This release is compatible with Bazel 7.x LTS, 8.x LTS, and 9.x LTS releases.
MODULE.bazel Snippet
bazel_dep(name = "rules_apple", version = "4.5.3", repo_name = "build_bazel_rules_apple")Workspace Snippet
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_apple",
sha256 = "e4649d4649ef14adbc421738377d21ea75a1053d8e8f6838fc08e82328599a0f",
url = "https://github.com/bazelbuild/rules_apple/releases/download/4.5.3/rules_apple.4.5.3.tar.gz",
)
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
load(
"@build_bazel_apple_support//lib:repositories.bzl",
"apple_support_dependencies",
)
apple_support_dependencies()4.5.2
What's Changed
This release is compatible with Bazel 7.x LTS, 8.x LTS, and 9.x LTS releases.
MODULE.bazel Snippet
bazel_dep(name = "rules_apple", version = "4.5.2", repo_name = "build_bazel_rules_apple")Workspace Snippet
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_apple",
sha256 = "bdac384944a8a7b555f403e10fecb25de6096ff340722e090847bfb562c0ce89",
url = "https://github.com/bazelbuild/rules_apple/releases/download/4.5.2/rules_apple.4.5.2.tar.gz",
)
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
load(
"@build_bazel_apple_support//lib:repositories.bzl",
"apple_support_dependencies",
)
apple_support_dependencies()4.5.1
What's Changed
Full Changelog: 4.5.0...4.5.1
This release is compatible with Bazel 7.x LTS, 8.x LTS, and 9.x LTS releases.
MODULE.bazel Snippet
bazel_dep(name = "rules_apple", version = "4.5.1", repo_name = "build_bazel_rules_apple")Workspace Snippet
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_apple",
sha256 = "0831b6b305e22e007c561f8e48f618244091c9b34ff7aa571de66ddb0de6fdbe",
url = "https://github.com/bazelbuild/rules_apple/releases/download/4.5.1/rules_apple.4.5.1.tar.gz",
)
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
load(
"@build_bazel_apple_support//lib:repositories.bzl",
"apple_support_dependencies",
)
apple_support_dependencies()4.5.0
What's Changed
- Remove references to
@bazel_tools//tools/cppby @aaronsky in #2885 - Disable strict timestamps for output ZIP archive in clangrttool.py by @gsomix in #2887
- (feat): disable PREFIX substitution in entitlements by @ssarad in #2865
- Fix includes attribute resolution in apple_static_xcframework_import by @olbapmar in #2869
- Support multiple modules on
app_intentsfor applications by @kntkymt in #2879 - Fix binary stripping on Bazel <9 by @adincebic in #2888
New Contributors
- @gsomix made their first contribution in #2887
- @olbapmar made their first contribution in #2869
- @kntkymt made their first contribution in #2879
Full Changelog: 4.4.0...4.5.0
This release is compatible with Bazel 7.x LTS, 8.x LTS, and 9.x LTS releases.
MODULE.bazel Snippet
bazel_dep(name = "rules_apple", version = "4.5.0", repo_name = "build_bazel_rules_apple")Workspace Snippet
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_apple",
sha256 = "34953c6c5666f2bd864a4a2a27599eb6630a42fde18ba57292fa0a7fcb3d851c",
url = "https://github.com/bazelbuild/rules_apple/releases/download/4.5.0/rules_apple.4.5.0.tar.gz",
)
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
load(
"@build_bazel_apple_support//lib:repositories.bzl",
"apple_support_dependencies",
)
apple_support_dependencies()4.4.0
What's Changed
- Migrate uses of ctx.fragments.apple.{single/multi}_arch_platform(...) to platform constraints. by @adincebic in #2846
- Move methods to report platform constraints as strings to apple_support by @adincebic in #2847
- Create persistent non-test simulators with the correct runtime by @brentleyjones in #2849
- Add
@loader_path/Frameworksrpath when building frameworks, as Xcode does by @adincebic in #2850 - Infer tvOS/watchOS archs from the CPU parameters, similarly to iOS by @rockbruno in #2707
- Add
@loader_path/Frameworksrpath when building dynamic xcframeworks by @adincebic in #2852 - Add visionOS & tvOS platform attrs to apple_xcframework rules by @adincebic in #2853
- Remove unsupported includes parameter for apple_metal_library by @mjburghard in #2851
- Make AppIntentsMetadataProcessor outputs deterministic by @thelvis4 in #2761
- Implement rule for linker order files
apple_order_fileby @adincebic in #2855 - Add a build setting to disable Swift stdlib binary thinning by @adincebic in #2856
- Migrate all usage of
ctx.fragments.apple.single_arch_platform(...)to platform constraints by @luispadron in #2858 - Remove usage of legacy
apple_common.get_split_build_configs(...), retrieving configs from the cc_toolchains that are the source of truth for the linking via public starlark APIs. by @luispadron in #2860 - run subshells in bundletool_experimental using subprocess API by @aaronsky in #2866
- Log when BAZEL_APPLE_LAUNCH_INFO_PATH finishes writing by @rockbruno in #2871
- Fix mixed_language_library propagation after data removal by @luispadron in #2880
- Include App Clip dSYMS when include_symbols_in_bundle is True by @ghugues in #2882
- Expose simulator_creator as public API for improved extensibility by @aaronsky in #2881
- Avoid conflicting actions for xcframework bundles with custom bundle names by @jschear in #2883
- Changes required to support Bazel 9 by @luispadron in #2868
New Contributors
Full Changelog: 4.3.3...4.4.0
This release is compatible with Bazel 7.x LTS, 8.x LTS, and 9.x LTS releases.
MODULE.bazel Snippet
bazel_dep(name = "rules_apple", version = "4.4.0", repo_name = "build_bazel_rules_apple")Workspace Snippet
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_apple",
sha256 = "c6d8d0361cd7e48067a2cb3bb6bb295182f8e44ee66905f3d578d5a96bcac18c",
url = "https://github.com/bazelbuild/rules_apple/releases/download/4.4.0/rules_apple.4.4.0.tar.gz",
)
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
load(
"@build_bazel_apple_support//lib:repositories.bzl",
"apple_support_dependencies",
)
apple_support_dependencies()4.3.3
What's Changed
- Remove xctestrunner patches by @keith in #2823
- [meta] update references to master branch to main by @aaronsky in #2834
- Support NSExtensionMain entry point for tvos_extension by @markvasiv in #2815
- Ensure the app bundle is writable before signing an app bundle "in place" in dossier codesigning. by @brentleyjones in #2835
- Don't set the Apple Configuration Distinguisher. This is not necessary, and it is a no-op now. by @brentleyjones in #2836
- Remove need to have
--watchos_cpusdefined when building iOS applications with watchOS apps by @adincebic in #2838 - Fix icon processing for tvOS and visionOS by @mjburghard in #2841
- Cover
tvosandvisionosicon processing with tests for bazel 7 by @adincebic in #2842
Full Changelog: 4.3.2...4.3.3
This release is compatible with Bazel 7.x LTS and 8.x LTS releases.
MODULE.bazel Snippet
bazel_dep(name = "rules_apple", version = "4.3.3", repo_name = "build_bazel_rules_apple")Workspace Snippet
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_apple",
sha256 = "fad623b4d0dbe7883fffc95a3275eaabfd13bd9336fca6788cb40bee96e5f131",
url = "https://github.com/bazelbuild/rules_apple/releases/download/4.3.3/rules_apple.4.3.3.tar.gz",
)
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
load(
"@build_bazel_apple_support//lib:repositories.bzl",
"apple_support_dependencies",
)
apple_support_dependencies()4.3.2
What's Changed
- Make
//test:ios_coverage_testrun exclusively by @aaronsky in #2826 - Fix
COVERAGEcheck by @brentleyjones in #2827 - Move
COLLECT_PROFDATAcheck back outside ofCOVERAGEcheck by @brentleyjones in #2829 - Fix
.xcstickersapp icon regression by @brentleyjones in #2831 - Cover message sticker pack extension with tests by @adincebic in #2832
- Drop
rollingbazel version from the BCR by @adincebic in #2833
Full Changelog: 4.3.1...4.3.2
This release is compatible with Bazel 7.x LTS and 8.x LTS releases.
MODULE.bazel Snippet
bazel_dep(name = "rules_apple", version = "4.3.2", repo_name = "build_bazel_rules_apple")Workspace Snippet
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_apple",
sha256 = "f2b4117fe17b0f1f8a3769e6d760d433fcbf97a8b6ff1797077ec106ccfbe2f2",
url = "https://github.com/bazelbuild/rules_apple/releases/download/4.3.2/rules_apple.4.3.2.tar.gz",
)
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
load(
"@build_bazel_apple_support//lib:repositories.bzl",
"apple_support_dependencies",
)
apple_support_dependencies()4.3.1
What's Changed
- Simulator: Add support for preferring persistent sims by @rockbruno in #2820
- Fix
apple_precompiled_resource_bundlefor recent changes by @brentleyjones in #2825 - Set
BAZEL_DEVICE_UDIDwhen running on device by @brentleyjones in #2824
Full Changelog: 4.3.0...4.3.1
This release is compatible with Bazel 7.x LTS and 8.x LTS releases.
MODULE.bazel Snippet
bazel_dep(name = "rules_apple", version = "4.3.1", repo_name = "build_bazel_rules_apple")Workspace Snippet
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_apple",
sha256 = "75e04b74078419e886048770aee4f964027783cab44029c226953a8ea8aaacd5",
url = "https://github.com/bazelbuild/rules_apple/releases/download/4.3.1/rules_apple.4.3.1.tar.gz",
)
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
load(
"@build_bazel_apple_support//lib:repositories.bzl",
"apple_support_dependencies",
)
apple_support_dependencies()