Releases: bazelbuild/rules_swift
Release list
4.0.0-rc6
What's Changed
- Update include to avoid musl warning by @keith in #1888
- Fix an error from
-Wsign-compareby @Yannic in #1889 - Add more known bad modules for Xcode 27 by @keith in #1890
New Contributors
Full Changelog: 4.0.0-rc5...4.0.0-rc6
This release is compatible with Bazel 8.x LTS, 9.x LTS, and rolling releases.
MODULE.bazel Snippet
bazel_dep(name = "rules_swift", version = "4.0.0-rc6")4.0.0-rc5
What's Changed
- use a perl script for mixed_language_module_map_extender by @alex-ameen in #1624
- Add swift_binary(linkshared = True) for shared libraries by @AttilaTheFun in #1820
- Support cross-compiling to Android with a Swift SDK by @AttilaTheFun in #1818
- Build and test Swift natively on a Windows host by @AttilaTheFun in #1819
- Support cross-compiling to WebAssembly with a Swift SDK by @AttilaTheFun in #1817
- Correctly forward external_include_paths to swift compiler by @DoDoENT in #1829
- Move xcode_swift_toolchain out of local repo by @keith in #1845
- Move wasm templating to separate BUILD file by @keith in #1835
- Fix missing runfiles for proto rules by @keith in #1855
- Fix WMO num-threads detection by @qyang-nj in #1856
- Remove Xcode rpaths for non macOS binaries by @keith in #1864
- Improve hermetic toolchain support, add static stdlib support by @keith in #1853
- Remove toolchain_name from sdk module extensions by @keith in #1833
- Fix symbolgraph extraction with explicit modules by @keith in #1870
- fix(mixed_language_library): Include own source files in code coverage file info by @amorde in #1874
- Fix spaces in defines by @keith in #1877
- Don't generate macOS target toolchain from hermetic toolchains by @keith in #1876
- Gate the direct SwiftInfo pass-throughs on the layering features by @mauriciogg in #1879
New Contributors
- @alex-ameen made their first contribution in #1624
- @DoDoENT made their first contribution in #1829
- @amorde made their first contribution in #1874
- @mauriciogg made their first contribution in #1879
Full Changelog: 4.0.0-rc4...4.0.0-rc5
This release is compatible with Bazel 8.x LTS, 9.x LTS, and rolling releases.
MODULE.bazel Snippet
bazel_dep(name = "rules_swift", version = "4.0.0-rc5")4.0.0-rc4
Changes since rc3
- Mark explicit modules module extension as reproducible by @keith in #1810
- Allow suppression aspect hints to override rules by @keith in #1811
Full Changelog: 4.0.0-rc3...4.0.0-rc4
This release is compatible with Bazel 8.x LTS, 9.x LTS, and rolling releases.
MODULE.bazel Snippet
bazel_dep(name = "rules_swift", version = "4.0.0-rc4")4.0.0-rc3
Changes since rc2
- Propagate testonly to mixed language headers by @brentleyjones in #1803
- Scope -clang-target to explicit modules by @keith in #1804
Full Changelog: 4.0.0-rc2...4.0.0-rc3
This release is compatible with Bazel 8.x LTS, 9.x LTS, and rolling releases.
MODULE.bazel Snippet
bazel_dep(name = "rules_swift", version = "4.0.0-rc3")4.0.0-rc2
Changes since rc1
- Stop using repo_name by @adincebic in #1753
- Fix linux host with explicit modules by @keith in #1800
- Fix BareSlashRegexLiterals warning by @keith in #1801
Full Changelog: 4.0.0-rc1...4.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_swift", version = "4.0.0-rc2")4.0.0-rc1
Breaking changes
- Removed
WORKSPACEsupport - Drop bazel 7 support
- Remove
swift.vfs_overlay(useswift.use_explicit_swift_module_mapinstead) by @keith in #1781
New features
- Add opt-in support for explicit modules, see the docs for usage.
- Add opt-in layering check, enable with
--features=swift.layering_check_swift - Add Hermetic Swift Toolchain Support with Bzlmod Extension by @ma-oli in #1630
- Add
swift.emit_localized_stringsfeature for compiler string extraction by @jpsim in #1776
Other notable changes
- Add missing Swift 6.2 upcoming features for v6 mode by @luispadron in #1637
- Fix executing tests by @marekcirkos in #1639
- Update
const_protocols_to_gather.jsonto latest by @kntkymt in #1641 - Update protobuf dependency version for Bazel 9 by @luispadron
- Refactor toolchains to avoid eagerly evaluating autoconfig repo by @dzbarsky in #1651
- Fix
datapropagation to underlying libs for mixed libraries by @luispadron in #1654 - use prebuilt proto toolchain from protobuf@34.0 by @aaronsky in #1660
- Fix is exec config for 9.0.0 by @keith in #1698
- Partially fix swiftly usage by @keith in #1701
- Fix test observer warnings-as-errors build by @AttilaTheFun in #1754
- Add -prefix-serialized-debugging-options by @keith in #1757
New Contributors
- @marekcirkos made their first contribution in #1639
- @bc-lee made their first contribution in #1670
- @manojmahapatra made their first contribution in #1689
Full Changelog: 3.4.1...4.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_swift", version = "4.0.0-rc1", repo_name = "build_bazel_rules_swift")3.6.1
What's Changed
- Explicitly pass .swiftmodule and .swiftinterface files as action inputs by @adincebic in #1677
Full Changelog: 3.6.0...3.6.1
This release is compatible with Bazel 7.x LTS, 8.x LTS, and 9.x LTS.
MODULE.bazel Snippet
bazel_dep(name = "rules_swift", version = "3.6.1", repo_name = "build_bazel_rules_swift")Workspace Snippet
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_swift",
sha256 = "9b5303dac0f7e0d06fba1a3c346d50652ae4a2abdb82d3ade3d3805f28031362",
url = "https://github.com/bazelbuild/rules_swift/releases/download/3.6.1/rules_swift.3.6.1.tar.gz",
)
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()3.6.0
What's Changed
- [cherry pick] Update swift-syntax for bazel 9.x support (#1666) by @aaronsky in #1676
- [cherry pick] use prebuilt proto toolchain from protobuf@34.0 (#1660) by @aaronsky in #1674
- [cherry pick] Revert "Use apple constraints over config_setting_group in select" (#1665) by @aaronsky in #1675
Full Changelog: 3.5.0...3.6.0
This release is compatible with Bazel 7.x LTS, 8.x LTS, and 9.x LTS.
MODULE.bazel Snippet
bazel_dep(name = "rules_swift", version = "3.6.0", repo_name = "build_bazel_rules_swift")Workspace Snippet
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_swift",
sha256 = "bf444e044f86153d5bfe358cc29f3512d3e90ab6bba624110b723cad62b8c737",
url = "https://github.com/bazelbuild/rules_swift/releases/download/3.6.0/rules_swift.3.6.0.tar.gz",
)
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()3.5.0
What's Changed
- Update protobuf dependency version to 33.4 for Bazel 9 by @luispadron in #1648
- Update
const_protocols_to_gather.jsonto latest by @kntkymt in #1649 - Refactor toolchains to avoid eagerly evaluating autoconfig repo by @dzbarsky in #1653
- Fix
datapropagation to underlying libs for mixed libraries (#1654) by @luispadron in #1655 - Update protobuf to 34.0 for Bazel 9 by @luispadron in #1657
Full Changelog: 3.4.2...3.5.0
This release is compatible with Bazel 7.x LTS, 8.x LTS, and 9.x LTS.
MODULE.bazel Snippet
bazel_dep(name = "rules_swift", version = "3.5.0", repo_name = "build_bazel_rules_swift")Workspace Snippet
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_swift",
sha256 = "c98f201bc217d2ce28e01afc78b410d05c67b846c04a7095e4e701b37422ecb2",
url = "https://github.com/bazelbuild/rules_swift/releases/download/3.5.0/rules_swift.3.5.0.tar.gz",
)
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()3.4.2
What's Changed
- Fix executing tests (#1639) by @adincebic in #1640
Full Changelog: 3.4.1...3.4.2
This release is compatible with Bazel 7.x LTS, 8.x LTS, and 9.x rolling releases.
MODULE.bazel Snippet
bazel_dep(name = "rules_swift", version = "3.4.2", repo_name = "build_bazel_rules_swift")Workspace Snippet
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_swift",
sha256 = "03a5c2a93398f2fc4d6ddfb76cf80cd957483ec286d34f50cc22cda002aab445",
url = "https://github.com/bazelbuild/rules_swift/releases/download/3.4.2/rules_swift.3.4.2.tar.gz",
)
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()