What's Changed
- Revert allow_symlink = True by default for non-executables
- Change from stamp to some other boolean flag
- Update Bazel versions in CI: drop Bazel 6, add Bazel 9
- Change Starlark flag default propagation from "universal" to "target"
Contributors: @gzm0, @kotlaja, @susinmotion, @justinhorvitz
Skipped due to CI failure
What's Changed
- Optimize
copy_fileand setallow_symlinkby default toTrueifis_executableisFalse(#565) - Give
rules/private:is_windowsan emptyapplicable_license(#600) - Bump
rules_godependency for compatibility with Bazel 9 (#601)
Contributors: @fdinoff, @fmeum, @fweikert, @susinmotion
Full Changelog: https://github.com/bazelbuild/bazel-skylib/compare/1.8.2...1.9.0
New Features
- Introduce repeatable_string_flag (#593)
Other Changes
- Migrate
copy_directoryaway from deprecated host constraint (#588)
Contributors
- fmeum@
- susinmotion@
What's Changed
- Make
is_windowspublic (#584)
Full Changelog: https://github.com/bazelbuild/bazel-skylib/compare/1.8.0...1.8.1
- fix: subpackages.all works for root packages by @kilian-funk in #531
- Strip compatible_with from bzl_library rules by @aiuto in #522
- Make only root test_deps externally visible by @tetromino in #508
- Update README.md by @BoleynSu in #380
- Add test_deps to rules/private by @aiuto in #534
- Fix bazel_skylib with Bazel@HEAD by @meteorcloudy in #538
- Explicitly enable workspace for some tasks by @meteorcloudy in #540
- README.md: fix broken directory rule links by @lukasoyen in #544
- Remove sh_binary usage for Bazel 8 friendliness by @tetromino in #550
- adding scope attributes for starlark flags by @aranguyen in #546
- Update common_settings.bzl by @aranguyen in #552
- Simplify CI steup and make presubmit green again by @meteorcloudy in #557
- fix(gazelle): remove deprecated function call by @tyler-french in #556
- Remove obsolete bazel 4.x compat code by @lukasoyen in #560
- Add new "env" variable to native_* rules by @gioachin in #561
- Replace outdated
select() on --cpuwith another flag ref by @gregestren in #570 - Migrate away from
@bazel_tools//src/conditions:host_windowsby @fmeum in #574 - Use DefaultInfo directly by @keith in #577
- Use
native.package_relative_labelinselects.bzlby @fmeum in #576 - Add BCR publishing workflow by @fmeum in #581
- @kilian-funk made their first contribution in #531
- @BoleynSu made their first contribution in #380
- @lukasoyen made their first contribution in #544
- @aranguyen made their first contribution in #546
- @tyler-french made their first contribution in #556
- @gioachin made their first contribution in #561
Full Changelog: https://github.com/bazelbuild/bazel-skylib/compare/1.7.1...1.8.0
What's Changed
- Fix distribution tarballs to include directory rules. (#520)
Full Changelog: https://github.com/bazelbuild/bazel-skylib/compare/1.7.0...1.7.1
New features
- Implement
directoryrules by @matts1 in #510 - Add
is_normalizedandstarts_withto paths module by @comius in #514
New Contributors
- @matts1 made their first contribution in #510
Full Changelog: https://github.com/bazelbuild/bazel-skylib/compare/1.6.1...1.7.0
What's Changed
- Fix
modulesBazel 6 compatibility by @phst in #499
New Contributors
- @phst made their first contribution in #499
Full Changelog: https://github.com/bazelbuild/bazel-skylib/compare/1.6.0...1.6.1
What's Changed
- Add helper functions for module extensions as
modulesby @fmeum in #457 - Make
outonnative_binaryoptional by @tpudlik in #474 - Remove outdated rules_cc dependency @cpsauer in #476
- Add toolchains argument to unittests.make by @jylinv0 in #483
- Allow
bzl_libraryto depend on non-bzl_librarytargets by @Wyverald in #495
New Contributors
Full Changelog: https://github.com/bazelbuild/bazel-skylib/compare/1.5.0...1.6.0
What's Changed
- Expose int- and string-valued build settings as Make variables by @fmeum in #440
- Modify actions in order not to need
toolchainparam by @kotlaja in #455 - versions: Don't fail on Bazel dev builds by @fmeum in #463
- Add error for empty
bzl_libraryby @keith in #457 - Add
docparam tounittest.makeby @UebelAndre in #464
New Contributors
Full Changelog: https://github.com/bazelbuild/bazel-skylib/compare/1.4.2...1.5.0
Bugfix release: fixes build_test to respect target_compatible_with (#448)
New Features
bzl_libraryallows.sclfiles (new Starlark dialect loadable by Bazel at HEAD with--experimental_enable_scl_dialect)
Contributors Alexandre Rostovtsev, UebelAndre, Vertexwahn, Xavier Bonaventura
Bugfix release: fixes gazelle plugin failure with
--incompatible_disallow_empty_glob (#431) and (for released versions) with
--incompatible_disable_starlark_host_transitions (#433).
Contributors Alexandre Rostovtsev, Chuck Grindel
New Features
- The Gazelle plugin is marked stable for general use (#400, #424)
Other Notable Changes
- copy_file/copy_directory again allow sandboxing (#392)
Contributors Alexandre Rostovtsev, Nick Gooding, Simon Stewart, Xùdōng Yáng
New Features
- Added
dicts.omitanddicts.pick(#304) - Added
expand_templaterule (#330) - Added
subpackagesmodule (#348) - Added
copy_directoryrule (#366) - Added
bzlmodsupport (#385)
Incompatible Changes
native_binaryandnative_testnow use symlinks instead of copying, if the OS supports it (#340)native_binaryandnative_testnow build in target configuration instead of host configuration (#341)copy_fileno longer adds non-executables todefault_runfiles(#326)
Contributors
Alex Eagle, Alexandre Rostovtsev, Barry McNamara, Derek Cormier, Fabian Meumertzheim, Geoffrey Martin-Noble, hchsiao, Kevin Kres, nickgooding, Vertexwahn, Vinh Tran
Bugfix release: fixes build failure with --incompatible_disallow_empty_glob (#359)
Contributors
Alexandre Rostovtsev, Ivo List
Release 1.2.0
New Features
- The unittest toolchain has better support for special characters in failure messages (#320)
- Use portable Bash shebangs for BSD compatibility (#329)
- Add loadingtest - tests which evaluate during the loading phase (#347)
- Add doc parameter to analysistest.make, allowing analysis tests to be documented in a Stardoc-friendly way (#343, #352)
Contributors
Alexandre Rostovtsev, Geoffrey Martin-Noble, Kevin Kress, Samuel Freilich, UebelAndre, Yesudeep Mangalapilly
New Features
- Gazelle: support relative imports (#271) and imports from
@bazel_tools(#273) - Add partial.is_instance() (#276)
- Allow unittest.suite() to accept partial calls of test rules (#276)
- Allow specifying additional aspects to target under test in analysistest.make() (#299)
- Add Windows support for build_test (#302)
Incompatible Changes
- structs.to_dict() ignores deprecated to_json()/to_proto() methods (#295)
Contributors
aiuto, alandonovan, Alex Eagle, Alexandre Rostovtsev, Andrew Z Allen, c-parsons, Christopher Sauer, Daniel Wagner-Hall, David Sanderson, dmaclach, Laurent Le Brun, Mansur, Olek Wojnar, Philipp Wollermann, River, Samuel Giddins, Thaler Benedek
Significant Changes
- Move Gazelle extension to //gazelle/bzl and change package name
- Stop depending on rules_pkg through the federation. (#259)
- copy_file: Add parameter to allow symlinks (#252)
- Create Gazelle language for Starlark (#251)
- Create a helper rule (
select_file) for selecting a file from outputs of another rule (#233)
Incompatible Changes
- Remove links to maprules (#213)
- Remove old_sets.bzl (#231) It has been deprecated for a while, the code is not really compatible with Bazel depset-related changes.
Contributors Andrew Z Allen, Bocete, Bor Kae Hwang, irengrig, Jay Conrod, Jonathan B Coe, Marc Plano-Lesay, Robbert van Ginkel, Thomas Van Lenten, Yannic
Incompatible Changes
- @bazel_skylib//:lib.bzl is removed. You now must specify specific modules via @bazel_skylib//lib:.bzl.
- maprule.bzl is removed.
New Features
- Added types.is_set() to test whether an arbitrary object is a set as defined by sets.bzl.
New Features
-
common_settings.bzl: Standard data types for user defined build configuration. Common scalar build settings for rules to use so they don't recreate them locally. This fulfills part of the SBC design doc: https://docs.google.com/document/d/1vc8v-kXjvgZOdQdnxPTaV0rrLxtP2XwnD2tAZlYJOqw/edit#bookmark=id.iiumwic0jphr
-
selects.bzl: Add config_setting_group for config_setting AND/OR-chaining Implements https://github.com/bazelbuild/proposals/blob/HEAD/designs/2018-11-09-config-setting-chaining.md.
-
Make sets.bzl point to new_sets.bzl instead of old_sets.bzl. new_sets.bzl and old_sets.bzl should be removed in the following skylib release.
-
run_binary: runs an executable as an action
- This rule is an alternative for genrule(): it can run a binary with the desired arguments, environment, inputs, and outputs, as a single build action, without shelling out to Bash.
- Fixes #149
-
New
native_binary()andnative_test()rules let you wrap a pre-built binary in a binary and test rule respectively.- native_binary() wraps a pre-built binary or script in a *_binary rule interface. Rules like genrule can tool-depend on it, and it can be executed with "bazel run". This rule can also augment the binary with runfiles.
- native_test() is similar, but creates a testable rule instead of a binary rule.
- Fixes #148
-
diff_test: test rule compares two files and passes if the files match.
On Linux/macOS/non-Windows, the test compares files using 'diff'.
On Windows, the test compares files using 'fc.exe'. This utility is available on all Windows versions I tried (Windows 2008 Server, Windows 2016 Datacenter Core).
-
maprule: move functionality to maprule_util.bzl. maprule_util.bzl will benefit planned new rules (namely a genrule alternative).
This release is tested with Bazel 0.28