What's changed
Breaking changes
.swiftinterface
files are no longer provided by default unless the underlying swift_library usesfeatures = ["swift.emit_swiftinterface"]
orlibrary_evolution = True
.- Removed
experimental_mixed_language_library
rule, users should use rules_swift'smixed_language_library
rule instead.
Fixed
- Fix to only generate Swift interfaces if a build graph for an XCFramework rule is found to contain non-system Swift modules. by @luispadron in #2715
- Fix issue with codesign not supporting bundles that have spaces by @adincebic in #2732
Removed
- Remove
no-remote
when there aren’t any codesign commands by @brentleyjones in #2682 - Remove
One of the two will be used
grep by @brentleyjones in #2724 - Remove experimental mixed language library rule by @luispadron in #2730
Added
- Add a new series of boundary checks to keep users informed of how to resolve issues with 3P static library SDK rules (such as apple_static_xcframework) caused by making avoid_deps too all-encompassing. by @luispadron in #2716
- Utilize
TEST_PREMATURE_EXIT_FILE
by @brentleyjones in #2725 - Ability to explicitly specify output files in apple_core_data_model rule by @daltonclaybrook in #2727
- Support latest rules_swift by @luispadron in #2729
Changed
*_build_test
: Don't allow targets to be empty. by @luispadron in #2719- Disable include scanning to work around issue with GrepIncludes actions by @luispadron in #2720
- Mark the output bundle's root folder permissions as 0o755 as the user when tree artifact bundling is active, for parity with the output bundle generated by legacy bundling. by @luispadron in #2721
- Mark provisioning_profiles_repository_extension as reproducible by @fmeum in #2731
New Contributors
- @fmeum made their first contribution in #2731
- @daltonclaybrook made their first contribution in #2727
Full Changelog: 3.22.0...4.0.0
This release is compatible with Bazel 7.x LTS and 8.x LTS releases
MODULE.bazel Snippet
bazel_dep(name = "rules_apple", version = "4.0.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 = "70b0fb2aec1055c978109199bf58ccb5008aba8e242f3305194045c271ca3cae",
url = "https://github.com/bazelbuild/rules_apple/releases/download/4.0.0/rules_apple.4.0.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()