xref: /aosp_15_r20/external/bazel-skylib/CHANGELOG.md (revision bcb5dc7965af6ee42bf2f21341a2ec00233a8c8a)
1*bcb5dc79SHONG Yifan# Release 1.7.1
2*bcb5dc79SHONG Yifan
3*bcb5dc79SHONG Yifan**What's Changed**
4*bcb5dc79SHONG Yifan* Fix distribution tarballs to include directory rules. (https://github.com/bazelbuild/bazel-skylib/pull/520)
5*bcb5dc79SHONG Yifan
6*bcb5dc79SHONG Yifan**Full Changelog**: https://github.com/bazelbuild/bazel-skylib/compare/1.7.0...1.7.1
7*bcb5dc79SHONG Yifan
8*bcb5dc79SHONG Yifan# Release 1.7.0
9*bcb5dc79SHONG Yifan
10*bcb5dc79SHONG Yifan**New features**
11*bcb5dc79SHONG Yifan* Implement `directory` rules by @matts1 in https://github.com/bazelbuild/bazel-skylib/pull/510
12*bcb5dc79SHONG Yifan* Add `is_normalized` and `starts_with` to paths module by @comius in https://github.com/bazelbuild/bazel-skylib/pull/514
13*bcb5dc79SHONG Yifan
14*bcb5dc79SHONG Yifan**New Contributors**
15*bcb5dc79SHONG Yifan* @matts1 made their first contribution in https://github.com/bazelbuild/bazel-skylib/pull/510
16*bcb5dc79SHONG Yifan
17*bcb5dc79SHONG Yifan**Full Changelog**: https://github.com/bazelbuild/bazel-skylib/compare/1.6.1...1.7.0
18*bcb5dc79SHONG Yifan
19*bcb5dc79SHONG Yifan
20*bcb5dc79SHONG Yifan# Release 1.6.1
21*bcb5dc79SHONG Yifan
22*bcb5dc79SHONG Yifan**What's Changed**
23*bcb5dc79SHONG Yifan* Fix `modules` Bazel 6 compatibility by @phst in https://github.com/bazelbuild/bazel-skylib/pull/499
24*bcb5dc79SHONG Yifan
25*bcb5dc79SHONG Yifan**New Contributors**
26*bcb5dc79SHONG Yifan* @phst made their first contribution in https://github.com/bazelbuild/bazel-skylib/pull/499
27*bcb5dc79SHONG Yifan
28*bcb5dc79SHONG Yifan**Full Changelog**: https://github.com/bazelbuild/bazel-skylib/compare/1.6.0...1.6.1
29*bcb5dc79SHONG Yifan
30*bcb5dc79SHONG Yifan# Release 1.6.0
31*bcb5dc79SHONG Yifan
32*bcb5dc79SHONG Yifan**What's Changed**
33*bcb5dc79SHONG Yifan* Add helper functions for module extensions as `modules` by @fmeum in https://github.com/bazelbuild/bazel-skylib/pull/457
34*bcb5dc79SHONG Yifan* Make `out` on `native_binary` optional by @tpudlik in https://github.com/bazelbuild/bazel-skylib/pull/474
35*bcb5dc79SHONG Yifan* Remove outdated rules_cc dependency @cpsauer in https://github.com/bazelbuild/bazel-skylib/pull/476
36*bcb5dc79SHONG Yifan* Add toolchains argument to unittests.make by @jylinv0 in https://github.com/bazelbuild/bazel-skylib/pull/483
37*bcb5dc79SHONG Yifan* Allow `bzl_library` to depend on non-`bzl_library` targets by @Wyverald in https://github.com/bazelbuild/bazel-skylib/pull/495
38*bcb5dc79SHONG Yifan
39*bcb5dc79SHONG Yifan**New Contributors**
40*bcb5dc79SHONG Yifan* @jylinv0 made their first contribution in https://github.com/bazelbuild/bazel-skylib/pull/483
41*bcb5dc79SHONG Yifan* @tpudlik made their first contribution in https://github.com/bazelbuild/bazel-skylib/pull/474
42*bcb5dc79SHONG Yifan
43*bcb5dc79SHONG Yifan**Full Changelog**: https://github.com/bazelbuild/bazel-skylib/compare/1.5.0...1.6.0
44*bcb5dc79SHONG Yifan
45*bcb5dc79SHONG Yifan
46*bcb5dc79SHONG Yifan# Release 1.5.0
47*bcb5dc79SHONG Yifan
48*bcb5dc79SHONG Yifan**What's Changed**
49*bcb5dc79SHONG Yifan* Expose int- and string-valued build settings as Make variables by @fmeum in https://github.com/bazelbuild/bazel-skylib/pull/440
50*bcb5dc79SHONG Yifan* Modify actions in order not to need `toolchain` param  by @kotlaja in https://github.com/bazelbuild/bazel-skylib/pull/455
51*bcb5dc79SHONG Yifan* versions: Don't fail on Bazel dev builds by @fmeum in https://github.com/bazelbuild/bazel-skylib/pull/463
52*bcb5dc79SHONG Yifan* Add error for empty `bzl_library` by @keith in https://github.com/bazelbuild/bazel-skylib/pull/457
53*bcb5dc79SHONG Yifan* Add `doc` param to `unittest.make` by @UebelAndre in https://github.com/bazelbuild/bazel-skylib/pull/464
54*bcb5dc79SHONG Yifan
55*bcb5dc79SHONG Yifan**New Contributors**
56*bcb5dc79SHONG Yifan* @kotlaja made their first contribution in https://github.com/bazelbuild/bazel-skylib/pull/455
57*bcb5dc79SHONG Yifan* @keith made their first contribution in https://github.com/bazelbuild/bazel-skylib/pull/457
58*bcb5dc79SHONG Yifan
59*bcb5dc79SHONG Yifan**Full Changelog**: https://github.com/bazelbuild/bazel-skylib/compare/1.4.2...1.5.0
60*bcb5dc79SHONG Yifan
61*bcb5dc79SHONG Yifan
62*bcb5dc79SHONG Yifan# Release 1.4.2
63*bcb5dc79SHONG Yifan
64*bcb5dc79SHONG YifanBugfix release: fixes `build_test` to respect `target_compatible_with` (#448)
65*bcb5dc79SHONG Yifan
66*bcb5dc79SHONG Yifan**New Features**
67*bcb5dc79SHONG Yifan-   `bzl_library` allows `.scl` files (new Starlark dialect loadable by Bazel at
68*bcb5dc79SHONG Yifan    HEAD with `--experimental_enable_scl_dialect`)
69*bcb5dc79SHONG Yifan
70*bcb5dc79SHONG Yifan**Contributors**
71*bcb5dc79SHONG YifanAlexandre Rostovtsev, UebelAndre, Vertexwahn, Xavier Bonaventura
72*bcb5dc79SHONG Yifan
73*bcb5dc79SHONG Yifan
74*bcb5dc79SHONG Yifan# Release 1.4.1
75*bcb5dc79SHONG Yifan
76*bcb5dc79SHONG YifanBugfix release: fixes gazelle plugin failure with
77*bcb5dc79SHONG Yifan`--incompatible_disallow_empty_glob` (#431) and (for released versions) with
78*bcb5dc79SHONG Yifan`--incompatible_disable_starlark_host_transitions` (#433).
79*bcb5dc79SHONG Yifan
80*bcb5dc79SHONG Yifan**Contributors**
81*bcb5dc79SHONG YifanAlexandre Rostovtsev, Chuck Grindel
82*bcb5dc79SHONG Yifan
83*bcb5dc79SHONG Yifan
84*bcb5dc79SHONG Yifan# Release 1.4.0
85*bcb5dc79SHONG Yifan
86*bcb5dc79SHONG Yifan**New Features**
87*bcb5dc79SHONG Yifan-   The Gazelle plugin is marked stable for general use (#400, #424)
88*bcb5dc79SHONG Yifan
89*bcb5dc79SHONG Yifan**Other Notable Changes**
90*bcb5dc79SHONG Yifan-   copy_file/copy_directory again allow sandboxing (#392)
91*bcb5dc79SHONG Yifan
92*bcb5dc79SHONG Yifan**Contributors**
93*bcb5dc79SHONG YifanAlexandre Rostovtsev, Nick Gooding, Simon Stewart, Xùdōng Yáng
94*bcb5dc79SHONG Yifan
95*bcb5dc79SHONG Yifan
96*bcb5dc79SHONG Yifan# Release 1.3.0
97*bcb5dc79SHONG Yifan
98*bcb5dc79SHONG Yifan**New Features**
99*bcb5dc79SHONG Yifan-   Added `dicts.omit` and `dicts.pick` (#304)
100*bcb5dc79SHONG Yifan-   Added `expand_template` rule (#330)
101*bcb5dc79SHONG Yifan-   Added `subpackages` module (#348)
102*bcb5dc79SHONG Yifan-   Added `copy_directory` rule (#366)
103*bcb5dc79SHONG Yifan-   Added `bzlmod` support (#385)
104*bcb5dc79SHONG Yifan
105*bcb5dc79SHONG Yifan**Incompatible Changes**
106*bcb5dc79SHONG Yifan-   `native_binary` and `native_test` now use symlinks instead of copying, if
107*bcb5dc79SHONG Yifan    the OS supports it (#340)
108*bcb5dc79SHONG Yifan-   `native_binary` and `native_test` now build in target configuration instead
109*bcb5dc79SHONG Yifan    of host configuration (#341)
110*bcb5dc79SHONG Yifan-   `copy_file` no longer adds non-executables to `default_runfiles` (#326)
111*bcb5dc79SHONG Yifan
112*bcb5dc79SHONG Yifan**Contributors**
113*bcb5dc79SHONG Yifan
114*bcb5dc79SHONG YifanAlex Eagle, Alexandre Rostovtsev, Barry McNamara, Derek Cormier, Fabian
115*bcb5dc79SHONG YifanMeumertzheim, Geoffrey Martin-Noble, hchsiao, Kevin Kres, nickgooding,
116*bcb5dc79SHONG YifanVertexwahn, Vinh Tran
117*bcb5dc79SHONG Yifan
118*bcb5dc79SHONG Yifan
119*bcb5dc79SHONG Yifan# Release 1.2.1
120*bcb5dc79SHONG Yifan
121*bcb5dc79SHONG YifanBugfix release: fixes build failure with --incompatible_disallow_empty_glob
122*bcb5dc79SHONG Yifan(#359)
123*bcb5dc79SHONG Yifan
124*bcb5dc79SHONG Yifan**Contributors**
125*bcb5dc79SHONG Yifan
126*bcb5dc79SHONG YifanAlexandre Rostovtsev, Ivo List
127*bcb5dc79SHONG Yifan
128*bcb5dc79SHONG Yifan
129*bcb5dc79SHONG YifanRelease 1.2.0
130*bcb5dc79SHONG Yifan
131*bcb5dc79SHONG Yifan**New Features**
132*bcb5dc79SHONG Yifan
133*bcb5dc79SHONG Yifan-   The unittest toolchain has better support for special characters in failure
134*bcb5dc79SHONG Yifan    messages (#320)
135*bcb5dc79SHONG Yifan-   Use portable Bash shebangs for BSD compatibility (#329)
136*bcb5dc79SHONG Yifan-   Add loadingtest - tests which evaluate during the loading phase (#347)
137*bcb5dc79SHONG Yifan-   Add doc parameter to analysistest.make, allowing analysis tests to be
138*bcb5dc79SHONG Yifan    documented in a Stardoc-friendly way (#343, #352)
139*bcb5dc79SHONG Yifan
140*bcb5dc79SHONG Yifan**Contributors**
141*bcb5dc79SHONG Yifan
142*bcb5dc79SHONG YifanAlexandre Rostovtsev, Geoffrey Martin-Noble, Kevin Kress, Samuel Freilich,
143*bcb5dc79SHONG YifanUebelAndre, Yesudeep Mangalapilly
144*bcb5dc79SHONG Yifan
145*bcb5dc79SHONG Yifan
146*bcb5dc79SHONG Yifan# Release 1.1.1 (initially tagged as 1.1.0)
147*bcb5dc79SHONG Yifan
148*bcb5dc79SHONG Yifan**New Features**
149*bcb5dc79SHONG Yifan
150*bcb5dc79SHONG Yifan-   Gazelle: support relative imports (#271) and imports from `@bazel_tools`
151*bcb5dc79SHONG Yifan    (#273)
152*bcb5dc79SHONG Yifan-   Add partial.is_instance() (#276)
153*bcb5dc79SHONG Yifan-   Allow unittest.suite() to accept partial calls of test rules (#276)
154*bcb5dc79SHONG Yifan-   Allow specifying additional aspects to target under test in
155*bcb5dc79SHONG Yifan    analysistest.make() (#299)
156*bcb5dc79SHONG Yifan-   Add Windows support for build_test (#302)
157*bcb5dc79SHONG Yifan
158*bcb5dc79SHONG Yifan**Incompatible Changes**
159*bcb5dc79SHONG Yifan
160*bcb5dc79SHONG Yifan-   structs.to_dict() ignores deprecated to_json()/to_proto() methods (#295)
161*bcb5dc79SHONG Yifan
162*bcb5dc79SHONG Yifan**Contributors**
163*bcb5dc79SHONG Yifan
164*bcb5dc79SHONG Yifanaiuto, alandonovan, Alex Eagle, Alexandre Rostovtsev, Andrew Z Allen, c-parsons,
165*bcb5dc79SHONG YifanChristopher Sauer, Daniel Wagner-Hall, David Sanderson, dmaclach, Laurent Le
166*bcb5dc79SHONG YifanBrun, Mansur, Olek Wojnar, Philipp Wollermann, River, Samuel Giddins, Thaler
167*bcb5dc79SHONG YifanBenedek
168*bcb5dc79SHONG Yifan
169*bcb5dc79SHONG Yifan
170*bcb5dc79SHONG Yifan# Release 1.0.3
171*bcb5dc79SHONG Yifan
172*bcb5dc79SHONG Yifan**Significant Changes**
173*bcb5dc79SHONG Yifan
174*bcb5dc79SHONG Yifan-   Move Gazelle extension to //gazelle/bzl and change package name
175*bcb5dc79SHONG Yifan-   Stop depending on rules_pkg through the federation. (#259)
176*bcb5dc79SHONG Yifan-   copy_file: Add parameter to allow symlinks (#252)
177*bcb5dc79SHONG Yifan-   Create Gazelle language for Starlark (#251)
178*bcb5dc79SHONG Yifan-   Create a helper rule (`select_file`) for selecting a file from outputs of another rule (#233)
179*bcb5dc79SHONG Yifan
180*bcb5dc79SHONG Yifan
181*bcb5dc79SHONG Yifan**Incompatible Changes**
182*bcb5dc79SHONG Yifan-   Remove links to maprules (#213)
183*bcb5dc79SHONG Yifan-   Remove old_sets.bzl (#231)
184*bcb5dc79SHONG Yifan    It has been deprecated for a while, the code is not really compatible with Bazel depset-related changes.
185*bcb5dc79SHONG Yifan
186*bcb5dc79SHONG Yifan**Contributors**
187*bcb5dc79SHONG YifanAndrew Z Allen, Bocete, Bor Kae Hwang, irengrig, Jay Conrod, Jonathan B Coe, Marc Plano-Lesay, Robbert van Ginkel, Thomas Van Lenten, Yannic
188*bcb5dc79SHONG Yifan
189*bcb5dc79SHONG Yifan
190*bcb5dc79SHONG Yifan# Release 1.0.0
191*bcb5dc79SHONG Yifan
192*bcb5dc79SHONG Yifan**Incompatible Changes**
193*bcb5dc79SHONG Yifan
194*bcb5dc79SHONG Yifan-   @bazel_skylib//:lib.bzl is removed. You now must specify specific modules
195*bcb5dc79SHONG Yifan    via @bazel_skylib//lib:<file>.bzl.
196*bcb5dc79SHONG Yifan-   maprule.bzl is removed.
197*bcb5dc79SHONG Yifan
198*bcb5dc79SHONG Yifan**New Features**
199*bcb5dc79SHONG Yifan
200*bcb5dc79SHONG Yifan-   Added types.is_set() to test whether an arbitrary object is a set as defined by sets.bzl.
201*bcb5dc79SHONG Yifan
202*bcb5dc79SHONG Yifan
203*bcb5dc79SHONG Yifan# Release 0.9.0
204*bcb5dc79SHONG Yifan
205*bcb5dc79SHONG Yifan**New Features**
206*bcb5dc79SHONG Yifan
207*bcb5dc79SHONG Yifan-   common_settings.bzl: Standard data types for user defined build
208*bcb5dc79SHONG Yifan    configuration. Common scalar build settings for rules to use so they don't
209*bcb5dc79SHONG Yifan    recreate them locally. This fulfills part of the SBC design doc:
210*bcb5dc79SHONG Yifan    https://docs.google.com/document/d/1vc8v-kXjvgZOdQdnxPTaV0rrLxtP2XwnD2tAZlYJOqw/edit#bookmark=id.iiumwic0jphr
211*bcb5dc79SHONG Yifan-   selects.bzl: Add config_setting_group for config_setting AND/OR-chaining
212*bcb5dc79SHONG Yifan    Implements
213*bcb5dc79SHONG Yifan    https://github.com/bazelbuild/proposals/blob/HEAD/designs/2018-11-09-config-setting-chaining.md.
214*bcb5dc79SHONG Yifan-   Make sets.bzl point to new_sets.bzl instead of old_sets.bzl. new_sets.bzl
215*bcb5dc79SHONG Yifan    and old_sets.bzl should be removed in the following skylib release.
216*bcb5dc79SHONG Yifan
217*bcb5dc79SHONG Yifan-   run_binary: runs an executable as an action
218*bcb5dc79SHONG Yifan
219*bcb5dc79SHONG Yifan    -   This rule is an alternative for genrule(): it can run a binary with the
220*bcb5dc79SHONG Yifan        desired arguments, environment, inputs, and outputs, as a single build
221*bcb5dc79SHONG Yifan        action, without shelling out to Bash.
222*bcb5dc79SHONG Yifan    -   Fixes https://github.com/bazelbuild/bazel-skylib/issues/149
223*bcb5dc79SHONG Yifan
224*bcb5dc79SHONG Yifan-   New `native_binary()` and `native_test()` rules let you wrap a pre-built
225*bcb5dc79SHONG Yifan    binary in a binary and test rule respectively.
226*bcb5dc79SHONG Yifan
227*bcb5dc79SHONG Yifan    -   native_binary() wraps a pre-built binary or script in a *_binary rule
228*bcb5dc79SHONG Yifan        interface. Rules like genrule can tool-depend on it, and it can be
229*bcb5dc79SHONG Yifan        executed with "bazel run". This rule can also augment the binary with
230*bcb5dc79SHONG Yifan        runfiles.
231*bcb5dc79SHONG Yifan    -   native_test() is similar, but creates a testable rule instead of a
232*bcb5dc79SHONG Yifan        binary rule.
233*bcb5dc79SHONG Yifan    -   Fixes https://github.com/bazelbuild/bazel-skylib/issues/148
234*bcb5dc79SHONG Yifan
235*bcb5dc79SHONG Yifan-   diff_test: test rule compares two files and passes if the files match.
236*bcb5dc79SHONG Yifan
237*bcb5dc79SHONG Yifan    On Linux/macOS/non-Windows, the test compares files using 'diff'.
238*bcb5dc79SHONG Yifan
239*bcb5dc79SHONG Yifan    On Windows, the test compares files using 'fc.exe'. This utility is
240*bcb5dc79SHONG Yifan    available on all Windows versions I tried (Windows 2008 Server, Windows 2016
241*bcb5dc79SHONG Yifan    Datacenter Core).
242*bcb5dc79SHONG Yifan
243*bcb5dc79SHONG Yifan    See https://github.com/bazelbuild/bazel/issues/5508,
244*bcb5dc79SHONG Yifan    https://github.com/bazelbuild/bazel/issues/4319
245*bcb5dc79SHONG Yifan
246*bcb5dc79SHONG Yifan-   maprule: move functionality to maprule_util.bzl. maprule_util.bzl will
247*bcb5dc79SHONG Yifan    benefit planned new rules (namely a genrule alternative).
248*bcb5dc79SHONG Yifan
249*bcb5dc79SHONG Yifan**This release is tested with Bazel 0.28**
250