Releases: hermeticbuild/rules_zig
v0.16.0
Setup Instructions
Add the following to your MODULE.bazel file to install rules_zig:
bazel_dep(name = "rules_zig", version = "0.16.0")Optionally add the following to your MODULE.bazel file to install a specific Zig toolchain version:
zig = use_extension("@rules_zig//zig:extensions.bzl", "zig")
zig.toolchain(zig_version = "0.16.0")You can call zig.toolchain multiple times to install multiple Zig versions.
Optionally add the following to your MODULE.bazel file to install a specific ZLS toolchain version and declare what Zig version it applies to:
zls = use_extension("@rules_zig//zig/zls:extensions.bzl", "zls")
zls.toolchain(zig_version = "0.16.0", zls_version = "0.16.0")You can call zls.toolchain multiple times to install multiple ZLS versions.
Note, rules_zig requires bzlmod, WORKSPACE mode is no longer supported.
What's Changed
- chore(deps): update dependency rules_python to v2.0.2 by @renovate[bot] in #660
- chore: move rules_zig from aherrmann to hermeticbuild by @aherrmann in #661
- feat: support mapping Zig mode to Bazel compilation mode by @cerisier in #662
- feat: honor Bazel strip flag in Zig settings by @cerisier in #663
- chore: add maintainer and update BCR config by @aherrmann in #664
- fix: --incompatible_config_setting_private_default_visibility by @aherrmann in #665
- chore: fetch translate-c from GitHub by @aherrmann in #666
- chore: drop redundant test from release workflow by @aherrmann in #667
Full Changelog: v0.15.1...v0.16.0
v0.16.0-rc2
Setup Instructions
Add the following to your MODULE.bazel file to install rules_zig:
bazel_dep(name = "rules_zig", version = "0.16.0-rc2")Optionally add the following to your MODULE.bazel file to install a specific Zig toolchain version:
zig = use_extension("@rules_zig//zig:extensions.bzl", "zig")
zig.toolchain(zig_version = "0.16.0")You can call zig.toolchain multiple times to install multiple Zig versions.
Optionally add the following to your MODULE.bazel file to install a specific ZLS toolchain version and declare what Zig version it applies to:
zls = use_extension("@rules_zig//zig/zls:extensions.bzl", "zls")
zls.toolchain(zig_version = "0.16.0", zls_version = "0.16.0")You can call zls.toolchain multiple times to install multiple ZLS versions.
Note, rules_zig requires bzlmod, WORKSPACE mode is no longer supported.
What's Changed
- fix: --incompatible_config_setting_private_default_visibility by @aherrmann in #665
- chore: fetch translate-c from GitHub by @aherrmann in #666
- chore: drop redundant test from release workflow by @aherrmann in #667
Full Changelog: v0.16.0-rc1...v0.16.0-rc2
v0.16.0-rc1
Setup Instructions
Add the following to your MODULE.bazel file to install rules_zig:
bazel_dep(name = "rules_zig", version = "0.16.0-rc1")Optionally add the following to your MODULE.bazel file to install a specific Zig toolchain version:
zig = use_extension("@rules_zig//zig:extensions.bzl", "zig")
zig.toolchain(zig_version = "0.16.0")You can call zig.toolchain multiple times to install multiple Zig versions.
Optionally add the following to your MODULE.bazel file to install a specific ZLS toolchain version and declare what Zig version it applies to:
zls = use_extension("@rules_zig//zig/zls:extensions.bzl", "zls")
zls.toolchain(zig_version = "0.16.0", zls_version = "0.16.0")You can call zls.toolchain multiple times to install multiple ZLS versions.
Note, rules_zig requires bzlmod, WORKSPACE mode is no longer supported.
What's Changed
- chore(deps): update dependency rules_python to v2.0.2 by @renovate[bot] in #660
- chore: move rules_zig from aherrmann to hermeticbuild by @aherrmann in #661
- feat: support mapping Zig mode to Bazel compilation mode by @cerisier in #662
- feat: honor Bazel strip flag in Zig settings by @cerisier in #663
- chore: add maintainer and update BCR config by @aherrmann in #664
Full Changelog: v0.15.1...v0.16.0-rc1
v0.15.1
Setup Instructions
Add the following to your MODULE.bazel file to install rules_zig:
bazel_dep(name = "rules_zig", version = "0.15.1")Optionally add the following to your MODULE.bazel file to install a specific Zig toolchain version:
zig = use_extension("@rules_zig//zig:extensions.bzl", "zig")
zig.toolchain(zig_version = "0.16.0")You can call zig.toolchain multiple times to install multiple Zig versions.
Optionally add the following to your MODULE.bazel file to install a specific ZLS toolchain version and declare what Zig version it applies to:
zls = use_extension("@rules_zig//zig/zls:extensions.bzl", "zls")
zls.toolchain(zig_version = "0.16.0", zls_version = "0.16.0")You can call zls.toolchain multiple times to install multiple ZLS versions.
Note, rules_zig requires bzlmod, WORKSPACE mode is no longer supported.
What's Changed
Full Changelog: v0.15.0...v0.15.1
v0.15.0
Setup Instructions
Add the following to your MODULE.bazel file to install rules_zig:
bazel_dep(name = "rules_zig", version = "0.15.0")Optionally add the following to your MODULE.bazel file to install a specific Zig toolchain version:
zig = use_extension("@rules_zig//zig:extensions.bzl", "zig")
zig.toolchain(zig_version = "0.16.0")You can call zig.toolchain multiple times to install multiple Zig versions.
Optionally add the following to your MODULE.bazel file to install a specific ZLS toolchain version and declare what Zig version it applies to:
zls = use_extension("@rules_zig//zig/zls:extensions.bzl", "zls")
zls.toolchain(zig_version = "0.16.0", zls_version = "0.16.0")You can call zls.toolchain multiple times to install multiple ZLS versions.
Note, rules_zig requires bzlmod, WORKSPACE mode is no longer supported.
Highlights
Breaking Changes
- The Zig toolchain and provider API changed, see #651
What's Changed
- chore: reuse escape_label for bazel builtin names by @cerisier in #640
- chore(deps): update dependency platforms to v1.1.0 by @renovate[bot] in #641
- chore(deps): update dependency bazel_features to v1.47.0 by @renovate[bot] in #642
- chore(deps): update dependency gazelle to v0.51.0 by @renovate[bot] in #648
- feat: support standalone translate-c by @cerisier in #645
- feat: implement test-obj for use_cc_common_link in zig 0.16 by @cerisier in #647
- chore(deps): update dependency apple_support to v2.5.4 by @renovate[bot] in #649
- fix: external translate-c does not need a zig toolchain by @cerisier in #650
- chore(deps): update dependency rules_python to v2.0.1 by @renovate[bot] in #652
- feat!: support toolchains building zig from source - host toolchain compatible by @cerisier in #651
- chore(deps): update dependency bazel_features to v1.47.1 by @renovate[bot] in #655
- feat: allow bootstrap settings in zig_configure by @cerisier in #654
- feat: add zig exec group to all rules by @cerisier in #656
- feat: allow adding extra attributes to generated toolchains by @cerisier in #657
- feat: add zls toolchain support by @cerisier in #653
- feat: globally register ZLS index and toolchains by @aherrmann in #658
Full Changelog: v0.14.0...v0.15.0
v0.14.0
Setup Instructions
Add the following to your MODULE.bazel file to install rules_zig:
bazel_dep(name = "rules_zig", version = "0.14.0")Optionally add the following to your MODULE.bazel file to install a specific Zig toolchain version:
zig = use_extension("//zig:extensions.bzl", "zig")
zig.toolchain(zig_version = "0.16.0")You can call zig.toolchain multiple times to install multiple Zig versions.
Note, rules_zig requires bzlmod, WORKSPACE mode is no longer supported.
Breaking Changes
- Support for Zig 0.14.x has been removed.
- The runfiles library API changed for Zig version 0.16.x.
Highlights
- Support for Zig 0.16.0 has been added.
What's Changed
- chore(deps): update dependency bazel to v9.1.0 by @renovate[bot] in #629
- feat(settings): support host variant for all build settings by @cerisier in #630
- fix: force canonical name for builtin std module name by @cerisier in #633
- feat: add emit asm llvm_ir and llvm_bc attributes and output_groups by @cerisier in #634
- fix: revert cc_common_link repo mapping hack by @cerisier in #636
- feat!: support zig 0.16 by @cerisier in #635
- chore: force canonical name of global c module top level by @cerisier in #639
- chore(deps): update dependency rules_python to v2 by @renovate[bot] in #637
- chore(deps): update dependency bazel_features to v1.46.0 by @renovate[bot] in #638
Full Changelog: v0.13.0...v0.14.0
v0.13.0
Setup Instructions
Add the following to your MODULE.bazel file to install rules_zig:
bazel_dep(name = "rules_zig", version = "0.13.0")Optionally add the following to your MODULE.bazel file to install a specific Zig toolchain version:
zig = use_extension("//zig:extensions.bzl", "zig")
zig.toolchain(zig_version = "0.15.2")You can call zig.toolchain multiple times to install multiple Zig versions.
Note, rules_zig requires bzlmod, WORKSPACE mode is no longer supported.
Breaking Changes
- Removed deprecated API:
zig_modulerule, usezig_libraryinstead.zig_c_modulerule, usezig_c_libraryinstead.cdepsattribute, usedepsinstead.
- Removed support for Zig 0.15.1, use 0.15.2 instead.
- The
use_cc_common_linkattribute is now of typeintinstead ofbool:- 0: do not use
cc_common.link. - 1: do use
cc_common.link. - -1: use the configuration value of
//zig/settings:experimental_use_cc_common_link.
- 0: do not use
What's Changed
- feat!: remove deprecated rules zig_module, zig_c_module, and cdeps attribute by @aherrmann in #568
- feat!: remove support for Zig 0.15.1 by @aherrmann in #569
- fix: add Zig 0.15.1 to update exclusions by @aherrmann in #573
- feat: add support for --incompatible_compact_repo_mapping_manifest by @cerisier in #571
- chore(deps): update actions/checkout action to v6 by @renovate[bot] in #574
- chore(deps): update mcr.microsoft.com/devcontainers/universal docker tag to v5 by @renovate[bot] in #575
- fix: use label as canonical name for zig_module and use it for module deps by @cerisier in #566
- chore(deps): update dependency aspect_bazel_lib to v2.22.0 by @renovate[bot] in #576
- chore(deps): update dependency buildifier_prebuilt to v8.2.1.1 by @renovate[bot] in #577
- chore(deps): update dependency bazel_skylib to v1.9.0 by @renovate[bot] in #579
- chore(deps): update dependency bazel_skylib_gazelle_plugin to v1.9.0 by @renovate[bot] in #580
- chore(deps): update dependency rules_cc to v0.2.16 by @renovate[bot] in #581
- chore(deps): update dependency aspect_bazel_lib to v2.22.2 by @renovate[bot] in #582
- chore(deps): update dependency bazel_features to v1.39.0 by @renovate[bot] in #583
- chore(deps): update dependency aspect_bazel_lib to v2.22.4 by @renovate[bot] in #584
- chore(deps): update dependency cgrindel_bazel_starlib to v0.28.0 by @renovate[bot] in #585
- chore(deps): update dependency aspect_bazel_lib to v2.22.5 by @renovate[bot] in #586
- chore(deps): update dependency rules_bazel_integration_test to v0.35.0 by @renovate[bot] in #588
- chore(deps): update dependency rules_python to v1.8.0 by @renovate[bot] in #590
- chore(deps): update dependency cgrindel_bazel_starlib to v0.29.3 by @renovate[bot] in #591
- chore(deps): update dependency rules_python to v1.8.1 by @renovate[bot] in #593
- chore(deps): update dependency rules_python to v1.8.2 by @renovate[bot] in #594
- chore(deps): update dependency rules_bazel_integration_test to v0.36.0 by @renovate[bot] in #595
- fix!: handle overriding settings even if it is set to false by @cerisier in #587
- chore(deps): update dependency buildifier_prebuilt to v8.2.1.2 by @renovate[bot] in #596
- chore(deps): update dependency rules_python to v1.8.3 by @renovate[bot] in #597
- chore(deps): update dependency bazel_features to v1.41.0 by @renovate[bot] in #599
- chore(deps): update dependency rules_bazel_integration_test to v0.37.1 by @renovate[bot] in #600
- ci: verify PR titles follow conventional commits pattern by @aherrmann in #601
- fix: support linker-script with Zig 0.15.1+ by @aherrmann in #602
- chore(deps): update dependency stardoc to v0.8.1 by @renovate[bot] in #598
- feat: use Zig community mirrors by default and add source parameter by @aherrmann in #603
- chore: update buildbuddy toolchain to 0.0.4 by @aherrmann in #604
- fix: correct version mismatch test failure message by @cerisier in #606
- chore(deps): update dependency rules_python to v1.8.4 by @renovate[bot] in #607
- chore(deps): update dependency cgrindel_bazel_starlib to v0.30.0 by @renovate[bot] in #608
- chore(deps): update dependency rules_cc to v0.2.17 by @renovate[bot] in #609
- chore(deps): update dependency rules_python to v1.8.5 by @renovate[bot] in #610
- chore(deps): update dependency bazel_features to v1.42.0 by @renovate[bot] in #611
- chore(deps): update dependency rules_python to v1.9.0 by @renovate[bot] in #613
- chore(deps): update dependency bazel_features to v1.42.1 by @renovate[bot] in #614
- chore(deps): update dependency bazel_features to v1.43.0 by @renovate[bot] in #615
- chore(deps): update dependency buildifier_prebuilt to v8.5.1 by @renovate[bot] in #616
- chore: add e2e examples: custom toolchain glibc version + foreign_cc cmake by @ntorresalberto in #617
- chore(deps): update dependency rules_foreign_cc to v0.15.1 by @renovate[bot] in #618
- chore(deps): update cgrindel/gha_join_jobs action to v1.5.0 by @renovate[bot] in #619
- chore(deps): update dependency bazel_features to v1.44.0 by @renovate[bot] in #620
- chore(deps): update dependency bazel_features to v1.45.0 by @renovate[bot] in #622
- chore(deps): update dependency buildifier_prebuilt to v8.5.1.2 by @renovate[bot] in #623
- chore(deps): update dependency gazelle to v0.50.0 by @renovate[bot] in #621
- chore(deps): update softprops/action-gh-release action to v3 by @renovate[bot] in #624
- chore(deps): update mcr.microsoft.com/devcontainers/universal docker tag to v6 by @renovate[bot] in #626
- chore(deps): update dependency rules_cc to v0.2.18 by @renovate[bot] in #627
- chore(deps): update dependency bazel to v9.0.0 by @renovate[bot] in #592
New Contributors
- @ntorresalberto made their first contribution in #617
Full Changelog: v0.12.3...v0.13.0
v0.12.3
Setup Instructions
Add the following to your MODULE.bazel file to install rules_zig:
bazel_dep(name = "rules_zig", version = "0.12.3")Optionally add the following to your MODULE.bazel file to install a specific Zig toolchain version:
zig = use_extension("//zig:extensions.bzl", "zig")
zig.toolchain(zig_version = "0.15.2")You can call zig.toolchain multiple times to install multiple Zig versions.
Note, rules_zig requires bzlmod, WORKSPACE mode is no longer supported.
What's Changed
- chore(deps): update dependency bazel_features to v1.38.0 by @renovate[bot] in #563
- chore(deps): update dependency rules_cc to v0.2.14 by @renovate[bot] in #562
- chore(deps): update dependency buildifier_prebuilt to v8.2.1 by @renovate[bot] in #565
- chore(deps): update dependency rules_python to v1.7.0 by @renovate[bot] in #567
- chore(deps): update dependency gazelle to v0.47.0 by @renovate[bot] in #564
- feat: update Zig versions up to 0.15.2 by @github-actions[bot] in #556
Full Changelog: v0.12.2...v0.12.3
v0.12.2
Setup Instructions
Add the following to your MODULE.bazel file to install rules_zig:
bazel_dep(name = "rules_zig", version = "0.12.2")Optionally add the following to your MODULE.bazel file to install a specific Zig toolchain version:
zig = use_extension("//zig:extensions.bzl", "zig")
zig.toolchain(zig_version = "0.15.1")You can call zig.toolchain multiple times to install multiple Zig versions.
Note, rules_zig requires bzlmod, WORKSPACE mode is no longer supported.
What's Changed
- feat: support headers provided by the CC toolchain in translate_c by @cerisier in #557
- fix: transition shared-library instead of static-library by @cerisier in #559
- fix: mark the intermediary archive of shared libraries as alwayslink by @cerisier in #558
- chore(deps): update dependency rules_cc to v0.2.11 by @renovate[bot] in #560
- feat: add support for global zigopt setting by @cerisier in #561
Full Changelog: v0.12.1...v0.12.2
v0.12.1
Setup Instructions
Add the following to your MODULE.bazel file to install rules_zig:
bazel_dep(name = "rules_zig", version = "0.12.1")Optionally add the following to your MODULE.bazel file to install a specific Zig toolchain version:
zig = use_extension("//zig:extensions.bzl", "zig")
zig.toolchain(zig_version = "0.15.1")You can call zig.toolchain multiple times to install multiple Zig versions.
Note, rules_zig requires bzlmod, WORKSPACE mode is no longer supported.
What's Changed
- docs: add readme links to extension and toolchain docs by @aherrmann in #548
- chore(deps): update dependency rules_bazel_integration_test to v0.34.0 by @renovate[bot] in #549
- chore(deps): update dependency rules_cc to v0.2.9 by @renovate[bot] in #551
- chore(deps): update dependency bazel_features to v1.37.0 by @renovate[bot] in #552
- feat: expose rpaths of zig toolchain zig exe and lib by @cerisier in #553
- feat: expose module name in module context of ZigModuleInfo by @cerisier in #554
Full Changelog: v0.12.0...v0.12.1