blob: b57a66d7e8207ae81d36058f324afdbd5cfbc178 [file] [log] [blame] [view]
Bazel Release Systemba8648f2021-08-03 14:46:54 +02001## Release 5.0.0-pre.20210728.1 (2021-08-03)
2
3```
4Baseline: d4dd2038039ecbc63e2d3037855c31145b335ad4
5```
6
7This release contains contributions from many people at Google, as well as Yannic Bonenberger, Yannic Bonenberger.
8
Bazel Release System16293d52021-07-29 13:40:11 +02009## Release 5.0.0-pre.20210722.2 (2021-07-29)
10
11```
12Baseline: 0d94a3471cd845a2c401be4b3c9059eaeb8dcda0
13
14Cherry picks:
15
16 + 0eef11411d09732266f79f46bfd91bbbf2db6c44:
17 Fix broken targets in nightly 2021.07.22-1
18```
19
20Important changes:
21
22 - Consider label_keyed_string_dict attributes when gathering
23 instrumented files for coverage.
24 - Remove flag
25 --experimental_forward_instrumented_files_info_by_default, now
26 that this behavior is the default.
27
28This release contains contributions from many people at Google, as well as Benjamin Peterson, Daniel Wagner-Hall, Yannic Bonenberger.
29
Bazel Release System6810a322021-07-27 17:54:50 +020030## Release 5.0.0-pre.20210720.2 (2021-07-27)
31
32```
33Baseline: a52b1320da06c85d5aaa1ece9eb46acabd09b33f
34
35Cherry picks:
36
37 + eb956e8b6a7d12fe2c75d67abfd8c950b4c9508e:
38 Fix NPE with `--watchfs` as startup option.
39```
40
41Incompatible changes:
42
43 - Enforce the `--profile` path to be absolute.
44 - Enforce the --memory_profile path to be absolute.
45
46Important changes:
47
48 - --run_validations defaults to true.
49
50This release contains contributions from many people at Google, as well as Joe Lencioni.
51
Bazel Release Systemf3be7b12021-07-16 14:23:53 +020052## Release 5.0.0-pre.20210708.4 (2021-07-16)
53
54```
55Baseline: ca1d20fdfa95dad533c64aba08ba9d7d98be41b7
56
57Cherry picks:
58
59 + 802901e697015ee6a56ac36cd0000c1079207d12:
60 Add flags parameter to attr.label for use in builtins only.
61 + aa768ada9ef6bcd8de878a5ca2dbd9932f0868fc:
62 Automated rollback of commit
63 ca1d20fdfa95dad533c64aba08ba9d7d98be41b7.
64 + 4bcf2e83c5cb4f459aae815b38f1edd823286a29:
65 Automated rollback of commit
66 ff38dbfc65b8ffe92833e67f12ce616739a3d213.
67 + 706483fd6398f00fd4faba73812de9bf15728086:
68 Resolve merge conflict
69 + 3821db8725b9ea3267cddfd0bbad55f50e96527e:
70 Fix merge conflict properly
71```
72
73Important changes:
74
75 - The used_heap_size_post_build field in BEP is populated when the
76 --memory_profile flag is set
77
78This release contains contributions from many people at Google, as well as Daniel Wagner-Hall, Grzegorz Lukasik, Keith Smiley, Kevin Hogeland, Yannic Bonenberger.
79
Bazel Release System1f1aec12021-07-02 16:12:06 +020080## Release 5.0.0-pre.20210623.2 (2021-07-02)
81
82```
83Baseline: 8b453331163378071f1cfe0ae7c74d551c21b834
84
85Cherry picks:
86
87 + 223113c9202e8f338b183d1736d97327d28241ea:
88 Automated rollback of commit
89 ae2a6a2dc909e468a284913c410fde995cf51095.
90```
91
92Important changes:
93
94 - Adds --experimental_reuse_sandbox_directories flag to reuse
95 already-created non-worker sandboxes with cleanup.
96 - --experimental_force_gc_after_build is deprecated and will be
97 removed soon. Use --bep_publish_used_heap_size_post_build instead
98 - Forward coverage-instrumented files from non-tool dependencies by
99 default.
100
101This release contains contributions from many people at Google, as well as David Ostrovsky, Johannes Abt, Masoud Koleini, Pras Velagapudi.
102
Bazel Release System30f0ca72021-06-25 19:40:13 +0200103## Release 5.0.0-pre.20210615.3 (2021-06-25)
104
105```
106Baseline: e7bd0947ab552a26ec032d0f1a50ee15c8810f6c
107
108Cherry picks:
109
110 + 04bed291c9f56163ae4da3a358d71cf8399b47a4:
111 Disable shadowed_action part of action_aspect_test
112 + 367b19eb8821b4de738c6c994ba275c695f4726b:
113 Fix starlark action with shadowed_action inputs cache test
114 + 4acb9ae67a7135b2365b92e91601d4797adc2ad5:
115 Automated rollback of commit
116 03f6af623ae3de4a9b756b5235ebd31cc2faf762.
117```
118
119Incompatible changes:
120
121 - Native libraries in data attribute are not collected. See
122 https://github.com/bazelbuild/bazel/issues/13550 for details
123
124Important changes:
125
126 - Remove obsolete --incompatible_prohibit_aapt1
127 - The minimum Android build tools version for the Android rules is
128 now 30.0.0
129
130This release contains contributions from many people at Google, as well as Cameron Mulhern, Delwin9999, Keith Smiley.
131
Bazel Release System7ad949b2021-06-11 15:03:28 +0200132## Release 5.0.0-pre.20210604.6 (2021-06-11)
133
134```
135Baseline: d571c8976f279e4d485498d0875c85ae73aecc42
136
137Cherry picks:
138
139 + c367a7e027f351e8ffefabf919563abbb8c7d0e1:
140 Fix places where nodes were still being enqueued at
141 `Integer.MAX_VALUE` and add checks for overflow conditions.
142 + 260015df1524543d56b0dbff00958320cd58d166:
143 Automated rollback of commit
144 f1b37b5d610728634d92ef4ebd4d1435c0c8605d.
145```
146
147Important changes:
148
149 - Add `disable_annotation_processing` option to
150 `java_common.compile`, which disables any annotation processors
151 passed to `plugins` or in `exported_plugins` of `deps`
152
153This release contains contributions from many people at Google, as well as Dave MacLachlan, FaBrand, George Gensure, Jesse Chan, Keith Smiley, Kevin Hogeland, Uri Baghin, Xavier Bonaventura.
154
Bazel Release Systemf24ceb62021-06-09 20:59:14 +0200155## Release 5.0.0-pre.20210520.7 (2021-06-09)
156
157```
158Baseline: e2ae73fe16cbedf095b9e6d5687b06ecf765d794
159
160Cherry picks:
161
162 + 0fdb485421f9d134f11103a36c48182769fb40d3:
163 Automated rollback of commit
164 f2230d8494e70f02b1e4fb082fcf8550aa684a40.
165 + 1f52e9a58dd814f203797c5fbab44d9f4d53a43c:
166 Support rolling releases in Bazel release scripts.
167 + 2f72244183c8c3de722ff1d9e8b0b745d12cd528:
168 Fix syntax error in Bazel release scripts
169 + 4ef9c566c861848fef7907cf07a6e7d9d15cee7a:
170 Fix location of -prerelease option
171 + a6dfd927c58c63275159858ac661a9b669594a0c:
172 Add --experimental_shadowed_action to graveyard options for all
173 commands.
174```
175
176Important changes:
177
178 - If all strategies of one branch (the local or remote execution
179 branch) of the `dynamic` strategy fail to even accept (via the
180 response they give from `canExec`) the action, `dynamic` will now
181 try to see if the other branch can accept it. (Trying to run it
182 and it failing will still cause a failure if it was the first
183 result, this is about strategies claiming they can't even try the
184 action)
185
186This release contains contributions from many people at Google, as well as Benedek Thaler.
187
Bazel Release System6af9fa62021-06-09 19:45:15 +0200188## Release 5.0.0-pre.20210516.1 (2021-06-09)
189
190```
191Baseline: 275c54c982468b97611dc764c68daed8d7c45004
192
193Cherry picks:
194
195 + 1f52e9a58dd814f203797c5fbab44d9f4d53a43c:
196 Support rolling releases in Bazel release scripts.
197 + 2f72244183c8c3de722ff1d9e8b0b745d12cd528:
198 Fix syntax error in Bazel release scripts
199 + 4ef9c566c861848fef7907cf07a6e7d9d15cee7a:
200 Fix location of -prerelease option
201```
202
203This release contains contributions from many people at Google, as well as Keith Smiley, Niek Peeters.
204
Bazel Release System57d167b2021-06-01 12:52:54 +0200205## Release 5.0.0-pre.20210510.2.2 (2021-06-01)
206
207```
208Baseline: 8a42645ec500874b0440475763ab680d5efc1e6a
209
210Cherry picks:
211
212 + e3c78c4eeaf4e8db3c22aa71c6c1578cb48c8dcc:
213 Ensure that test status artifacts are reported as top-level
214 artifacts.
215 + 1f52e9a58dd814f203797c5fbab44d9f4d53a43c:
216 Support rolling releases in Bazel release scripts.
217 + 2f72244183c8c3de722ff1d9e8b0b745d12cd528:
218 Fix syntax error in Bazel release scripts
219 + 4ef9c566c861848fef7907cf07a6e7d9d15cee7a:
220 Fix location of -prerelease option
221```
222
223This release contains contributions from many people at Google, as well as .
224
Bazel Release Systemf7049e52021-05-31 22:10:26 +0200225## Release 5.0.0-pre.20210510.2.1 (2021-05-31)
226
227```
228Baseline: 8a42645ec500874b0440475763ab680d5efc1e6a
229
230Cherry picks:
231
232 + e3c78c4eeaf4e8db3c22aa71c6c1578cb48c8dcc:
233 Ensure that test status artifacts are reported as top-level
234 artifacts.
235 + 1f52e9a58dd814f203797c5fbab44d9f4d53a43c:
236 Support rolling releases in Bazel release scripts.
237 + 2f72244183c8c3de722ff1d9e8b0b745d12cd528:
238 Fix syntax error in Bazel release scripts
239```
240
241This release contains contributions from many people at Google, as well as .
242
Bazel Release Systeme7d34802021-05-31 20:35:38 +0200243## Release 5.0.0-pre.20210510.2 (2021-05-31)
244
245```
246Baseline: 8a42645ec500874b0440475763ab680d5efc1e6a
247
248Cherry picks:
249
250 + e3c78c4eeaf4e8db3c22aa71c6c1578cb48c8dcc:
251 Ensure that test status artifacts are reported as top-level
252 artifacts.
253 + 1f52e9a58dd814f203797c5fbab44d9f4d53a43c:
254 Support rolling releases in Bazel release scripts.
255```
256
257Incompatible changes:
258
259 - Removing java_common.javac_jar Starlark call.
260 - native.existing_rule now returns select values in a form that is
261 accepted by rule instantiation. This is a breaking API change
262 because there is some code that relies on the precise type
263 returned, including brittle workarounds for this bug specifically
264 and insufficiently flexible workarounds for other issues with the
265 intersection of select and native.existing_rule.
266 - flipped incompatible_use_toolchain_resolution_for_java_rules, see
267 #7849
268 - Query output=xml/proto/location for source files will now show
269 the location of line 1 of the source file (as the new default)
270 instead of its location in the BUILD file.
271 - Specifying a target pattern underneath a directory specified by
272 .bazelignore will now emit a warning, not an error.
273 - Query `--order_output=auto` will now sort lexicographically.
274 However, when `somepath` is used as a top level function (e.g.
275 `query 'somepath(a, b)'`), it will continue to output in
276 dependency order. If you do not want the lexicographical output
277 ordering, specify another `--order_output` value (`no`, `deps` or
278 `full`) based on what ordering you require.
279 - In the build event stream,
280 BuildMetrics.TargetMetrics.targets_loaded is no longer populated.
281 Its value was always mostly meaningless.
282 BuildMetrics.TargetMetrics.targets_configured and
283 BuildMetrics.ActionSummary.actions_created now include configured
284 aspect data.
285 - //visibility:legacy_public has been removed.
286 - Flip and remove incompatible_dont_collect_so_artifacts
287 (https://github.com/bazelbuild/bazel/issues/13043).
288 - Remove flag --experimental_no_product_name_out_symlink: it is
289 always true.
290 - The Starlark method generate_dsym in objc fragment has
291 been deleted. Please use the equivalent apple_generate_dsym in
292 cpp
293 fragment instead.
294
295Important changes:
296
297 - Flag --incompatible_objc_compile_info_migration is removed. See
298 #10854.
299 - Flag --incompatible_objc_compile_info_migration is removed. See
300 #10854.
301 - Flag --incompatible_objc_compile_info_migration is removed. See
302 #10854.
303 - none
304 PAIR=cmita
305 - The --incompatible_load_python_rules_from_bzl flag is now a no-op.
306 - Filter all (instead of just C++) source files for coverage output
307 according to --instrumentation_filter and
308 --instrument_test_targets.
309 - The `--incompatible_disable_native_apple_binary_rule` flag has
310 been added which disables the native `apple_binary` rule. Users
311 who need to use `apple_binary` directly (if they cannot use one
312 of the more specific Apple rules) should load it from
313 https://github.com/bazelbuild/rules_apple.
314 - The Android rules' --use_singlejar_apkbuilder is now a no-op.
315 SingleJar will always be used to build APKs.
316 - dict.setdefault(key, ...) now fails if dict is frozen, even if it
317 already contains key. This is an incompatible API change.
318 - Flag --incompatible_objc_provider_remove_compile_info is removed.
319 See #11359.
320 - Starlark now permits def statements to be nested (closures).
321 - native.existing_rule now returns select values in a form that is
322 accepted by rule instantiation. This is a breaking API change,
323 though the fallout is expected to be small.
324 - Starlark now supports lambda (anonymous function) expressions.
325 - The "test" and "coverage" commands no longer return 3 when a
326 test action fails because of a system error. Instead, the exit
327 code
328 reflects the type of system error.
329 - The undocumented ctx.expand feature no longer exists.
330 - Make --legacy_dynamic_scheduler a no-op flag.
331 - Multiplex persistent workers can now use the JSON protocol.
332 - native.existing_rule now returns a mutable list, not a tuple, for
333 a list-valued attributes. This is an incompatible API change.
334 - Roll back change to have native.existing_rules use list instead
335 of tuple.
336 - BEP includes test suite expansions.
337 - config_setting now honors `visibility` attribute (and defaults to
338 `//visibility:public`)
339 - Change the MultiArchSplitTransitionProvider to be based on
340 platform type + CPU instead of fixed "ios_" + cpu.
341 - enforce config_setting visibility. See
342 https://github.com/bazelbuild/bazel/issues/12932 for details.
343 - add a flag to build v4 signature file
344 - Added _direct_source_jars output group to Java related targets.
345 END_PUBLIC
346 - pkg_deb is no longer part of @bazel_tools//build_defs/pkg:pkg.bzl.
347 Use https://github.com/bazelbuild/rules_pkg/tree/main/pkg instead
348 - Allowing the lipo operations to be conditional in the
349 linkMultiArchBinary API for Apple binaries. Single architecture
350 slices are now returned through AppleBinaryOutput and the
351 Starlark API.
352 - Release restriction for "-" in the package name for Python
353 sources. Now `py_binary` and `py_test` targets can have main
354 source file with "-" in the path.
355 - Users consuming BEP may assume that a `named_set_of_files` event
356 will
357 appear before any event referencing that `named_set` by ID. This
358 allows consumers
359 to process the files for such events (eg. `TargetCompleted`)
360 immediately.
361 - BEP includes all files from successful actions in requested
362 output groups.
363 Previously, an output group's files were excluded if any file in
364 the output group
365 was not produced due to a failing action. Users can expect BEP
366 output to be larger
367 for failed builds.
368 - In BEP, TargetComplete.output_group has a new field `incomplete`
369 indicating that the file_sets field is missing one or more
370 declared artifacts
371 whose generating actions failed.
372 - The flag `--toolchain_resolution_debug` now takes a regex
373 argument, which is used to check which toolchain types should
374 have debug info printed. You may use `.*` as an argument to keep
375 the current behavior of debugging every toolchain type.
376 - Add runfiles.merge_all() for merging a sequence of runfiles
377 objects.
378 - runfiles.merge() and merge_all() now respect
379 --nested_set_depth_limit.
380 If you hit the depth limit because you were calling merge() in a
381 loop, use
382 merge_all() on a sequence of runfiles objects instead.
383 - Bazel will no longer create a bazel-out symlink if
384 --symlink_prefix is specified: the directory pointed to via the
385 bazel-out symlink is accessible via ${symlink_prefix}-out. If
386 this causes problems for you, set
387 --experimental_no_product_name_out_symlink=false in your builds
388 and file an issue.
389 - Updates worker protocol with cancellation fields, and adds
390 experimental_worker_cancellation flag to control cancellation.
391 - Simplify build failure output by always using `NNN arguments`.
392 - trim_test_configuration now defaults to on
393 - Mark genrule.srcs as a source attribute for coverage.
394 - When using --allow_analysis_failures (for example, via
395 bazel-skylib's
396 analysistest with `expect_failure = True`), analysis-time
397 failures in aspect
398 implementation functions will now be propagated and saved in
399 AnalysisFailureInfo, just like analysis-time failures in rules.
400 - cquery --noimplicit_deps now correctly filters out resolved
401 cc_toolchains
402 - Sign apks deterministically.
403 - Make gcov optional in cc_toolchain tools.
404 - If --experimental_prefer_mutual_xcode is passed, Bazel will
405 choose the local default (instead of the newest mutually
406 available version) if it's available both locally and remotely.
407 - Remove java_lite_proto_library.strict_deps attribute.
408 - Generate proguard configurations deterministically.
409 - Adds a new flag, `--incompatible_enable_cc_test_feature` which
410 switches from the use of build variables to the feature of the
411 same name.
412 - Dropped fragile xz support from built in pkg_tar. Users requiring
413 xz
414 compression should switch to bazlebuild/rules_pkg.
415
416This release contains contributions from many people at Google, as well as Adam Liddell, Alex Eagle, Anthony Pratti, Austin Schuh, Benedek Thaler, Benjamin Lee, Benjamin Peterson, bromano, Christopher Sauer, Cristian Hancila, Daniel McCarney, Daniel Wagner-Hall, Danny Wolf, Dave Nicponski, David Cummings, David, David Ostrovsky, Denys Kurylenko, Dmitry Ivankov, dorranh, Ed Schouten, Elliotte Rusty Harold, erenon, Eric Cousineau, Ethan Steinberg, Felix Ehrenpfort, Finn Ball, Fredrik Medley, Garrett Holmstrom, Gautam Korlam, George Gensure, goodspark, Greg Estren, Grzegorz Lukasik, John Laxson, Jonathan Schear, Justus Tumacder, Keith Smiley, Lauri Peltonen, Liu Liu, Lszl Csomor, m, Marc Zych, Mark Karpov, Matt Mackay, Max Liu, Menny Even Danan, menny, Michael Chinen, Nathaniel Brough, Nick Korostelev, Nikolay Shelukhin, odisseus, Oleh Stolyar, Olek Wojnar, Olle Lundberg, Philipp Schrader, Qais Patankar, Ryan Beasley, samhowes, Samuel Giddins, Sebastian Olsson, Steve Siano, steve-the-bayesian, Stiopa Koltsov, susinmotion, tatiana, Thi Doan, ThomasCJY, Timothy Klim, Tobi, Torgil Svensson, Trustin Lee, Ulf Adams, Vaidas Pilkauskas, Vertexwahn, wisechengyi, Xavier Bonaventura, Yannic Bonenberger, Yannic, Yury Evtikhov, Yuval Kaplan, Yuval, [zqzzq].
417
Bazel Release System2ac65812021-05-21 13:07:43 +0200418## Release 4.1.0 (2021-05-21)
419
420```
421Baseline: 37a429ad12b4c9e6a62dbae4881a1ff03b81ab40
422
423Cherry picks:
424
425 + a689d673abadf80f1efaf8ddaeee92d56fc2847b:
426 Use getRunfilesPath for run_under executable path generation.
427 getRootRelativePath doesn't return a valid runfiles path for
428 external source files anymore after the recent external source
429 root change. Also, it won't work for external labels either once
430 the --nolegacy_external_runfiles becomes default. This fixes
431 issue #12545.
432 + d90ec67fdab9710f649a3c1d374fb6b938b9271a:
433 Fix NPE when coveragerunner is not set on the toolchain.
434 + 8555789dd239a5ac229c1d9cee80b2a9f30b3bf7:
435 Fix the classic query package-loading cutoff optimization with
436 external workspaces.
437 + 57672aca01b3be895382c952b550c9f8edf6c9f2:
438 Update turbine
439 + bef4bbbb47d47befe3711d06f358782ee12554f9:
440 Update turbine
441 + d113d7454127bba78aa618dac81e5d164920b662:
442 Update turbine
443 + 1489f0f4cae3e9247a70e4003ab76bef45c5b986:
444 Support Scala3 .tasty files
445 + 0d2d95cd7e34b4061c8e5fdfd21ba0ab8818c685:
446 Update to java_tools javac11 release 10.5 (#12647)
447 + a9419f38d5f29af31a6c8ebda09a6e0303a6ba54:
448 Fix common prefix for instrumentation filter
449 + 84fadcf81f81b2d7343ca4151a5639be7f2263ee:
450 Fix builds for filegroup targets with incompatible dependencies
451 + e43825d0bef359f645e1cabf2164fd2db6ee4a35:
452 Revert "Remove
453 --incompatible_blacklisted_protos_requires_proto_info"
454 + 082d58de852ebaa640bcf13cf419cbb94eec2b26:
455 Transform roots along with paths during output deletion.
456 + e8835c1c221d76a2d5532d18083eaa04401619b3:
457 AttributeContainer.Large now handles more than 127 attributes.
458 + e1e87349335ac59f9b3df47cee8b999faeaa6d11:
459 Add an env attribute to all test and binary rule classes
460 + a87d7ed2411d5382bac58a20b79e09c464ad13b9:
461 Take no action to prefetch empty artifacts.
462 + 3e969ff24a6a0e03139b9f288c88451a7dfa97cd:
463 Fix a couple of bugs with Incompatible Target Skipping
464 + e6670825b1e183f81f5c864aafd425d512fa9ff5:
465 Pass --host_action_env to host options hostActionEnvironment
466 attribute
467 + 07400c0392e7be163f8a3396fa5cf89ce6705412:
468 Add --{no,}autodetect_server_javabase.
469 + c83366064621d5a265eba14d93a03deff58fe6d8:
470 Only treat "env" and "env_inherit" attrs specially for native
471 rules
472 + 6a60b30cd0f22d0ab84b2ddd658d5ccb899a8a76:
473 Fix coverage support when using default_java_toolchain. (#12801)
474 + 4158a6f512e52516437e00f8d9609a91be7fc195:
475 Revert JacocoCoverage target to remote_java_tools_java_import
476 and add a new target for remore_java_tools_filegroup. (#12813)
477 + f6d30cf5ef9a8a39fea7072317f89a872387b790:
478 Add windows_msvc back to conditions in bazel_tools.
479 + 6b33bdb1e22514304c0e35ce8e067f2175685245:
480 Release 4.0.0 (2021-01-21)
481 + 8811e27353c2c10980faf7e4c5e44b431d2d4f1c:
482 Fix error message from getPrerequisites to not print internal
483 details.
484 + 27e15ad11410eb1014f5247fd0eeb31a46733c07:
485 Clean up ConfiguredTargetValueAccessor and
486 ConfiguredTargetAccessor
487 + e87feb8ac9573cef993824f82370d0389570521d:
488 Move getConfigConditions into ConfiguredTarget.
489 + 34d98234324da83e93ba0d5ef5702880d5ac7c5c:
490 Change ConfiguredTargetQuery to use KeyedConfiguredTarget as a
491 value.
492 + 079bb7d69931705bb2b092c9017090e224ef3043:
493 Clean up old dependencies that are unused since
494 https://github.com/bazelbuild/bazel/commit/34d98234324da83e93ba0d
495 5ef5702880d5ac7c5c.
496 + e03cb63e059420847d6578d7cbfe93f05615c95e:
497 Update bazelbuild/platforms to a current release. - Roll forward
498 https://github.com/bazelbuild/bazel/commit/0a4533420a3de467fd211d
499 7f925cf88e0cd5b76a with kythe fix.
500 + 2eb1bf53d5fef13b89ee440af4f83003d1d0b50a:
501 Update docs and tests to use the @platforms//:incompatible
502 constraint
503 + c71697cf33b0fbbb42fc2910bac83960edc7e855:
504 Clarify test_suite behaviour in the Platforms docs
505 + dfb70ea4cae2ffffb76e9741d86c96505a6d05ad:
506 Enable toolchain resolution for filegroup targets.
507 + 24d086446f74606819dc53c3a436caa056ff05b7:
508 PlatformProviderUtils should ignore targets that don't have the
509 needed
510 + ba60c0b3f9bbd00975c984244839b155e84b4c5d:
511 ijar: fix manifest sections handling
512 + 58bb42ad7ca263a75c6eeef51482f805726663a5:
513 Revert "Switch to -fdebug-compilation-dir"
514 + 57672aca01b3be895382c952b550c9f8edf6c9f2:
515 Update turbine
516 + bef4bbbb47d47befe3711d06f358782ee12554f9:
517 Update turbine
518 + d113d7454127bba78aa618dac81e5d164920b662:
519 Update turbine
520 + ad241fbebd90a9f0ad65ccd0658838f57030db68:
521 Allow cquery to filter out incompatible targets
522 + 1782f0ae751569607ef88930c822ac460a1f8bb3:
523 Patch grpc to fix cares selecting the wrong source when building
524 for darwin_arm64 cpu.
525 + 8f7bc2f67fafcaa8d25cfc77eaaedbf8eed2984a:
526 [1/3] Bump grpc to 1.33.1 to fix corruption when downloading CAS
527 blobs
528 + 848a51747a460ab4c5185e4c61ab522a9981cbea:
529 [2/3] Bump grpc to 1.33.1 to fix corruption when downloading CAS
530 blobs
531 + 9b30172547f2093acb56aedf159a77d5dceffda2:
532 [3/3] Bump grpc to 1.33.1 to fix corruption when downloading CAS
533 blobs
534 + 1e258d2a7a5221613047e5cee0aaec5b56045d2b:
535 Allow exec groups to inherit from the rule or other exec groups.
536 + d0676693310215407224c1b8e8aea9e3eddc183d:
537 Support execution constraints per exec group
538 + f1e0d346c8235c855e61afc2adb870e4b895e002:
539 Clean up RuleContext to use a Table instead of a Map of Maps.
540 + 8186fbb47ab964a9affa9a0fc6315fcdbde2b5aa:
541 Documentation for #13110
542 + 321fe3b6b4e892821ee7dbf2d17dd8ae6a541913:
543 Prevent --repo_env from triggering unnecessary fetches
544 + 3ebf658cba43bbab1efc36518f0795a7d65e2d46:
545 Prevent a crash when using --repo_env=VAR without a value
546 + 913a985a5c2fc3842b12c6e5f29af0fa1bccfd6a:
547 Report digest of failed uploads
548 + 5122617b8a22fee7acd86c9c48f2c2737709ca3f:
549 Status error presentation with details
550 + 9a70805db543e2fb910e1c55ef3b3567362adf30:
551 Fix double shutdown of BuildEventArtifactUploader when BES+File
552 output enabled.
553 + 325eb956c92530bdfda54a36a186cae4245a4f7b:
554 Add rxjava3 to third_party
555 + ceaac966a7b977461b69ce9501df6a467f4a93b2:
556 remote: set executable bit of an input file based on its real
557 value
558 + 5b786da75837c5e29714e1d708c3cdf9a67ed32d:
559 Remote: correctly implement equals and hashCode.
560 + 48648503729d53fdee1322fde2c8e6c05e99cff9:
561 Fixed an error that bazel binary is not executable when testing
562 with remote execution.
563 + bc54c648aa1f99509c7c36d5e6b570d066689209:
564 Remote: Use parameters instead of thread-local storage to
565 provide tracing metadata.
566 + 92955e617b5c41713a5163dc0437c2a024b31815:
567 Remote: Use parameters instead of thread-local storage to
568 provide tracing metadata. (Part 2)
569 + 75bd1ff8ab56d241916bde36291301fa026b2bab:
570 Remote: Use parameters instead of thread-local storage to
571 provide tracing metadata. (Part 3)
572 + 37ee252f3744abc4511f55b5089cc52abd3ba09d:
573 Remote: Use parameters instead of thread-local storage to
574 provide tracing metadata. (Part 4)
575 + 71e35b165f924e2649a078fcf6007645d58039af:
576 Remote: Use parameters instead of thread-local storage to
577 provide tracing metadata. (Part 5)
578 + 32fc451600b6e94a015263eb1c8a63e974f6f4cc:
579 Write/QueryWriteStatus logging refinement/addition
580 + 97963c5bb24ac79eb3646dd61bfcf2f8a648af54:
581 Remote: gRPC load balancing. (Part 1)
582 + e2b9a42a61596b0d24f0cadd6b7157b7f1efb221:
583 Remote: gRPC load balancing. (Part 2)
584 + 6667ad7dd77f8d97952133052c17e7779c1430ec:
585 Remote: gRPC load balancing. (Part 3)
586 + 7c081eb020186bfb16d4ef1c3832a8e946e99da1:
587 Remote: gRPC load balancing. (Part 4)
588 + 17afbe4e224b359fee6415a5bd71bbedaa7843eb:
589 Implement getMessage for BulkTransferException
590 + a6293b3df521aea9075b2ebbcdb675a7d02d3c32:
591 Remote: gRPC load balancing. (Part 5)
592 + 7a62c2d4e27e398f440910c81eacc384f38ca8be:
593 Remote: Add interoperability between Rx and ListenableFuture.
594 + 1fcb18a0b455bfcb8e9940778f37d8c82c5ed5a0:
595 Update to latest remote-execution proto
596 + dad96301d12aa77eb67399e08265a5f30f5ffd6a:
597 Set Platform on Action not just Command
598 + 6c5a3ee0dcbb4b804f4aa85c038a378fb70eb1f9:
599 Remote: Add AsyncTaskCache which is used to deduplicate task
600 executions and cache the results.
601 + 9d0c7325ac810febe565a62fdd875ae0c240b274:
602 Remote: Use AsyncTaskCache inside RemoteActionInputFetcher.
603 + f54fe07209acc25340df8d2e02993b1add2deafa:
604 Add --experimental_repository_disable_download to allow users
605 disable download for external repos
606 + b243584a479eb4481a9bf4f69acc899610a3b630:
607 Report errors parsing rewriter config file
608 + 63bc1c7d0853dc187e4b96a490d733fb29f79664:
609 Downloader rewriter config has all_blocked_message
610 + 495ac923f398443be45c20ab29d183fe47e08911:
611 Allow UrlRewriter to change protocol, i.e. https->http, and
612 http->https
613 + 8dbbde0037264c1db4b229a09f98a61ab4ca06b0:
614 Allow overriding the hostname and instance name in bytestream://
615 URIs
616 + 0881c80d29acecdfbb58c49156f805e8c50db117:
617 Don't set requestId on non-multiplex requests.
618 + e3b7e17b05f13ff183a4d7efec8ec797f3f5eaa3:
619 When generating a symlink in _virtual_includes, add the original
620 header to the 'allowed to use' set too
621 + f8f66f36ad299a0ea019c94100d5a8e2018f5ab5:
622 Make SimpleLogHandler not swallow interrupts.
623 + f8606e5e76579442a1c6563e718ea54c673f1a04:
624 linux-sandbox: don't assume -lrt, -D__STDC_FORMAT_MACROS
625 + dac0d40d0eb903f5cb70341398d1a333c19adf3a:
626 Improve "Common Attributes" section
627 + a607d9dc70ac67f1aa2c32ca954177f9c77860be:
628 Never create more than one process per WorkerMultiplexer.
629 + 80c03ef14a1842d1e3475b1adf98adeb05df33f9:
630 Move sending requests and reading responses for multiplex
631 workers into separate subthreads.
632 + 003cfcde3fd3901c1279ba1db3db3a14536248b4:
633 Allow use of JSON protocol in multiplex workers.
634 + 308bce36cba46095fe41866e703710035ddddada:
635 Actively kill off still-active workers when stopping work on
636 interrupt.
637 + 8959dff512fe4505af786bcf2ef981ec7082a913:
638 Add sanitizer support to Apple platforms
639 + 32f16e9360f3e1856db1775eb5014b930da2a303:
640 Fix a Google-internal broken link.
641 + c9e2be52a067dd9abf5efa4f5f55bb5b98cf5d3b:
642 Add SHA-1 to subresource integrity format for download()
643 checksums
644 + 3b3e6424c6fbd51d4c4ebb6aa25f1d1f4720221c:
645 Remove fallback strategy support for workers, add flag for it in
646 sandbox.
647 + 3457f2ae11e4543de0a5e6e8e37c3aff067891fd:
648 Update to java_tools javac11 10.6 (#13245)
649 + 4928295b236ec8f590a7e9d863502bc2f50a77d9:
650 Allow .S files in C++ Starlark cc_common.compile.
651 + 1b18d65227c127fe946d3fcde4586158bc7e5fcb:
652 Automatic code cleanup.
653 + b5d6c38535c7f6f1eab3fd4c8d3d2da91d0b0f8a:
654 Change short output of worker type to have the same logic as the
655 worker creation for sandboxing vs. multiplex.
656 + e7a0a71f50b69df5d38a8a85fefd36d211e12e8d:
657 More properly destroy workers on interrupt.
658 + 7056711eb11b672133274eb29fc93b01dcf088d5:
659 Make WorkRequestHandler do a GC after some amount of CPU time
660 has been used on requests. For Bazel and Blaze, defaults to 10s
661 based on benchmarking.
662 + 596653d3cf76e7b208da343e1fde5fe20273a5ff:
663 Allow tree artifacts to be source or header inputs to
664 cc_common.compile()
665 + 055c93d11ab20cc4479539b24bbdfa5cab78a342:
666 Switch to path autocompletion after -- for bazel run commands.
667 + 807f2a1929e23b60b237c63fadb25af81de2e3c3:
668 Fix Incompatible Target Skipping for test args
669 + 9a5cd854e0613f91d52075973e2454b1e009e1ef:
670 Fix order of build request id and command id
671 + 706f5acd02363e48076dc97e37613fd968932d03:
672 Fix bazel crash when passing config_setting to
673 target_compatible_with
674 + 61da1d2bf10eabba4c75de959b0374f302d89d70:
675 Support multiple --bazelrc on command line
676 + 5593358a58b66f06c4e421bb48856de94c3fd625:
677 Update ConfiguredTargetFunction.computeUnloadedToolchainContexts
678 to
679 + 662cf54de7a103db30e04ebae2d2b919437c4846:
680 Remote: Fix an issue that a failed action could lead to
681 RuntimeException caused by InterruptedException thrown when
682 acquiring gRPC connections.
683 https://github.com/bazelbuild/bazel/issues/13239
684 + a3a1763212f29932618b9b9b2f929976ae0e3b6e:
685 Pass more `--add-exports=` flags
686 + d2b942879471786e82f1c96eea8722bbe7919fc1:
687 Remote: Fixed a bug that remote cache is missed due to
688 executable bit is changed
689 + 616dc264f02907d7b7887285d22307dfe6d097b6:
690 Fix Bazel Coverage with C++ to work with Remote Execution
691 + 5f40d12e741aa30d506eaa15673fb2ae76d29468:
692 Fix external_path_test with newer Xcode versions.
693 + b416193075642017e13c774422b49cb07fb65c23:
694 Allow using embedded tools in sandboxed spawn runners.
695 + eb762d4e7431637e607146b1c191485795047ef9:
696 Fix racy write of temporary files while staging virtual inputs
697 for the sandbox.
698 + f31e86768579ad7ec57ba13f4c3c1348f5c2702e:
699 Update platforms_test to not rely on filegroup not using
700 toolchain
701 + 13031e5b3bd7c8f29b96b2fee1b380160e0e27fc:
702 Update SkyframeTests to not rely on filegroup not using toolchain
703 + 11651824a9d0ffb9adb9611dcd39f4c95a59d750:
704 Update ConfigurableAttributesTest to not rely on filegroup not
705 using …
706 + 4b68532e7ea5eb80c926b7b8e2ec2be300004628:
707 Make WorkerExecRoot not be a subclass of SandboxedSpawn.
708 + 31db460a45767de0bcd664a6efbe9d163b85b802:
709 Make WorkerExecRoot not be re-created on each createFileSystem()
710 call. Preparation for holding a map of existing links, but also
711 just nicer.
712 + a2cc0460dc84ad2dc88019af2fe2a65ce80c61e5:
713 Start the file existence check traversal from the execroot base
714 instead of execroot so that external repo files at
715 "<execroot>/../<path>" are correctly handled when the sibling
716 repository layout is enabled.
717 + b048282c7893231d3a7191b251804973917b07a4:
718 Use readdir for cleanExisting in WorkerExecRoot.
719 + 270f00dd01fa06cf3e813da5a406be3446de7377:
720 Add native support for Apple Silicon
721 + 8e56b9423e8ad2f7323fb90b19b73858def81e39:
722 Explicitly state that embedding macOS OpenJDK is for x86_64
723 + 09c621e4cf5b968f4c6cdf905ab142d5961f9ddc:
724 Remote: Fix a race that AsyncTaskCache#Execution could be reused
725 after disposed which results in
726 CancellationException("disposed") propagated to downstream.
727 + 0299cd7e17203a4ce0ea947b62a7c55f1afb8225:
728 Remove wrapped_clang params files after use
729 + 47edc57806056f3c8764241ed41b8acc72bd2ebf:
730 Silence swiftmodule timestamp warnings
731 + f6e1074b09ebefba185c0531e9cea26b9596c8a9:
732 Remote: Use shutdownNow() instead of shutdown() in
733 ChannelConnection#close() as a workaround to a gRPC bug.
734 + 71be4ea9e3d20bf90129e34a6a2899fe8401be36:
735 And mnemonic and label to remote metadata
736 + 6d28486e8eca70f76d13922944cb567b8aa09380:
737 Change `set -x` in coverage to be set by var
738 + 9b9de653355864e9700889ee36a3a49a450a2607:
739 Bump minimal JDK install base maximum size from 290 to 295 MB.
740 + 9e7e592ca51eba1a3f120320c41c845312894d74:
741 Remote: Check the return value of ActionOwner.getLabel() since
742 it could be `null`.
743 + 14abe4fd7c3967686a3536939fdc3882e691bca2:
744 Allow `DiffAwareness` to share precomputed information about the
745 workspace and propagate it to the `WorkspaceStatusAction`.
746 + 082d98772690946ed29c157e60640c97a6e1195b:
747 Implement available() method for Windows subprocesses.
748 + c2bdd034014f66ce14529cc353cda18a32320f6c:
749 Move --repo_env to common options
750 + e09f2743738044095b9d784ea62df16b7f5750e6:
751 Revert "Documentation for #13110"
752 + a165baa250652fdc865ae0df39160be1f7f74c47:
753 Revert "Clean up RuleContext to use a Table instead of a Map of
754 Maps."
755 + 51fb9e13a864f4f704ae378ea632433bae7ddc31:
756 Revert "Support execution constraints per exec group"
757 + cb6e5c24b82e0e20a243145fb6ea32b09e3d1de3:
758 Revert "Allow exec groups to inherit from the rule or other exec
759 groups."
760```
761
762Important changes:
763
764 - Multiplex persistent workers can now use the JSON protocol.
765
766This release contains contributions from many people at Google, as well as Alex Eagle, Austin Schuh, Benjamin Peterson, Cristian Hancila, Daniel Wagner-Hall, Denys Kurylenko, Ed Schouten, Finn Ball, George Gensure, Keith Smiley, Lauri Peltonen, Philipp Schrader, Ryan Beasley, Thi Doan, Timothy Klim, Ulf Adams, Vaidas Pilkauskas, wisechengyi, Xavier Bonaventura, Yannic Bonenberger, Yuval Kaplan, Yuval.
767
Bazel Release System506f3192021-01-21 08:25:01 +0100768## Release 4.0.0 (2021-01-21)
769
770```
771Baseline: 37a429ad12b4c9e6a62dbae4881a1ff03b81ab40
772
773Cherry picks:
774
775 + a689d673abadf80f1efaf8ddaeee92d56fc2847b:
776 Use getRunfilesPath for run_under executable path generation.
777 getRootRelativePath doesn't return a valid runfiles path for
778 external source files anymore after the recent external source
779 root change. Also, it won't work for external labels either once
780 the --nolegacy_external_runfiles becomes default. This fixes
781 issue #12545.
782 + d90ec67fdab9710f649a3c1d374fb6b938b9271a:
783 Fix NPE when coveragerunner is not set on the toolchain.
784 + 8555789dd239a5ac229c1d9cee80b2a9f30b3bf7:
785 Fix the classic query package-loading cutoff optimization with
786 external workspaces.
787 + d113d7454127bba78aa618dac81e5d164920b662:
788 Update turbine
789 + 1489f0f4cae3e9247a70e4003ab76bef45c5b986:
790 Support Scala3 .tasty files
791 + 0d2d95cd7e34b4061c8e5fdfd21ba0ab8818c685:
792 Update to java_tools javac11 release 10.5 (#12647)
793 + a9419f38d5f29af31a6c8ebda09a6e0303a6ba54:
794 Fix common prefix for instrumentation filter
795 + 84fadcf81f81b2d7343ca4151a5639be7f2263ee:
796 Fix builds for filegroup targets with incompatible dependencies
797 + e43825d0bef359f645e1cabf2164fd2db6ee4a35:
798 Revert "Remove
799 --incompatible_blacklisted_protos_requires_proto_info"
800 + 082d58de852ebaa640bcf13cf419cbb94eec2b26:
801 Transform roots along with paths during output deletion.
802 + e8835c1c221d76a2d5532d18083eaa04401619b3:
803 AttributeContainer.Large now handles more than 127 attributes.
804 + e1e87349335ac59f9b3df47cee8b999faeaa6d11:
805 Add an env attribute to all test and binary rule classes
806 + a87d7ed2411d5382bac58a20b79e09c464ad13b9:
807 Take no action to prefetch empty artifacts.
808 + 3e969ff24a6a0e03139b9f288c88451a7dfa97cd:
809 Fix a couple of bugs with Incompatible Target Skipping
810 + e6670825b1e183f81f5c864aafd425d512fa9ff5:
811 Pass --host_action_env to host options hostActionEnvironment
812 attribute
813 + 07400c0392e7be163f8a3396fa5cf89ce6705412:
814 Add --{no,}autodetect_server_javabase.
815 + c83366064621d5a265eba14d93a03deff58fe6d8:
816 Only treat "env" and "env_inherit" attrs specially for native
817 rules
818 + 6a60b30cd0f22d0ab84b2ddd658d5ccb899a8a76:
819 Fix coverage support when using default_java_toolchain. (#12801)
820 + 4158a6f512e52516437e00f8d9609a91be7fc195:
821 Revert JacocoCoverage target to remote_java_tools_java_import
822 and add a new target for remore_java_tools_filegroup. (#12813)
823 + f6d30cf5ef9a8a39fea7072317f89a872387b790:
824 Add windows_msvc back to conditions in bazel_tools.
825```
826
827New features:
828
829 - Starlark-defined flags can now be shorthanded using --flag_alias.
830
831Important changes:
832
833 - Add --starlark:file option. This adds a capability to the
834 (cquery)[https://docs.bazel.build/versions/master/cquery.html]
835 feature in `--output=starlark` mode so that the expression to
836 format output may
837 be specified in a file.
838 - Error messages emitted when an action fails are reworked to be
839 more informative about the failing action. Some tooling may have
840 to be updated as a result.
841 - Querying with output=location now allows the relative_locations
842 flag to properly display relative locations instead of the full
843 path. Fixes https://github.com/bazelbuild/bazel/issues/3497.
844 - --flag_alias can now be used without
845 --experimental_enable_flag_alias
846 - Remove no-op `--deep_execroot` flag
847 - The BEP uses `AbortReason.OUT_OF_MEMORY` for abort events when
848 the build tool is crashing due to OOM.
849 - Added flag `incompatible_display_source_file_location` for `blaze
850 query location=output` to print the location of line 1 of the
851 actual source files instead of the source file targets. Provides
852 a solution to https://github.com/bazelbuild/bazel/issues/8900.
853 - The Starlark json module is now available.
854 Use json.encode(x) to encode a Starlark value as JSON.
855 struct.to_json(x) is deprecated and will be disabled by
856 the --incompatible_struct_has_no_methods flag.
857 - The flag `--incompatible_objc_compile_info_migration` is enabled
858 by default. See #10854.
859 - The flag `--incompatible_objc_provider_remove_compile_info` is
860 enabled by default. See #11359.
861 - Add `relative_ast_path` feature for darwin builds to relativize
862 swiftmodule paths for debugging
863 - Use proto.encode_text(x) to encode a Starlark value as textproto.
864 struct.to_proto() is deprecated and will be disabled by
865 the --incompatible_struct_has_no_methods flag.
866 Both functions now reject list/dict fields that contain list/dict
867 elements.
868 - Add --starlark:file option. This adds a capability to the
869 (cquery)[https://docs.bazel.build/versions/master/cquery.html]
870 feature in `--output=starlark` mode so that the expression to
871 format output may be specified in a file.
872 See [Configured Query Starlark
873 Output](//docs.google.com/document/d/1kL6Tdmp6uLBa9lq_DbUSjIC87glO
874 zKIyPoBeF95Rs4c/edit)
875 - Flipped --incompatble_proto_output_v2 for aquery.
876 - The --incompatible_load_java_rules_from_bzl flag is now a no-op.
877 - The --incompatible_load_proto_rules_from_bzl flag is now a no-op.
878 - Flipped --incompatible_force_strict_header_check_from_starlark
879 - --incompatible_string_replace_count is flipped and removed
880 (#11244)
881 - Bazel skips incompatible targets based on target platform
882 and `target_compatible_with` contents. See
883 https://docs.bazel.build/versions/master/platforms.html for more
884 details.
885 - Bazel returns exit code 36 (rather than 1) if it fails to start a
886 subprocess in a local sandbox due to environmental issues, for
887 example, if the argument list is too long.
888 - //tools/build_defs/pkg:pkg_rpm is no longer built in to Bazel.
889 See https://github.com/bazelbuild/bazel/issues/11218 for
890 instructions
891 on how to migrate to the replacement.
892 - Javac now supports multiplex workers.
893 - The `--default_ios_provisioning_profile` flag has been removed
894 (it was a no-op).
895 - Add support for using AndroidX dependencies in
896 data-binding-enabled targets.
897 - Fix data-binding generation for android_local_test.
898 - Enable debug_prefix_map_pwd_is_dot feature by default on macOS,
899 this passes `-fdebug-prefix-map=$PWD=.` for every compile to
900 remove absolute paths from debug info.
901 - --incompatible_run_shell_command_string is enabled by default
902 (#5903)
903 - py_binary now tolerates package paths that contain hyphens ('-').
904 Note that such paths might not be importable from within Python
905 code.
906 - C++ Starlark API requires linker_inputs wrapping library_to_link.
907 #10860
908 - Toolchain rule is extended with target_settings attribute.
909 - --incompatible_restrict_string_escapes=true is now the default.
910 Unnecessary backslashes such as "\." in string literals are now
911 an error, instead of being silently treated as "\\.".
912 To fix the error while preserving behavior, double the backlash.
913 However, the error is often a sign that the original code was
914 wrong.
915 - Propagate instrumented files for transitive sources of
916 `android_library` and `android_binary`
917 - --local_resources and --incompatible_remove_local_resources have
918 been removed. If you've been setting --local resources or
919 --incompatible_remove_local_resources=false, you must migrate to
920 using --local_ram_resources and --local_cpu_resources instead.
921 - Update rules_cc to commit b1c40e1de81913a3c40e5948f78719c28152486d
922 - --incompatible_avoid_conflict_dlls=true is now the default.
923 - Dynamic execution now uses the new scheduler by default.
924 - Dynamic execution now uses the new scheduler by default.
925 - The new dynamic scheduler is now the default.
926
927This release contains contributions from many people at Google, as well as Adam Liddell, Akira Baruah, Alexander Grund, Alex Eagle, Andrew Z Allen, Austin Schuh, Benjamin Peterson, Benson Muite, Brentley Jones, Cristian Hancila, Dan Halperin, Daniel Wagner-Hall, Dmitry Ivankov, Dmitry Ivankov, erenon, Eric Cousineau, Greg Estren, Gregor Jasny, Grzegorz Lukasik, Grzegorz Lukasik, hollste, Joe Lencioni, johnjbarton, Jonathan Perry, Jonathon Belotti, Keith Smiley, Kevin Gessner, Matt Davis, Matt Mackay, Menny Even Danan, Neeraj Gupta, Philipp Schrader, Ricardo Delfin, Ryan Beasley, Samuel Giddins, Simon Bjorklen, Simon Stewart, Stiopa Koltsov, Thi Doan, ThomasCJY, Timothy Klim, Tom de Goede, vectoralpha, V Vn Ngha, William A Rowe Jr, Xavier Bonaventura, Yannic Bonenberger, Yannic.
928
Bazel Release System58c80412020-12-17 11:04:01 -0500929## Release 3.7.2 (2020-12-17)
930
931```
932Baseline: a991db7c2f66a354666388d888dcef9b0d0f70c0
933
934Cherry picks:
935
936 + 0d14ec84a06c4da628a7f6d9d1c5f9314392ab15:
937 Release 3.7.0 (2020-10-20)
938 + d563446a77b906807cea86f5c2abafa5900d901a:
939 Add `-XDcompilePolicy=simple` to default javacopts
940 + 6336264e4b0d8cc422ec73e1b923bf8014ace778:
941 Update rules_cc reference to head of rules_cc as of 2020-11-11.
942 + b3f934680554515aa312b5dd4453df5cd38f0aea:
943 Bump rules_cc to support llvm 11.0.0 clang-cl compiler on Windows
944 + e055b433efdccb28b9c21082e72d8e79d9b34e0f:
945 Remove accidentally re-added
946 tools/jdk/java_toolchain_default.bzl.
947 + 02838a1b2aa2f6d03980536ab2ac6840c3c98e84:
948 Avoid the spawn cache if executing dynamically.
949 + d0efd7b9e5109ff5ac6d13c91f58c3fc4dc3afd8:
950 Release 3.7.1 (2020-11-24)
951 + a689d673abadf80f1efaf8ddaeee92d56fc2847b:
952 Use getRunfilesPath for run_under executable path generation.
953 getRootRelativePath doesn't return a valid runfiles path for
954 external source files anymore after the recent external source
955 root change. Also, it won't work for external labels either once
956 the --nolegacy_external_runfiles becomes default. This fixes
957 issue #12545.
958```
959
960Important changes:
961
962 - Update rules_cc to commit b1c40e1de81913a3c40e5948f78719c28152486d
963
964This release contains contributions from many people at Google, as well as William A Rowe Jr.
965
Bazel Release Systemd0efd7b2020-11-24 12:34:38 -0500966## Release 3.7.1 (2020-11-24)
967
968```
969Baseline: a991db7c2f66a354666388d888dcef9b0d0f70c0
970
971Cherry picks:
972
973 + 0d14ec84a06c4da628a7f6d9d1c5f9314392ab15:
974 Release 3.7.0 (2020-10-20)
975 + d563446a77b906807cea86f5c2abafa5900d901a:
976 Add `-XDcompilePolicy=simple` to default javacopts
977 + 6336264e4b0d8cc422ec73e1b923bf8014ace778:
978 Update rules_cc reference to head of rules_cc as of 2020-11-11.
979 + b3f934680554515aa312b5dd4453df5cd38f0aea:
980 Bump rules_cc to support llvm 11.0.0 clang-cl compiler on Windows
981 + e055b433efdccb28b9c21082e72d8e79d9b34e0f:
982 Remove accidentally re-added
983 tools/jdk/java_toolchain_default.bzl.
984 + 02838a1b2aa2f6d03980536ab2ac6840c3c98e84:
985 Avoid the spawn cache if executing dynamically.
986```
987
988Important changes:
989
990 - Update rules_cc to commit b1c40e1de81913a3c40e5948f78719c28152486d
991
992This release contains contributions from many people at Google, as well as William A Rowe Jr.
993
Bazel Release System8cffdf12020-10-20 09:22:27 -0400994## Release 3.7.0 (2020-10-20)
995
996```
997Baseline: a991db7c2f66a354666388d888dcef9b0d0f70c0
998```
999
1000Incompatible changes:
1001
1002 - The syntax //foo/BUILD can no longer be used on the command line
1003 to refer to the //foo:BUILD target. Use //foo:BUILD (preferred)
1004 or foo/BUILD instead. This does not affect BUILD/bzl files, where
1005 that syntax already didn't work.
1006 - This removes `--objc_header_scanner_tool`. The flag was primarily
1007 used internally, and to our knowledge, a compatible tool was
1008 never released. Therefore this flag is believed to be unused.
1009
1010New features:
1011
1012 - select() directly supports constraint_value (no need for an
1013 intermediate config_setting).
1014
1015Important changes:
1016
1017 - Non-android targets can again be built when
1018 android_sdk_repository is present but invalid.
1019 - Add a build variable for -install_name / -soname.
1020 - Add a build variable for -install_name / -soname.
1021 - Include "resources" attr in dependency attributes for java_*
1022 coverage configuration.
1023 - --trim_test_configuration should work for almost all cases when a
1024 non-test target depends on a test.
1025 - Javac now supports multiplex workers.
1026 - Javac now supports multiplex workers.
1027 - Blaze now allows symbolic links that point to their own ancestor
1028 unless they are traversed recursively by e.g. a //... recursive
1029 target pattern or a recursive glob.
1030 - Blaze now allows symbolic links that point to their own ancestor
1031 unless they are traversed recursively by e.g. a //... recursive
1032 target pattern or a recursive glob.
1033 - Blaze now allows symbolic links that point to their own ancestor
1034 unless they are traversed recursively by e.g. a //... recursive
1035 target pattern or a recursive glob.
1036 - Generated Go protobufs no longer depend on //net/proto2/go:proto
1037
1038This release contains contributions from many people at Google, as well as Benjamin Peterson, Cristian Hancila, Ed Schouten, Fredrik Medley, Greg Estren, jgehw, Jin, Kalle Johansson, Keith Smiley, Kseniia Vasilchuk, Michael Eisel, Michael Hackner, Michael Krasnyk, Mostyn Bramley-Moore, Ruixin Bao, Samuel Giddins, Simon Stewart, Torgil Svensson, Ulf Adams, Vasilios Pantazopoulos, Wenyu Zhang, Yannic Bonenberger, yoav-steinberg.
1039
Bazel Release System76152be2020-10-06 15:07:12 +02001040## Release 3.6.0 (2020-10-06)
Bazel Release System72817e32020-10-01 00:30:50 -04001041
1042```
Bazel Release System76152be2020-10-06 15:07:12 +02001043Baseline: aa0d97c0bfc4c09ec6f45303aa80052ba28afbd9
Bazel Release System72817e32020-10-01 00:30:50 -04001044
1045Cherry picks:
1046
Bazel Release System76152be2020-10-06 15:07:12 +02001047 + 32c88da98f301333dc447b75564459165368d418:
1048 Patch RuleContext for android_binary.deps to restore legacy
1049 behavior.
1050 + db9fc88fed387f09067a9250a731f8bf9ad74b05:
1051 android_test also needs the legacy behavior in
1052 RuleContext.getPrerequisites.
1053 + 144d5149a0c50e464dd1be0769fed2ce33ab26a4:
1054 Update android_sdk_repository to create a valid, but useless,
1055 repository
1056 + bb11f9235da52eb3b3e462ce0286f1a89188cb89:
Bazel Release System72817e32020-10-01 00:30:50 -04001057 Patch upb to fix build error with gcc 10
Bazel Release System76152be2020-10-06 15:07:12 +02001058 + 9f06be482aea3fcadeaf8fca6e48b32f224eba2e:
Bazel Release System72817e32020-10-01 00:30:50 -04001059 Patch upb to fix build error with gcc 10 (third_party)
Bazel Release System76152be2020-10-06 15:07:12 +02001060 + b67b75e3a62f5433d812993f3702f431b6967e86:
1061 Fix issue where libtool_check_unique isn't found for sandbox
1062 builds
Bazel Release System72817e32020-10-01 00:30:50 -04001063```
1064
Bazel Release System76152be2020-10-06 15:07:12 +02001065Incompatible changes:
1066
1067 - `--experimental_ui_limit_console_output` is removed. Users of
1068 `--experimental_ui_limit_console_output=1` for silencing terminal
1069 output should use `--ui_event_filters=` instead.
1070 - --proto:instantiation_stack must be enabled in addition to
1071 --record_rule_instantiation_callstack to see call stack in proto
1072 output from blaze query.
1073
Bazel Release System72817e32020-10-01 00:30:50 -04001074New features:
1075
1076 - cc_common.compile support for include_prefix/strip_include_prefix
Bazel Release System76152be2020-10-06 15:07:12 +02001077 - Multiplexed persistent workers: Use
1078 --experimental_worker_max_multiplex_instances to configure the
1079 number of WorkRequests that are sent concurrently to one worker
1080 process. The --worker_max_instances flag will no longer be used
1081 to determine max instances for multiplex workers, since the two
1082 have different resource requirements. Multiplex workers will by
1083 default have a max instances of 8.
Bazel Release System72817e32020-10-01 00:30:50 -04001084
1085Important changes:
1086
Bazel Release System76152be2020-10-06 15:07:12 +02001087 - The prelude file (//tools/build_rules:prelude_bazel) is now
1088 processed as a Starlark module, rather than being sourced into
1089 the BUILD file textually. This may cause slight breakages
1090 depending on the content of the prelude file. (Use of the prelude
1091 file is discouraged as it will be removed in the long term.)
1092 - Removed --experimental_ignore_deprecated_instrumentation_spec and
1093 cleaned up the old deprecated behavior.
1094 - Added CODEBASE.md, a description of the Bazel codebase.
Bazel Release System72817e32020-10-01 00:30:50 -04001095 - Removed the flag --experimental_transparent_compression.
1096 - Removed the flag --experimental_action_args.
1097 - Stop needlessly parsing WORKSPACE files from external
1098 repositories.
1099 - Dot ('.') is now allowed in workspace names. See
1100 https://github.com/bazelbuild/bazel/issues/11837.
Bazel Release System76152be2020-10-06 15:07:12 +02001101 - This change can cause memory and performance regressions for some
1102 builds with C++ dependencies, due to extra actions being executed.
1103 RELNOTES: None
1104 - Building Android apps for legacy multi-dex (pre-L) now require a
1105 main-dex list if the application does not fit into a single DEX
1106 file.
1107 - Puts the experimental_worker_multiplex flag to use.
1108 - In Starlark, the Args object supports a new parameter file format
1109 'flag_per_line', compatible with the Abseil flags library.
1110 - The flag --incompatible_no_support_tools_in_action_inputs is
1111 removed.
1112 - Support for NDK 21 added
1113 - Bazel will now skip printing action stdout/stderr contents if
1114 they exceed --experimental_ui_max_stdouterr_memory_bytes.
1115 - The Starlark interpreter now correctly emits an error
1116 if the operand of the first loop in a list comprehension
1117 refers to a variable bound by a later loop, such as y in
1118 this example:
1119 [e1 for x in f(y) in e2 for y in e3] # error: undefined y
1120 ^
1121 This may cause latent dynamic errors to become static errors.
1122 - Added support for a 'supports-graceful-termination' execution
1123 requirement and tag, which causes Bazel to send a SIGTERM to any
1124 tagged
1125 actions before sending a delayed SIGKILL. This is to give
1126 actions, and more
1127 specifically tests, a chance to clean up after themselves.
1128 - Non-android targets can again be built when
1129 android_sdk_repository is present but invalid.
Bazel Release System72817e32020-10-01 00:30:50 -04001130
Bazel Release System76152be2020-10-06 15:07:12 +02001131This release contains contributions from many people at Google, as well as Benjamin Peterson, Daniel Wagner-Hall, Dave MacLachlan, David Ostrovsky, Emil Kattainen, George Gensure, Greg Estren, Keith Smiley, mai12, Mai Hussien, Michael Eisel, Per Halvor Tryggeseth, Ruixin Bao, Samuel Giddins, Steeve Morin, Thi Doan, Tom de Goede, Ulf Adams, Zhongpeng Lin.
Bazel Release System72817e32020-10-01 00:30:50 -04001132
Bazel Release System2b051be2020-09-02 15:41:41 -04001133## Release 3.5.0 (2020-09-02)
1134
1135```
1136Baseline: 889bc0b523b47eeb38a72bf9bb6858ee525a7c7e
1137
1138Cherry picks:
1139
Bazel Release System57f0b7c2020-09-02 16:07:55 -04001140 + a7a0d48fbeb059ee60e77580e5d05baeefdd5699:
1141 Make no-op starlark transition not affect the output directory.
1142 + b37c51c7085f0aefe04034dd451acb847605ddb5:
1143 Add include_prefix and strip_include_prefix to cc_common.compile
1144 + f6ad35fcde93f92c591778ed7db38d167f5bbc03:
1145 Delete --experimental_transparent_compression
1146 + 39bc97eab295bddb35b38bfc4a2ff3d2b15d034e:
1147 Remove --experimental_action_args
1148 + b9706675a7abf6ceebb250f0b3dfa4087a0c35f6:
1149 Stop needlessly parsing WORKSPACE files from external
1150 repositories.
1151 + e574d558da17cfd0f818e7a937a07926aa270069:
1152 Allow hyphen char in workspace name
1153 + 9993785fa0c4fa4172aa31d306f3abea76833abf:
1154 Allow dot ('.') in workspace names.
1155```
1156
1157New features:
1158
1159 - cc_common.compile support for include_prefix/strip_include_prefix
1160
1161Important changes:
1162
1163 - Removed the flag --experimental_transparent_compression.
1164 - Removed the flag --experimental_action_args.
1165 - Stop needlessly parsing WORKSPACE files from external
1166 repositories.
1167 - Dot ('.') is now allowed in workspace names. See
1168 https://github.com/bazelbuild/bazel/issues/11837.
1169
1170This release contains contributions from many people at Google, as well as David Ostrovsky.
1171
1172## Release 3.5.0 (2020-09-02)
1173
1174```
1175Baseline: 889bc0b523b47eeb38a72bf9bb6858ee525a7c7e
1176
1177Cherry picks:
1178
Bazel Release System2b051be2020-09-02 15:41:41 -04001179 + d6b9469efebd200a39d7fd43876a18822fcdbe7b:
1180 Make no-op starlark transition not affect the output directory.
1181 + b37c51c7085f0aefe04034dd451acb847605ddb5:
1182 Add include_prefix and strip_include_prefix to cc_common.compile
1183 + 0ebb1d5a5388109e3f026a355c77fdf0121f3a43:
1184 Delete --experimental_transparent_compression
1185 + 312e121c70aebfaa91b0a3106fa964e0bc12d1df:
1186 Remove --experimental_action_args
1187 + 7e6e855bb82734f582e03c2c7fad3148c139d0e0:
1188 Stop needlessly parsing WORKSPACE files from external
1189 repositories.
1190 + d4049f6f85efb8f48d1f6b72764115af5b184831:
1191 Allow hyphen char in workspace name
1192 + 0a35be1843a2e4d49d5e5c3893cd6673705b7fb1:
1193 Allow dot ('.') in workspace names.
1194```
1195
1196Incompatible changes:
1197
1198 - The --experimental_process_wrapper_wait_fix flag (used
1199 purely to roll out a risky bug fix) has been removed.
1200 - Removed the --experimental_ui_deduplicate flag.
1201 - Bazel now correctly prefers Xcode versions in `/Applications`
1202 over any other paths, which resolves an issue with accidentally
1203 picking up an Xcode version from a Time Machine backup or network
1204 disk. In the improbable case that you relied on the old behavior
1205 and Bazel now picks up Xcode from the wrong location, you can fix
1206 it by moving that Xcode version to /Applications.
1207
1208New features:
1209
1210 - cquery now follows aspects with --include_aspects.
1211 - cc_common.compile support for include_prefix/strip_include_prefix
1212
1213Important changes:
1214
1215 - Add support to bazel/crosstool for building arm64 on macos aka
1216 darwin
1217 - Add opt in 'oso_prefix_is_pwd' feature for Apple builds
1218 - Add InstrumentedFilesInfo provider to Starlark globals.
1219 - Fixed resource shrinking when <overlayable/> tags are used.
1220 - Remove old incompatible flag
1221 --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfile
1222 s_tree.
1223 - Update coverage configuration for Python, filegroup, and shell
1224 script rules to distinguish between source and dependency
1225 attributes.
1226 - Add support to bazel/crosstool for building arm64e on macos aka
1227 darwin
1228 - Make filegroup always forward InstrumentedFilesProvider and not
1229 collect any sources directly.
1230 - Support signing key rotation in android_binary
1231 - Remove legacy handling of --extra_checks
1232 - Support signing key rotation in android_binary
1233 GO...
1234 - `--apple_bitcode` now takes an optional platform and only applies
1235 the Bitcode mode to that platform if present. The option may be
1236 provided multiple times.
1237 - Support signing key rotation in android_binary
1238 - NS_BLOCK_ASSERTIONS is now passed for all Apple architectures.
1239 - Major changes to reporting of Starlark errors and the call stack.
1240 (Please be alert to possible regressions, such as errors that
1241 lack relevant location information.)
1242 - Removed the flag --experimental_transparent_compression.
1243 - Removed the flag --experimental_action_args.
1244 - Stop needlessly parsing WORKSPACE files from external
1245 repositories.
1246 - Dot ('.') is now allowed in workspace names. See
1247 https://github.com/bazelbuild/bazel/issues/11837.
1248
1249This release contains contributions from many people at Google, as well as Adam Gross, Andrew Suffield, Benjamin Peterson, bnczk, David Ostrovsky, Ed Schouten, Greg Estren, Grzegorz Lukasik, Holger Freyther, Kalle Johansson, Keith Smiley, Kerrick Staley, Kyle Teske, Mostyn Bramley-Moore, Ryan Beasley, Ryan Pavlik, Siggi Simonarson, Stiopa Koltsov, Ulf Adams, Xiaoyi Shi, Yannic Bonenberger, Yesudeep Mangalapilly.
1250
Bazel Release Systemd917bf22020-07-14 08:24:10 +02001251## Release 3.4.1 (2020-07-14)
1252
1253```
1254Baseline: 7404d17ac76da876ae0b432d1fccf222a9e991fe
1255
1256Cherry picks:
1257
1258 + f31f2d787116120b2b16e9aa9a64fab171c0d954:
1259 fixup! Gracefully handle the lack of subreaper support in Linux.
1260 + 3a4f221e3c57495c1ed0d1ec8128f92323b13079:
1261 Revert "Replace the remaining dependencies for Bazel Debian
1262 build (third_party)"
1263 + c55ec0f2cb3f5b44e5025bf9d3c5dc91d94db287:
1264 Revert "Upgrade gRPC to 1.26.0"
1265```
1266
1267This release contains contributions from many people at Google, as well as Ryan Beasley.
1268
Bazel Release System93262a52020-07-13 17:23:50 +02001269## Release 3.4.0 (2020-07-13)
1270
1271```
1272Baseline: 7404d17ac76da876ae0b432d1fccf222a9e991fe
1273
1274Cherry picks:
1275
1276 + a4334be50a206bf8d676a0196af11056c48ac35b:
1277 fixup! Gracefully handle the lack of subreaper support in Linux.
1278```
1279
1280Incompatible changes:
1281
1282 - This removes the short-lived --process_wrapper_extra_flags
1283 flag, which was introduced primarily to roll out a bug fix.
1284 Unfortunately,
1285 this made us inadvertently expose all of the process-wrapper's
1286 command line
1287 interface to the public, which should not have happened. Given
1288 the corner
1289 case of the utility of this flag, the lack of documentation for
1290 it, and the
1291 fact that it only appeared in a single release, we are treating
1292 this as a
1293 bug instead of a backwards compatibility breakage.
1294
1295New features:
1296
1297 - bazel info: Allow to specify multiple keys.
1298 - Support code coverage with GCC 9.
1299
1300Important changes:
1301
1302 - Allow InstrumentedFilesInfo fields to be read from Starlark.
1303 - The --starlark_cpu_profile=<file> flag writes a profile in
1304 pprof format containing a statistical summary of CPU usage
1305 by all Starlark execution during the bazel command. Use it
1306 to identify slow Starlark functions in loading and analysis.
1307 - The --debug_depset_flag has been removed as it is in effect
1308 always on at no cost.
1309 - Rule authors should use the
1310 incompatible_use_toolchain_transition rule attribute to migrate
1311 to using
1312 the toolchain transition. jcater to udpate notes further.
1313 - `apple_binary` rules now accept the `stamp` attribute with the
1314 same
1315 semantics that it has in `cc_binary` rules.
1316 - --incompatible_objc_provider_remove_compile_info turns off
1317 the compile info/mege_zip Starlark APIs in ObjcProvider. See
1318 #11359.
1319 - The --debug_depset_flag has been removed as it is in effect
1320 always on at no cost.
1321 - Fix behavior of ctx.actions.write so content is written without
1322 an incorrect encoding to UTF-8.
1323 See https://github.com/bazelbuild/bazel/issues/10174 for details.
1324 - Collect more performance metrics for worker execution.
1325 - Add flag --incompatible_force_strict_header_check_from_starlark
1326 - Configure coverage and runfiles for sh_library.
1327 - Adds --incompatible_blacklisted_protos_requires_proto_info to
1328 indicate whether proto_lang_toolchain.blacklisted_protos requires
1329 ProtoInfo.
1330
1331This release contains contributions from many people at Google, as well as Andrzej Guszak, Benjamin Peterson, Benjamin Romano, Carlos Eduardo Seo, Claudio Bley, dannysullivan, David Ostrovsky, George Gensure, Graham Jenson, Grzegorz Lukasik, Gunnar Wagenknecht, Henk van der Laan, Jin, John Millikin, Marin Baron, Nikhil Marathe, Robin Nabel, Ryan Beasley, Samuel Giddins, Sergey Balabanov, utsav-dbx, Vo Van Nghia, Yannic Bonenberger.
1332
Bazel Release System97a53342020-06-30 11:05:57 -04001333## Release 3.3.1 (2020-06-30)
1334
1335```
1336Baseline: c063b5caf776dee665497b64c5c17d4ed7e6750a
1337
1338Cherry picks:
1339
1340 + cb798a475eb54087e1e83f8aa1dc1c54550877b5:
1341 Restore missing Building with Platforms docs.
1342 + 9be97678b02bbd45d164c8458c8fd4f7791cb7aa:
1343 Release 3.3.0 (2020-06-17)
1344 + 3b0439e37247a480e08337a6314d06231bdbafd3:
1345 Fix incorrect assumption of desugar persistent worker conditional
1346```
1347
1348This release contains contributions from many people at Google, as well as .
1349
Bazel Release System9be97672020-06-17 08:51:54 -04001350## Release 3.3.0 (2020-06-17)
1351
1352```
1353Baseline: c063b5caf776dee665497b64c5c17d4ed7e6750a
1354
1355Cherry picks:
1356
1357 + 23bd69d7499de097b15e6025cc0796bdbc9886b8:
1358 Restore missing Building with Platforms docs.
1359```
1360
1361Incompatible changes:
1362
1363 - The startup option --fatal_event_bus_exceptions is now a no-op
1364 and will be removed soon.
1365
1366New features:
1367
1368 - Bazel offers basic completion for the fish shell.
1369
1370Important changes:
1371
1372 - Add configuration_field for --custom_malloc to cpp config fragment
1373 - Flip --incompatible_objc_compile_info_migration to true. See
1374 #10854.
1375 - It is now possible to use different action mnemonics while still
1376 sharing the same pool of persistent workers. It requires setting
1377 a new property
1378 on the execution requirements (`worker-key-mnemonic`). The value
1379 overrides
1380 the action's mnemonic when it comes to reusing worker processes.
1381 - linkshared=1 in cc_binary no longer requires '.so' or '.dll' in
1382 the target name
1383 - Revert --incompatible_objc_compile_info_migration to false. See
1384 #10854.
1385 - Invoke clang with the correct -target flag when building for
1386 watchOS.
1387 - NA
1388 - Add experiment flag to forward InstrumentedFilesInfo from
1389 non-tool deps by default.
1390
1391This release contains contributions from many people at Google, as well as Abhishek Kumar, Adam Azarchs, Akira Baruah, Daniel Wagner-Hall, Derek Argueta, glukasiknuro, Greg Estren, Greg, Jason Furmanek, Jiri Dank, Keith Smiley, Kseniia Vasilchuk, Laurent Le Brun, Matt Mackay, Michael Klemm, Nikolay Shelukhin, Patrick Balestra, Rui Chen, Siggi Simonarson, sventiffe, Tobias Werth, Tom de Goede, Vladimir Chebotarev, Yannic Bonenberger.
1392
Bazel Release Systemb0ba5dc2020-05-27 19:50:27 +02001393## Release 3.2.0 (2020-05-27)
1394
1395```
1396Baseline: 1d93d26d9900328dcba0026bf21cb45cc37a4596
1397```
1398
1399Important changes:
1400
1401 - Renamed --experimental_slim_json_profile to --slim_profile.
1402 - Expose ctx.attr.write Args content for analysistest when possible
1403 - Added aquery_differ_v2 that works with the new aquery proto
1404 output format.
1405 - Add new flag, 'experimental_no_product_name_out_symlink', to omit
1406 creating '<product>-out' symlink if user specifies
1407 '--symlink_prefix' option.
1408 - --ram_utilization_factor is removed (as is
1409 --incompatible_remove_ram_utilization_factor). Please use
1410 --local_ram_resources.
1411 - Improve include scanner support for cl.exe and clang-cl command
1412 lines
1413 - ctx.split_attr now includes attributes with Starlark split
1414 transitions.
1415 - Added --incompatible_string_replace_count, to make
1416 string.replace() behave as in Python.
1417 - Bazel can now recursively delete non-executable but readable
1418 directories.
1419 - Restore case-sensitivity to -I and /I include scanning detection
1420 to avoid conflicts.
1421
1422This release contains contributions from many people at Google, as well as Alessandro Patti, Antoine Eiche, Beebs, Brian Silverman, George Gensure, Gerhard Pretorius, Gibson Fahnestock, Greg, Gregor Jasny, Gustav Westling, hannometer, Jin, Jonathan Gerrish, Josh Smith, Justin Y Wei, Laurent Le Brun, Links, liubang, Lszl Csomor, Matt Mackay, Moritz Krger, Ryan Beasley, Siddhartha Bagaria, Yannic Bonenberger, Yannic, Zhongpeng Lin.
1423
Bazel Release System3a59ab62020-04-21 17:37:54 +02001424## Release 3.1.0 (2020-04-21)
1425
1426```
1427Baseline: 17ebbf15bea3733c0c21e0376fb5906e391edb49
1428
1429Cherry picks:
1430
1431 + 71fb56b4bb669a419f473598c8722e125dbb5c9e:
1432 Suppress last-ditch download exceptions w/cleanup
1433 + fd60614c38da0db22431d91a793423904dff801f:
1434 In repo rules, don't warn about generator_* attributes being
1435 non-canonical
1436 + 2a372792f5cc09bd0e8389d5fc4bbfdd2f5d6e37:
1437 Refactor configureFeatures and prevent NPE
1438 + 777a6ee6ed95cae4ddb949d52b63ee8a66024f03:
1439 Automated rollback of commit
1440 0bbe38176e15d891a4e4cab2d8425e292de6cc5f.
1441 + 2ee53c9267eb6de8eae109950ca8f3953bf1ae66:
1442 Guard parseActionResultMetadata with bulk wrapper
1443```
1444
1445Incompatible changes:
1446
1447 - The deprecated startup options
1448 --experimental_oom_more_eagerly(_threshold) are removed.
1449
1450Important changes:
1451
1452 - Remove flag
1453 --incompatible_load_proto_toolchain_for_javalite_from_com_google_p
1454 rotobuf which has been flipped in Bazel 3.0.
1455 - Allow assembly file sources in cc_common.compile.
1456 - Set default .netrc file on Windows to %USERPROFILE%
1457 - A maximum 150 attributes per RuleClass is enforced
1458 - Increase max targets per rule class limit to 200
1459 - ctx.split_attr now includes attributes with Starlark split
1460 transitions.
1461 - The --max_computation_steps flag bounds the computation done by a
1462 BUILD file.
1463 - Native patch can handle file permission properly
1464 - Aspects may now propagate through dependencies on rule outputs by
1465 being defined with `apply_to_generating_rules = True`.
1466 - 'query --output=build' now shows where rule classes (not just
1467 rules) are created.
1468 - The flag `incompatible_bzl_disallow_load_after_statement` is
1469 removed.
1470 - ctx.split_attr now includes attributes with Starlark split
1471 transitions.
1472 - The flag `incompatible_no_output_attr_default` is removed.
1473 - Fix wall-time of the SpawnResult in WorkerSpawnRunner
1474 - Add stamp parameter for cc_common.link to enable including build
1475 info
1476 - The flag `--incompatible_restrict_named_params` is removed.
1477 - The flag `--incompatible_depset_union` is removed.
1478 - Bazel uses fewer compiler flags by default when building
1479 Objective-C. In
1480 particular, Bazel no longer sets `-O0`, `-DDEBUG=1`,
1481 `-fstack-protector`, `-fstack-protector-all`, or `-g` in dbg
1482 mode, and
1483 Bazel no longer sets `-Os`, `-DNDEBUG=1`, `-Wno-unused-variable`,
1484 `-Winit-self`, or `-Wno-extra` in opt mode. If you want to apply
1485 these
1486 flags to your project, you can reenable them in your CROSSTOOL.
1487 - A maximum attribute name length is 128 is enforced
1488
1489This release contains contributions from many people at Google, as well as Alessandro Patti, Benjamin Peterson, Benjamin Romano, Bor Kae Hwang, Chris Heisterkamp, Cristian Hancila, Dmitri G, Douglas Parker, George Gensure, Gregor Jasny, John Millikin, Keith Smiley, Leo, Mike Fourie, Patrick Balestra, Robbert Van Ginkel, Ryota, Samuel Giddins, Ulf Adams, Ulf Adams, Vertexwahn, Xavier Bonaventura, Yannic Bonenberger.
1490
Bazel Release System22018272020-04-06 08:49:47 -04001491## Release 3.0.0 (2020-04-06)
1492
1493```
1494Baseline: 3c7cc747ac653dca8b88a9e43726a794e2c27a9c
1495
1496Cherry picks:
1497
1498 + 19e214b44df9c82a8a3bd3381344f7145813c572:
1499 Use prefix encoding for paths.
1500 + 63b01f7b1cd6603a08bf2a8ae813388c201e3448:
1501 Avoid file operations in the sandbox creation critical path.
1502 + 80a2d7cc5f8a22816934dcd2ca9bdf87050f3d9f:
1503 Implementation (but not plumbing) of the gRPC remote downloader
1504 + 586eabf419972c74fdd5fef328cfe9a259e035ed:
1505 Implement RemoteDownloader w/ `--experimental_remote_downloader`
1506```
1507
1508Incompatible changes:
1509
1510 - Flip --incompatible_remove_enabled_toolchain_types, so that rules
1511 can no longer access enabled toolchain types from the platform
1512 fragment.
1513 - The --incompatible_use_jdk11_as_host_javabase flag has been
1514 removed (it was flipped in Bazel 0.25.0).
1515 - Using JDK 9 or 10 as a `--host_javabase` is no longer officially
1516 supported. As always, you can use the
1517 `@bazel_tools//tools/jdk:toolchain_vanilla` Java toolchain to use
1518 older or newer JDKs than what Bazel currently supports.
1519 - --fatal_event_bus_exceptions is deprecated and should not be
1520 used. Any crashes should be reported so that they can be fixed.
1521 - The old-style binary profile format is no longer suppported, use
1522 the new JSON trace profile instead.
1523
1524Important changes:
1525
1526 - Improve the performance of creating a sandboxed execution root
1527 for workers when the number of inputs is large (>1000).
1528 - Treat .cu and .cl files as C++ source. CUDA or OpenCL are not
1529 natively supported and will require custom flags to compile with
1530 e.g. clang.
1531 - Add actions' primary output details in JSON profile and
1532 analysis_v2.proto.
1533 - Add --cds_archive option for embedding CDS archive into deploy
1534 JAR.
1535 - Add new global attribute: applicable_licenses
1536 - Package level default with default_applicable_licenses
1537 - guarded by --incompatible_applicable_licenses (default true for
1538 Blaze, false for Bazel)
1539 - In support of
1540 https://docs.google.com/document/d/1uwBuhAoBNrw8tmFs-NxlssI6VRolid
1541 GYdYqagLqHWt8/edit#
1542 - Non-test Java rules no longer require the TestConfiguration and
1543 thus --trim_test_configuration is again usable for Java builds
1544 - The flag `--incompatible_always_check_depset_elements` is enabled
1545 by default.
1546 - --incompatible_objc_compile_info_migration determines
1547 whether native rules can assume compile info has been migrated to
1548 CcInfo. See https://github.com/bazelbuild/bazel/issues/10854.
1549 - --incompatible_remove_local_resources is true by default. Please
1550 use --local_ram_resources and --local_cpu_resources instead of
1551 --local_resources.
1552
1553This release contains contributions from many people at Google, as well as Alessandro Patti, Benjamin Peterson, Christy Norman, Dave hughes, David Haxton, David Neil, garyschulte, George Chiramel, George Gensure, Gibson Fahnestock, Greg Estren, Greg, Jason Hoch, Jin, John Millikin, Jonathan Springer, Keith Smiley, Laurent Le Brun, Ulf Adams, Yannic Bonenberger, Yannic, Yihong Wang, Yuchen Dai.
1554
Bazel Release System4b01eb52020-03-03 10:22:31 +01001555## Release 2.2.0 (2020-03-03)
Bazel Release Systeme53c0282020-02-21 15:49:31 +01001556
1557```
Bazel Release System4b01eb52020-03-03 10:22:31 +01001558Baseline: 78055efad0917b848078bf8d97b3adfddf91128d
Bazel Release Systeme53c0282020-02-21 15:49:31 +01001559```
1560
Bazel Release System4b01eb52020-03-03 10:22:31 +01001561Incompatible changes:
Bazel Release Systeme53c0282020-02-21 15:49:31 +01001562
Bazel Release System4b01eb52020-03-03 10:22:31 +01001563 - The --[no]incompatible_windows_bashless_run_command flag is no
1564 longer supported. It was flipped in Bazel 1.0
1565 - The --[no]incompatible_windows_native_test_wrapper flag is no
1566 longer supported. It was flipped in Bazel 1.0
1567
1568Important changes:
1569
1570 - Consistent target naming style in example target names.
1571 - cquery's config() now supports arbitrary configurations.
1572 - The flag --incompatible_disallow_dict_lookup_unhashable_keys is
1573 removed.
1574 - Include target label in Python version error message.
1575 - The flag --incompatible_remap_main_repo is removed.
1576 - Windows: we now discourage running Bazel from MSYS2 because of a
1577 newly found bug (#10573)
1578 - Reduced the packaging time (`package-bazel.sh`) for the
1579 `//src:bazel-dev` Bazel development build target from 14s to 6s.
1580 Use `//src:bazel-dev` if you're iterating rapidly on a local
1581 Bazel changes, and use `//src:bazel --compilation_mode=opt` for
1582 release builds.
1583 - cquery: "//foo:bar" now means "all configured targets with label
1584 //foo:bar" instead of "choose an arbitrary configured target with
1585 label //foo:bar". See cquery docs for details.
1586 - WORKSPACE and BUILD.bazel files of http_archive repositories can
1587 now be patched using the "patch_cmds" and "patches" attributes.
1588 - Actions with "parse" on the critical path should no longer finish
1589 in the future.
1590 - Flags that affect external repositories like
1591 "--override_repository" can now be addressed in bazelrc files
1592 using the "common" command, without causing commands like "bazel
1593 shutdown" to fail.
1594 - The flag --incompatible_disallow_unverified_http_downloads is
1595 removed.
1596 - Create the incompatibleApplicableLicenses flag.
1597 We plan to flip this from false to true in Bazel 4.x.
1598 Implementation to follow.
1599 - Treat .cu and .cl files as C++ source. CUDA or OpenCL are not
1600 natively supported and will require custom flags to compile with
1601 e.g. clang.
1602 - Treat .cu and .cl files as C++ source. CUDA or OpenCL are not
1603 natively supported and will require custom flags to compile with
1604 e.g. clang.
1605 - The --starlark_cpu_profile=<file> flag writes a profile in
1606 pprof format containing a statistical summary of CPU usage
1607 by all Starlark execution during the bazel command. Use it
1608 to identify slow Starlark functions in loading and analysis.
1609 - --ram_utilization_factor will be deprecated. Please use
1610 --local_ram_resources=HOST_RAM*<float>
1611 - Docs: glob() documentation is rewritten, and now it points out a
1612 pitfall of rules shadowing glob-matched files.
1613
1614This release contains contributions from many people at Google, as well as Alessandro Patti, Alex Kirchhoff, aman, Artur Dryomov, Benjamin Peterson, Benjamin Peterson, David Ostrovsky, Elliotte Rusty Harold, Eric Klein, George Chiramel, George Gensure, Guillaume Bouchard, Hui-Zhi, John Millikin, Jonathan Springer, Laurent Le Brun, Michael McLoughlin, nikola-sh, Nikolaus Wittenstein, Nikolay Shelukhin, Yannic Bonenberger, Yannic.
Bazel Release Systeme53c0282020-02-21 15:49:31 +01001615
Bazel Release Systeme6ee35f2020-02-07 13:56:14 +01001616## Release 2.1.0 (2020-02-07)
1617
1618```
1619Baseline: 41ec5a28fb30a8d6c5c60194c4bb29528352cf78
1620
1621Cherry picks:
1622
1623 + 733ac0ff7ad1e13ab68ceb2fde694d7ab71b2366:
1624 Adds an alias for d8_jar_import in android.WORKSPACE.
1625 + c94b1474b368dedf9f68f34fad90cc8664f2b0e0:
1626 Automatic code cleanup.
1627 + 2a8cc7075f741721563efd9dc050ca3458cde30b:
1628 Do not fail or print errors when Shellzelisk cannot find a
1629 requested ?
1630 + bdf34d7fd9539411e93348ba25307f34362d9a42:
1631 Fix race when extracting the install base when Bazel runs in a
1632 PID namespace.
1633 + d381c25bb7dd205c283f7ad91cac13190d2dfede:
1634 Fix wrong mode of install base directory.
1635 + eab39cc7b5a612f891fd1e5af5b45bdc1b66e6e1:
1636 Disable broken test_max_open_file_descriptors.
1637```
1638
1639Incompatible changes:
1640
1641 - The following attributes of CcToolchainProvider, which formerly
1642 were
1643 accessible both as fields (x.f) and as methods (x.f()), are now
1644 only fields:
1645
1646New features:
1647
1648 - Similar to the
1649 [.bazelignore](https://docs.bazel.build/versions/master/guide.html
1650 #.bazelignore) in the main repository, a `.bazelignore` file in
1651 external repository will cause the specified directories to be
1652 ignored by Bazel. Bazel won't try to identify any packages under
1653 the directories, but the files can still be referenced in other
1654 BUILD files.
1655 - bazelignore files now support line comments, e.g. "# this is a
1656 comment"
1657
1658Important changes:
1659
1660 - Experimental support for d8 merger is now available for use using
1661 --define=android_dexmerger_tool=d8_dexmerger.
1662 - Critical path run time should not have a longer run time than
1663 total execution run time.
1664 - Remove "please do not import" warning for cc rules.
1665 - x.f() is now equivalent to y=x.f; y(). That is, x.f should return
1666 the same
1667 attribute value regardless of whether it is accessed as a field
1668 or called
1669 like a method. Any arguments to the call are evaluated after the
1670 x.f operation.
1671 - Add desugaring support for RoleManager#addRoleHolderAsUser
1672 - Adds ctx.target_platform_has_constraint to allow rules to check
1673 the target platform's constraints.
1674 - Critical path run time should not have a longer run time than
1675 total execution run time.
1676 - Post new ConvenienceSymlinksIdentifiedEvent to the
1677 BuildEventProtocol when
1678 --experimental_convenience_symlinks_bep_event is enabled.
1679 - Keyword-only arguments are now allowed:
1680 def foo(a, *, k): pass
1681 def foo(a, *b, k): pass
1682 where k can be specified only by keyword:
1683 foo(5, k=6)
1684 - Generated Go protobufs now depend on //net/proto2/go:protodeps in
1685 addition to //net/proto2/go:proto
1686 - cquery 'somepath' returns more reliable results when the
1687 dep has a different configuration than the parent. To get a
1688 result for
1689 `somepath(//foo, //bar`) where //bar isn't in the top-level
1690 configuration,
1691 run your query with `--universe_scope=//foo`. See cquery docs for
1692 details.
1693
1694This release contains contributions from many people at Google, as well as Adam Liddell, Alessandro Patti, Andreas Herrmann, Bor Kae Hwang, Brian Silverman, Emran BatmanGhelich, George Gensure, Greg Estren, Jeff Palm, Jonathan Beverly, Mark Nevill, Patrick Niklaus, Peter, Philipp Wollermann, Ryan Beasley, Shin Yamamoto, Yen-Chi Chen.
1695
Bazel Release System59e36002019-12-19 13:26:27 +01001696## Release 2.0.0 (2019-12-19)
1697
1698```
1699Baseline: 807ed23e4f53a5e008ec823e9c23e2c9baa36d0d
1700
1701Cherry picks:
1702
1703 + db0e32ca6296e56e5314993fe9939bc7331768ec:
1704 build.sh: Fix bug in build script for RC release
1705 + 85e84f7812f04bc0dbc36376f31b6dd2d229b905:
1706 Set --incompatible_prohibit_aapt1 default to true.
1707 + 84eae2ff550c433a3d0409cf2b5525059939439d:
1708 Let shellzelisk fallback to bazel-real if it's the requested
1709 version.
1710 + d5ae460f1581ddf27514b4be18255481b47b4075:
1711 Fix a typo in bazel.sh
1712```
1713
1714Incompatible changes:
1715
1716 - --incompatible_remap_main_repo is enabled by default. Therefore,
1717 both ways of addressing the main repository, by its name and by
1718 '@' are now considered referring to the same repository.
1719 see https://github.com/bazelbuild/bazel/issues/7130
1720 - --incompatible_disallow_dict_lookup_unhashable_keys is enabled by
1721 default https://github.com/bazelbuild/bazel/issues/9184
1722 - --incompatible_remove_native_maven_jar is now enabled by default
1723 and the flag removed. See https://github.com/bazelbuild/bazel/issues/6799
1724 - --incompatible_prohibit_aapt1 is enabled by default.
1725 See https://github.com/bazelbuild/bazel/issues/10000
1726
1727Important changes:
1728
1729 - --incompatible_proto_output_v2: proto v2 for aquery proto output
1730 formats, which reduces the output size compared to v1. Note that
1731 the messages' ids in v2 are in uint64 instead of string like in
1732 v1.
1733 - Adds --incompatible_remove_enabled_toolchain_types.
1734 - Package loading now consistently fails if package loading had a
1735 glob evaluation that encountered a symlink cycle or symlink
1736 infinite expansion. Previously, such package loading with such
1737 glob evaluations would fail only in some cases.
1738 - The --disk_cache flag can now also be used together
1739 with the gRPC remote cache.
1740 - An action's discover inputs runtime metrics is now categorized as
1741 parse time on the CriticalPathComponent.
1742 - Make the formatting example more like to the written text by
1743 adding an initial description.
1744 - An action's discover inputs runtime metrics is now categorized as
1745 parse time on the CriticalPathComponent.
1746 - Bazel's Debian package and the binary installer now include an
1747 improved wrapper that understands `<WORKSPACE>/.bazelversion`
1748 files and the `$USE_BAZEL_VERSION` environment variable. This is
1749 similar to what Bazelisk offers
1750 (https://github.com/bazelbuild/bazelisk#how-does-bazelisk-know-whi
1751 ch-bazel-version-to-run-and-where-to-get-it-from), except that it
1752 works offline and integrates with apt-get.
1753 - We are planning to deprecate the runfiles manifest files, which
1754 aren't safe in the presence of whitespace, and also unnecessarily
1755 require local CPU when remote execution is used. This release
1756 adds --experimental_skip_runfiles_manifests to disable the
1757 generation of the input manifests (rule.manifest files) in most
1758 cases. Note that this flag has no effect on Windows by default or
1759 if --experimental_enable_runfiles is explicitly set to false.
1760
1761This release contains contributions from many people at Google, as well as aldersondrive, Benjamin Peterson, Bor Kae Hwang, David Ostrovsky, Jakob Buchgraber, Jin, John Millikin, Keith Smiley, Lauri Peltonen, nikola-sh, Peter Mounce, Tony Hsu.
1762
Bazel Release System5be24a82019-11-26 16:19:50 +01001763## Release 1.2.1 (2019-11-26)
1764
1765```
1766Baseline: 11deef7582dfeec7a04ee3f7236393d9b8027367
1767
1768Cherry picks:
1769
1770 + c76c3e539c73ecf6e96e3e098be7be59e17bf276:
1771 Replace macOS CC path with relative path
1772 + 63332eb556fadfe9edd0806add79942482adddef:
1773 Hardcode path to dirname on macOS
1774 + ceadf0a063cb97c32aced143d2447781d1dafc38:
1775 Add tool executables (from FilesToRunProvider) to action inputs.
1776 + dbe63b00954a25fa4405f7cbf273df78c16498dd:
1777 Fix some of the bazel Windows tools code to work with GCC.
1778```
1779
1780This release fixes a single regression:
1781- #10297: Bazel 1.2.0 does no longer run on macOS High Sierra.
1782
1783It is the same code as Bazel 1.2.0, except that we rebuild the macOS release
1784binaries with Xcode 10.2.1 to make them backwards compatible with older macOS
1785versions again.
1786
Bazel Release Systemef69db82019-11-20 16:01:18 +01001787## Release 1.2.0 (2019-11-20)
1788
1789```
1790Baseline: 11deef7582dfeec7a04ee3f7236393d9b8027367
1791
1792Cherry picks:
1793
1794 + c76c3e539c73ecf6e96e3e098be7be59e17bf276:
1795 Replace macOS CC path with relative path
1796 + 63332eb556fadfe9edd0806add79942482adddef:
1797 Hardcode path to dirname on macOS
1798 + ceadf0a063cb97c32aced143d2447781d1dafc38:
1799 Add tool executables (from FilesToRunProvider) to action inputs.
1800 + dbe63b00954a25fa4405f7cbf273df78c16498dd:
1801 Fix some of the bazel Windows tools code to work with GCC.
1802```
1803
1804Incompatible changes:
1805
1806 - Tree artifacts and regular artifact paths can no longer overlap.
1807
1808New features:
1809
1810 - Added a special "_validation" output group to enable moving
1811 "validation actions" off the critical path of builds.
1812
1813Important changes:
1814
1815 - The query flag "--host_deps" (commonly used as "--nohost_deps")
1816 has been renamed to "--tool_deps", and now also removes
1817 dependencies in any execution configuration from being reported
1818 in the query output. The previous flag name is deprecated and
1819 will be removed in a future release.
1820 - The `cc_common.{compile,link}` APIs can now be used without
1821 passing the `--experimental_cc_skylark_api_enabled_packages` flag.
1822 - A list of log paths will be provided in build output.
1823 - Improve runfiles documentation.
1824 - Improve documentation on rule outputs.
1825 - BUILD/.bzl execution errors cause execution to stop, even at
1826 top-level
1827 - Multiple Starlark validation errors are reported in a single pass.
1828 - Introduce --experimental_nested_set_as_skykey_threshold
1829 - Blaze will prevent idle sleep during test and build actions. Note
1830 that this does not affect screen savers and will not keep a
1831 laptop awake if the user forces sleep or closes the lid. This is
1832 purely to avoid idle sleeping when the user is not interacting
1833 with the device.
1834 - Improve testing docs.
1835 - Incompatible flag
1836 `--incompatible_validate_top_level_header_inclusions` has been
1837 added. See https://github.com/bazelbuild/bazel/issues/10047 for
1838 details.
1839 - Fix an aquery bug with handling malformed queries that crashes
1840 bazel.
1841 - List fields on CcLinkingOutputs.
1842 - [Python] Added flag --incomaptible_default_to_explicit_init_py to
1843 switch the default value of legacy_create_init to True. With this
1844 flag enabled, your py_binary and py_test targets will no longer
1845 behave as if empty __init__.py files were implicitly littered in
1846 your runfiles tree. See
1847 [#10076](https://github.com/bazelbuild/bazel/issues/10076).
1848 - Fix documentation on allowed target names.
1849 - --target_platform_fallback now also applies to exec/host
1850 configurations
1851 - android_binary and android_libary can now depend on targets
1852 providing
1853 CcInfos.
1854 - Add support for tracking suspensions (sleeps or SIGSTOP) on macOS.
1855 - d8 dexers (both standalone and incremental) are now available for
1856 use.
1857 - Add Desugar support for FreezePeriod#<init>
1858
1859This release contains contributions from many people at Google, as well as Alex Kirchhoff, Andrew Suffield, Asaf Flescher, Austin Schuh, Benjamin Peterson, Bor Kae Hwang, Brian Richardson, Christy Norman, Clint Harrison, Dan Halperin, Daniel Martn, Dave Lee, David Neil, David Ostrovsky, George Gensure, Greg Estren, Greg, Ira Shikhman, Jacob Parker, Jakub Bujny, John Millikin, John Millikin, Keith Smiley, Laurent Le Brun, marcohu, Marwan Tammam, Mostyn Bramley-Moore, Peter Mounce, Ruben Das, Stepan Koltsov, Thi Don, Thi, Tomasz Strejczek, Walt Panfil, Yannic Bonenberger, Zackary Lowery.
1860
Bazel Release Systemf15bfb32019-10-21 12:49:43 +02001861## Release 1.0.1 (2019-10-21)
Bazel Release Systeme693c192019-10-21 10:40:19 +02001862
1863```
Bazel Release Systemf15bfb32019-10-21 12:49:43 +02001864Baseline: 97a82646dadd93bf52d47828bda42e3383b657c6
Bazel Release Systeme693c192019-10-21 10:40:19 +02001865
1866Cherry picks:
1867
Bazel Release Systemf15bfb32019-10-21 12:49:43 +02001868 + a0e3bb207fe2044120a2555a37162ee1f2b17500:
1869 Remove support for authentication and .netrc
1870 + ada2c55dcc106cd55bafbbe5d9a966e21e4770e0:
1871 Add explicit --sdk argument to xcrun calls
1872 + 847df729528f6e5919ec8374247eadf792cba544:
1873 toolchain_vanilla: Unset source and target language level
1874 versions
1875 + 5cfa0303d6ac3b5bd031ff60272ce80a704af8c2:
1876 Update java_tools version to javac11-v5.1.
1877 + 9c257df5b9b1de5459fc066e77c435ae085957a7:
1878 Release 1.0.0 (2019-10-10)
1879 + f7a31b30f5319639c36a6c6b1c14f358597d98d2:
1880 Prevent action-cache duplicate suppression
1881 + 618e5a28f7f735c37724377b15775a4975349c74:
1882 Use FileSystemUtils.moveFile instead of renameTo function of Path
Bazel Release Systeme693c192019-10-21 10:40:19 +02001883```
1884
Bazel Release Systemf15bfb32019-10-21 12:49:43 +02001885This release contains contributions from many people at Google, as well as David Ostrovsky, George Gensure, Keith Smiley.
Bazel Release Systeme693c192019-10-21 10:40:19 +02001886
Bazel Release Systemb9067c42019-10-10 11:55:50 +02001887## Release 1.0.0 (2019-10-10)
Bazel Release System4f9cd082019-09-10 09:39:08 -04001888
1889```
Bazel Release Systemb9067c42019-10-10 11:55:50 +02001890Baseline: 97a82646dadd93bf52d47828bda42e3383b657c6
Bazel Release System4f9cd082019-09-10 09:39:08 -04001891
1892Cherry picks:
1893
Bazel Release System4f9cd082019-09-10 09:39:08 -04001894 + a0e3bb207fe2044120a2555a37162ee1f2b17500:
1895 Remove support for authentication and .netrc
Bazel Release Systemb9067c42019-10-10 11:55:50 +02001896 + ada2c55dcc106cd55bafbbe5d9a966e21e4770e0:
1897 Add explicit --sdk argument to xcrun calls
1898 + 847df729528f6e5919ec8374247eadf792cba544:
1899 toolchain_vanilla: Unset source and target language level
1900 versions
1901 + 5cfa0303d6ac3b5bd031ff60272ce80a704af8c2:
1902 Update java_tools version to javac11-v5.1.
Bazel Release System4f9cd082019-09-10 09:39:08 -04001903```
1904
Bazel Release Systemb9067c42019-10-10 11:55:50 +02001905Incompatible changes:
1906
1907 - Python, Windows: the
1908 --[no]incompatible_windows_escape_python_args is no longer
1909 supported. (It was flipped to true in Bazel 0.27.0)
1910 - --incompatible_use_native_patch is enabled by default
1911 - Windows: --incompatible_windows_bashless_run_command is now true
1912 by default, meaning "bazel run //foo:bin" will run the binary as
1913 a subprocess of the Bazel client. (When the flag is false, the
1914 binary is executed as a subprocess of Bash.)
1915 - Windows: --incompatible_windows_native_test_wrapper is enabled by
1916 default
1917
1918New features:
1919
1920 - Genrule now supports `cmd_bash`, `cmd_ps`, `cmd_bat` attributes.
1921 More details at
1922 https://docs.bazel.build/versions/master/be/general.html#genrule.c
1923 md
1924 - config_setting can now check multiple values on "--foo=firstVal
1925 --foo=secondVal ..."-style flags
1926 - tags: use `--experimental_allow_tags_propagation` flag to
1927 propagate tags to the action's execution requirements from
1928 targets. Such tags should start with: `no-`, `requires-`,
1929 `supports-`, `block-`, `disable-`, `cpu:`. See #8830 for details.
1930 - Users can now get generated def file from cc_library via
1931 "def_file" output group on Windows.
1932 - Platform-specific bazelrc: with --enable_platform_specific_config
1933 you can
1934 enable flags in bazelrc according to your host platform.
1935 - tags: use `--experimental_allow_tags_propagation` flag to
1936 propagate tags to the action's execution requirements from
1937 cc_library or cc_binary targets. Such tags should start with:
1938 `no-`, `requires-`, `supports-`, `block-`, `disable-`, `cpu:`.
1939 See #8830 for details.
1940 - tags: use --experimental_allow_tags_propagation flag to propagate
1941 tags to the action's execution requirements from java targets.
1942 Such tags should start with: no-, requires-, supports-, block-,
1943 disable-, cpu:. See #8830 for details.
1944
1945Important changes:
1946
1947 - Bazel Android builds now use aapt2 by default. To revert to aapt,
1948 set `--android_aapt=aapt`.
1949 - Make either --subcommands or --verbose_failures imply
1950 --materialize_param_files
1951 - Bazel Android builds now use aapt2 by default. To revert to aapt,
1952 set `--an...
1953 RELNOTES: None
1954 - by default all remote connections considered to be via `gRPC`
1955 with TLS enabled, unless other specified. To disable TLS use
1956 `grpc://` prefix for you endpoints. All remote connections via
1957 `gRPC` affected - `--remote_cache`, `--remote_executor` or
1958 `--bes_backend`. http cache/executor is not affected. See #8061
1959 for details.
1960 - cc_* rules support non-transitive defines through a
1961 'local_defines' attribute.
1962 - Enable
1963 incompatible_disallow_rule_execution_platform_constraints_allowed
1964 by default (https://github.com/bazelbuild/bazel/issues/8136).
1965 - incompatible_disallow_split_empty_separator is enabled by default
1966 - Fixed Android build issues with aapt2 on Windows. See the [GitHub
1967 issue](https://github.com/bazelbuild/bazel/issues/9102) for more
1968 information.
1969 - --incompatible_disable_static_cc_toolchains has been flipped. See
1970 https://github.com/bazelbuild/bazel/issues/8546.
1971 - --remote_default_platform_properties has been deprecated in favor
1972 of --remote_default_exec_properties.
1973 - The --incompatible_make_thinlto_command_lines_standalone flag has
1974 been flipped, see https://github.com/bazelbuild/bazel/issues/6791
1975 for more information.
1976 - The --incompatible_use_specific_tool_files flag has been flipped.
1977 See https://github.com/bazelbuild/bazel/pull/9126 for more
1978 information.
1979 - Clarify default visibility.
1980 - Enables incompatible_auto_configure_host_platform
1981 - New incompatible flag --incompatible_disable_depset_items
1982 disables the "items" parameter in the Starlark depset
1983 constructor. Use "direct" and "transitive" parameters instead.
1984 - --incompatible_assignment_identifiers_have_local_scope is enabled
1985 - incompatible_disable_partition_default_parameter is enabled by
1986 default ()
1987 - incompatible_restrict_attribute_names is enabled
1988 (https://github.com/bazelbuild/bazel/issues/6437)
1989 - The --incompatible_disable_nocopts flag has been flipped. See
1990 https://github.com/bazelbuild/bazel/issues/8546 for more
1991 information.
1992 - Deprecated Java-Starlark API java_common.create_provider is
1993 removed. JavaInfo() legacy args (actions, sources, source_jars,
1994 use_ijar, java_toolchain, host_javabase) are removed.
1995 - The flag incompatible_disallow_hashing_frozen_mutables is enabled
1996 (https://github.com/bazelbuild/bazel/issues/7800)
1997 - `maven_jar` and `maven_server` now disallow using plain HTTP URLs
1998 without a specified checksum. If you are still using `maven_jar`,
1999 consider migrating to
2000 [`rules_jvm_external`](https://github.com/bazelbuild/rules_jvm_ext
2001 ernal) for transitive dependency management. See
2002 [#8607](https://github.com/bazelbuild/bazel/issues/8607) for more
2003 information.
2004 - Added `sha256` and `sha256_src` attributes to `maven_jar`. Please
2005 consider migrating to SHA-256 as SHA-1 has been deemed
2006 cryptographically insecure ([https://shattered.io]()). Or, use
2007 [`rules_jvm_external`](https://github.com/bazelbuild/rules_jvm_ext
2008 ernal) to manage your transitive Maven dependencies with artifact
2009 pinning and SHA-256 verification support.
2010 - introducing per-target exec_properties
2011 - Bazel now supports ThinLTO builds on Linux for Clang versions >=
2012 6.0. ThinLTO can be enabled through --features=thin_lto
2013 - The Target.output_group field in Starlark is removed. Use
2014 OutputGroupInfo instead. See
2015 https://github.com/bazelbuild/bazel/issues/7949 for details.
2016 - Make a number of parameters of Starlark builtin functions
2017 positional-only (as opposed to specifiable by keyword). See
2018 https://github.com/bazelbuild/bazel/issues/8147 for details.
2019 - incompatible_skip_genfiles_symlink is enabled by default (#8651)
2020 - Change Pruned events will fire immediately after being checked.
2021 - --incompatible_remove_legacy_whole_archive has been flipped. See
2022 https://github.com/bazelbuild/bazel/issues/7362 for more
2023 information
2024
2025This release contains contributions from many people at Google, as well as Adam Liddell, Alessandro Patti, Arshabh Kumar Agarwal, Artem Pelenitsyn, Artem Zinnatullin, Benjamin Peterson, David Ostrovsky, Emmanuel Goh, Farhim Ferdous, George Gensure, iirina, Keith Smiley, Kiril Videlov, Laurent Le Brun, Mantas Sakalauskas, Marwan Tammam, Matt Mukerjee, panzhongxian, Shachar Anchelovich, Stepan Koltsov, Stephan Wolski, Travis Clarke, Yannic Bonenberger, Yuta Saito.
Bazel Release System4f9cd082019-09-10 09:39:08 -04002026
Bazel Release Systemf791df02019-08-28 10:29:12 -04002027## Release 0.29.0 (2019-08-28)
2028
2029```
2030Baseline: 6c5ef5369a3ffceb8a65cc159a2fff1401242810
2031
2032Cherry picks:
2033
2034 + 338829f2633e91ae0492ee4169446465e10b5994:
2035 Fix retrying of SocketTimeoutExceptions in HttpConnector
2036 + 14651cd86b6fc1d48f56a208a9b5278b3e2dcf75:
2037 Fallback to next urls if download fails in HttpDownloader
2038 + b7d300c6be3e130dec0e62a4f19493105f595d57:
2039 Fix incorrect stdout/stderr in remote action cache. Fixes #9072
2040 + 960217631abdcab0a7ed95e2ab10acd55f636639:
2041 Automated rollback of commit
2042 0f0a0d58725603cf2f1c175963360b525718a195.
2043 + da557f96c697102ad787e57bbf7db2460f6a60a8:
2044 Windows: fix "bazel run" argument quoting
2045 + ef8b6f68cc8ffd2e6523a894034ae383e87ec74c:
2046 Return JavaInfo from java proto aspects.
2047 + 209175ff8ffeb05628ed8a187dd414a3d2935c55:
2048 Revert back to the old behavior of not creating a proto source
2049 root for generated .proto files.
2050 + 644060b7a4bc98384b66e3d2343b950b875b5e35:
2051 Fix PatchUtil for parsing special patch format
2052 + 067040d7bcb3b24a88432e210a96adacee3f37b4:
2053 Put the removal of the legacy repository-relative proto path
2054 behind the --incompatible_generated_protos_in_virtual_imports
2055 flag.
2056 + 76ed014e77d7b862f6eb2894600ae525ea570f11:
2057 repository mapping lookup: convert to canonical name first
2058```
2059
2060Important changes:
2061
2062 - rule_test: fix Bazel 0.27 regression ("tags" attribute was
2063 ingored, https://github.com/bazelbuild/bazel/issues/8723
2064 - Adds --incompatible_enable_execution_transition, which enables
2065 incremental migration of host attributes to exec attributes.
2066 - objc_proto_library rule has been deleted from Bazel.
2067 - repository_ctx.read is no longer restricted to files
2068 in the repository contructed.
2069 - tags 'no-remote', 'no-cache', 'no-remote-cache',
2070 'no-remote-exec', 'no-sandbox' are propagated now to the actions
2071 from targets when '--ncompatible_allow_tags_propagation' flag set
2072 to true. See #8830.
2073 - Adds flag
2074 --//tools/build_defs/pkg:incompatible_no_build_defs_pkg. This
2075 flag turns off the rules //tools/build_defs/pkg:{pkg_deb,
2076 pkg_rpm, pkg_tar}.
2077 - The Android NDK is now integrated with toolchains. To use them,
2078 pass the `--extra_toolchains=@androidndk//:all` flag or register
2079 them in your WORKSPACE with
2080 `register_toolchains("@androidndk//:all")`.
2081 - Stdout and stderr are checked to determine if output is going to a
2082 terminal. `--is_stderr_atty` is deprecated and `--isatty` is
2083 undeprecated.
2084 - --incompatible_load_proto_rules_from_bzl was added to forbid
2085 loading the native proto rules directly. See more on tracking
2086 issue #8922
2087 - Docker Sandbox now respects remote_default_platform_properties
2088 - pkg_deb, pkg_rpm & pkg_tar deprecation plan announced in the
2089 documentation.
2090 - The new java_tools release:
2091 * fixes https://github.com/bazelbuild/bazel/issues/8614
2092 * exposes a new toolchain `@java_tools//:prebuilt_toolchain`
2093 which is using all the pre-built tools, including singlejar and
2094 ijar, even on remote execution. This toolchain should be used
2095 only when host and execution platform are the same, otherwise the
2096 binaries will not work on the execution platform.
2097 - java_common.compile supports specifying
2098 annotation_processor_additional_inputs and
2099 annotation_processor_additional_outputs for the Java compilation
2100 action for supporting annotation processors that consume or
2101 produce artifacts. Fixes #6415
2102 - There is now documentation on optimizing Android app build
2103 performance. Read it at
2104 https://docs.bazel.build/versions/0.29.0/android-build-performance
2105 .html
2106 - Execution log now respects --remote_default_platform_properties
2107 - Include a link to the relevant documenation on transitive Python
2108 version errors.
2109 - New incompatible flag
2110 --incompatible_disable_target_provider_fields removes the ability
2111 (in Starlark) to access a target's providers via the field syntax
2112 (for example, `ctx.attr.dep.my_provider`). The provider-key
2113 syntax should be used instead (for example,
2114 `ctx.attr.dep[MyProvider]`). See
2115 https://github.com/bazelbuild/bazel/issues/9014 for details.
2116 - A new platform exec_properties is added to replace
2117 remote_execution_properties.
2118 - Added --incompatible_load_python_rules_from_bzl, which will be
2119 flipped in Bazel 1.0. See
2120 https://github.com/bazelbuild/bazel/issues/9006.
2121 - add --break_build_on_parallel_dex2oat_failure to shortcut tests
2122 on dex2oat errors
2123
2124This release contains contributions from many people at Google, as well as Alexander Ilyin, Arek Sredzki, Artem Zinnatullin, Benjamin Peterson, Fan Wu, John Millikin, Loo Rong Jie, Marwan Tammam, Oscar Bonilla, Peter Mounce, Sergio Rodriguez Orellana, Takeo Sawada, and Yannic Bonenberger.
2125
Bazel Release System3fd8c412019-07-19 17:14:15 +02002126## Release 0.28.1 (2019-07-19)
2127
2128```
2129Baseline: 2e374a9c6e3d4ed71f0145de287c4b2fe43c76d6
2130
2131Cherry picks:
2132
2133 + 6d0b14b95a71175362030b4811ca74512b00a890:
2134 rule_test: apply "tags" to all rules in the macro
2135 + 18cd9048526f067a4950c6ddbf4b1b3604760af0:
2136 Release 0.28.0 (2019-07-10)
2137 + 2260b970cb2a10c21a2fde116aa82c79be52991f:
2138 When copying dynamic libraries to binary, copy them into the
2139 runfiles as well.
2140 + a0af170f87c8230fcd8860599b983df097b646bd:
2141 Undo breaking change of hiding android_common behind
2142 --experimental_google_legacy_api
2143 + c6ca6c2ccd9e11a87f837341ae05d2ba037975b1:
2144 Ignore external/ directory in users' source tree when creating
2145 execroot symlink tree.
2146```
2147
2148Important changes:
2149
2150 - rule_test: fix Bazel 0.27 regression ("tags" attribute was
2151 ingored, https://github.com/bazelbuild/bazel/issues/8723
2152
2153This release contains contributions from many people at Google, as well as .
2154
Bazel Release Systemf4a08032019-07-10 18:11:04 +02002155## Release 0.28.0 (2019-07-10)
Bazel Release System7e809492019-07-10 17:50:43 +02002156
2157```
Bazel Release Systemf4a08032019-07-10 18:11:04 +02002158Baseline: 2e374a9c6e3d4ed71f0145de287c4b2fe43c76d6
Bazel Release System7e809492019-07-10 17:50:43 +02002159
2160Cherry picks:
2161
Bazel Release System7e809492019-07-10 17:50:43 +02002162 + 6d0b14b95a71175362030b4811ca74512b00a890:
2163 rule_test: apply "tags" to all rules in the macro
2164```
2165
Bazel Release Systemf4a08032019-07-10 18:11:04 +02002166Incompatible changes:
2167
2168 - Add --incompatible_enable_profile_by_default to enable the JSON
2169 profile by default.
2170 - The --incompatible_windows_style_arg_escaping flag is flipped to
2171 "true", and the "false" case unsupported. Bazel no longer accepts
2172 this flag.
2173
Bazel Release System7e809492019-07-10 17:50:43 +02002174Important changes:
2175
Bazel Release Systemf4a08032019-07-10 18:11:04 +02002176 - Bazel now supports hiding compiler warnings for targets that
2177 you're not explicitly building (see
2178 https://docs.bazel.build/versions/master/user-manual.html#flag--au
2179 to_output_filter).
2180 - Flag `--incompatible_restrict_escape_sequences` is added. See
2181 https://github.com/bazelbuild/bazel/issues/8380
2182 - The "info" command now supports the "starlark-semantics"
2183 argument, which outputs a representation of the effective Starlark
2184 semantics option values.
2185 - The `outputs` parameter of the `rule()` function is deprecated
2186 and attached to flag `--incompatible_no_rule_outputs_param`.
2187 Migrate rules to use `OutputGroupInfo` or `attr.output` instead.
2188 See https://github.com/bazelbuild/bazel/issues/7977 for more info.
Bazel Release System7e809492019-07-10 17:50:43 +02002189 - When `--incompatible_strict_action_env` is enabled, the default
2190 `PATH` now includes `/usr/local/bin`.
2191 - Turn on --experimental_build_setting_api by default for starlark
2192 build settings (see
2193 https://docs.bazel.build/versions/master/skylark/config.html#user-
2194 defined-build-settings for more info)
Bazel Release Systemf4a08032019-07-10 18:11:04 +02002195 - `@bazel_tools//tools/jdk:toolchain_java10` and
2196 `@bazel_tools//tools/jdk:toolchain_java11` are now available to
2197 enable java 10, respectively java 11 language level support.
2198 - The `command` parameter of the `actions.run_shell()` function
2199 will be restricted to only accept strings (and not string
2200 sequences). This check is attached to flag
2201 `--incompatible_run_shell_command_string`. One may migrate by
2202 using the `arguments` parameter of `actions.run()` instead. See
2203 https://github.com/bazelbuild/bazel/issues/5903 for more info.
2204 - Incompatible change
2205 `--incompatible_use_platforms_repo_for_constraints` has been
2206 added. See https://github.com/bazelbuild/bazel/issues/8622 for
2207 details.
2208 - Incompatible change
2209 `--incompatible_use_platforms_repo_for_constraints` has been
2210 added. See https://github.com/bazelbuild/bazel/issues/8622 f...
2211 - Bazel's C++ autoconfiguration now understands `BAZEL_LINKLIBS`
2212 environment variable to specify system libraries that should be
2213 appended to the link command line.
2214 - paths under the execution root starting with "." or "_" will be
2215 re-linked across builds
2216 - execution_log_json_file now allows actions without outputs.
2217 - Labels aapt as deprecated for aapt_version, and heavily endorses
2218 aapt2.
2219 - Update doc links still pointing to cc_binary.features to point to
2220 common features
2221 - Incompatible change
2222 `--incompatible_use_platforms_repo_for_constraints` has been
2223 added. See https://github.com/bazelbuild/bazel/issues/8622 for
2224 details.
2225 RELNOTES:
2226 - --incompatible_disable_nocopts flag has been added. See
2227 https://github.com/bazelbuild/bazel/issues/8706 for details.
2228 - Fixed treatment of <dist:module /> tags in AndroidManifest.xml
2229 - Fixed asset precedence for android_binary rules with aapt2.
2230 - Bazel now officially supports running on CentOS 7.
2231 - The runtime dynamic libraries are no longer in default output
2232 group of cc_binary.
2233 - set the FDOBuildType as CSFDO for binaries built with
2234 --cs_fdo_absolute_path.
2235 - Bazel can now be bootstrapped and built on arm64 platforms
2236 without requiring any flags or patches.
2237 - Fixed treatment of AndroidManifest.xml attributes which contained
2238 XML escaping
2239 - Retire experimental blaze flag
2240 experimental_link_compile_output_separately. The same behavior is
2241 available through the feature dynamic_link_test_srcs.
2242 - --incompatible_load_java_rules_from_bzl was added to forbid
2243 loading the native java rules directly. See more on tracking
2244 issue #8746
2245 - Turn on --experimental_build_setting_api by default for starlark
2246 build settings (see
2247 https://docs.bazel.build/versions/master/skylark/config.html#user-
2248 defined-build-settings for more info)
2249 - Attribute names are going to be restricted and must be
2250 syntactically valid identifiers.
2251 https://github.com/bazelbuild/bazel/issues/6437
Bazel Release System7e809492019-07-10 17:50:43 +02002252 - rule_test: fix Bazel 0.27 regression ("tags" attribute was
2253 ingored, https://github.com/bazelbuild/bazel/issues/8723
2254
Bazel Release Systemf4a08032019-07-10 18:11:04 +02002255This release contains contributions from many people at Google, as well as Ben Diuguid, Benjamin Peterson, Dave Lee, Loo Rong Jie, Mark Butcher, Marwan Tammam, Pedro Alvarez.
Bazel Release System7e809492019-07-10 17:50:43 +02002256
Bazel Release System316cb9b2019-07-02 19:45:51 +02002257## Release 0.27.1 (2019-07-02)
2258
2259```
2260Baseline: 8c3b3fba3f68833bd97d3df2db9c48f0539efc3b
2261
2262Cherry picks:
2263
2264 + 123c68daed17b19927372e4df7f7a2256db6b80e:
2265 Warn in more cases of possible Python version mismatch in host
2266 config
2267 + 052167e907373ac7ea43238c3049739f6e94a9d1:
2268 Add a non-strict autodetecting Python toolchain
2269 + 6ef6d879ab69225d54ecab3db847fb4eff33bbeb:
2270 Default java toolchain target
2271 + 50fa3ec27efdd95771c70faa38a4543d4fed44f2:
2272 Fix problems with the non-strict Python toolchain
2273 + e2a626c4f61fe4ceb79a5675d09a6f25ca7b5b22:
2274 Automated rollback of commit
2275 bc6f7cb330bb531f062bb301f3703876051191f5.
2276 + 6efc5b787ad3164cc2fb779c73377695032b4524:
2277 Treat existence of managed directories as a part of repository
2278 dirtiness.
2279 + 3a4be3c93813987a27a97dade3f9ebbc5770e349:
2280 Add /usr/local/bin to default PATH under strict action env
2281 + 5c1005c0947b010ee36ca851b8ba07c9479cf682:
2282 Automated rollback of commit
2283 536a166270590a8dbc701718550383f3a07cc763.
2284 + c82eb4878c7dc829455caeb915affe36c89df06f:
2285 Release 0.27.0 (2019-06-17)
2286 + d4589630428c1c1bc08a9baf36257e636fe9d746:
2287 Check for both :lcov_merger and $lcov_merger attributes in
2288 TestActionBuilder.
2289```
2290
2291Important changes:
2292
2293 - Add new options --cs_fdo_absolute_path= to support the absolute
2294 path
2295 profile for LLVM's context-sensitive FDO.
2296 - When `--incompatible_strict_action_env` is enabled, the default
2297 `PATH` now includes `/usr/local/bin`.
2298 - Turn on --experimental_build_setting_api by default for starlark
2299 build settings (see
2300 https://docs.bazel.build/versions/master/skylark/config.html#user-
2301 defined-build-settings for more info)
2302
2303This release contains contributions from many people at Google, as well as Ricky Pai.
2304
Bazel Release Systemaecb1e82019-06-17 14:57:36 +02002305## Release 0.27.0 (2019-06-17)
Bazel Release Systeme6976fb2019-06-06 13:01:57 +02002306
2307```
Bazel Release Systemaecb1e82019-06-17 14:57:36 +02002308Baseline: 5935259724bebd1c4bdebc90e159d0f655c8c219
Bazel Release Systeme6976fb2019-06-06 13:01:57 +02002309
2310Cherry picks:
2311
Bazel Release Systemaecb1e82019-06-17 14:57:36 +02002312 + fe81b49e727efdcc90a270520af193af75f4e31d:
2313 Support of using the absolute path profile for LLVM's Context
2314 Sensitive FDO
2315 + ce5e7180d98e1244fdfba0349952727826cbd173:
2316 Demote OptionProcessor from globals
2317 + 3ed9d3681c3e130aafcf3c405ff1795c601bdf95:
2318 Properly wire up BES half-close. The lack thereof was a simple
2319 oversight.
2320 + 4ca768e9f87701fb92598d0a8325a5fc8881a852:
2321 standardize graph output indentation with 2 spaces
2322 + aff189a7c514a0171a53a2dcdd37c93ecaa672ad:
2323 Make sure default Linux artifacts have an associated action,
2324 even when artifact names are altered.
2325 + 8c3b3fba3f68833bd97d3df2db9c48f0539efc3b:
2326 Failures early in package loading will now fail all --keep_going
2327 builds.
2328 + 123c68daed17b19927372e4df7f7a2256db6b80e:
2329 Warn in more cases of possible Python version mismatch in host
2330 config
2331 + 052167e907373ac7ea43238c3049739f6e94a9d1:
2332 Add a non-strict autodetecting Python toolchain
2333 + 6ef6d879ab69225d54ecab3db847fb4eff33bbeb:
2334 Default java toolchain target
2335 + 50fa3ec27efdd95771c70faa38a4543d4fed44f2:
2336 Fix problems with the non-strict Python toolchain
2337 + e2a626c4f61fe4ceb79a5675d09a6f25ca7b5b22:
2338 Automated rollback of commit
2339 bc6f7cb330bb531f062bb301f3703876051191f5.
2340 + 6efc5b787ad3164cc2fb779c73377695032b4524:
2341 Treat existence of managed directories as a part of repository
2342 dirtiness.
2343 + 3a4be3c93813987a27a97dade3f9ebbc5770e349:
2344 Add /usr/local/bin to default PATH under strict action env
2345 + 5c1005c0947b010ee36ca851b8ba07c9479cf682:
2346 Automated rollback of commit
2347 536a166270590a8dbc701718550383f3a07cc763.
Bazel Release Systeme6976fb2019-06-06 13:01:57 +02002348```
2349
Bazel Release Systemaecb1e82019-06-17 14:57:36 +02002350Incompatible changes:
2351
2352 - --incompatible_disable_objc_provider_resources no longer has
2353 effect. Use of deprecated resource fields on the Objc provider is
2354 now disallowed regardless of this flag.
2355 - deleted deprecated --experimental-remote-retry* flags, please use
2356 --remote_retries instead
2357 - flipped --incompatible_list_based_execution_strategy_selection
2358 flag to be true by default. See
2359 https://github.com/bazelbuild/bazel/issues/7480 for details.
2360 - Octal integer literals in Starlark are required to start with
2361 "Oo".
2362 - The "native" module is no longer available in BUILD files, all
2363 its members can be accessed directly as global symbols. This can
2364 be temporarily reverted by providing
2365 --incompatible_disallow_native_in_build_file=false as a flag to
2366 Blaze.
2367 - The "native" module is no longer available in BUILD files, all
2368 its members can be accessed directly as global symbols. This can
2369 be temporarily reverted by providing
2370 --incompatible_disallow_native_in_build_file=false as a flag to
2371 Blaze.
2372 - Turn off binary style profile format.
2373 - The "native" module is no longer available in BUILD files, all
2374 its members can be accessed directly as global symbols. This can
2375 be temporarily reverted by providing
2376 --incompatible_disallow_native_in_build_f...
2377 - cleanup that affects user provided apple frameworks is
2378 now enabled by default. See
2379 https://github.com/bazelbuild/bazel/issues/7944 for more info.
2380 - Python rules now determine the Python runtime using toolchains
2381 rather than `--python_top` and `--python_path`, which are
2382 deprecated. See
2383 [#7899](https://github.com/bazelbuild/bazel/issues/7899) for
2384 information on declaring Python toolchains and migrating your
2385 code. As a side-benefit, this addresses
2386 [#4815](https://github.com/bazelbuild/bazel/issues/4815)
2387 (incorrect interpreter version used) on non-Windows platforms.
2388 Note however that some builds break due to getting the version
2389 they asked for -- consider setting `python_version = "PY2"` on
2390 Python 2 targets and `--host_force_python=PY2` if any Python 2
2391 targets are used in the host configuration. You can temporarily
2392 opt out of this change with
2393 `--incompatible_use_python_toolchains=false`.
2394 - Depsets can't be iterated over unless they're converted to lists
2395 using the .to_list() method. Use
2396 --incompatible_depset_is_not_iterable=false to
2397 temporarily restore the previous behaviour.
2398
2399New features:
2400
2401 - Bash, runfiles: the copy-pasted init code of the Bash runfiles
2402 library is now shorter, see `tools/bash/runfiles/runfiles.bash`.
2403 The rlocation() implementation is the same.
2404 - Bash, runfiles: the copy-pasted init code of the Bash runfiles
2405 library is now shorter, see `tools/bash/runfiles/runfiles.bash`.
2406 The rlocation() implementation is the same.
2407 - Bash, runfiles: the copy-pasted init code of the Bash runfiles
2408 library is now shorter, see `tools/bash/runfiles/runfiles.bash`.
2409 To use the new init code, you need Bazel 0.27 or newer. The old
2410 (longer) init code still works.
2411
2412Important changes:
2413
2414 - The `outputs` parameter of the `rule()` function is deprecated
2415 and attached to flag `--incompatible_no_rule_outputs_param`.
2416 Migrate rules to use `OutputGroupInfo` or `attr.output` instead.
2417 See https://github.com/bazelbuild/bazel/issues/7977 for more info.
2418 - The --incompatible_disable_objc_library_resources flag is being
2419 removed. Please remove it from your configs as it otherwise will
2420 fail the build.
2421 - Add a generic additional_linker_inputs attribute on cc_binary
2422 rules.
2423 - Windows, C++ autoconfigure: BAZEL_VC and BAZEL_VS may now have
2424 quotes, so if you set these envvars' values in cmd.exe via
2425 TAB-completion then you no longer need to remove the surrounding
2426 quotes.
2427 - pkg_deb has new attributes: `config` and `templates` that can be
2428 used for integration with debconf
2429 - Allow cc_import() of a DLL with no interface library on Windows,
2430 used to document runtime dependencies.
2431 - All host-configured Python tools that are built for the wrong
2432 Python version will now emit a warning message when they exit
2433 with non-zero status. See #7899.
2434 - deprecated --remote_local_fallback_strategy. Use
2435 `--strategy=remote,local` instead. See
2436 https://github.com/bazelbuild/bazel/issues/7480.
2437 - Introduce --incompatible_disable_native_android_rules flag
2438 - The Android desugaring actions now support a persistent worker
2439 mode for faster local build performance. Enable it with
2440 `--strategy=Desugar=worker`.
2441 - --incompatible_static_name_resolution_in_build_files is now
2442 enabled by default
2443 - --incompatible_disable_deprecated_attr_params is now enabled by
2444 default (#5818)
2445 - Repository containing autoconfigured C++ toolchain
2446 `@local_config_cc` has been split in 2 - see
2447 `local_config_cc_toolchains`.
2448 - --incompatible_string_join_requires_strings is now enabled by
2449 default
2450 - Flag --incompatible_new_actions_api is enabled by dewfault (#5825)
2451 - New flag `--incompatible_disallow_empty_glob`. See
2452 https://github.com/bazelbuild/bazel/issues/8195
2453 - --incompatible_no_kwargs_in_build_files is enabled by default
2454 - Incompatible flag
2455 `--incompatible_require_ctx_in_configure_features` has been
2456 flipped. See https://github.com/bazelbuild/bazel/issues/7793 for
2457 more information.
2458 - `BAZEL_USE_XCODE_TOOLCHAIN=1` tells Bazel not to look for Xcode to
2459 decide whether to enable toolchains for Apple rules, but to
2460 assume Xcode is
2461 available. Can be also used when building on Darwin and no C++ or
2462 ObjC is being
2463 built, so there is no need to detect Xcode.
2464 - Android desugaring actions now use persistent workers by default.
2465 This has been measured to provide up to 20% reduction in build
2466 times. To disable it, use the `--strategy=Desugar=sandboxed`
2467 flag. See https://github.com/bazelbuild/bazel/issues/8342 and
2468 https://github.com/bazelbuild/bazel/issues/8427 for more details
2469 on local build speed optimization for Android apps.
2470 - Fixed an issue with Android builds where `--fat_apk_cpu` doesn't
2471 pack all selected shared libraries from `aar_import` targets into
2472 the APK. See
2473 [#8283](https://github.com/bazelbuild/bazel/issues/8283).
2474 - Turn on --experimental_starlark_config_transitions by default for
2475 starlark transitions (see
2476 https://docs.bazel.build/versions/master/skylark/config.html#user-
2477 defined-transitions for more info)
2478 - Turn on --experimental_build_setting_api by default for starlark
2479 build settings (see
2480 https://docs.bazel.build/versions/master/skylark/config.html#user-
2481 defined-build-settings for more info)
2482 - Incompatible flag
2483 `--incompatible_dont_enable_host_nonhost_crosstool_features` has
2484 been flipped. See https://github.com/bazelbuild/bazel/issues/7407
2485 for more information.
2486 - Added support for Android NDK 19 and 20.
2487 - Flip --incompatible_no_support_tools_in_action_inputs
2488 - --remote_executor, --remote_cache or --bes_backend=someurl.com
2489 would be treated as grpcs://someurl.com, if the
2490 --incompatible_tls_enabled_removed flag enabled. See
2491 https://github.com/bazelbuild/bazel/issues/8061 for details.
2492 - Add new options --cs_fdo_absolute_path= to support the absolute
2493 path
2494 profile for LLVM's context-sensitive FDO.
2495 - When `--incompatible_strict_action_env` is enabled, the default
2496 `PATH` now includes `/usr/local/bin`.
2497 - Turn on --experimental_build_setting_api by default for starlark
2498 build settings (see
2499 https://docs.bazel.build/versions/master/skylark/config.html#user-
2500 defined-build-settings for more info)
2501
2502This release contains contributions from many people at Google, as well as Alex Thompson, Andy Scott, Benjamin Peterson, David McNett, Drew Gassaway, Ira Shikhman, James deBoer, Jay Vercellone, Jingwen Chen, Josh Rosen, Keith Smiley, Laurent Le Brun, Lee Mracek, Marwan Tammam, Matt Passell, Michael Hackner, Michal Majcherski, Patrick Niklaus, Peter Mounce, Ricky Pai, Steeve Morin, szakmary, Takuto Ikuta, Vladimir Chebotarev, Yen-Chi Chen.
Bazel Release Systeme6976fb2019-06-06 13:01:57 +02002503
Klaus Aehligc84f7d32019-06-17 15:26:27 +02002504## Release 0.26.1 (2019-06-06)
2505
2506```
2507Baseline: cb82ed84d44db0169a8fbf15f9cee434b77002bb
2508
2509Cherry picks:
2510
2511 + d1c0d205945f5a765efb0a48593b1cd82699ce32:
2512 Allow WORKSPACE file to be a symlink if no managed directories
2513 is used.
2514 + c3d2aa74ccd23dfb8a8173c2b3e2955f0c5892cb:
2515 Fix ios, tvos and watchos arm64 constraints
2516 + 55e42052a22a60b68d88a89932b2a068311b1a95:
2517 Bump java_tools_javac10 from 3.1 to 3.2
2518```
2519
2520Patch release on top of 0.26.0, fixing
2521- https://github.com/bazelbuild/bazel/issues/8475
2522- https://github.com/bazelbuild/bazel/issues/8520
2523- https://github.com/bazelbuild/intellij/issues/845
2524
Bazel Release System8089b272019-05-28 10:31:53 +02002525## Release 0.26.0 (2019-05-28)
Bazel Release System48845c32019-05-23 15:21:53 -04002526
2527```
Bazel Release System8089b272019-05-28 10:31:53 +02002528Baseline: daa8ae565ab2023e49134f0aad233b0a8bd7a5d0
Bazel Release System48845c32019-05-23 15:21:53 -04002529
2530Cherry picks:
2531
Bazel Release System8089b272019-05-28 10:31:53 +02002532 + 61c7ffa60ae9c1937dd6d8ee30a8c0471094ee71:
2533 Automated rollback of commit
2534 87388e24814b177f54ca7697b4233489f90c587e.
2535 + 898d7b6138af73f03daf35b767d252560087de70:
2536 Add test for repository overrides, conflicting with managed
2537 directories being added when Bazel server is already started.
2538 + c2001a4569483596d9dc74ba9cabcbe4b6f1887f:
2539 Automated rollback of commit
2540 bbe47a1564a832e1a175206f2dfbc92af94c120b.
2541 + e67c961905792cd63950c6f6efc33275ad243c49:
2542 Fix a non-determinism in create_embedded_tools.py.
Bazel Release System48845c32019-05-23 15:21:53 -04002543 + 81aefe7ee01cc73646a53f9c72ed40ead09f9f5a:
2544 Remove unsupported cpu attribute from cc_toolchains.
Bazel Release System8089b272019-05-28 10:31:53 +02002545 + 597e289b097d3bfed8eea1cb0924bbeb04877e42:
2546 remote: made CombinedCache a composition of Disk and Http Cache
2547 + 942f7cf6a0da0a4ecc804615424f039e50963933:
2548 C++: Fixes bug in C++ API with external repo aspects
Bazel Release System48845c32019-05-23 15:21:53 -04002549 + 85a5a2bd569a5274950fc7327a044c395248c024:
2550 Configure @androidsdk//:emulator_x86 and :emulator_arm to point
2551 to the unified emulator binary
Bazel Release System8089b272019-05-28 10:31:53 +02002552 + 9835cb4135503768cdf1161746b95d7969ccb938:
2553 Automated rollback of commit
2554 844e4e297b404d6ff28b818d8150d4b9c47de887.
2555 + c963ba21073b514961946b8b4b45b091f08fdaa1:
2556 Windows, Python: fix arg. esc. also in host config
2557 + a1ea487e0a9e180a36fa4aab57f7c746ddcf367a:
2558 Do not pre-cache changed files under managed directories
2559 + 7dc78cdd04eedf2f4373b170053ba5fc2a990929:
2560 Add explicit execution and target constraints for autodiscovered
2561 cc t?
2562 + dd9ac13f7e3b71bdf2eca717bc7681bdd12389a2:
2563 Fix a bug when a relative path is used for the execution log
Bazel Release System48845c32019-05-23 15:21:53 -04002564 + 0ff19c6d0adf3c0df94fff59ca3bd13cbcf99897:
2565 Fix StandaloneTestStrategy.appendStderr
Bazel Release System8089b272019-05-28 10:31:53 +02002566 + 7f495315749478e75a3424726cc273a535b7c3b8:
2567 Fix the autodetecting Python toolchain on Mac
2568 + ddce7235ef29a0aba727c265eae865d15af4ed09:
2569 Avoid exporting PATH unnecessarily
2570 + 35dd05a059fa7fddfdd888cfc69102994e3c04dc:
2571 Allow Starlark rules to be able to use the `exec_compatible_with`
Bazel Release System48845c32019-05-23 15:21:53 -04002572```
2573
Klaus Aehlig63bf1152019-05-28 10:41:12 +02002574### Incompatible changes
2575
2576- [`--incompatible_windows_escape_jvm_flags`](https://github.com/bazelbuild/bazel/issues/7486)
2577 is enabled by default, and removed.
2578
2579- [`--incompatible_windows_style_arg_escaping`](https://github.com/bazelbuild/bazel/issues/7454)
2580 is enabled by default.
2581
2582- [`--incompatible_no_output_attr_default`](https://github.com/bazelbuild/bazel/issues/7950)
2583 is enabled by default.
2584
2585- [`--incompatible_depset_union`](https://github.com/bazelbuild/bazel/issues/5817)
2586 is enabled by default.
2587
2588- [`--incompatible_disable_genrule_cc_toolchain_dependency`](https://github.com/bazelbuild/bazel/issues/6867) removed
2589
2590- [`--Incompatible_disallow_rule_execution_platform_constraints_allowed`](https://github.com/bazelbuild/bazel/issues/8136):
2591 When enabled, disallows the use of the `execution_platform_constraints_allowed`
2592 attribute when defining new rules.
2593
2594- [`--incompatible_disable_objc_provider_resources`](https://github.com/bazelbuild/bazel/issues/5710)
2595 is now enabled by default.
2596
2597### Apple
2598
2599- The `--ios_multi_cpus`, `--watchos_cpus`, `--macos_cpus` and `--tvos_cpus` are
2600 now additive. This means that you can now split the `--ios_multi_cpus=arm64,armv7`
2601 into `--ios_multi_cpus=arm64` and `--ios_multi_cpus=armv7`.
2602
2603- Add `--incompatible_objc_framework_cleanup` to control whether to enable some
2604 objc framework cleanup that changes the API. Specifically, the cleanup changes
2605 the objc provider API pertaining to frameworks. This change is expected to be
2606 transparent to most users unless they write their own Starlark rules to handle
2607 frameworks. See https://github.com/bazelbuild/bazel/issues/7594 for details.
2608
2609- `objc_library` does not support resource attributes any more. Please read
2610 [#7594](https://github.com/bazelbuild/bazel/issues/7594) for more info.
2611
2612### Android
2613
2614- Android resource conflicts will no longer be reported between a strong attr
2615 resource and a weak attr resource, if the weak attr does not have format
2616 specified.
2617
2618### C++
2619
2620- [Allow debugging C++ features logic](https://github.com/bazelbuild/bazel/commit/53156db1e30fe7197889c3cbc8d1321ff9b85143
2621
2622- Add new options [`--cs_fdo_instrument`](https://docs.bazel.build/versions/master/command-line-reference.html#flag--cs_fdo_instrument)
2623 and [`--cs_fdo_profile`](https://docs.bazel.build/versions/master/command-line-reference.html#flag--cs_fdo_profile)
2624 to support LLVM's context-sensitive FDO (CSFDO).
2625
2626- [Bazel C++ compile/link Starlark API](https://github.com/bazelbuild/bazel/issues/4570).
2627 Can be used with experimental flag `--experimental_cc_skylark_api_enabled_packages`.
2628
2629- `cc_toolchain.static_runtime_lib` and `cc_toolchain.dynamic_runtime_lib` are
2630 now exposed to Starlark.
2631
2632- C++ Starlark API for compilation and linking is no longer whitelisted
2633
2634- Incompatible flag `--incompatible_make_thinlto_command_lines_standalone` has
2635 been added. See https://github.com/bazelbuild/bazel/issues/6791 for details.
2636
2637- Feature `disable_whole_archive_for_static_lib` has been added to allow turning
2638 off legacy_whole_archive for individual targets.
2639 https://github.com/bazelbuild/bazel/issues/7362
2640
2641### Python
2642
2643- Fixed an issue where some `py_runtimes` were incompatible with using
2644 `--build_python_zip` ([#5104](https://github.com/bazelbuild/bazel/issues/5104)).
2645
2646### Starlark
2647
2648- The flag [`--incompatible_restrict_named_params`](https://github.com/bazelbuild/bazel/issues/8147)
2649 is added. [Buildifier](https://github.com/bazelbuild/buildtools) will soon be
2650 updated to automatically fix this in your code.
2651
2652- The flag [`--incompatible_no_kwargs_in_build_files`](https://github.com/bazelbuild/bazel/issues/8021)
2653 is added. It fixes a bug where the `**kwarg` notation was allowed in `BUILD`
2654 files.
2655
2656- The flag [`--incompatible_static_name_resolution_in_build_files`](https://github.com/bazelbuild/bazel/issues/8022)
2657 is added. This fixes a bug where invalid code was silently accepted.
2658
2659- The flag [`--incompatible_disallow_old_octal_notation`](https://github.com/bazelbuild/bazel/issues/8059)
2660 is added. It removes a deprecated notation for octal numbers.
2661 [Buildifier](https://github.com/bazelbuild/buildtools) can update your code
2662 automatically.
2663
2664- [`struct.to_proto()`](https://docs.bazel.build/versions/master/skylark/lib/struct.html#to_proto)
2665 can now convert dictionaries into proto3 text message.
2666
2667- The [`glob`](https://docs.bazel.build/versions/master/be/functions.html#glob)
2668 function has a new argument `allow_empty`. When set to `False` (this will be
2669 the default in the future), the glob fails when it doesn't match anything.
2670 Please explicitly set `allow_empty = True` to the globs that need it.
2671
2672### Windows
2673
2674- Windows, Python: the new `--incompatible_windows_escape_python_args` flag
2675 (`false` by default) builds `py_binary` and `py_test` targets with correct
2676 command line argument escaping. Similar to
2677 https://github.com/bazelbuild/bazel/issues/7486 but for `py_*` rules.
2678
2679### Other changes
2680
2681- cquery supports `--output=build`
2682
2683- Generated Go protobufs now depend on `//net/proto2/go:proto_gendeps` instead
2684 of `//net/proto2/go:proto`
2685
2686- Added `--incompatible_remove_binary_profile` to disable the old binary
2687 profiles. Instead use the JSON profile format:
2688 https://docs.bazel.build/versions/master/skylark/performance.html#json-profile
2689
2690- Introducing `--execution_log_binary_file` and `--execution_log_json_file`
2691 that output a stable sorted execution log. They will offer a stable
2692 replacement to `--experimental_execution_log_file`.
2693
2694- New platform_mappings ability to allow gradual flag to platforms/toolchains
2695 migration. See also https://github.com/bazelbuild/bazel/issues/6426
2696
2697- Added support for compiling against fully qualified `R` classes from
2698 `aar_import` dependencies.
2699
2700- `--tls_enabled` flag is deprecated. Please provide `grpcs` as a scheme in
2701 the URLs if TLS should be used for a remote connection.
2702
2703### Community
2704
2705- Alex Eagle gave a talk at ng-conf:
2706 [The Bazel Opt-in Preview is Here!](https://www.youtube.com/watch?v=J1lnp-nU4wM)
2707
2708- The latest release of
2709 [rules_haskell](https://github.com/tweag/rules_haskell/releases/tag/v0.9)
2710 includes many new improvements, including an initial Windows support.
2711
2712- The latest
2713 [Buildifier release](https://github.com/bazelbuild/buildtools/releases/tag/0.25.1)
2714 includes Windows binaries, as well as a JSON output for diagnostics.
2715
2716- Natan Silnitsky gave the talk
2717 [How to successfully migrate to Bazel from Maven or Gradle](https://www.youtube.com/watch?v=2UOFm-Cc_cU)
2718 at the Java Eastern Europe Conference.
2719
2720This release contains contributions from many people at Google, as well as
2721Benjamin Peterson, Brian Topping, clyang82, Dave Lee, George Gensure,, Greg,
2722Guro Bokum, Keith Smiley, Max Vorobev, Michael Hackner, Robert Brown, Robert
2723Sayre, Ryan Beasley, and Yannic.
2724
2725
2726## Release 0.25.3 (2019-05-23)
2727
2728```
2729Baseline: 03662462941953dad23af88693804b8b1d4430b9
2730
2731Cherry picks:
2732
2733 + 3f7f255f9a8345b8898e3953e7e53d68106cc63d:
2734 Windows: fix native test wrapper's arg. escaping
2735 + afeb8d0b7fef619159fc8fbaaeb8bd41dd2619bd:
2736 Flip --incompatible_windows_escape_jvm_flags
2737 + 4299b6549cbc1b3e4494c91ed2f51d49b14c7980:
2738 Sort DirectoryNode children to ensure validity.
2739 + 231270c67d5aa771462245531fa9b2ee7d3d0ae8:
2740 Conditionally use deprecated signature for initWithContentsOfURL
2741 + 75a3a531b08e727ade4fa3cb0a574bd142727cce:
2742 Add http_archive entries for testing with various JDK versions.
2743 + 4a6354a3a5ca23583f8b62e3e439a04ce75b863f:
2744 Now that ubuntu1804 uses JDK 11, remove explicit
2745 ubuntu1804_java11 tests.
2746 + ae102fbde3c1ff87e4f67007a275fb30792a4e8d:
2747 Fix wrong name of ubuntu1804_javabase9 task.
2748 + 0020a97fdc20ca099ec6386771b20d3236f9890d:
2749 Remove @executable_path/Frameworks from rpaths
2750 + 130f86ded1ce84f959f0b78c065211902faed546:
2751 Download stderr/stdout to a temporary FileOutErr
2752 + 2ab38663592a9ccbcc1f6f75ed135ae315f4d9d9:
2753 Release 0.25.0 (2019-05-01)
2754 + ed48a4a5fddbd93b057c3aa726e15720d79dcf8f:
2755 Add implementation to removed methods to address
2756 https://github.com/bazelbuild/bazel/issues/8226
2757 + 81aefe7ee01cc73646a53f9c72ed40ead09f9f5a:
2758 Remove unsupported cpu attribute from cc_toolchains.
2759 + cccced1e7fc7eaf4ba8f2c9d73dbac72b2686df9:
2760 Release 0.25.1 (2019-05-07)
2761 + 0900660d67b53a56a13d1fa16a788e4cecbb1c0e:
2762 Use package identifier instead of package name
2763 + 85a5a2bd569a5274950fc7327a044c395248c024:
2764 Configure @androidsdk//:emulator_x86 and :emulator_arm to point
2765 to the unified emulator binary
2766 + 6549ac5bba3eef2b1813b5a75757437383bf38f0:
2767 Release 0.25.2 (2019-05-10)
2768 + 0ff19c6d0adf3c0df94fff59ca3bd13cbcf99897:
2769 Fix StandaloneTestStrategy.appendStderr
2770```
2771
Bazel Release System48845c32019-05-23 15:21:53 -04002772Incompatible changes:
2773
2774 - Flip --incompatible_windows_escape_jvm_flags to true. See
2775 https://github.com/bazelbuild/bazel/issues/7486
2776
Klaus Aehlig63bf1152019-05-28 10:41:12 +02002777This release contains contributions from many people at Google, as well as George Gensure, Keith Smiley, Robert Sayre.
Bazel Release System48845c32019-05-23 15:21:53 -04002778
Klaus Aehlig63bf1152019-05-28 10:41:12 +02002779## Release 0.25.2 (2019-05-10)
Bazel Release System6549ac52019-05-10 16:44:09 -04002780
Klaus Aehlig63bf1152019-05-28 10:41:12 +02002781```
2782Baseline: 03662462941953dad23af88693804b8b1d4430b9
Bazel Release System6549ac52019-05-10 16:44:09 -04002783
Klaus Aehlig63bf1152019-05-28 10:41:12 +02002784Cherry picks:
Bazel Release System6549ac52019-05-10 16:44:09 -04002785
Klaus Aehlig63bf1152019-05-28 10:41:12 +02002786 + 3f7f255f9a8345b8898e3953e7e53d68106cc63d:
2787 Windows: fix native test wrapper's arg. escaping
2788 + afeb8d0b7fef619159fc8fbaaeb8bd41dd2619bd:
2789 Flip --incompatible_windows_escape_jvm_flags
2790 + 4299b6549cbc1b3e4494c91ed2f51d49b14c7980:
2791 Sort DirectoryNode children to ensure validity.
2792 + 231270c67d5aa771462245531fa9b2ee7d3d0ae8:
2793 Conditionally use deprecated signature for initWithContentsOfURL
2794 + 75a3a531b08e727ade4fa3cb0a574bd142727cce:
2795 Add http_archive entries for testing with various JDK versions.
2796 + 4a6354a3a5ca23583f8b62e3e439a04ce75b863f:
2797 Now that ubuntu1804 uses JDK 11, remove explicit
2798 ubuntu1804_java11 tests.
2799 + ae102fbde3c1ff87e4f67007a275fb30792a4e8d:
2800 Fix wrong name of ubuntu1804_javabase9 task.
2801 + 0020a97fdc20ca099ec6386771b20d3236f9890d:
2802 Remove @executable_path/Frameworks from rpaths
2803 + 130f86ded1ce84f959f0b78c065211902faed546:
2804 Download stderr/stdout to a temporary FileOutErr
2805 + 2ab38663592a9ccbcc1f6f75ed135ae315f4d9d9:
2806 Release 0.25.0 (2019-05-01)
2807 + ed48a4a5fddbd93b057c3aa726e15720d79dcf8f:
2808 Add implementation to removed methods to address
2809 https://github.com/bazelbuild/bazel/issues/8226
2810 + 81aefe7ee01cc73646a53f9c72ed40ead09f9f5a:
2811 Remove unsupported cpu attribute from cc_toolchains.
2812 + cccced1e7fc7eaf4ba8f2c9d73dbac72b2686df9:
2813 Release 0.25.1 (2019-05-07)
2814 + 0900660d67b53a56a13d1fa16a788e4cecbb1c0e:
2815 Use package identifier instead of package name
2816 + 85a5a2bd569a5274950fc7327a044c395248c024:
2817 Configure @androidsdk//:emulator_x86 and :emulator_arm to point
2818 to the unified emulator binary
2819```
2820
2821* Add fix for https://github.com/bazelbuild/bazel/issues/8254
2822* Add fix for https://github.com/bazelbuild/bazel/issues/8280
2823
2824## Release 0.25.1 (2019-05-07)
2825
2826```
2827Baseline: 03662462941953dad23af88693804b8b1d4430b9
2828
2829Cherry picks:
2830
2831 + 3f7f255f9a8345b8898e3953e7e53d68106cc63d:
2832 Windows: fix native test wrapper's arg. escaping
2833 + afeb8d0b7fef619159fc8fbaaeb8bd41dd2619bd:
2834 Flip --incompatible_windows_escape_jvm_flags
2835 + 4299b6549cbc1b3e4494c91ed2f51d49b14c7980:
2836 Sort DirectoryNode children to ensure validity.
2837 + 231270c67d5aa771462245531fa9b2ee7d3d0ae8:
2838 Conditionally use deprecated signature for initWithContentsOfURL
2839 + 75a3a531b08e727ade4fa3cb0a574bd142727cce:
2840 Add http_archive entries for testing with various JDK versions.
2841 + 4a6354a3a5ca23583f8b62e3e439a04ce75b863f:
2842 Now that ubuntu1804 uses JDK 11, remove explicit
2843 ubuntu1804_java11 tests.
2844 + ae102fbde3c1ff87e4f67007a275fb30792a4e8d:
2845 Fix wrong name of ubuntu1804_javabase9 task.
2846 + 0020a97fdc20ca099ec6386771b20d3236f9890d:
2847 Remove @executable_path/Frameworks from rpaths
2848 + 130f86ded1ce84f959f0b78c065211902faed546:
2849 Download stderr/stdout to a temporary FileOutErr
2850 + 2ab38663592a9ccbcc1f6f75ed135ae315f4d9d9:
2851 Release 0.25.0 (2019-05-01)
2852 + ed48a4a5fddbd93b057c3aa726e15720d79dcf8f:
2853 Add implementation to removed methods to address
2854 https://github.com/bazelbuild/bazel/issues/8226
2855 + 81aefe7ee01cc73646a53f9c72ed40ead09f9f5a:
2856 Remove unsupported cpu attribute from cc_toolchains.
2857```
2858
2859Adding a commit which reintroduces the implementation for cc_common.compile and cc_common.link https://github.com/bazelbuild/bazel/issues/8226
Bazel Release Systemcccced12019-05-07 13:52:56 -04002860
Bazel Release System2ab38662019-05-01 17:41:28 -04002861## Release 0.25.0 (2019-05-01)
2862
2863```
2864Baseline: 03662462941953dad23af88693804b8b1d4430b9
2865
2866Cherry picks:
2867
2868 + 3f7f255f9a8345b8898e3953e7e53d68106cc63d:
2869 Windows: fix native test wrapper's arg. escaping
2870 + afeb8d0b7fef619159fc8fbaaeb8bd41dd2619bd:
2871 Flip --incompatible_windows_escape_jvm_flags
2872 + 4299b6549cbc1b3e4494c91ed2f51d49b14c7980:
2873 Sort DirectoryNode children to ensure validity.
2874 + 231270c67d5aa771462245531fa9b2ee7d3d0ae8:
2875 Conditionally use deprecated signature for initWithContentsOfURL
2876 + 75a3a531b08e727ade4fa3cb0a574bd142727cce:
2877 Add http_archive entries for testing with various JDK versions.
2878 + 4a6354a3a5ca23583f8b62e3e439a04ce75b863f:
2879 Now that ubuntu1804 uses JDK 11, remove explicit
2880 ubuntu1804_java11 tests.
2881 + ae102fbde3c1ff87e4f67007a275fb30792a4e8d:
2882 Fix wrong name of ubuntu1804_javabase9 task.
2883 + 0020a97fdc20ca099ec6386771b20d3236f9890d:
2884 Remove @executable_path/Frameworks from rpaths
2885 + 130f86ded1ce84f959f0b78c065211902faed546:
2886 Download stderr/stdout to a temporary FileOutErr
2887```
2888
2889Incompatible changes:
2890
2891 - (Starlark rules) The legacy "py" provider can no longer be passed
2892 to or produced by native Python rules; use
2893 [PyInfo](https://docs.bazel.build/versions/master/skylark/lib/PyIn
2894 fo.html) instead. See
2895 [#7298](https://github.com/bazelbuild/bazel/issues/7298) for more
2896 information.
2897 - (Python rules) The `default_python_version` attribute of the
2898 `py_binary` and `py_test` rules has been renamed to
2899 `python_version`. Also, the `--force_python` flag has been
2900 renamed to `--python_version`. See
2901 [#7308](https://github.com/bazelbuild/bazel/issues/7308) for more
2902 information.
2903 - (Python rules) The python version now changes to whatever version
2904 is specified in a `py_binary` or `py_test`'s `python_version`
2905 attribute, instead of being forced to the value set by a command
2906 line flag. You can temporarily revert this change with
2907 `--incompatible_allow_python_version_transitions=false`. See
2908 [#7307](https://github.com/bazelbuild/bazel/issues/7307) for more
2909 information.
2910 - --incompatible_disable_third_party_license_checking` is enabled
2911 by default
2912 - Introduced --incompatible_use_python_toolchains, which supersedes
2913 --python_top/--python_path. See #7899 and #7375 for more
2914 information.
2915 - Python 3 is now the default Python version (for `py_binary` and
2916 `py_test` targets that don't specify the `python_version`
2917 attribute). Targets that are built for Python 3 will no longer
2918 have their output put in a separate `-py3` directory; instead
2919 there is now a separate `-py2` directory for Python 2 targets.
2920 See #7359 and #7593 for more information.
2921 - objc_library resource attributes are now disabled by default.
2922 Please migrate them to data instead. See
2923 https://github.com/bazelbuild/bazel/issues/7594 for more info.
2924 - Flip --incompatible_windows_escape_jvm_flags to true. See
2925 https://github.com/bazelbuild/bazel/issues/7486
2926
2927New features:
2928
2929 - genrules now support a $(RULEDIR) variable that resolves to the
2930 directory where the outputs of the rule are put.
2931 - Added --incompatible_windows_native_test_wrapper flag: enables
2932 using the Bash-less test wrapper on Windows. (No-op on other
2933 platforms.)
2934
2935Important changes:
2936
2937 - incompatible_use_jdk11_as_host_javabase: makes JDK 11 the default
2938 --host_javabase for remote jdk
2939 (https://github.com/bazelbuild/bazel/issues/7219)
2940 - Makes genquery somepath output deterministic.
2941 - Tristate attributes of native rules now reject True/False (use
2942 1/0)
2943 - Rollback of "Tristate attributes of native rules now reject
2944 True/False (use 1/0)"
2945 - Tristate attributes of native rules now reject True/False (use
2946 1/0)
2947 - Added -incompatible_do_not_split_linking_cmdline flag. See #7670
2948 - Tristate attributes of native rules now temporarily accept
2949 True/False again
2950 - `--incompatible_disable_legacy_crosstool_fields` has been flipped
2951 (https://github.com/bazelbuild/bazel/issues/6861)
2952 `--incompatible_disable_expand_if_all_available_in_flag_set` has
2953 been flipped (https://github.com/bazelbuild/bazel/issues/7008)
2954 - `--incompatible_disable_legacy_crosstool_fields` has been flipped
2955 (https://github.com/bazelbuild/bazel/issues/6861)
2956 `--incompatible_disable_expand_if_all_available_in_flag_set...
2957 RELNOTES: None.
2958 - --incompatible_no_transitive_loads is enabled by default.
2959 - Makes TreeArtifact deterministic.
2960 - --incompatible_no_transitive_loads is enabled by default.
2961 - Android NDK C++ toolchain is now configured in Starlark. This
2962 should be a backwards compatible change, but in case of bugs
2963 blame unknown commit.
2964 - `--incompatible_disable_legacy_crosstool_fields` has been flipped
2965 (https://github.com/bazelbuild/bazel/issues/6861)
2966 `--incompatible_disable_expand_if_all_available_in_flag_set` has
2967 been flipped (https://github.com/bazelbuild/bazel/issues/7008)
2968 - --incompatible_no_transitive_loads is enabled by default.
2969 - --incompatible_bzl_disallow_load_after_statement is enabled
2970 - Added `--incompatible_require_ctx_in_configure_features`, see
2971 https://github.com/bazelbuild/bazel/issues/7793 for details.
2972 - Flag --incompatible_merge_genfiles_directory is flipped. This
2973 removes the directory `bazel-genfiles` in favor of `bazel-bin`.
2974 - previously deprecated flag --experimental_remote_spawn_cache was
2975 removed
2976 - `--incompatible_disallow_load_labels_to_cross_package_boundaries`
2977 is enabled by default
2978 - Fix an issue where the Android resource processor did not surface
2979 errors from aapt2 compile and link actions.
2980 - --incompatible_no_attr_license is enabled by default
2981 - `--incompatible_disable_crosstool_file` has been flipped
2982 (https://github.com/bazelbuild/bazel/issues/7320)
2983 - A new flag `--incompatible_string_join_requires_strings` is
2984 introduced. The sequence argument of `string.join` must contain
2985 only string elements.
2986 - --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfile
2987 s_tree has been flipped
2988 - Incompatible flag `--incompatible_disable_legacy_cc_provider` has
2989 been flipped (see https://github.com/bazelbuild/bazel/issues/7036
2990 for details).
2991 - Don't drop the analysis cache when the same --define flag is set
2992 multiple times and the last value is the same (e.g. if the
2993 current invocation was run with "--define foo=bar" and the
2994 previous one was run with "--define foo=baz --define foo=bar").
2995 - The --incompatible_disable_genrule_cc_toolchain_dependency flag
2996 has been flipped (see
2997 https://github.com/bazelbuild/bazel/issues/6867 for details).
2998 - Incompatible change
2999 `--incompatible_remove_cpu_and_compiler_attributes_from_cc_toolcha
3000 in` has been flipped (see
3001 https://github.com/bazelbuild/bazel/issues/7075 for details).
3002 - --noexperimental_java_coverage is a no-op flag.
3003 - --experimental_java_coverage/--incompatible_java_coverage flag was
3004 removed. See #7425.
3005 - incompatible_use_toolchain_providers_in_java_common: pass
3006 JavaToolchainInfo and JavaRuntimeInfo providers to java_common
3007 APIs instead of configured targets
3008 (https://github.com/bazelbuild/bazel/issues/7186.)
3009 - --incompatible_remote_symlinks has been flipped. The remote
3010 caching and execution protocol will now represent symlinks in
3011 outputs as such. See
3012 https://github.com/bazelbuild/bazel/issues/7917 for more details.
3013 - Bazel is now ~20MiB smaller, from unbundling the Android rules'
3014 runtime dependencies.
3015
3016This release contains contributions from many people at Google, as well as Andreas Herrmann, Andrew Suffield, Andy Scott, Benjamin Peterson, Ed Baunton, George Gensure, Ian McGinnis, Ity Kaul, Jingwen Chen, John Millikin, Keith Smiley, Marwan Tammam, Mike Fourie, Oscar Bonilla, perwestling, petros, Robert Sayre, Ryan Beasley, silvergasp, Stanimir Mladenov, Travis Cline, Vladimir Chebotarev, ??.
3017
Bazel Release System7f8bc5f2019-04-02 12:26:16 -04003018## Release 0.24.1 (2019-04-02)
3019
3020```
3021Baseline: 235e76b0e756d05599a6cbe1663ff8e13df84a86
3022
3023Cherry picks:
3024
3025 + badd82e4c5cda7b3232481e1c63a5550ac898cd8:
3026 Automated rollback of commit
3027 1b4c37c38804559b5c1ade6f9c93501875e231b0.
3028 + 33e571939085dd158422e1b3503cfc738e0a3165:
3029 Fix the Python version select() mechanism to handle
3030 PY3-as-default
3031 + 56366ee3a73e2c92b2fa36a9840478202b9618ca:
3032 Set non-empty values for msvc_env_* when VC not installed
3033 + 22b3fbf4800113df51d603d943bd9eb9517ef904:
3034 Windows, test wrapper: fix broken integration test
3035 + f14d447cb56aee563f6e686b8f5b086a3bb55d47:
3036 Add whitelist file for starlark transitions
3037 + d99bc478db1f3414b4f6cd3dc14ca70aacf6b375:
3038 Update BUILD
3039 + 3529ad7ccf0c26dfb20a9d67b9d96de15f309f8b:
3040 Rename tools/function_transition_whitelist/BUILD to
3041 tools/whitelists/function_transition_whitelist/BUILD
3042 + de0612ad3ef7cc8c44069261befdeb0d15b97c10:
3043 Update bazel_toolchains to latest release and add toolchain
3044 config target for BuildKite CI (rbe_ubuntu1604)
3045 + 3e660ad178926648e8e10e2ee7a1a30b12f9b3d1:
3046 Automated rollback of commit
3047 087734009801242b83655efb863b2d5a761ae3dc.
3048 + 314cf1f9e4b332955c4800b2451db4e926c3e092:
3049 Pass -undefined dynamic_lookup to dynamic library linking
3050 actions on Mac
3051 + fc586a86b614667a21e5a01aea3544ac0338de78:
3052 Move cc_flags target into @bazel_tools//tools/cpp.
3053 + ea1703b30f9ac43a0c3262f5729c34658ed8d473:
3054 C++: Fix crash reported in #7721
3055 + 803801d1494f06f0ce977a1f2241ef6a4d85df09:
3056 Pass execution info to xml generating spawn. Fixes #7794
3057 + f092ec388a4b58788285b928c86f0f81561d4be4:
3058 Release 0.24.0 (2019-03-26)
3059 + c56c489119e6587975964c44ceb9e429ad950736:
3060 Wrap StatusRuntimeExceptions from GrpcRemoteCache
3061```
3062
3063Baseline: f092ec388a4b58788285b928c86f0f81561d4be4
3064
3065Cherrypicks:
3066+ c56c489119e6587975964c44ceb9e429ad950736: Wrap StatusRuntimeExceptions from GrpcRemoteCache
3067
Bazel Release System4f5c17c2019-03-26 12:08:43 -04003068## Release 0.24.0 (2019-03-26)
Bazel Release System0e4525f2019-03-11 17:43:39 +01003069
3070```
Bazel Release System4f5c17c2019-03-26 12:08:43 -04003071Baseline: 235e76b0e756d05599a6cbe1663ff8e13df84a86
Bazel Release System0e4525f2019-03-11 17:43:39 +01003072
3073Cherry picks:
3074
Bazel Release System4f5c17c2019-03-26 12:08:43 -04003075 + badd82e4c5cda7b3232481e1c63a5550ac898cd8:
3076 Automated rollback of commit
3077 1b4c37c38804559b5c1ade6f9c93501875e231b0.
3078 + 33e571939085dd158422e1b3503cfc738e0a3165:
3079 Fix the Python version select() mechanism to handle
3080 PY3-as-default
Bazel Release System0e4525f2019-03-11 17:43:39 +01003081 + 56366ee3a73e2c92b2fa36a9840478202b9618ca:
3082 Set non-empty values for msvc_env_* when VC not installed
Bazel Release System4f5c17c2019-03-26 12:08:43 -04003083 + 22b3fbf4800113df51d603d943bd9eb9517ef904:
3084 Windows, test wrapper: fix broken integration test
3085 + f14d447cb56aee563f6e686b8f5b086a3bb55d47:
3086 Add whitelist file for starlark transitions
3087 + d99bc478db1f3414b4f6cd3dc14ca70aacf6b375:
3088 Update BUILD
3089 + 3529ad7ccf0c26dfb20a9d67b9d96de15f309f8b:
3090 Rename tools/function_transition_whitelist/BUILD to
3091 tools/whitelists/function_transition_whitelist/BUILD
3092 + de0612ad3ef7cc8c44069261befdeb0d15b97c10:
3093 Update bazel_toolchains to latest release and add toolchain
3094 config target for BuildKite CI (rbe_ubuntu1604)
3095 + 3e660ad178926648e8e10e2ee7a1a30b12f9b3d1:
3096 Automated rollback of commit
3097 087734009801242b83655efb863b2d5a761ae3dc.
3098 + 314cf1f9e4b332955c4800b2451db4e926c3e092:
3099 Pass -undefined dynamic_lookup to dynamic library linking
3100 actions on Mac
3101 + fc586a86b614667a21e5a01aea3544ac0338de78:
3102 Move cc_flags target into @bazel_tools//tools/cpp.
3103 + ea1703b30f9ac43a0c3262f5729c34658ed8d473:
3104 C++: Fix crash reported in #7721
3105 + 803801d1494f06f0ce977a1f2241ef6a4d85df09:
3106 Pass execution info to xml generating spawn. Fixes #7794
Bazel Release System0e4525f2019-03-11 17:43:39 +01003107```
3108
Bazel Release System4f5c17c2019-03-26 12:08:43 -04003109Incompatible changes:
Bazel Release System0e4525f2019-03-11 17:43:39 +01003110
Bazel Release System4f5c17c2019-03-26 12:08:43 -04003111 - Added --incompatible_py3_is_default to test switching the default
3112 Python version to PY3 for py_binary/py_test targets that do not
3113 specify a version. See #7359.
3114 - //tools/cmd_line_differ has been renamed to //tools/aquery_differ
3115 & can now compare (in addition to command lines) inputs of
3116 actions given 2 aquery results.
3117 - java_(mutable_|)proto_library: removed strict_deps attribute.
3118 - The flag --incompatible_list_based_execution_strategy_selection
3119 was added and is used to ease the migration to the new style of
3120 specifying
3121 execution strategy selection and fallback behavior. The
3122 documentation for
3123 this flag is here: https://github.com/bazelbuild/bazel/issues/7480
3124 - Added --incompatible_py2_outputs_are_suffixed, for switching the
3125 bazel-bin symlink to point to Python 3 outputs instead of Python
3126 2 outputs. See
3127 [#7593](https://github.com/bazelbuild/bazel/issues/7593).
Bazel Release Systemf28ff222019-03-04 11:12:24 +01003128
Bazel Release System4f5c17c2019-03-26 12:08:43 -04003129New features:
Bazel Release Systemf28ff222019-03-04 11:12:24 +01003130
Bazel Release System4f5c17c2019-03-26 12:08:43 -04003131 - Make actions.args() object chainable.
3132 - Added --incompatible_windows_style_arg_escaping flag: enables
3133 correct subprocess argument escaping on Windows. (No-op on other
3134 platforms.)
3135 - Added --incompatible_windows_escape_jvm_flags flag: enables
3136 correct java_binary.jvm_flags and java_test.jvm_flags
3137 tokenization and escaping on Windows. (No-op on other platforms.)
Bazel Release Systemf28ff222019-03-04 11:12:24 +01003138
Bazel Release System4f5c17c2019-03-26 12:08:43 -04003139Important changes:
Bazel Release Systemf28ff222019-03-04 11:12:24 +01003140
Bazel Release System4f5c17c2019-03-26 12:08:43 -04003141 - Allow running aquery against the current state of Skyframe
3142 - Added support for the "navigation" resource directory to Android
3143 resource processing in Bazel. This is used by the Navigation
3144 Architecture Component.
3145 - --incompatible_disable_runtimes_filegroups was flipped
3146 (https://github.com/bazelbuild/bazel/issues/6942)
3147 - Incompatible flag `--incompatible_linkopts_in_user_link_flags`
3148 has been flipped (https://github.com/bazelbuild/bazel/issues/6826)
3149 - Incompatible flag `--incompatible_dont_emit_static_libgcc` has
3150 been flipped (https://github.com/bazelbuild/bazel/issues/6825)
3151 - --incompatible_disallow_filetype is enabled by default.
3152 - Fixed issue where exceptions and stacktraces were silently
3153 swallowed in the Android resource processing pipeline.
3154 - `--incompatible_disable_expand_if_all_available_in_flag_set` has
3155 been flipped (https://github.com/bazelbuild/bazel/issues/7008)
3156 - --incompatible_disallow_dict_plus is enabled by default
3157 - Adds --incompatible_disable_objc_library_resources to disable
3158 resource attributes in objc_library. Please migrate these
3159 attributes to `data` instead.
3160 - --incompatible_disallow_old_style_args_add is enabled by default.
3161 - Using the `native` module in BUILD files is deprecated. It will
3162 be forbidden with --incompatible_disallow_native_in_build_file.
3163 - (Python rules) PyRuntimeInfo is exposed to Starlark, making it
3164 possible for Starlark rules to depend on or imitate `py_runtime`.
3165 The `files` attribute of `py_runtime` is no longer mandatory.
3166 - incompatible_use_toolchain_providers_in_java_common: pass
3167 JavaToolchainInfo and JavaRuntimeInfo providers to java_common
3168 APIs instead of configured
3169 targetshttps://github.com/bazelbuild/bazel/issues/7186.
3170 - is_using_fission crosstool variable is now exposed in all compile
3171 actions when fission is active (it used to be exposed only for
3172 linking actions).
3173 - incompatible_use_toolchain_providers_in_java_common: pass
3174 JavaToolchainInfo and JavaRuntimeInfo providers to java_common
3175 APIs instead of configured
3176 targetshttps://github.com/bazelbuild/bazel/issues/7186.
3177 - `py_runtime` gains a `python_version` attribute for specifying
3178 whether it represents a Python 2 or 3 interpreter.
3179 - `--incompatible_java_coverage` is enabled by default.
3180 - Starlark rules can safely declare attributes named "licenses"
3181 - When using
3182 --incompatible_list_based_execution_strategy_selection, Bazel
3183 will use remote execution by default (if you specify
3184 --remote_executor), otherwise persistent workers (if the action
3185 supports it), otherwise sandboxed local execution (if the action
3186 and platform supports it) and at last unsandboxed local
3187 execution. The flags --spawn_strategy and --strategy continue to
3188 work as before - this only sets new defaults for the case where
3189 you don't specify these flags.
3190 - Set default value of --incompatible_remap_main_repo to true.
3191 - Set default value of --incompatible_remap_main_repo to true.
3192
3193This release contains contributions from many people at Google, as well as Andrew Suffield, Brandon Lico, Chris Eason, Clint Harrison, Ed Schouten, Garrett Hopper, George Gensure, Greg, John Millikin, Julie, Keith Smiley, Laurent Le Brun, Ryan Beasley, Shmuel H, Travis Cline, Vladimir Chebotarev.
Bazel Release Systemf28ff222019-03-04 11:12:24 +01003194
Bazel Release Systemed104862019-02-26 18:36:00 +01003195## Release 0.23.0 (2019-02-26)
3196
3197```
3198Baseline: 441fd75d0047f8a998d784c557736ab9075db893
3199
3200Cherry picks:
3201
3202 + 6ca7763669728253606578a56a205bca3ea883e9:
3203 Fix a typo
3204 + 2310b1c2c8b2f32db238f667747e7d5672480f4a:
3205 Ignore SIGCHLD in test setup script
3206 + f9eb1b56706f91063e9d080b850fa56964e77324:
3207 Complete channel initialization in the event loop
3208```
3209
3210Incompatible changes:
3211
3212 - //src:bazel uses the minimal embedded JDK, if you want to
3213 avoid the extra steps of minimizing the JDK, use //src:bazel-dev
3214 instead.
3215 - //src:bazel uses the minimal embedded JDK, if you want to
3216 avoid the extra steps of building bazel with the minimized JDK,
3217 use //src:bazel-dev
3218 instead.
3219 - The default value of --host_platform and --platforms will be
3220 changed to not be dependent on the configuration. This means
3221 that setting
3222 --cpu or --host_cpu will not affect the target or host platform.
3223 - Toolchain resolution for cc rules is now enabled via an
3224 incompatible flag, --incompatible_enable_cc_toolchain_resolution.
3225 The previous
3226 flag, --enabled_toolchain_types, is deprecated and will be
3227 removed.
3228 - java_(mutable_|)proto_library: removed strict_deps attribute.
3229 - Python rules will soon reject the legacy "py" struct provider
3230 (preview by enabling --incompatible_disallow_legacy_py_provider).
3231 Upgrade rules to use PyInfo instead. See
3232 [#7298](https://github.com/bazelbuild/bazel/issues/7298).
3233 - java_(mutable_|)proto_library: removed strict_deps attribute.
3234 - Two changes to native Python rules: 1) `default_python_version`
3235 and `--force_python` are deprecated; use `python_version` and
3236 `--python_version` respectively instead. You can preview the
3237 removal of the deprecated names with
3238 --incompatible_remove_old_python_version_api. See
3239 [#7308](https://github.com/bazelbuild/bazel/issues/7308). 2) The
3240 version flag will no longer override the declared version of a
3241 `py_binary` or `py_test` target. You can preview this new
3242 behavior with --incompatible_allow_python_version_transitions.
3243 See [#7307](https://github.com/bazelbuild/bazel/issues/7307).
3244
3245Important changes:
3246
3247 - There is a new flag available
3248 `--experimental_java_common_create_provider_enabled_packages`
3249 that acts as a whitelist for usages of
3250 `java_common.create_provider`. The constructor will be deprecated
3251 in Bazel 0.23.
3252 - [#7024] Allow chaining of the same function type in aquery.
3253 - Introduces --local_{ram,cpu}_resources, which will take the place
3254 of --local_resources.
3255 - [#6930] Add documentation for the aquery command.
3256 - Incompatible flag `--incompatible_dont_emit_static_libgcc` has
3257 been flipped (https://github.com/bazelbuild/bazel/issues/6825)
3258 - Incompatible flag `--incompatible_linkopts_in_user_link_flags`
3259 has been flipped (https://github.com/bazelbuild/bazel/issues/6826)
3260 - Flag --incompatible_range_type is removed.
3261 - Flag --incompatible_disallow_slash_operator is removed.
3262 - Flag --incompatible_disallow_conflicting_providers is removed.
3263 - `--incompatible_disallow_data_transition` is now enabled by
3264 default
3265 - Allow inclusion of param files in aquery output
3266 - [#6985] Add test to verify aquery's behavior for Cpp action
3267 templates.
3268 - --incompatible_require_feature_configuration_for_pic was flipped
3269 (https://github.com/bazelbuild/bazel/issues/7007).
3270 - Also ignore module-info.class in multi-version Jars
3271 - objc_framework has been deleted. Please refer to
3272 apple_dynamic_framework_import and apple_static_framework_import
3273 rules available in
3274 [rules_apple](https://github.com/bazelbuild/rules_apple/blob/maste
3275 r/doc/rules-general.md)
3276 - --test_sharding_strategy=experimental_heuristic is no more
3277 - objc_bundle_library has been removed. Please migrate to
3278 rules_apple's
3279 [apple_resource_bundle](https://github.com/bazelbuild/rules_apple/
3280 blob/master/doc/rules-resources.md#apple_resource_bundle).
3281 - You can now use the attribute `aapt_version` or the flag
3282 `--android_aapt` to pick the aapt version for android_local_test
3283 tests
3284 - In --keep_going mode, Bazel now correctly returns a non-zero exit
3285 code when encountering a package loading error during target
3286 pattern parsing of patterns like "//foo:all" and "//foo/...".
3287 - The default value for --incompatible_strict_action_env has been
3288 flipped to 'false' again, as we discovered breakages for local
3289 execution users. We'll need some more time to figure out the best
3290 way to make this work for local and remote execution. Follow
3291 https://github.com/bazelbuild/bazel/issues/7026 for more details.
3292 - Locally-executed spawns tagged "no-cache" no longer upload their
3293 outputs to the remote cache.
3294 - Introduces --host_compiler flag to allow setting a compiler for
3295 host compilation when --host_crosstool_top is specified.
3296 - --incompatible_expand_directories is enabled by default
3297 - [aquery] Handle the case of aspect-on-aspect.
3298 - Fixed a longstanding bug in the http remote cache where the value
3299 passed to
3300 --remote_timeout would be interpreted as milliseconds instead of
3301 seconds.
3302 - Enable --incompatible_use_jdk10_as_host_javabase by default, see
3303 https://github.com/bazelbuild/bazel/issues/6661
3304 - Add --incompatible_use_jdk11_as_host_javabase: makes JDK 11 the
3305 default --host_javabase for remote jdk
3306 (https://github.com/bazelbuild/bazel/issues/7219)
3307 - Highlight TreeArtifact in aquery text output.
3308 - Locally-executed spawns tagged "no-cache" no longer upload their
3309 outputs to the remote cache.
3310 - java_common APIs now accept JavaToolchainInfo and JavaRuntimeInfo
3311 instead of configured targets for java_toolchain and java_runtime
3312 - cc_common.create_cc_toolchain_config_info is stable and available
3313 for production use
3314 - incompatible_use_toolchain_providers_in_java_common: pass
3315 JavaToolchainInfo and JavaRuntimeInfo providers to java_common
3316 APIs instead of configured targets
3317 (https://github.com/bazelbuild/bazel/issues/7186)
3318 - --incompatible_strict_argument_ordering is enabled by default.
3319 - Bazel now supports reading cache hits from a repository cache,
3320 even if it doesn't have write access to the cache.
3321 - Adding arm64e to OSX CROSSTOOL.
3322 - Ignore package-level licenses on config_setting.
3323 - Add an optional output_source_jar parameter to java_common.compile
3324 - --incompatible_disable_objc_provider_resources is now enabled by
3325 default. This disables ObjcProvider's fields related to resource
3326 processing.
3327 - Explicitly set https.protocols and exclude TLSv1.3.
3328 - Bazel now validates that JAVA_HOME points to a valid JDK and
3329 falls back to auto-detection by looking up the path of `javac`.
3330 - Upgrade the embedded JDK version to 11.0.2.
3331 - Added --incompatible_disable_crosstool_file
3332 (https://github.com/bazelbuild/bazel/issues/7320)
3333 - --incompatible_disable_objc_provider_resources is now enabled by
3334 default. This disables ObjcProvider's fields related to resource
3335 processing.
3336 - --incompatible_disable_tools_defaults_package has been flipped.
3337 - For tests that do not generate a test.xml, Bazel now uses a
3338 separate action to generate one; this results in minor
3339 differences in the generated test.xml, and makes the generation
3340 more reliable overall.
3341 - incompatible_generate_javacommon_source_jar: java_common.compile
3342 now always generates a source jar, see
3343 https://github.com/bazelbuild/bazel/issues/5824.
3344 - New incompatible flag
3345 --incompatible_disallow_struct_provider_syntax removes the
3346 ability for rule implementation functions to return struct. Such
3347 functions should return a list of providers instead. Migration
3348 tracking: https://github.com/bazelbuild/bazel/issues/7347
3349
3350This release contains contributions from many people at Google, as well as Benjamin Peterson, Ed Schouten, erenon, George Gensure, Greg Estren, Igal Tabachnik, Ittai Zeidman, Jannis Andrija Schnitzer, John Millikin, Keith Smiley, Kelly Campbell, Max Vorobev, nicolov, Robin Nabel.
3351
Bazel Release System2f82b332019-01-28 13:54:53 +01003352## Release 0.22.0 (2019-01-28)
3353
3354```
3355Baseline: deb028e3fb30b4e2953df16f35ab1f55a08ea8fa
3356
3357Cherry picks:
3358
3359 + a3a5975dca3ad04c19dc7d063fcf490a8cd612fd:
3360 Fix a race condition in remote cache
3361 + b8d0e1b05c225a4b943ce498194d069d18093d9a:
3362 Use a new GitHub token and KMS key for the release process.
3363 + 3759e3895503aa2bbd6943c5b568b8c050b9448f:
3364 remote: fix unexpected IO error (not a directory)
3365 + 4473bb1a9ec4282aa8497b86580d68e82415df4a:
3366 Fix a race condition in Bazel's Windows process management.
3367 + 9137fb940886aa516f32ca8a36feccedb545c99b:
3368 undo flag flip of --incompatible_strict_action_env
3369 + 12ab12e80ad1c9a3510aa4bbfdf3fddafc0bca00:
3370 Revert "Enabling Bazel to generate input symlinks as defined by
3371 RE AP?
3372 + 6345c747d8cb1819e70c853becadbf8a989decf1:
3373 Automated rollback of commit
3374 30536baa4a410d8c0a7adab5cd58cd8a2ac7e46c.
3375```
3376
Bazel Release System2f82b332019-01-28 13:54:53 +01003377
Bazel Release System2f82b332019-01-28 13:54:53 +01003378
Klaus Aehligcb59bd22019-01-28 14:20:37 +01003379The Bazel team is happy to announce a new release of Bazel,
3380[Bazel 0.22.0](https://github.com/bazelbuild/bazel/releases/tag/0.22.0).
Bazel Release System2f82b332019-01-28 13:54:53 +01003381
Klaus Aehligcb59bd22019-01-28 14:20:37 +01003382Baseline: deb028e3fb30b4e2953df16f35ab1f55a08ea8fa
Bazel Release System2f82b332019-01-28 13:54:53 +01003383
Klaus Aehligcb59bd22019-01-28 14:20:37 +01003384### Breaking changes
3385
3386- [`--incompatible_string_is_not_iterable`](https://github.com/bazelbuild/bazel/issues/5830)
3387
3388### Upcoming changes
3389
3390This release is a [migration window for the following changes](https://github.com/bazelbuild/bazel/labels/migration-0.22).
3391
3392- [`--incompatible_disallow_data_transition`](https://github.com/bazelbuild/bazel/issues/6153)
3393- [`--incompatible_dont_emit_static_libgcc`](https://github.com/bazelbuild/bazel/issues/6825)
3394- [`--incompatible_linkopts_in_user_link_flags`](https://github.com/bazelbuild/bazel/issues/6826)
3395- [`--incompatible_disable_legacy_crosstool_fields`](https://github.com/bazelbuild/bazel/issues/6861)
3396- [`--incompatible_use_aapt2_by_default`](https://github.com/bazelbuild/bazel/issues/6907)
3397- [`--incompatible_disable_runtimes_filegroups`](https://github.com/bazelbuild/bazel/issues/6942)
3398- [`--incompatible_disable_legacy_cc_provider`](https://github.com/bazelbuild/bazel/issues/7036)
3399- [`--incompatible_require_feature_configuration_for_pic`](https://github.com/bazelbuild/bazel/issues/7007)
3400- [`--incompatible_disable_expand_if_all_available_in_flag_set`](https://github.com/bazelbuild/bazel/issues/7008)
3401- [`--incompatible_disable_legacy_proto_provider`](https://github.com/bazelbuild/bazel/issues/7152)
3402- [`--incompatible_disable_proto_source_root`](https://github.com/bazelbuild/bazel/issues/7153)
3403
3404### General Changes
3405
3406- https://docs.bazel.build now supports versioned
3407 documentation. Use the selector at the top of the navigation bar
3408 to switch between documentation for different Bazel releases.
3409
3410- set `projectId` in all `PublishBuildToolEventStreamRequest`
3411
3412### Android
3413
3414- mobile-install now works with aapt2. Try it out with `bazel
3415 mobile-install --android_aapt=aapt2 //my:target`
3416
3417- Fixed issues with mobile-install v1 when deploying to Android 9 Pie
3418 devices. https://github.com/bazelbuild/bazel/issues/6814
3419
3420- Fixed issue where error messages from Android manifest merging
3421 actions were not fully propagated.
3422
3423- New incompatible change flag `--incompatible_use_aapt2_by_default`
3424 for defaulting to aapt2 in Android builds has been added. To build with
3425 aapt2 today, pass the flag
3426 `--incompatible_use_aapt2_by_default=true` or
3427 `--android_aapt=aapt2`, or set the `aapt_version` to `aapt2` on
3428 your `android_binary` or `android_local_test` target.
3429
3430- Fixed mobile-install v1 error when installing an app with native
3431 libraries onto an Android 9 (Pie) device. See
3432 https://github.com/bazelbuild/examples/issues/77
3433
3434- Fixed a mobile-install bug where `arm64-v8a` libraries were not
3435 deployed correctly on `arm64` devices. This was done by enabling
3436 incremental native lib deployment by default. A previously
3437 undocumented `--android_incremental_native_libs` flag is removed,
3438 and is now the regular behavior. See
3439 https://github.com/bazelbuild/bazel/issues/2239
3440
3441### Apple
3442
3443- The `objc_bundle` rule has been removed. Please migrate to rules_apple's
3444 [apple_bundle_import](https://github.com/bazelbuild/rules_apple/bl
3445 ob/master/doc/rules-resources.md#apple_bundle_import).
3446
3447- The `apple_stub_binary` rule has been deleted.
3448
3449- The `--xbinary_fdo` option that passes xbinary profiles has been added.
3450
3451### C++
3452
3453- `cc_toolchain.(static|dynamic)_runtime_libs` attributes are now optional
3454
3455### Packaging
3456
3457- `build_tar.py` in `tools/build_defs/pkg` now supports a JSON manifest
3458 that can be used to add paths that have symbols that can't be
3459 specified via the command line
3460
3461### Query
3462
3463- Filtering of inputs, outputs, and mnemonic filtering have been added to
3464 aquery.
3465
3466- The aquery and cquery query2 tests have been open-sourced.
3467
3468- The Bazel query how-to recommends ":*" instead of ":all", because "all" might
3469 be the name of a target.
3470
3471### Testing
3472
3473- The `--runs_per_test` has been placed in the TESTING documentation category.
3474
3475- A a clarifying message has been added to test case summary output when all
3476 test cases pass but the target fails.
3477
3478### Contributors
3479
3480This release contains contributions from many people at Google, as well as
3481Benjamin Peterson, Dave Lee, George Gensure, Gert van Dijk, Gustavo Storti
3482Salibi, Keith Smiley, Loo Rong Jie, Lukasz Tekieli, Mikhail Mazurskiy, Thi,
3483Travis Cline, Vladimir Chebotarev, and Yannic.
Bazel Release System2f82b332019-01-28 13:54:53 +01003484
Bazel Release Systema189d422018-12-19 13:53:11 +01003485## Release 0.21.0 (2018-12-19)
3486
3487```
3488Baseline: cb9b2afbba3f8d3a1db8bf68e65d06f1b36902f5
3489
3490Cherry picks:
3491
3492 + 12b96466ee0d6ab83f7d4cd24be110bb5021281d:
3493 Windows, test wrapper: rename the associated flag
3494 + 7fc967c4d6435de2bb4e34aac00ca2e499f55fca:
3495 Use a fixed thread pool in ByteStreamBuildEventArtifactUploader
3496 + 798b9a989aa793655d29504edb5fb85f3143db84:
3497 Add --build_event_upload_max_threads option
3498 + dbe05df23ccf4c919379e0294e0701fd3f66739c:
3499 Update the version of skylib bundled in the distfile
3500```
3501
3502Incompatible changes:
3503
3504 - The --experimental_stl command line option is removed.
3505 - aquery defaults to human readable output format.
3506
3507New features:
3508
3509 - repository_ctx.download and repository_ctx.download_and_extract
3510 now return a struct.
3511 - Android Databinding v2 can be enabled with
3512 --experimental_android_databinding_v2.
3513
3514Important changes:
3515
3516 - The deprecated and unmaintained Docker rules in
3517 tools/build_defs/docker were removed. Please use
3518 https://github.com/bazelbuild/rules_docker instead.
3519 - The new --upload_query_output_using_bep query/cquery/aquery flag
3520 causes query outputs to be uploaded via BEP.
3521 - New incompatible flag --incompatible_strict_argument_ordering
3522 - --strict_android_deps and --strict_java_deps were renamed to
3523 --experimental_strict_java_deps
3524 - config_settings that select on "compiler" value instead of values
3525 = {"compiler" : "x"} should use flag_values =
3526 {"@bazel_tools//tools/cpp:compiler": "x"}.
3527 - The new --upload_query_output_using_bep query/cquery/aquery flag
3528 causes query outputs to be uploaded via BEP.
3529 - Turn on --incompatible_disable_sysroot_from_configuration
3530 - We revamped our Android with Bazel tutorial! Check it out
3531 [here](https://docs.bazel.build/versions/master/tutorial/android-a
3532 pp.html).
3533 - --incompatible_disallow_slash_operator is now on by default
3534 - Enable --experimental_check_desugar_deps by default. This flag
3535 rules out several types of invalid Android builds at compile-time.
3536 - The --max_config_changes_to_show option lists the names of
3537 options which
3538 have changed and thus caused the analysis cache to be dropped.
3539 - The --experimental_strict_action_env option has been renamed to
3540 --incompatible_strict_action_env and is now on by default. This
3541 means Bazel will no longer use the client's PATH and
3542 LD_LIBRARY_PATH environmental variables in the default action
3543 environment. If the old behavior is desired, pass
3544 --action_env=PATH and --action_env=LD_LIBRARY_PATH.
3545 --noincompatible_strict_action_env will also temporarily restore
3546 the old behavior. However, as --action_env is a more general and
3547 explicit way to pass client environmental variables into actions,
3548 --noincompatible_strict_action_env will eventually be deprecated
3549 and removed. See #6648 for more details.
3550 - XCRUNWRAPPER_LABEL has been removed. If you used this value
3551 before, please use @bazel_tools//tools/objc:xcrunwrapper instead.
3552 - --incompatible_static_name_resolution is no unable by default
3553 - We will phase out --genrule_strategy in favor of
3554 --strategy=Genrule=<value> (for genrules) or
3555 --spawn_strategy=<value> (for all actions).
3556 - --incompatible_package_name_is_a_function is now enabled by
3557 default
3558 - Dynamic execution is now available with
3559 --experimental_spawn_strategy. Dynamic execution allows a build
3560 action to run locally and remotely simultaneously, and Bazel
3561 picks the fastest action. This provides the best of both worlds:
3562 faster clean builds than pure local builds, and faster
3563 incremental builds than pure remote builds.
3564 - --incompatible_package_name_is_a_function is now enabled by
3565 default
3566 - New incompatible flag --incompatible_merge_genfiles_directory
3567 - grpc log now logs updateActionResult
3568 - CppConfiguration doesn't do package loading anymore. That means:
3569 * it's no longer needed to have C++ toolchain available when
3570 building non-C++ projects
3571 * bazel will not analyze C++ toolchain when not needed -> speedup
3572 ~2s on bazel startup when C++ rules using hermetic toolchain are
3573 not loaded
3574 - --incompatible_package_name_is_a_fu...
3575
3576This release contains contributions from many people at Google, as well as andy g scott ?, Attila Ol?h, Benjamin Peterson, Clint Harrison, Dave Lee, Ed Schouten, Greg Estren, Gregor Jasny, Jamie Snape, Jerry Marino, Loo Rong Jie, Or Shachar, Sevki Hasirci, William Chargin.
3577
Bazel Release System85378562018-11-30 15:34:16 +01003578## Release 0.20.0 (2018-11-30)
3579
3580```
3581Baseline: 7bf7f031c332dc483257248d1c1f98ad75bbc83b
3582
3583Cherry picks:
3584
3585 + fd52341505e725487c6bc6dfbe6b5e081aa037da:
3586 update bazel-toolchains pin to latest release Part of changes to
3587 allow bazelci to use 0.19.0 configs. RBE toolchain configs at or
3588 before 0.17.0 are not compatible with bazel 0.19.0 or above.
3589 + 241f28d05424db2d11ee245dc856b992258505e3:
3590 Revert "Toggle --incompatible_disable_late_bound_option_defaults
3591 flag."
3592 + f7e5aef145c33968f658eb2260e25630dc41cc67:
3593 Add cc_toolchain targets for the new entries in the default
3594 cc_toolchain_suite.
3595 + d2920e32ec7f3f8551a693d33c17b19f1b802145:
3596 Revert "WindowsFileSystem: open files with delete-sharing"
3597```
3598
3599[Breaking changes in 0.20](https://github.com/bazelbuild/bazel/issues?q=is%3Aissue+label%3Abreaking-change-0.20)
3600
3601 - [--incompatible_remove_native_http_archive](https://github.com/bazelbuild/bazel/issues/6570).
3602 - [--incompatible_remove_native_git_repository](https://github.com/bazelbuild/bazel/issues/6569).
3603 - [--incompatible_disable_cc_toolchain_label_from_crosstool_proto](https://github.com/bazelbuild/bazel/issues/6434).
3604 - [--incompatible_disable_depset_in_cc_user_flags](https://github.com/bazelbuild/bazel/issues/6384).
3605 - [--incompatible_disable_cc_configuration_make_variables](https://github.com/bazelbuild/bazel/issues/6381).
3606 - [--incompatible_disallow_conflicting_providers](https://github.com/bazelbuild/bazel/issues/5902).
3607 - [--incompatible_range_type](https://github.com/bazelbuild/bazel/issues/5264).
3608
3609[0.20 is a migration window for the following changes](https://github.com/bazelbuild/bazel/issues?q=is%3Aissue+label%3Amigration-0.20)
3610
3611 - [--incompatible_use_jdk10_as_host_javabase](https://github.com/bazelbuild/bazel/issues/6661)
3612 - [--incompatible_use_remotejdk_as_host_javabase](https://github.com/bazelbuild/bazel/issues/6656)
3613 - [--incompatible_disable_sysroot_from_configuration](https://github.com/bazelbuild/bazel/issues/6565)
3614 - [--incompatible_provide_cc_toolchain_info_from_cc_toolchain_suite](https://github.com/bazelbuild/bazel/issues/6537)
3615 - [--incompatible_disable_depset_in_cc_user_flags](https://github.com/bazelbuild/bazel/issues/6383)
3616 - [--incompatible_package_name_is_a_function](https://github.com/bazelbuild/bazel/issues/5827)
3617
3618[Breaking changes in the next release (0.21)](https://github.com/bazelbuild/bazel/issues?q=is%3Aissue+label%3Abreaking-change-0.21)
3619
3620 - [--incompatible_use_jdk10_as_host_javabase](https://github.com/bazelbuild/bazel/issues/6661)
3621 - [--incompatible_use_remotejdk_as_host_javabase](https://github.com/bazelbuild/bazel/issues/6656)
3622 - [--incompatible_disable_sysroot_from_configuration](https://github.com/bazelbuild/bazel/issues/6565)
3623 - [--incompatible_provide_cc_toolchain_info_from_cc_toolchain_suite](https://github.com/bazelbuild/bazel/issues/6537)
3624 - [--incompatible_disable_depset_in_cc_user_flags](https://github.com/bazelbuild/bazel/issues/6383)
3625 - [--incompatible_disallow_data_transition](https://github.com/bazelbuild/bazel/issues/6153)
3626 - [--incompatible_package_name_is_a_function](https://github.com/bazelbuild/bazel/issues/5827)
3627 - [--incompatible_disallow_slash_operator](https://github.com/bazelbuild/bazel/issues/5823)
3628 - [--incompatible_static_name_resolution](https://github.com/bazelbuild/bazel/issues/5637)
3629
3630Incompatible changes:
3631
3632 - the --experimental_no_dotd_scanning_with_modules command line
3633 argument is not supported anymore.
3634 - The --prune_cpp_modules command line option is not supported
3635 anymore.
3636 - the --experimental_prune_cpp_input_discovery command line option
3637 is not supported anymore.
3638
3639New features:
3640
3641 - Added support for Android NDK r18.
3642
3643Important changes:
3644
3645 - The 'default' parameter of attr.output and attr.output_list is
3646 removed. This is controlled by
3647 --incompatible_no_output_attr_default
3648 - A number of platform-related Starlark APIs which were previously
3649 marked "experimental" are now disabled by default, and may be
3650 enabled via --experimental_platforms_api
3651 - Make legacy-test-support ("legacy_test-<api-level>") from
3652 android_sdk_repository neverlink. The legacy test support
3653 libraries shouldn't be built into test binaries. To make them
3654 available at runtime, developers should declare them via
3655 uses-library:
3656 https://developer.android.com/training/testing/set-up-project#andr
3657 oid-test-base
3658 - query remote server Capabilities (per REAPI v2)
3659 - CppRules: All cc_toolchains depended on from
3660 cc_toolchain_suite.toolchains are now analyzed when not using
3661 platforms in order to select the right cc_toolchain.
3662 - removed obsolete --explicit_jre_deps flag.
3663 - Incompatible flag
3664 --incompatible_disable_legacy_cpp_toolchain_skylark_api was
3665 flipped.
3666 - Improve error messaging when unsupport proguard options are
3667 specified at the library level.
3668 - Incompatible flag
3669 --incompatible_disable_legacy_cpp_toolchain_skylark_api was
3670 flipped.
3671 - Incompatible flag
3672 --incompatible_disable_legacy_cpp_toolchain_skylark_api was
3673 flipped.
3674 - The --incompatible_disable_late_bound_option_defaults flag has
3675 been flipped (#6384)
3676 - Incompatible flag
3677 --incompatible_disable_legacy_flags_cc_toolchain_api was flipped
3678 (#6434)
3679 - Fixed issue where ctx.resolve_command created conflicting
3680 intermediate files when resolve_command was called multiple times
3681 within the same rule invocation with a long command attribute.
3682 - Incompatible flag
3683 --incompatible_disable_cc_configuration_make_variables was
3684 flipped (#6381)
3685 - If the --javabase flag is unset, it Bazel locates a JDK using
3686 the JAVA_HOME environment variable and searching the PATH. If no
3687 JDK is found --javabase will be empty, and builds targeting Java
3688 will not
3689 be supported. Previously Bazel would fall back to using the
3690 embedded
3691 JDK as a --javabase, but this is no longer default behaviour. A
3692 JDK should
3693 be explicitly installed instead to enable Java development
3694 - Bazel will now shut down when idle for 5 minutes and the system
3695 is low on RAM (linux only).
3696 - CROSSTOOL file is now read from the package of cc_toolchain, not
3697 from
3698 the package of cc_toolchain_suite. This is not expected to break
3699 anybody since
3700 cc_toolchain_suite and cc_toolchain are commonly in the same
3701 package.
3702 - All overrides of Starlark's ctx.new_file function are now
3703 deprecated.
3704 Try the `--incompatible_new_actions_api` flag to ensure your
3705 code is forward-compatible.
3706 - --incompatible_disable_cc_toolchain_label_from_crosstool_proto
3707 was flipped.
3708 - Introduce --(no)shutdown_on_low_sys_mem startup flag to toggle
3709 idle low-memory shutdown, disabled by default.
3710 - --incompatible_disable_cc_toolchain_label_from_crosstool_proto
3711 was flipped.
3712 - --incompatible_disable_cc_toolchain_label_from_crosstool_proto
3713 was flipped.
3714 - CppRules: All cc_toolchains depended on from
3715 cc_toolchain_suite.toolchains are now analyzed when not using
3716 platforms in order to select the right cc_toolchain.
3717 - The function `attr.license` is deprecated and will be removed.
3718 It can be disabled now with `--incompatible_no_attr_license`.
3719 - `range()` function now returns a lazy value
3720 (`--incompatible_range_type` is now set by default).
3721 - The code coverage report now includes the actual paths to header
3722 files instead of the ugly,
3723 Bazel generated, virtual includes path.
3724 - `--incompatible_disallow_conflicting_providers` has been switched
3725 to true
3726 - Add new flag `--incompatible_disable_systool_from_configration` to
3727 disable loading the systool from CppConfiguration.
3728 - Add new flag `--incompatible_disable_sysroot_from_configuration`
3729 to
3730 disable loading the systool from CppConfiguration.
3731 - Sorting remote Platform properties for remote execution. May
3732 affect cache keys!
3733 - Use different server log files per Bazel server process; java.log
3734 is
3735 now a symlink to the latest log.
3736
3737This release contains contributions from many people at Google, as well as a7g4 <a7g4@a7g4.net>, Alan <alan.agius@betssongroup.com>, Asaf Flescher <asafflesch@gmail.com>, Benjamin Peterson <bp@benjamin.pe>, Ed Schouten <ed.schouten@prodrive-technologies.com>, George Gensure <ggensure@uber.com>, George Kalpakas <kalpakas.g@gmail.com>, Greg <gregestren@users.noreply.github.com>, Irina Iancu <iirina@users.noreply.github.com>, Keith Smiley <keithbsmiley@gmail.com>, Loo Rong Jie <loorongjie@gmail.com>, Mark Zeren <mzeren@vmware.com>, Petros Eskinder <petroseskinder@users.noreply.github.com>, rachcatch <rachelcatchpoole@hotmail.com>, Robert Brown <robert.brown@gmail.com>, Robert Gay <robert.gay@redfin.com>, Salty Egg <2281521+zhouhao@users.noreply.github.com>.
3738
Bazel Release Systemcb3e2982018-11-19 11:19:38 -05003739## Release 0.19.2 (2018-11-19)
3740
3741```
3742Baseline: ac880418885061d1039ad6b3d8c28949782e02d6
3743
3744Cherry picks:
3745
3746 + 9bc3b20053a8b99bf2c4a31323a7f96fabb9f1ec:
3747 Fix the "nojava" platform and enable full presubmit checks for
3748 the various JDK platforms now that we have enough GCE resources.
3749 + 54c2572a8cabaf2b29e58abe9f04327314caa6a0:
3750 Add openjdk_linux_archive java_toolchain for nojava platform.
3751 + 20bfdc67dc1fc32ffebbda7088ba49ee17e3e182:
3752 Automated rollback of commit
3753 19a401c38e30ebc0879925a5caedcbe43de0028f.
3754 + 914b4ce14624171a97ff8b41f9202058f10d15b2:
3755 Windows: Fix Precondition check for addDynamicInputLinkOptions
3756 + 83d406b7da32d1b1f6dd02eae2fe98582a4556fd:
3757 Windows, test-setup.sh: Setting RUNFILES_MANIFEST_FILE only when
3758 it exists.
3759 + e025726006236520f7e91e196b9e7f139e0af5f4:
3760 Update turbine
3761 + 5f312dd1678878fb7563eae0cd184f2270346352:
3762 Fix event id for action_completed BEP events
3763 + f0c844c77a2406518c4e75c49188390d5e281d3d:
3764 Release 0.19.0 (2018-10-29)
3765 + c3fb1db9e4e817e8a911f5b347b30f2674a82f7c:
3766 Do not use CROSSTOOL to select cc_toolchain
3767 + 8e280838e8896a6b5eb5421fda435b96b6f8de60:
3768 Windows Add tests for msys gcc toolchain and mingw gcc toolchain
3769 + fd52341505e725487c6bc6dfbe6b5e081aa037da:
3770 update bazel-toolchains pin to latest release Part of changes to
3771 allow bazelci to use 0.19.0 configs. RBE toolchain configs at or
3772 before 0.17.0 are not compatible with bazel 0.19.0 or above.
3773 + eb2af0f699350ad187048bf814a95af23f562c77:
3774 Release 0.19.1 (2018-11-12)
3775 + 6bc452874ddff69cbf7f66186238032283f1195f:
3776 Also update cc_toolchain.toolchain_identifier when
3777 CC_TOOLCHAIN_NAME is set
3778 + f7e5aef145c33968f658eb2260e25630dc41cc67:
3779 Add cc_toolchain targets for the new entries in the default
3780 cc_toolchain_suite.
3781 + 683c302129b66a8999f986be5ae7e642707e978c:
3782 Read the CROSSTOOL from the package of the current cc_toolchain,
3783 not from --crosstool_top
3784```
3785
3786- Fixes regression #6662, by fixing tools/cpp/BUILD
3787- Fixes regression #6665, by setting the toolchain identifier.
3788- CROSSTOOL file is now read from the package of cc_toolchain, not from the
3789 package of cc_toolchain_suite. This is not expected to break anybody since
3790 cc_toolchain_suite and cc_toolchain are commonly in the same package.
3791
Bazel Release System684f1092018-11-12 10:26:58 -05003792## Release 0.19.1 (2018-11-12)
3793
3794```
3795Baseline: ac880418885061d1039ad6b3d8c28949782e02d6
3796
3797Cherry picks:
3798
3799 + 9bc3b20053a8b99bf2c4a31323a7f96fabb9f1ec:
3800 Fix the "nojava" platform and enable full presubmit checks for
3801 the various JDK platforms now that we have enough GCE resources.
3802 + 54c2572a8cabaf2b29e58abe9f04327314caa6a0:
3803 Add openjdk_linux_archive java_toolchain for nojava platform.
3804 + 20bfdc67dc1fc32ffebbda7088ba49ee17e3e182:
3805 Automated rollback of commit
3806 19a401c38e30ebc0879925a5caedcbe43de0028f.
3807 + 914b4ce14624171a97ff8b41f9202058f10d15b2:
3808 Windows: Fix Precondition check for addDynamicInputLinkOptions
3809 + 83d406b7da32d1b1f6dd02eae2fe98582a4556fd:
3810 Windows, test-setup.sh: Setting RUNFILES_MANIFEST_FILE only when
3811 it exists.
3812 + e025726006236520f7e91e196b9e7f139e0af5f4:
3813 Update turbine
3814 + 5f312dd1678878fb7563eae0cd184f2270346352:
3815 Fix event id for action_completed BEP events
3816 + f0c844c77a2406518c4e75c49188390d5e281d3d:
3817 Release 0.19.0 (2018-10-29)
3818 + c3fb1db9e4e817e8a911f5b347b30f2674a82f7c:
3819 Do not use CROSSTOOL to select cc_toolchain
3820 + 8e280838e8896a6b5eb5421fda435b96b6f8de60:
3821 Windows Add tests for msys gcc toolchain and mingw gcc toolchain
3822 + fd52341505e725487c6bc6dfbe6b5e081aa037da:
3823 update bazel-toolchains pin to latest release Part of changes to
3824 allow bazelci to use 0.19.0 configs. RBE toolchain configs at or
3825 before 0.17.0 are not compatible with bazel 0.19.0 or above.
3826```
3827
3828Important changes:
3829- Fix regression #6610, which prevents using the MINGW compiler on Windows.
3830
Klaus Aehlig5e5832c2018-10-31 15:45:53 +01003831## Release 0.19.0 (2018-10-29)
3832
3833```
3834Baseline: ac880418885061d1039ad6b3d8c28949782e02d6
3835
3836Cherry picks:
3837
3838 + 9bc3b20053a8b99bf2c4a31323a7f96fabb9f1ec:
3839 Fix the "nojava" platform and enable full presubmit checks for
3840 the various JDK platforms now that we have enough GCE resources.
3841 + 54c2572a8cabaf2b29e58abe9f04327314caa6a0:
3842 Add openjdk_linux_archive java_toolchain for nojava platform.
3843 + 20bfdc67dc1fc32ffebbda7088ba49ee17e3e182:
3844 Automated rollback of commit
3845 19a401c38e30ebc0879925a5caedcbe43de0028f.
3846 + 914b4ce14624171a97ff8b41f9202058f10d15b2:
3847 Windows: Fix Precondition check for addDynamicInputLinkOptions
3848 + 83d406b7da32d1b1f6dd02eae2fe98582a4556fd:
3849 Windows, test-setup.sh: Setting RUNFILES_MANIFEST_FILE only when
3850 it exists.
3851 + e025726006236520f7e91e196b9e7f139e0af5f4:
3852 Update turbine
3853 + 5f312dd1678878fb7563eae0cd184f2270346352:
3854 Fix event id for action_completed BEP events
3855```
3856
3857The Bazel team is happy to announce a new version of Bazel, [Bazel 0.19](https://github.com/bazelbuild/bazel/releases/tag/0.19.0).
3858
3859This document lists the major changes since Bazel 0.18.
3860
3861General changes
3862---------------
3863
3864* The `--incompatible_expand_directories` flag will automatically expand directories in command lines. Design doc: https://docs.google.com/document/d/11agWFiOUiz2htBLj6swPTob5z78TrCxm8DQE4uJLOwM
3865
3866* The `--loading_phase_threads` flag now defaults to `auto` (not 200, as was previously the case), which at the moment corresponds to the number of CPUs. This is appropriate for most users. However, if your sources reside on a network file system, increasing this value may yield better analysis-time performance when disk caches are cold.
3867
3868Android
3869-------
3870
3871* Fixed missing debug symbols when building native code with `--compilation_mode=dbg` that target Android ARM architectures by adding the `-g` flag.
3872
3873C++
3874---
3875
3876* Added `--incompatible_disable_legacy_flags_cc_toolchain_api` to deprecate legacy `cc_toolchain` Starlark API for legacy CROSSTOOL fields. Tracking issue is #6434. Migration docs are on the bazel website.
3877
3878* Runfiles in cc_test: the C++ runfiles library (`@bazel_tools//tools/cpp/runfiles`) can now create Runfiles objects for tests. See `//tools/cpp/runfiles/runfiles_src.h` (in the Bazel source tree) for documentation.
3879
3880* :cc_binary link action no longer hardcodes `-static-libgcc` for toolchains that support embedded runtimes (guarded by `--experimental_dont_emit_static_libgcc` temporarily).
3881
3882* The flag `--experimental_enable_cc_configuration_make_variables` is removed, use `--incompatible_disable_cc_configuration_make_variables` instead.
3883
3884Java
3885----
3886
3887* If the `--javabase` flag is unset, Bazel locates a JDK using the `JAVA_HOME` environment variable and searching the PATH. If no JDK is found `--javabase` will be empty, and builds targeting Java will not be supported. Previously Bazel would fall back to using the embedded JDK as a `--javabase`, but this is no longer default behaviour. A JDK should be explicitly installed instead to enable Java development.
3888
3889Code Coverage
3890-------------
3891
3892* LcovMerger was renamed to CoverageOutputGenerator.
3893
3894* Faster coverage collection for gcc compiled C++ code can now be tested by enabling it with `--experimental_cc_coverage`.
3895
3896Other Changes
3897-------------
3898
3899* Add `--apple_compiler` and `--apple_grte_top options`. These provide the equivalent of --compiler / --grte_top for the toolchain configured in --apple_crosstool_top.
3900
3901* There is now a `same_pkg_direct_rdeps` query function. See the query documentation for more details.
3902
3903* Propagating remote errors to the user even if `--verbose_failures=false` is set.
3904
3905* Add number of configured targets to analysis phase status output.
3906
3907* Bazel will now check stderr instead of stdout to decide if it is outputting to a terminal. `--isatty` is deprecated, use `--is_stderr_atty` instead.
3908
3909Future Changes
3910--------------
3911
3912* None of the C++ related incompatible flags mentioned in the 0.18 release were flipped, they will be flipped in the next release (0.20). We have created tracking issues for all the relevant incompatible flags:
3913 * [`--incompatible_disable_late_bound_option_defaults`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-late-bound-option-defaults): #6384
3914 * [`--incompatible_disable_depset_in_cc_user_flags`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-depsets-in-c-toolchain-api-in-user-flags): #6383
3915 * [`--incompatible_disable_cc_toolchain_label_from_crosstool_proto`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disallow-using-crosstool-to-select-the-cc_toolchain-label): #6382
3916 * [`--incompatible_disable_cc_configuration_make_variables`](https://github.com/bazelbuild/bazel/issues/6381): #6381
3917 * [`--incompatible_disable_legacy_cpp_toolchain_skylark_api`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-legacy-c-configuration-api): #6380
3918 * [`incompatible_disable_legacy_flags_cc_toolchain_api`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-legacy-c-toolchain-api): #6434
3919
3920* In the 0.20 release the flags [`--incompatible_remove_native_git_repository`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#remove-native-git-repository) and [`--incompatible_remove_native_http_archive`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#remove-native-http-archive) will be turned on.
3921
3922Thank you to our contributors!
3923------------------------------
3924
3925This release contains contributions from many people at Google, as well as Andreas Herrmann, Andreas Hippler, Benjamin Peterson, David Ostrovsky, Ed Baunton, George Gensure, Igal Tabachnik, Jason Gavris, Loo Rong Jie, rmalik, and Yannic Bonenberger
3926
3927Thank you to everyone who contributed to this release!
3928
Bazel Release System92849b82018-10-31 15:41:11 +01003929## Release 0.18.1 (2018-10-31)
Bazel Release System36177972018-10-15 10:29:10 +02003930
3931```
Bazel Release System92849b82018-10-31 15:41:11 +01003932Baseline: c062b1f1730f3562d5c16a037b374fc07dc8d9a2
Bazel Release System36177972018-10-15 10:29:10 +02003933
3934Cherry picks:
3935
Bazel Release System92849b82018-10-31 15:41:11 +01003936 + 2834613f93f74e988c51cf27eac0e59c79ff3b8f:
3937 Include also ext jars in the bootclasspath jar.
3938 + 2579b791c023a78a577e8cb827890139d6fb7534:
3939 Fix toolchain_java9 on --host_javabase=<jdk9> after
3940 7eb9ea150fb889a93908d96896db77d5658e5005
3941 + faaff7fa440939d4367f284ee268225a6f40b826:
3942 Release notes: fix markdown
3943 + b073a18e3fac05e647ddc6b45128a6158b34de2c:
3944 Fix NestHost length computation Fixes #5987
3945 + bf6a63d64a010f4c363d218e3ec54dc4dc9d8f34:
3946 Fixes #6219. Don't rethrow any remote cache failures on either
3947 download or upload, only warn. Added more tests.
3948 + c1a7b4c574f956c385de5c531383bcab2e01cadd:
3949 Fix broken IdlClassTest on Bazel's CI.
3950 + 71926bc25b3b91fcb44471e2739b89511807f96b:
3951 Fix the Xcode version detection which got broken by the upgrade
3952 to Xcode 10.0.
3953 + 86a8217d12263d598e3a1baf2c6aa91b2e0e2eb5:
3954 Temporarily restore processing of workspace-wide tools/bazel.rc
3955 file.
Bazel Release System83870d62018-10-29 10:31:13 -04003956 + 914b4ce14624171a97ff8b41f9202058f10d15b2:
3957 Windows: Fix Precondition check for addDynamicInputLinkOptions
Bazel Release System83870d62018-10-29 10:31:13 -04003958 + e025726006236520f7e91e196b9e7f139e0af5f4:
3959 Update turbine
Bazel Release System36177972018-10-15 10:29:10 +02003960```
3961
Bazel Release System92849b82018-10-31 15:41:11 +01003962Important changes:
Bazel Release System83870d62018-10-29 10:31:13 -04003963
Bazel Release System92849b82018-10-31 15:41:11 +01003964 - Fix regression #6219, remote cache failures
Bazel Release System36177972018-10-15 10:29:10 +02003965
Klaus Aehlig7b417542018-10-29 15:46:36 +01003966## Release 0.18.0 (2018-10-15)
3967
3968```
3969Baseline: c062b1f1730f3562d5c16a037b374fc07dc8d9a2
3970
3971Cherry picks:
3972
3973 + 2834613f93f74e988c51cf27eac0e59c79ff3b8f:
3974 Include also ext jars in the bootclasspath jar.
3975 + 2579b791c023a78a577e8cb827890139d6fb7534:
3976 Fix toolchain_java9 on --host_javabase=<jdk9> after
3977 7eb9ea150fb889a93908d96896db77d5658e5005
3978 + faaff7fa440939d4367f284ee268225a6f40b826:
3979 Release notes: fix markdown
3980 + b073a18e3fac05e647ddc6b45128a6158b34de2c:
3981 Fix NestHost length computation Fixes #5987
3982 + bf6a63d64a010f4c363d218e3ec54dc4dc9d8f34:
3983 Fixes #6219. Don't rethrow any remote cache failures on either
3984 download or upload, only warn. Added more tests.
3985 + c1a7b4c574f956c385de5c531383bcab2e01cadd:
3986 Fix broken IdlClassTest on Bazel's CI.
3987 + 71926bc25b3b91fcb44471e2739b89511807f96b:
3988 Fix the Xcode version detection which got broken by the upgrade
3989 to Xcode 10.0.
3990 + 86a8217d12263d598e3a1baf2c6aa91b2e0e2eb5:
3991 Temporarily restore processing of workspace-wide tools/bazel.rc
3992 file.
3993```
3994
3995General changes
3996
3997- New [bazelrc file list](https://docs.bazel.build/versions/master/user-manual.html#where-are-the-bazelrc-files).
3998 If you need to keep both the old and new lists of .rc files active
3999 concurrently to support multiple versions of Bazel, you can import the old
4000 file location into the new list using `try-import`. This imports a file if it
4001 exists and silently exits if it does not. You can use this method to account
4002 for a user file that may or may not exist
4003
4004- [.bazelignore](https://docs.bazel.build/versions/master/user-manual.html#.bazelignore)
4005 is now fully functional.
4006
4007- The startup flag `--host_javabase` has been renamed to
4008 `--server_javabase` to avoid confusion with the build flag
4009 `--host_javabase`.
4010
4011Android
4012
4013- The Android resource processing pipeline now supports persistence
4014 via worker processes. Enable it with
4015 `--persistent_android_resource_processor`. We have observed a 50% increase
4016 in build speed for clean local builds and up to 150% increase in build
4017 speed for incremental local builds.
4018
4019C++
4020
4021- In-memory package //tools/defaults has been removed (controlled by
4022 `--incompatible_disable_tools_defaults_package` flag). Please see
4023 [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-inmemory-tools-defaults-package)
4024 and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy
4025 behavior will be removed in Bazel 0.20.
4026
4027- Late bound option defaults (typical example was the `--compiler` flag, when
4028 it was not specified, it’s value was computed using the CROSSTOOL) are removed
4029 (controlled by `--incompatible_disable_late_bound_option_defaults` flag).
4030 Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-late-bound-option-defaults)
4031 and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy
4032 behavior will be removed in Bazel 0.20.
4033
4034- Depsets are no longer accepted in `user_compile_flags` and `user_link_flags`
4035 in the C++ toolchain API (controlled by
4036 `--incompatible_disable_depset_in_cc_user_flags` flag) affects C++ users.
4037 Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-depsets-in-c-toolchain-api-in-user-flags)
4038 and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy
4039 behavior will be removed in Bazel 0.20.
4040
4041- CROSSTOOL is no longer consulted when selecting C++ toolchain (controlled by
4042 `--incompatible_disable_cc_toolchain_label_from_crosstool_proto` flag).
4043 Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disallow-using-crosstool-to-select-the-cc_toolchain-label)
4044 and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20.
4045
4046- You can now use [`toolchain_identifier` attribute](https://github.com/bazelbuild/bazel/commit/857d4664ce939f240b1d10d8d2baca6c6893cfcb)
4047 on `cc_toolchain` to pair it with CROSSTOOL toolchain.
4048
4049- C++ specific Make variables
4050 are no longer passed from the `CppConfiguration`, but from the C++ toolchain
4051 (controlled by `--incompatible_disable_cc_configuration_make_variables` flag).
4052 Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disallow-using-c-specific-make-variables-from-the-configuration)
4053 and migrate soon, the flag will be flipped
4054 in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20.
4055
4056- Skylark api accessing C++
4057 toolchain in `ctx.fragments.cpp` is removed (controlled by
4058 `--incompatible_disable_legacy_cpp_toolchain_skylark_api` flag).
4059 Please migrate soon, the flag will be flipped
4060 in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20.
4061
4062- cc_binary link action no longer hardcodes
4063 `-static-libgcc` for toolchains that support embedded runtimes
4064 (guarded by [`--experimental_dont_emit_static_libgcc`](https://source.bazel.build/bazel/+/2f281960b829e964526a9d292d4c3003e4d19f1c)
4065 temporarily). Proper deprecation using `--incompatible` flags will follow.
4066
4067Java
4068
4069- Future versions of Bazel will require a locally installed JDK
4070 for Java development. Previously Bazel would fall back to using
4071 the embedded `--server_javabase` if no JDK as available. Pass
4072 `--incompatible_never_use_embedded_jdk_for_javabase` to disable the
4073 legacy behaviour.
4074
4075- `--javacopt=` no longer affects compilations of tools that are
4076 executed during the build; use `--host_javacopt=` to change javac
4077 flags in the host configuration.
4078
4079Objective C
4080
4081- `objc_library` now supports the module_name attribute.
4082
4083Skylark
4084
4085- Adds `--incompatible_expand_directories` to automatically expand
4086 directories in skylark command lines. Design doc:
4087 https://docs.google.com/document/d/11agWFiOUiz2htBLj6swPTob5z78TrCxm8DQE4uJLOwM
4088
4089- Support fileset expansion in ctx.actions.args(). Controlled by
4090 `--incompatible_expand_directories`.
4091
4092Windows
4093
4094- `--windows_exe_launcher` is deprecated, this flag will be removed
4095 soon. Please make sure you are not using it.
4096
4097- Bazel now supports the symlink runfiles tree on Windows with
4098 `--experimental_enable_runfiles` flag. For more details, see
4099 [this doc](https://docs.google.com/document/d/1hnYmU1BmtCSJOUvvDAK745DSJQCapToJxb3THXYMrmQ).
4100
4101Other Changes
4102
4103- A new experimental option `--experimental_ui_deduplicate` has been added. It
4104 causes the UI to attempt to deduplicate messages from actions to keep the
4105 console output cleaner.
4106
4107- Add `--modify_execution_info`, a flag to customize action execution
4108 info.
4109
4110- Add ExecutionInfo to aquery output for ExecutionInfoSpecifier
4111 actions.
4112
4113- When computing `--instrumentation_filter`, end filter patterns with
4114 "[/:]" to match non-top-level packages exactly and treat
4115 top-level targets consistently.
4116
4117- Added the `bazel info server_log` command, which obtains the main Bazel
4118 server log file path. This can help debug Bazel issues.
4119
4120- `aapt shrink` resources now properly respect filter configurations.
4121
Bazel Release System50921e62018-09-21 12:27:04 +02004122## Release 0.17.2 (2018-09-21)
4123
4124```
4125Baseline: aa118ca818baf722aede0bc48d0a17584fa45b6e
4126
4127Cherry picks:
4128 + 0e0462589528154cb5160411991075a2000b5452:
4129 Update checker framework dataflow and javacutil versions
4130 + 3987300d6651cf0e6e91b395696afac6913a7d66:
4131 Stop using --release in versioned java_toolchains
4132 + 438b2773b8c019afa46be470b90bcf70ede7f2ef:
4133 make_deb: Add new empty line in the end of conffiles file
4134 + 504401791e0a0e7e3263940e9e127f74956e7806:
4135 Properly mark configuration files in the Debian package.
4136 + 9ed9d8ac4347408d15c8fce7c9c07e5c8e658b30:
4137 Add flag
4138 --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfil
4139 es_tree.
4140 + 22d761ab42dfb1b131f1facbf490ccdb6c17b89c:
4141 Update protobuf to 3.6.1 -- add new files
4142 + 27303d79c38f2bfa3b64ee7cd7a6ef03a9a87842:
4143 Update protobuf to 3.6.1 -- update references
4144 + ddc97ed6b0367eb443e3e09a28d10e65179616ab:
4145 Update protobuf to 3.6.1 -- remove 3.6.0 sources
4146 + ead1002d3803fdfd4ac68b4b4872076b19d511a2:
4147 Fix protobuf in the WORKSPACE
4148 + 12dcd35ef7a26d690589b0fbefb1f20090cbfe15:
4149 Revert "Update to JDK 10 javac"
4150 + 7eb9ea150fb889a93908d96896db77d5658e5005:
4151 Automated rollback of
4152 https://github.com/bazelbuild/bazel/commit/808ec9ff9b5cec14f23a4b
4153 a106bc5249cacc8c54 and
4154 https://github.com/bazelbuild/bazel/commit/4c9149d558161e7d3e363f
4155 b697f5852bc5742a36 and some manual merging.
4156 + 4566a428c5317d87940aeacfd65f1018340e52b6:
4157 Fix tests on JDK 9 and 10
4158 + 1e9f0aa89dad38eeab0bd40e95e689be2ab6e5e5:
4159 Fix more tests on JDK 9 and 10
4160 + a572c1cbc8c26f625cab6716137e2d57d05cfdf3:
4161 Add ubuntu1804_nojava, ubuntu1804_java9, ubuntu1804_java10 to
4162 postsubmit.
4163 + 29f1de099e4f6f0f50986aaa4374fc5fb7744ee8:
4164 Disable Android shell tests on the "nojava" platform.
4165 + b495eafdc2ab380afe533514b3bcd7d5b30c9935:
4166 Update bazel_toolchains to latest release.
4167 + 9323c57607d37f9c949b60e293b573584906da46:
4168 Windows: fix writing java.log
4169 + 1aba9ac4b4f68b69f2d91e88cfa8e5dcc7cb98c2:
4170 Automated rollback of commit
4171 de22ab0582760dc95f33e217e82a7b822378f625.
4172 + 2579b791c023a78a577e8cb827890139d6fb7534:
4173 Fix toolchain_java9 on --host_javabase=<jdk9> after
4174 7eb9ea150fb889a93908d96896db77d5658e5005
4175 + 2834613f93f74e988c51cf27eac0e59c79ff3b8f:
4176 Include also ext jars in the bootclasspath jar.
4177 + fdb09a260dead1e1169f94584edc837349a4f4a5:
4178 Release 0.17.1 (2018-09-14)
4179 + 1d956c707e1c843896ac58a341c335c9c149073d:
4180 Do not fail the build when gcov is not installed
4181 + 2e677fb6b8f309b63558eb13294630a91ee0cd33:
4182 Ignore unrecognized VM options in desugar.sh, such as the JVM 9
4183 flags to silence warnings.
4184```
4185
4186Important changes:
4187
4188 - In the future, Bazel will expand tree artifacts in runfiles, too,
4189 which causes the sandbox to link each file individually into the
4190 sandbox directory, instead of symlinking the entire directory. In
4191 this release, the behavior is not enabled by default yet. Please
4192 try it out via
4193 --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfile
4194 s_tree and let us know if it causes issues. If everything looks
4195 good, this behavior will become the default in a following
4196 release.
4197
Bazel Release Systemfdb09a22018-09-14 12:15:54 +02004198## Release 0.17.1 (2018-09-14)
4199
4200```
4201Baseline: aa118ca818baf722aede0bc48d0a17584fa45b6e
4202
4203Cherry picks:
4204 + 0e0462589528154cb5160411991075a2000b5452:
4205 Update checker framework dataflow and javacutil versions
4206 + 3987300d6651cf0e6e91b395696afac6913a7d66:
4207 Stop using --release in versioned java_toolchains
4208 + 438b2773b8c019afa46be470b90bcf70ede7f2ef:
4209 make_deb: Add new empty line in the end of conffiles file
4210 + 504401791e0a0e7e3263940e9e127f74956e7806:
4211 Properly mark configuration files in the Debian package.
4212 + 9ed9d8ac4347408d15c8fce7c9c07e5c8e658b30:
4213 Add flag
4214 --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfil
4215 es_tree.
4216 + 22d761ab42dfb1b131f1facbf490ccdb6c17b89c:
4217 Update protobuf to 3.6.1 -- add new files
4218 + 27303d79c38f2bfa3b64ee7cd7a6ef03a9a87842:
4219 Update protobuf to 3.6.1 -- update references
4220 + ddc97ed6b0367eb443e3e09a28d10e65179616ab:
4221 Update protobuf to 3.6.1 -- remove 3.6.0 sources
4222 + ead1002d3803fdfd4ac68b4b4872076b19d511a2:
4223 Fix protobuf in the WORKSPACE
4224 + 12dcd35ef7a26d690589b0fbefb1f20090cbfe15:
4225 Revert "Update to JDK 10 javac"
4226 + 7eb9ea150fb889a93908d96896db77d5658e5005:
4227 Automated rollback of
4228 https://github.com/bazelbuild/bazel/commit/808ec9ff9b5cec14f23a4b
4229 a106bc5249cacc8c54 and
4230 https://github.com/bazelbuild/bazel/commit/4c9149d558161e7d3e363f
4231 b697f5852bc5742a36 and some manual merging.
4232 + 4566a428c5317d87940aeacfd65f1018340e52b6:
4233 Fix tests on JDK 9 and 10
4234 + 1e9f0aa89dad38eeab0bd40e95e689be2ab6e5e5:
4235 Fix more tests on JDK 9 and 10
4236 + a572c1cbc8c26f625cab6716137e2d57d05cfdf3:
4237 Add ubuntu1804_nojava, ubuntu1804_java9, ubuntu1804_java10 to
4238 postsubmit.
4239 + 29f1de099e4f6f0f50986aaa4374fc5fb7744ee8:
4240 Disable Android shell tests on the "nojava" platform.
4241 + b495eafdc2ab380afe533514b3bcd7d5b30c9935:
4242 Update bazel_toolchains to latest release.
4243 + 9323c57607d37f9c949b60e293b573584906da46:
4244 Windows: fix writing java.log
4245 + 1aba9ac4b4f68b69f2d91e88cfa8e5dcc7cb98c2:
4246 Automated rollback of commit
4247 de22ab0582760dc95f33e217e82a7b822378f625.
4248 + 2579b791c023a78a577e8cb827890139d6fb7534:
4249 Fix toolchain_java9 on --host_javabase=<jdk9> after
4250 7eb9ea150fb889a93908d96896db77d5658e5005
4251 + 2834613f93f74e988c51cf27eac0e59c79ff3b8f:
4252 Include also ext jars in the bootclasspath jar.
4253```
4254
4255Incompatible changes:
4256
4257 - Loading @bazel_tools//tools/build_defs/repo:git_repositories.bzl
4258 no longer works. Load @bazel_tools//tools/build_defs/repo:git.bzl
4259 instead.
4260 - If the same artifact is generated by two distinct but identical
4261 actions, and a downstream action has both those actions' outputs
4262 in its inputs, the artifact will now appear twice in the
4263 downstream action's inputs. If this causes problems in Skylark
4264 actions, you can use the uniquify=True argument in Args.add_args.
4265 - If the same artifact is generated by two distinct but identical
4266 actions, and a downstream action has both those actions' outputs
4267 in its inputs, the artifact will now appear twice in the
4268 downstream action's inputs. If this causes problems in Skylark
4269 actions, you can use the uniquify=True argument in Args.add_args.
4270 - Labels in C++ rules' linkopts attribute are not expanded anymore
4271 unless they are wrapped, e.g: $(location //foo:bar)
4272 - If the same artifact is generated by two distinct but identical
4273 actions, and a downstream action has both those actions' outputs
4274 in its inputs, the artifact will now appear twice in the
4275 downstream action's inputs. If this causes problems in Skylark
4276 actions, you can use the uniquify=True argument in Args.add_args.
4277 - New bazelrc file list.
4278 - Windows: when BAZEL_SH envvar is not defined and Bazel searches
4279 for a suitable bash.exe, Bazel will no longer look for Git Bash
4280 and no longer recommend installing it as a Bash implementation.
4281 See issue #5751.
4282 - New bazelrc file list.
4283
4284New features:
4285
4286 - The aquery command now supports --output=text.
4287 - Java, runfiles: the Java runfiles library is now in
4288 @bazel_tools//tools/java/runfiles. The old target
4289 (@bazel_tools//tools/runfiles:java-runfiles) is deprecated and
4290 will be removed in Bazel 0.18.0.
4291 - Java, runfiles: the Java runfiles library is now in
4292 @bazel_tools//tools/java/runfiles. The old target
4293 (@bazel_tools//tools/runfiles:java-runfiles) is deprecated and
4294 will be removed in Bazel 0.19.0 (not 0.18.0, as stated earlier).
4295
4296Important changes:
4297
4298 - Allow @ in package names.
4299 - Remove support for java_runtime_suite; use alias() together with
4300 select() instead.
4301 - Python wrapper scripts for MSVC are removed.
4302 - [JavaInfo] Outputs are merged in java_common.merge().
4303 - Faster analysis by improved parallelization.
4304 - --experimental_shortened_obj_file_path is removed.
4305 - Introduce the --remote_cache_proxy flag,
4306 which allows for remote http caching to connect
4307 via a unix domain socket.
4308 - No longer define G3_VERSION_INFO for c++ linkstamp compiles, as
4309 it was a duplicate of G3_TARGET_NAME.
4310 - Added support for Android NDK r17. The default STL is now
4311 `libc++`, and support for targeting `mips`, `mips64` and `ARMv5`
4312 (`armeabi`) has been removed.
4313 - Add aquery command to get analysis time information about the
4314 action graph.
4315 - Fixed compatibility with aar_import when using aapt2. AAPT2 is
4316 now supported for Android app builds without resource shrinking.
4317 To use it, pass the `--android_aapt=aapt2` flag or define
4318 android_binary.aapt_version=aapt2.
4319 - Code coverage is collected for Java binaries invoked from sh_test.
4320 - java_common.compile creates the native headers jar accesible via
4321 JavaInfo.outputs.native_headers.
4322 - Deleting deprecated no-op flag --show_package_location
4323 - The JDK shipped with Bazel was updated to JDK10.
4324 - Rename the startup flag --host_javabase to --server_javabase to
4325 avoid confusion with the build flag --host_javabase
4326 - newly added options --experimental_repository_hash_file and
4327 --experimental_verify_repository_rules allow to verify for
4328 repositories
4329 the directory generated against pre-recorded hashes. See
4330 documentation
4331 for those options.
4332 - Removed the gen_jars output group
4333 - --subcommands can now take a "pretty_print" value
4334 ("--subcommands=pretty_print") to print the
4335 arguments of subcommands as a list for easier reading.
4336 - follow-up to
4337 https://github.com/bazelbuild/bazel/commit/1ac359743176e659e9c7472
4338 645e3142f3c44b9e8
4339 - A rule error is now thrown if a Skylark rule implementation
4340 function returns multiple providers of the same type.
4341 - When using Bazel's remote execution feature and Bazel has to
4342 fallback to local execution for an action, Bazel used
4343 non-sandboxed
4344 local execution until now. From this release on, you can use the
4345 new
4346 flag --remote_local_fallback_strategy=<strategy> to tell Bazel
4347 which
4348 strategy to use in that case.
4349 - Execution Log Parser can now, when printing it out, filter the
4350 log by runner type
4351 - A rule error is now thrown if a Skylark rule implementation
4352 function returns multiple providers of the same type.
4353 - Removed the gen_jars output group
4354 - Removed the gen_jars output group
4355 - Set --defer_param_files to default to true.
4356 - Sort attribute lists in proto-form query output to fix
4357 non-deterministic genquery output.
4358 - Replace 0/1 with False/True for testonly attribute
4359 - bazel now supports a .bazelignore file specifying
4360 directories to be ignored; however, these directories still
4361 have to be well founded and, in particular, may not contain
4362 symlink cycles.
4363 - Add more detailed reporting of the differences between startup
4364 options.
4365 - update data binding to 3.2.0
4366 - For Android incremental dexing actions, Bazel now persists its
4367 DexBuilder process across individual actions. From our
4368 benchmarks, this results in a 1.2x speedup for clean local builds.
4369 - The standard `xcode_VERSION` feature now always uses exactly two
4370 components in the version, even if you specify `--xcode_version`
4371 with
4372 more or fewer than two.
4373 - A rule error will be thrown if a Skylark rule implementation
4374 function returns multiple providers of the same type. Try the
4375 `--incompatible_disallow_conflicting_providers` flag to ensure
4376 your code is forward-compatible.
4377 - Removed notion of FULLY_STATIC linking mode from C++ rules.
4378 - In documentation, we've renamed Skylark into Starlark.
4379 - Execution Log Parser can now, when printing it out, reorder the
4380 actions for easier text diffs
4381 - Linkstamps are no longer recompiled after server restart.
4382 - Use VanillaJavaBuilder and disable header compilation in
4383 toolchain_hostjdk8. The default toolchain will soon drop
4384 compatibility with JDK 8. Using a JDK 8 host_javabase
4385 will only be supported when using 'VanillaJavaBuilder' (which
4386 does not support Error Prone,
4387 Strict Java Deps, or reduced classpaths) and with header
4388 compilation disabled.
4389 - In the future, Bazel will expand tree artifacts in runfiles, too,
4390 which causes the sandbox to link each file individually into the
4391 sandbox directory, instead of symlinking the entire directory. In
4392 this release, the behavior is not enabled by default yet. Please
4393 try it out via
4394 --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfile
4395 s_tree and let us know if it causes issues. If everything looks
4396 good, this behavior will become the default in a following
4397 release.
4398
Bazel Release System1bd58832018-08-13 15:41:26 +02004399## Release 0.16.1 (2018-08-13)
4400
4401```
4402Baseline: 4f64b77a3dd8e4ccdc8077051927985f9578a3a5
4403
4404Cherry picks:
4405 + 4c9a0c82d308d5df5c524e2a26644022ff525f3e:
4406 reduce the size of bazel's embedded jdk
4407 + d3228b61f633cdc5b3f740b641a0836f1bd79abd:
4408 remote: limit number of open tcp connections by default. Fixes
4409 #5491
4410 + 8ff87c164f48dbabe3b20becd00dde90c50d46f5:
4411 Fix autodetection of linker flags
4412 + c4622ac9205d2f1b42dac8c598e83113d39e7f11:
4413 Fix autodetection of -z linker flags
4414 + 10219659f58622d99034288cf9f491865f818218:
4415 blaze_util_posix.cc: fix order of #define
4416 + ab1f269017171223932e0da9bb539e8a17dd99ed:
4417 blaze_util_freebsd.cc: include path.h explicitly
4418 + 68e92b45a37f2142c768a56eb7ecfa484b8b22df:
4419 openjdk: update macOS openjdk image. Fixes #5532
4420 + f45c22407e6b00fcba706eb62141cb9036bd38d7:
4421 Set the start time of binary and JSON profiles to zero correctly.
4422 + bca1912853086b8e9a28a85a1b144ec0dc9717cc:
4423 remote: fix race on download error. Fixes #5047
4424 + 3842bd39e10612c7eef36c6048407e81bcd0a8fb:
4425 jdk: use parallel old gc and disable compact strings
4426 + 6bd0bdf5140525cb33dc2db068b210261d9df271:
4427 Add objc-fully-link to the list of actions that require the
4428 apple_env feature. This fixes apple_static_library functionality.
4429 + f330439fb970cfa17c70fc59c1458bb1c31c9522:
4430 Add the action_names_test_files target to the OSS version of
4431 tools/buils_defs/cc/BUILD.
4432 + d215b64362c4ede61c8ba87b5f3f57bce4785d15:
4433 Fix StackOverflowError on Windows. Fixes #5730
4434 + 366da4cf27b7f957ef39f89206db77fa2ac289df:
4435 In java_rules_skylark depend on the javabase through
4436 //tools/jdk:current_java_runtime
4437 + 30c601dc13d9e1b40a57434c022c888c7578cc56:
4438 Don't use @local_jdk for jni headers
4439 + c56699db5f9173739ba3ac55aa9fa69b6457a99b:
4440 'DumpPlatformClasspath' now dumps the current JDK's default
4441 platform classpath
4442```
4443
4444This release is a patch release that contains fixes for several serious
4445regressions that were found after the release of Bazel 0.16.0.
4446
4447In particular this release resolves the following issues:
4448
4449 - Bazel crashes with a StackOverflowError on Windows (See #5730)
4450 - Bazel requires a locally installed JDK and does not fall back
4451 to the embedded JDK (See #5744)
4452 - Bazel fails to build for Homebrew on macOS El Capitan (See #5777)
4453 - A regression in apple_static_library (See #5683)
4454
4455Please watch our blog for a more detailed release announcement.
4456
Bazel Release Systemb292ad12018-07-31 12:55:37 -04004457## Release 0.16.0 (2018-07-31)
Bazel Release System97564f62018-07-17 14:19:41 +02004458
4459```
Bazel Release Systemb292ad12018-07-31 12:55:37 -04004460Baseline: 4f64b77a3dd8e4ccdc8077051927985f9578a3a5
Bazel Release System97564f62018-07-17 14:19:41 +02004461
4462Cherry picks:
Bazel Release Systemb292ad12018-07-31 12:55:37 -04004463 + 4c9a0c82d308d5df5c524e2a26644022ff525f3e:
4464 reduce the size of bazel's embedded jdk
4465 + d3228b61f633cdc5b3f740b641a0836f1bd79abd:
4466 remote: limit number of open tcp connections by default. Fixes
4467 #5491
Bazel Release System97564f62018-07-17 14:19:41 +02004468 + 8ff87c164f48dbabe3b20becd00dde90c50d46f5:
4469 Fix autodetection of linker flags
4470 + c4622ac9205d2f1b42dac8c598e83113d39e7f11:
4471 Fix autodetection of -z linker flags
Bazel Release Systemb292ad12018-07-31 12:55:37 -04004472 + 10219659f58622d99034288cf9f491865f818218:
4473 blaze_util_posix.cc: fix order of #define
4474 + ab1f269017171223932e0da9bb539e8a17dd99ed:
4475 blaze_util_freebsd.cc: include path.h explicitly
4476 + 68e92b45a37f2142c768a56eb7ecfa484b8b22df:
4477 openjdk: update macOS openjdk image. Fixes #5532
4478 + f45c22407e6b00fcba706eb62141cb9036bd38d7:
4479 Set the start time of binary and JSON profiles to zero correctly.
4480 + bca1912853086b8e9a28a85a1b144ec0dc9717cc:
4481 remote: fix race on download error. Fixes #5047
4482 + 3842bd39e10612c7eef36c6048407e81bcd0a8fb:
4483 jdk: use parallel old gc and disable compact strings
Bazel Release System97564f62018-07-17 14:19:41 +02004484```
4485
Bazel Release Systemb292ad12018-07-31 12:55:37 -04004486Incompatible changes:
4487
4488 - The $(ANDROID_CPU) Make variable is not available anymore. Use
4489 $(TARGET_CPU) after an Android configuration transition instead.
4490 - The $(JAVA_TRANSLATIONS) Make variable is not supported anymore.
4491 - Skylark structs (using struct()) may no longer have to_json and
4492 to_proto overridden.
4493 - The mobile-install --skylark_incremental_res flag is no longer
4494 available, use the --skylark flag instead.
4495
4496New features:
4497
4498 - android_local_test now takes advantage of Robolectric's binary
4499 resource processing which allows for faster tests.
4500 - Allow @ in package names.
4501
Bazel Release System97564f62018-07-17 14:19:41 +02004502Important changes:
4503
Bazel Release Systemb292ad12018-07-31 12:55:37 -04004504 - Option --glibc is removed, toolchain selection relies solely on
4505 --cpu and --compiler options.
4506 - Build support for enabling cross binary FDO optimization.
4507 - The --distdir option is no longer experimental. This
4508 option allows to specify additional directories to look for
4509 files before trying to fetch them from the network. Files from
4510 any of the distdirs are only used if a checksum for the file
4511 is specified and both, the filename and the checksum, match.
4512 - Java coverage works now with multiple jobs.
4513 - Flip default value of --experimental_shortened_obj_file_path to
4514 true, Bazel now generates short object file path by default.
4515 - New rules for importing Android dependencies:
4516 `aar_import_external` and `aar_maven_import_external`.
4517 `aar_import_external` enables specifying external AAR
4518 dependencies using a list of HTTP URLs for the artifact.
4519 `aar_maven_import_external` enables specifying external AAR
4520 dependencies using the artifact coordinate and a list of server
4521 URLs.
4522 - The BAZEL_JAVAC_OPTS environment variable allows arguments, e.g.,
4523 "-J-Xmx2g", may be passed to the javac compiler during bootstrap
4524 build. This is helpful if your system chooses too small of a max
4525 heap size for the Java compiler during the bootstrap build.
4526 - --noexpand_configs_in_place is deprecated.
4527 - A tool to parse the Bazel execution log.
4528 - Support for LIPO has been fully removed.
4529 - Remove support for --discard_actions_after_execution.
4530 - Add --materialize_param_files flag to write parameter files even
4531 when actions are executed remotely.
4532 - Windows default system bazelrc is read from the user's
4533 ProgramData if present.
4534 - --[no]allow_undefined_configs no longer exists, passing undefined
4535 configs is an error.
Bazel Release System1281a022018-07-16 16:13:53 +02004536 - In remote caching we limit the number of open
4537 TCP connections to 100 by default. The number can be adjusted
4538 by specifying the --remote_max_connections flag.
4539
Bazel Release System5013a332018-06-26 14:07:47 +02004540## Release 0.15.0 (2018-06-26)
4541
4542```
4543Baseline: b93ae42e8e693ccbcc387841a17f58259966fa38
4544
4545Cherry picks:
4546 + 4b80f2455e7e49a95f3a4c9102a67a57dad52207:
4547 Add option to enable Docker sandboxing.
4548 + 6b1635279e8b33dc1ac505ac81825e38f8797a14:
4549 Allow disabling the simple blob caches via CLI flag overrides.
4550 + 4ec0a7524913ab2c4641368e3f8c09b347351a08:
4551 Use BUILD.bazel instead of BUILD for external projects
4552```
4553
4554Incompatible changes:
4555
4556 - Bazel now always runs binaries in with "bazel run" in
4557 interactive mode. The "--nodirect_run" command line option is now
4558 a no-op.
4559 - "bazel run --noas_test" is not supported anymore.
4560 - Indentation on the first line of a file was previously ignored.
4561 This is now fixed.
4562
4563New features:
4564
4565 - C++,runfiles: to access data-dependencies (runfiles) in C++
4566 programs, use the runfiles library built into Bazel. For usage
4567 info, see
4568 https://github.com/bazelbuild/bazel/blob/master/tools/cpp/runfiles
4569 /runfiles.h
4570
4571Important changes:
4572
4573 - Bazel now allows almost all 7-bit ASCII characters in labels.
4574 - Remove vestigial java_plugin.data attribute
4575 - Bazel supports including select Java 8 APIs into Android apps
4576 targeting pre-Nougat Android devices with
4577 --experimental_desugar_java8_libs
4578 - Flag `--incompatible_disable_glob_tracking` is removed.
4579 - SkyQuery's rbuildfiles now returns targets corresponding to
4580 broken packages.
4581 - Introduce build support for providing cache prefetch hints.
4582 - Update the skylark DefaultInfo documentation to spell out
4583 runfiles, data_runfiles and default_runfiles
4584 - An internal action for symlinking runfiles will use Command
4585 instead of a Spawns. This should have no functional chages; the
4586 only user visible consequence should be that the internal action
4587 is no longer be included in statistics when calculating processes
4588 count.
4589 - --batch is deprecated
4590 - execution strategies line no longer handles differently the case
4591 where all processes have the same strategy.
4592 - The --experimental_remote_spawn_cache flag is now enabled by
4593 default, and remote caching no longer needs --*_strategy=remote
4594 flags (it will fail if they are specified).
4595 - android_binary.aapt_version='aapt2' now supports en_XA and ar_XB
4596 - Added --apple_enable_auto_dsym_dbg flag.
4597 - non_propagated_deps has been removed from objc_library and
4598 apple_binary.
4599 - For Android projects, Bazel now supports building fonts as
4600 resources. See
4601 https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml
4602 for more information on the feature.
4603 - With --incompatible_no_support_tools_in_action_inputs enabled, Skylark
4604 action inputs are no longer scanned for tools. Move any such
4605 inputs to the newly introduced 'tools' attribute.
4606
Bazel Release System513bbf52018-06-08 14:15:20 +02004607## Release 0.14.1 (2018-06-08)
4608
4609```
4610Baseline: 5c3f5c9be7fa40d4fb3c35756891fab8483ca406
4611
4612Cherry picks:
4613 + f96f037f8f77335dc444844abcc31a372a3e1849:
4614 Windows, Java launcher: Support jar files under different drives
4615 + ff8162d01409db34893de98bd840a51c5f13e257:
4616 sh_configure.bzl: FreeBSD is also a known platform
4617 + 7092ed324137f03fcd34856bdb0595a1bdec3069:
4618 Remove unneeded exec_compatible_with from local_sh_toolchain
4619 + 57bc201346e61c62a921c1cbf32ad24f185c10c9:
4620 Do not autodetect C++ toolchain when
4621 BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 is present
4622 + 35a78c09cf2fbfc3de9c124d2142e3d72aac4348:
4623 remote: recursively delete incomplete downloaded output
4624 directory.
4625 + 3c9cd82b847f3ece8ec04b2029bd5e8ad0eb7502:
4626 distfile: pack the archives needed later in the build
4627 + 27487c77387e457df18be3b6833697096d074eab:
4628 Slightly refactor SpawnAction to improve env handling
4629 + 1b333a2c37add9d04fe5bc5258ee4f73c93115e2:
4630 Fix Cpp{Compile,Link}Action environment and cache key computation
4631 + 3da8929963e9c70dff5d8859d6e988e6e7f4f9d7:
4632 Make SymlinkTreeAction properly use the configuration's
4633 environment
4634 + eca7b81cf8cc51e1fe56e5ed7d4ad5cd1668a17a:
4635 Add a missing dependency from checker framework dataflow to
4636 javacutils
4637 + 10a4de954c2061258d8222961fc3bd39516db49d:
4638 Release 0.14.0 (2018-06-01)
4639 + 4b80f2455e7e49a95f3a4c9102a67a57dad52207:
4640 Add option to enable Docker sandboxing.
4641 + 6b1635279e8b33dc1ac505ac81825e38f8797a14:
4642 Allow disabling the simple blob caches via CLI flag overrides.
4643```
4644
4645Bug fix for [#5336](https://github.com/bazelbuild/bazel/issues/5336)
4646Bug fix fot [#5308](https://github.com/bazelbuild/bazel/issues/5308)
4647
Bazel Release System3a592f62018-06-01 15:04:31 +02004648## Release 0.14.0 (2018-06-01)
4649
4650```
4651Baseline: 5c3f5c9be7fa40d4fb3c35756891fab8483ca406
4652
4653Cherry picks:
4654 + f96f037f8f77335dc444844abcc31a372a3e1849:
4655 Windows, Java launcher: Support jar files under different drives
4656 + ff8162d01409db34893de98bd840a51c5f13e257:
4657 sh_configure.bzl: FreeBSD is also a known platform
4658 + 7092ed324137f03fcd34856bdb0595a1bdec3069:
4659 Remove unneeded exec_compatible_with from local_sh_toolchain
4660 + 57bc201346e61c62a921c1cbf32ad24f185c10c9:
4661 Do not autodetect C++ toolchain when
4662 BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 is present
4663 + 35a78c09cf2fbfc3de9c124d2142e3d72aac4348:
4664 remote: recursively delete incomplete downloaded output
4665 directory.
4666 + 3c9cd82b847f3ece8ec04b2029bd5e8ad0eb7502:
4667 distfile: pack the archives needed later in the build
4668 + 27487c77387e457df18be3b6833697096d074eab:
4669 Slightly refactor SpawnAction to improve env handling
4670 + 1b333a2c37add9d04fe5bc5258ee4f73c93115e2:
4671 Fix Cpp{Compile,Link}Action environment and cache key computation
4672 + 3da8929963e9c70dff5d8859d6e988e6e7f4f9d7:
4673 Make SymlinkTreeAction properly use the configuration's
4674 environment
4675 + eca7b81cf8cc51e1fe56e5ed7d4ad5cd1668a17a:
4676 Add a missing dependency from checker framework dataflow to
4677 javacutils
4678```
4679
4680Incompatible changes:
4681
4682 - Add --incompatible_disallow_legacy_javainfo flag.
4683 - Added flag --incompatible_disallow_old_style_args_add to help
4684 migrate from args.add() to args.add_all() / args.add_joined()
4685 where appropriate.
4686
4687New features:
4688
4689 - Bash,runfiles: use the new platform-independent library in
4690 `@bazel_tools//tools/bash/runfiles` to access runfiles
4691 (data-dependencies). See
4692 https://github.com/bazelbuild/bazel/blob/master/tools/bash/runfile
4693 s/runfiles.bash for usage information.
4694 - TemplateVariableInfo can now be constructed from Skylark.
4695 - The java_host_runtime_alias rule is now implemented in Java.
4696
4697Important changes:
4698
4699 - Flip default value of --experimental_shortened_obj_file_path to
4700 true, Bazel now generates short object file path by default.
4701 - Introduce fdo_profile rule that allows architecture-sensitive
4702 specification of fdo profiles.
4703 - canonicalize-flags no longer reorders the flags
4704 - CppRules: optional_compiler_flag was removed from CROSSTOOL, use
4705 features instead.
4706 - Labels of the form ////foo are disallowed.
4707 - The `/` operator is deprecated in favor of `//` (floor integer
4708 division).
4709 Try the `--incompatible_disallow_slash_operator` flag to ensure
4710 your code
4711 is forward-compatible.
4712 - Flip default value of --experimental_shortened_obj_file_path to
4713 true, Bazel now generates short object file path by default.
4714 - Exposed "mnemonic" and "env" fields on skylark "Action" objects.
4715 - Removed flag `--incompatible_disallow_toplevel_if_statement`.
4716 - Remove vestigial 'deps' and 'data' attributes from
4717 proto_lang_toolchain
4718 - Args objects (ctx.actions.args()) have new methods add_all() and
4719 add_joined() for building command lines using depsets.
4720 - `FileType` is deprecated and will be removed soon.
4721 Try the `--incompatible_disallow_filetype` flag to ensure your
4722 code
4723 is forward-compatible.
4724 - Introduce absolute_path_profile attribute that allows fdo_profile
4725 to accept absolute paths.
4726 - Support two-arg overloads for ctx.actions.args (eg.
4727 args.add("--foo", val))
4728 - Introduce 'tools' attribute to ctx.actions.run.
4729 - Fixed error message for proguard_apply_dictionary.
4730 - "bazel run" now lets one run interactive binaries. The
4731 BUILD_WORKSPACE_DIRECTORY and BUILD_WORKING_DIRECTORY environment
4732 variables indicate the working directory and the workspace root
4733 of the Bazel invocation. Tests are provided with an approximation
4734 of the official test environment.
4735 - repository rules are no longer restricted to return None.
4736 - Add --high_priority_workers flag.
4737 - CppRules: Feature configuration can be created from Skylark
4738 - Adds new-style JavaInfo provider constructor.
4739 - Make java_common.compile now uses java_toolchain javacopts by
4740 default; explicitly retrieving them using
4741 java_common.default_javac_opts is unnecessary.
4742 - CppRules: C++ command lines and env variables for C++ actions can
4743 be retrieved from feature configuration.
4744 - Skylark rule definitions may advertise providers that targets of
4745 the rule must propagate.
4746 - Bazel now supports running actions inside Docker containers.
4747 To use this feature, run "bazel build --spawn_strategy=docker
4748 --experimental_docker_image=myimage:latest".
4749 - Remote execution works for Windows binaries with launchers.
4750 - Fixing start/end lib expansion for linking. There were many cases
4751 where archive files were still being used with toolchains that
4752 support start/end lib. This change consolidates the places that
4753 make that decision so they can be more consistent.
4754 - Add support for reporting an error if
4755 android_test.binary_under_test contains incompatible versions of
4756 deps
4757 - We replaced the --experimental_local_disk_cache and
4758 --experimental_local_disk_cache_path flags into a single
4759 --disk_cache flag. Additionally, Bazel now tries to create the disk cache
4760 directory if it doesn't exist.
4761 - Save Blaze memory by not storing LinkerInput objects in
4762 LinkCommandLine
4763 - In the JavaInfo created by java_common.create_provider now
4764 includes both direct and transitive arguments in
4765 transitive_compile_time_jars and transitive_runtime_jars
4766 - Allow --worker_max_instances to take MnemonicName=value to
4767 specify max for each worker.
4768 - Allow java_toolchain.header_compiler to be an arbitrary executable
4769
Bazel Release System24c68ff2018-05-23 10:59:57 +02004770## Release 0.13.1 (2018-05-23)
4771
4772```
4773Baseline: fdee70e6e39b74bfd9144b1e350d2d8806386e05
4774
4775Cherry picks:
4776 + f083e7623cd03e20ed216117c5ea8c8b4ec61948:
4777 windows: GetOutputRoot() returns GetHomeDir()
4778 + fa36d2f48965b127e8fd397348d16e991135bfb6:
4779 Automated rollback of commit
4780 4465dae23de989f1452e93d0a88ac2a289103dd9.
4781 + 4abd2babcc50900afd0271bf30dc64055f34e100:
4782 Add error message on empty public resources
4783 + 2c957575ff24c183d48ade4345a79ffa5bec3724:
4784 test-setup: remove leading "./" from test name
4785 + e6eaf251acb3b7054c8c5ced58a49c054b5f23b1:
4786 Sort entries by segment when building a parent node to prevent
4787 unordered directory structures.
4788```
4789
4790Important changes:
4791
4792 - Remote Execution: Fixes a regression that produces directories with unsorted file/directory lists
4793
Bazel Release System1d9c6062018-04-30 10:45:38 +02004794## Release 0.13.0 (2018-04-30)
4795
4796```
4797Baseline: fdee70e6e39b74bfd9144b1e350d2d8806386e05
4798
4799Cherry picks:
4800 + f083e7623cd03e20ed216117c5ea8c8b4ec61948:
4801 windows: GetOutputRoot() returns GetHomeDir()
4802 + fa36d2f48965b127e8fd397348d16e991135bfb6:
4803 Automated rollback of commit
4804 4465dae23de989f1452e93d0a88ac2a289103dd9.
4805 + 4abd2babcc50900afd0271bf30dc64055f34e100:
4806 Add error message on empty public resources
4807 + 2c957575ff24c183d48ade4345a79ffa5bec3724:
4808 test-setup: remove leading "./" from test name
4809```
4810
4811Incompatible changes:
4812
4813 - Remove //tools/defaults:android_jar. Use
4814 @bazel_tools//tools/android:android_jar instead.
4815 - The flag --incompatible_show_all_print_messages is removed.
4816 Messages generated by `print` statements from any package will be
4817 displayed as
4818 DEBUG messages.
4819 - The --incompatible_disallow_uncalled_set_constructor flag is no
4820 longer available, the `set` constructor` is completely removed
4821 from Skylark.
4822 Use `depset` instead.
4823 - Variables PACKAGE_NAME and REPOSITORY_NAME are deprecated in
4824 favor of
4825 functions `package_name()` and `repository_name()`.
4826
4827 https://docs.bazel.build/versions/master/skylark/lib/native.html#p
4828 ackage_name
4829 - BUILD_TIMESTAMP now contains seconds (and not milliseconds) since
4830 the epoch.
4831
4832New features:
4833
4834 - Strings have a new .elems() method, that provides an iterator on
4835 the characters of the string.
4836 - Now you can access three functions in windows_cc_configure.bzl by:
4837 load("@bazel_tools/tools/cpp:windows_cc_configure.bzl",
4838 "<function_name>")
4839
4840Important changes:
4841
4842 - CppRules: Unified action_configs for static libraries
4843 - Remove support for blaze dump --vfs. It is no longer meaningful.
4844 - Enable dependency checking for aar_import targets.
4845 - internal_bootstrap_hack has been deprecated and removed.
4846 - Properly handle tree artifacts on the link command line coming
4847 from a cc_library dependency.
4848 - Allow C++ features to make proto_library emit smaller C++ code
4849 - The 'j2objc' configuration fragment is exposed to Skylark.
4850 - Remove the default content of the global bazelrc.
4851 - In int() function, do not auto-detect base if input starts with
4852 '0'.
4853 - Users can now pass --experimental_shortened_obj_file_path=true to
4854 have a shorter object file path, the object file paths (and all
4855 other related paths) will be constructed as following:
4856 If there's no two or more source files with the same base name:
4857
4858 <bazel-bin>/<target_package_path>/_objs/<target_name>/<source_base
4859 _name>.<extension>
4860 otherwise:
4861
4862 <bazel-bin>/<target_package_path>/_objs/<target_name>/N/<source_ba
4863 se_name>.<extension>
4864 N = the file?s order among the source files with the same
4865 basename, starts from 0.
4866 - Move (c/cxx)opts from legacy_compile_flags to user_compile_flags
4867 - CppRules: Remove optional_*_flag fields from CROSSTOOL, they are
4868 not
4869 used, and could be expressed using features.
4870 - Introduce --incompatible_disable_objc_provider_resources to turn
4871 off all resource-related fields of the Objc provider.
4872 - Removed the statement of "What does Bazel support?" as it's
4873 limiting/misleading. Added supported host OSes to
4874 "multi-platform" paragraph.
4875 - android_library AAR output now contains proguard.txt
4876 - Bazel now displays information about remote cache hits and
4877 execution strategies used in its UI after every build and test,
4878 and adds a corresponding line "process stats" to BuildToolLogs in
4879 BEP.
4880 - Print correct build result for builds with --aspects flag.
4881 - android_binary.manifest_merger is no longer supported.
4882
Bazel Release System546976c2018-04-11 17:34:19 +02004883## Release 0.12.0 (2018-04-11)
4884
4885```
4886Baseline: b33e5afa313322a7048044c44d854cbb666b988e
4887
4888Cherry picks:
4889 + 369409995bd75eeb0683fd24f7585d2a90320796:
4890 Automated rollback of commit
4891 c2b332b45e6ea41a14ecbd3c5f30782bcdeec301.
4892 + dbf779869751cc893ba240402d352c6e70be2978:
4893 Emit SJD errors even if we don't know the label of a dependency
4894 + 4c3098cfa6f00f90c7530b6f40d3e93062931c1d:
4895 Android tools: remove mtime-modifications
4896 + a1068c44a700ec2cff84cbd12592e9bfea25d754:
4897 NDK cc_toolchains: include bundled runtime libraries in
4898 cc_toolchain.all_files
4899 + b1be5816ec1bf8e1172c1bed4f29b4e6c6bb7202:
4900 runfiles,Python: remove library from @bazel_tools
4901 + 0a4622012ff796429220fe57d3217f262cc208a8:
4902 Fix visibility of def_parser for remote builds
4903 + 3c5373c50c7c492842f8a468906eda2c0bc90787:
4904 Remove visibility attribute from
4905 //third_party/def_parser:def_parser
4906 + f54d7e5293cc40ce3507a9adef530e46ab817585:
4907 Enable bulk writes in the HttpBlobStore
4908 + 04ce86e8ba96630f89a436167b7f3a195c5e50e7:
4909 remote/http: properly complete user promise
4910```
4911
4912Incompatible changes:
4913
4914 - The order of dict-valued attributes is now the order in the BUILD
4915 file (or in the Skylark dict they were created from) and not
4916 lexicographically sorted.
4917
4918New features:
4919
4920 - The new "--direct_run" flag on "blaze run" lets one run
4921 interactive binaries.
4922 - "blaze run --direct_run" with tests now gives the test an
4923 approximation of the official test environment.
4924 - "blaze run --direct_run" now exports the
4925 BUILD_{WORKSPACE,WORKING}_DIRECTORY variables to tell the binary
4926 about the cwd of the client and the workspace root.
4927 - New Android device test rule: android_instrumentation_test.
4928 - Add option to dump the action graph to a file: 'bazel dump
4929 --action_graph=/path/to/file'.
4930 - Pass `tags` from `java_import_external` rule to the generated
4931 `java_import` rule.
4932 - blaze query: use --proto:output_rule_attrs to filter for given
4933 attributes
4934 - Added Android NDK r15 support, including compatibility with
4935 Unified Headers.
4936 - Adds --ltobackendopt and --per_file_ltobackendopt for passing
4937 options to ThinLTO LTO backend compile actions only.
4938
4939Important changes:
4940
4941 - Fix how libraries to link is specified to archiver actions.
4942 - Fix how libraries_to_link are expanded in the archiver command
4943 line.
4944 - stop using --no-locals in android coverage builds
4945 - apple_binary can now generate dSYM outputs with the
4946 --apple_generate_dsym=true flag.
4947 - Fix FDO_STAMP_MACRO to only be set when fdoBuildStamp is not null.
4948 - Improved clarity of warning message for unsupported NDK revisions.
4949 - Add lint check for discouraging glob(["**/*.java"])
4950 - unifly lint glob(["**/*.java"]) message
4951 - Removed flags `--incompatible_checked_arithmetic`,
4952 `--incompatible_dict_literal_has_no_duplicates`,
4953 `--incompatible_disallow_keyword_only_args`, and `
4954 --incompatible_comprehension_variables_do_not_leak`.
4955 - Add "proto_source_root" flag to proto_library.
4956 - Updated default android_cpu value to armeabi-v7a
4957 - In skylark, print(target) now shows the provider keys of a
4958 target, as debug information.
4959 - The native http_archive rule is deprecated. Use the
4960 Skylark version available via
4961 load("@bazel_tools//tools/build_defs/repo:http.bzl",
4962 "http_archive")
4963 instead.
4964 - flaky_test_attempts supports the regex@attempts syntax, like
4965 runs_per_test.
4966 - Fixed include paths for NDK r13+ llvm-libc++ headers to
4967 `ndk/sources/cxx-stl/llvm-libc++/include` and
4968 `ndk/sources/cxx-stl/llvm-libc++abi/include`
4969 - --config flags now expand in place by default.
4970 - aar_import now sets java.transitive_exports.
4971 - repository_cache is no longer experimental and enabled by default.
4972 - BAZEL_LINKOPTS is now consulted when autoconfiguring c++ toolchain
4973 - The native git_repository rule is deprecated. Use the
4974 Skylark version available via
4975 load("@bazel_tools//tools/build_defs/repo:git.bzl",
4976 "git_repository")
4977 instead.
4978 - Removed flag `--incompatible_load_argument_is_label`.
4979 - CcToolchain: Introduced action_config for
4980 "c++-link-transitive-dynamic-library"
4981 - Use bazel dump --action_graph=/path/to/action.proto
4982 --action_graph:targets://foo:bar,//foo:foo to filter for certain
4983 targets in the action graph dump.
4984 - Added Android NDK r16 support. Use --cxxopt='-std=c++11` compile
4985 with the C++11 standard, and
4986 `--android_crosstool_top=@androidndk//:toolchain-libcpp` to use
4987 the `libc++` STL.
4988 - Add a --build_event_publish_all_actions flag to allow all actions
4989 to be published via the BEP.
4990 - C++: Introduced --experimental_drop_fully_static_linking_mode
4991 - Removed cc_inc_library, please use cc_library instead
4992 - CppRules: cc_binary/cc_test now enable 'static_linking_mode' or
4993 'dynamic_linking_mode'.
4994
Bazel Release Systemc86d6a02018-03-06 19:32:18 +01004995## Release 0.11.1 (2018-03-06)
4996
4997```
4998Baseline: 00d781ae78a8bd51d3c61b621d79f0bb095aff9e
4999
5000Cherry picks:
5001 + ea2d4c475febdbd59ca0e0ba46adc7be759f84e0:
5002 Update stub_finds_runfiles_test to be a real sh_test.
5003 + d855d8133f4efb73ebd5e82c54a9afb4c7565d46:
5004 java,runfiles: fix bugs in runfiles library
5005 + 56aeb04a064218b845ecc193d530c341c6ec854d:
5006 Fixing #4585: broken re-execution of orphaned actions.
5007 + cf3f81aef7c32019d70cbce218a64a03276268f0:
5008 remote: Add support for HTTP Basic Auth
5009 + 28bd997c1c8793973f63dcae4c22bbae49e7d8b7:
5010 Fixing test-setup.sh occasionally missing stdout/stderr, on
5011 systems where "tail --pid" is supported.
5012 + 109e4b4dc9e786e3a2d8d7cb245d18320dbe9216:
5013 Automated rollback of commit
5014 7e6837cc1d1aa4259f5c27ba3606b277b5f6c3e9.
5015 + b3d52b1b6d46a0f23cc91125c1d522e9d13433b4:
5016 Fix incorrect include directories when -no-canonical-prefixes is
5017 passed to clang
5018 + 1001141f0674ff4b611814edcb00a5183680ef4a:
5019 Roll forward of
5020 https://github.com/bazelbuild/bazel/commit/3904ac33a983fd8faebba1
5021 b52bcac5a3ff942029
5022 (https://github.com/bazelbuild/bazel/commit/3904ac33a983fd8faebba
5023 1b52bcac5a3ff942029). Fix #4625 by running the test process in a
5024 sub-shell.
5025 + fc98b44b6181fa4c3efd8613d887970629468d74:
5026 android,windows: bugfix in aar_resources_extractor
5027```
5028
5029Important changes:
5030
5031 - Fixes regression building Android rules on Windows.
5032
Bazel Release System09077a32018-02-23 11:09:18 -05005033## Release 0.11.0 (2018-02-23)
5034
5035```
5036Baseline: 00d781ae78a8bd51d3c61b621d79f0bb095aff9e
5037
5038Cherry picks:
5039 + ea2d4c475febdbd59ca0e0ba46adc7be759f84e0:
5040 Update stub_finds_runfiles_test to be a real sh_test.
5041 + d855d8133f4efb73ebd5e82c54a9afb4c7565d46:
5042 java,runfiles: fix bugs in runfiles library
5043 + 56aeb04a064218b845ecc193d530c341c6ec854d:
5044 Fixing #4585: broken re-execution of orphaned actions.
5045 + cf3f81aef7c32019d70cbce218a64a03276268f0:
5046 remote: Add support for HTTP Basic Auth
5047 + 28bd997c1c8793973f63dcae4c22bbae49e7d8b7:
5048 Fixing test-setup.sh occasionally missing stdout/stderr, on
5049 systems where "tail --pid" is supported.
5050 + 109e4b4dc9e786e3a2d8d7cb245d18320dbe9216:
5051 Automated rollback of commit
5052 7e6837cc1d1aa4259f5c27ba3606b277b5f6c3e9.
5053 + b3d52b1b6d46a0f23cc91125c1d522e9d13433b4:
5054 Fix incorrect include directories when -no-canonical-prefixes is
5055 passed to clang
5056 + 3904ac33a983fd8faebba1b52bcac5a3ff942029:
5057 Automated rollback of commit
5058 28bd997c1c8793973f63dcae4c22bbae49e7d8b7.
5059 + 1001141f0674ff4b611814edcb00a5183680ef4a:
5060 Roll forward of
5061 https://github.com/bazelbuild/bazel/commit/3904ac33a983fd8faebba1
5062 b52bcac5a3ff942029
5063 (https://github.com/bazelbuild/bazel/commit/3904ac33a983fd8faebba
5064 1b52bcac5a3ff942029). Fix #4625 by running the test process in a
5065 sub-shell.
5066```
5067
5068Incompatible changes:
5069
5070 - ctx.fragments.jvm is not available anymore.
5071
5072New features:
5073
5074 - java,runfiles: You can now depend on
5075 `@bazel_tools//tools/runfiles:java-runfiles` to get a
5076 platform-independent runfiles library for Java. See JavaDoc of
5077 https://github.com/bazelbuild/bazel/blob/master/src/tools/runfiles
5078 /java/com/google/devtools/build/runfiles/Runfiles.java for usage
5079 information.
5080
5081Important changes:
5082
5083 - The --[no]experimental_disable_jvm command line option is not
5084 supported anymore.
5085 - Allow expanding TreeArtifacts for libraries_to_link
5086 - Proguarded Android binaries can be built with incremental dexing.
5087 - aar_import now supports assets.
5088 - Crash in OutputJar::Close has been fixed
5089 - generator_* attributes are nonconfigurable.
5090 - Introduces --[no]keep_state_after_build
5091 - Add support for merged object files needed for -flto-unit.
5092 - Fix how libraries to link is specified to archiver actions.
5093 - Replace //tools/defaults:android_jar with
5094 @bazel_tools//tools/android:android_jar.
5095 //tools/defaults:android_jar will be removed in a future release.
5096 - java_common.compile supports neverlink
5097 - Resolved an issue where a failure in the remote cache would not
5098 trigger local re-execution of an action.
5099
Bazel Release Systeme1148362018-02-15 10:02:05 +01005100## Release 0.10.1 (2018-02-15)
5101
5102```
5103Baseline: 22c2f9a7722e8c8b7fdf8f5d30a40f1c4118e993
5104
5105Cherry picks:
5106 + f6ca78808722c8c119affdb33400838ee92d44b6:
5107 isable_presubmit
5108 + 65c13dd5a4c1b4b5a072f7680b8f1cf3c5079b52:
5109 Fix StreamResourceLeak error
5110 + e5436745e1732f5e43fc55f0deb5b19e23ce8524:
5111 windows: fix --symlink_prefix=/ throwing exception
5112 + 22ccdd1ebe1dc495e05d894a3325f6b05e681fb3:
5113 Fix turbine command lines with empty javacopts
5114 + 96c654d43eb2906177325cbc2fc2b1e90dbcc792:
5115 Remove EOL'd Linux flavours, bump CentOS to 6.9.
5116 + f0bec36864f10370cbbda4caa8beac2e0c5ee45b:
5117 Automated rollback of commit
5118 2aeaeba66857c561dd6d63c79a213f1cabc3650d.
5119 + 860af5be10b6bad68144d9d2d34173e86b40268c:
5120 Consolidate Error Prone resource handling
5121 + 2e631c99495f75270d2639542cefb531ec262d67:
5122 sandbox: properly add `tmpDir` to `writablePaths`
5123 + 5bfa5844d0d16d71e88002956e88402bfec88ef7:
5124 actions,temp: respect TMPDIR envvar
5125 + 6cc2ad8676d1ae0542b351a07a05ddbe5efac165:
5126 sandbox: add env[TMPDIR] instead of `tmpDir`
5127 + 40c757f4ab90214f95935672532a495c4551490a:
5128 Change git clone to pull all history, so all needed commits can
5129 be accessed.
5130 + 56aeb04a064218b845ecc193d530c341c6ec854d:
5131 Fixing #4585: broken re-execution of orphaned actions.
5132```
5133
5134Important changes:
5135
5136 - Resolved an issue where a failure in the remote cache would not
5137 trigger local re-execution of an action.
5138
Bazel Release System5bd27482018-02-01 09:43:33 +01005139## Release 0.10.0 (2018-02-01)
5140
5141```
5142Baseline: 22c2f9a7722e8c8b7fdf8f5d30a40f1c4118e993
5143
5144Cherry picks:
5145 + f6ca78808722c8c119affdb33400838ee92d44b6:
5146 isable_presubmit
5147 + 65c13dd5a4c1b4b5a072f7680b8f1cf3c5079b52:
5148 Fix StreamResourceLeak error
5149 + e5436745e1732f5e43fc55f0deb5b19e23ce8524:
5150 windows: fix --symlink_prefix=/ throwing exception
5151 + 22ccdd1ebe1dc495e05d894a3325f6b05e681fb3:
5152 Fix turbine command lines with empty javacopts
5153 + 96c654d43eb2906177325cbc2fc2b1e90dbcc792:
5154 Remove EOL'd Linux flavours, bump CentOS to 6.9.
5155 + f0bec36864f10370cbbda4caa8beac2e0c5ee45b:
5156 Automated rollback of commit
5157 2aeaeba66857c561dd6d63c79a213f1cabc3650d.
5158 + 860af5be10b6bad68144d9d2d34173e86b40268c:
5159 Consolidate Error Prone resource handling
5160 + 2e631c99495f75270d2639542cefb531ec262d67:
5161 sandbox: properly add `tmpDir` to `writablePaths`
5162 + 5bfa5844d0d16d71e88002956e88402bfec88ef7:
5163 actions,temp: respect TMPDIR envvar
5164 + 6cc2ad8676d1ae0542b351a07a05ddbe5efac165:
5165 sandbox: add env[TMPDIR] instead of `tmpDir`
5166 + 40c757f4ab90214f95935672532a495c4551490a:
5167 Change git clone to pull all history, so all needed commits can
5168 be accessed.
5169```
5170
5171Incompatible changes:
5172
5173 - In order to access the template variables $(JAVA) and
5174 $(JAVABASE), @bazel_tools//tools/jdk:current_java_runtime needs
5175 to be added to the toolchains= attribute from now on.
5176 - The ctx.middle_man function is not supported anymore.
5177 - The flag --incompatible_list_plus_equals_inplace is removed, its
5178 default behavior is preserved. += on lists now always mutates the
5179 left hand
5180 side.
5181 - --android_sdk no longer supports filegroup targets.
5182 - android_* rules no longer support legacy_native_support attribute.
5183
5184New features:
5185
5186 - query: Add option --noproto:flatten_selects to turn off
5187 flattening of selector lists in proto output.
5188 - New android test rule, android_local_test.
5189
5190Important changes:
5191
5192 - The --remote_rest_cache flag now respects --remote_timeout.
5193 - --experimental_java_coverage is available for testing.
5194 - The deprecated builtin `set` is no longer allowed even from within
5195 unexecuted code in bzl files. It's temporarily possible to use
5196 --incompatible_disallow_uncalled_set_constructor=false if this
5197 change causes
5198 incompatibility issues.
5199 - Linkstamping is now a separate and full-blown CppCompileAction,
5200 it's
5201 no longer a part of linking command.
5202 - Using `+`, `|` or `.union` on depsets is now deprecated. Please
5203 use the new
5204 constructor instead (see
5205 https://docs.bazel.build/versions/master/skylark/depsets.html).
5206 - config_feature_flag's default_value is optional. It is
5207 only an error to have a config_feature_flag with no default_value
5208 if that config_feature_flag has not been set in the configuration
5209 it is being evaluated in.
5210 - --[no]keep_incrementality_data is gone, replaced by the
5211 enum-valued --incremental_state_retention_strategy
5212 - Linkstamping is now a separate and full-blown CppCompileAction,
5213 it's
5214 no longer a part of linking command.
5215 - Added --checkHashMismatch flag to ZipFilterAction. Valid values
5216 are IGNORE, WARN and ERROR. --errorOnHashMismatch is deprecated,
5217 please use this flag instead.
5218 - Set build jobs equivalent to number of logical processors by
5219 default. Should improve build times significantly.
5220 - Added --(no)expand_test_suites flag.
5221 - Rename --keep_incrementality_data to --track_incremental_state
5222 - --remote_rest_cache was renamed to --remote_http_cache. Both
5223 options keep working in this release, but --remote_rest_cache
5224 will be
5225 removed in the next release.
5226 - Aspects-on-aspect see and propagate over aspect attributes.
5227 - --auth_* flags were renamed to --google_* flags. The old names
5228 will continue to work for this release but will be removed in the
5229 next
5230 release.
5231 - Remote Caching and Execution support output directories.
5232 - Remove defunct flags
5233 --experimental_incremental_dexing_for_lite_proto and
5234 --experimental_incremental_dexing_error_on_missed_jars that have
5235 long been enabled by default
5236 - New version of aapt2 and Resources.proto.
5237 - Make PIC and non PIC outputs for C++ compilation with Tree
5238 Artifacts
5239
Bazel Release System7b423cc2017-12-19 10:31:05 +01005240## Release 0.9.0 (2017-12-19)
Bazel Release System3d53cb02017-12-05 15:28:40 +01005241
5242```
Bazel Release System7b423cc2017-12-19 10:31:05 +01005243Baseline: ddd5ac16aeffa6c4693c348f73e7365240b1abc5
Bazel Release System3d53cb02017-12-05 15:28:40 +01005244
5245Cherry picks:
Bazel Release System7b423cc2017-12-19 10:31:05 +01005246 + 2cf560f83922e6df9626ba3ee063c1caf6797548:
5247 Update version of re2
5248 + a2d2615362c65be98629b39ce39754a325ed1c42:
5249 Check for null build file returned from getBuildFileForPackage.
5250 + 68c577afc2fb33b5e66b820bcc9043fed1071456:
5251 Fix some broken targets and failing tests.
5252 + 766ba8adc4487f17ebfc081aeba6f34b18b53d6c:
Bazel Release System3d53cb02017-12-05 15:28:40 +01005253 Automated rollback of commit
Bazel Release System7b423cc2017-12-19 10:31:05 +01005254 337f19cc54e77c45daa1d5f61bf0a8d3daf8268f.
5255 + a22d0e9c14e58b29d81f5a83bdcc6e5fce52eafe:
5256 Fix: uploading artifacts of failed actions to remote cache
5257 stopped working.
5258 + 03964c8ccb20d673add76c7f37245e837c3899b6:
5259 [java_common.compile] Name output source jar relative to the
5260 output jar name
Bazel Release System3d53cb02017-12-05 15:28:40 +01005261```
5262
Bazel Release System7b423cc2017-12-19 10:31:05 +01005263Incompatible changes:
5264
5265 - The deprecated `set` constructor is removed, along with the
5266 migration flag --incompatible_disallow_set_constructor. It is
5267 still temporarily
5268 allowed to refer to `set` from within unexecuted code.
5269 - The flag --incompatible_disallow_set_constructor is no longer
5270 available, the deprecated `set` constructor is not available
5271 anymore.
5272 - The path to the JVM executable is not accessible anymore as
5273 ctx.{fragments,host_fragments}.jvm.java_executable. Use
5274 JavaRuntimeInfo.java_executable_exec_path instead.
5275 - --clean_style is no longer an option.
5276
5277New features:
5278
5279 - Users can use win_def_file attribute to specify a DEF file for
5280 exporting symbols when build a shared library on Windows.
5281 - Add --experimental_android_resource_cycle_shrinking option to
5282 allow for more aggressive code and resource shrinking.
5283
5284Important changes:
5285
5286 - Late-bound attributes are exposed to skylark. This is a new API
5287 (`configuration_field()`) to depend on certain
5288 configuration-defined targets from skylark rules.
5289 - Document interaction between test_suite and target exclusions
5290 - AAR manifest files will come from the processed resource APK if it
5291 exists.
5292 RELNOTES: None for Blaze users.
5293 - Document interaction between test_suite and target exclusions
5294 - --keep_incrementality_data flag allows Bazel servers to be run in
5295 memory-saving non-incremental mode independent of --batch and
5296 --discard_analysis_cache.
5297 - Add deps attribute to Skylark maven_aar and maven_jar workspace
5298 rules.
5299 - Use --expand_configs_in_place as a startup argument to change the
5300 order in which --config expansions are interpreted.
5301 - SOURCE_DATE_EPOCH
5302 (https://reproducible-builds.org/specs/source-date-epoch/) can
5303 be used to override the timestamp used for stamped target (when
5304 using --stamp).
5305 - Package specifications can now be prefixed with `-` to indicate
5306 negation
5307 - transitive_source_jars is now exposed on JavaInfo.
5308 - Add six to deps of has_services=1 py_proto_librarys.
5309 - java_tests no complain when use_testrunner is explicitly set to 1
5310 and main_class is set.
5311 - transitive_source_jars is now exposed on JavaInfo.
5312 - Debug messages generated by `print()` are not being filtered out
5313 by --output_filter anymore, it's recommended not to use them in
5314 production code.
5315 - in the Label() function, relative_to_caller_repository is now
5316 deprecated.
5317 - java_tests no complain when use_testrunner is explicitly set to 1
5318 and main_class is set.
5319 - Bazel's default hash function was changed from MD5 to SHA256.
5320 In particular, this affects users of remote caching and
5321 execution, as
5322 all hashes will be SHA256 by default.
5323 - Remove redirects for domains be.bazel.build and cr.bazel.build
5324 from the source for docs.bazel.build (because those subdomains
5325 don't resolve here; they resolve to bazel.build, which has the
5326 redirects for them)
5327 - First argument of 'load' must be a label. Path syntax is removed.
5328 (label should start with '//' or ':').
5329 - Document startup option --host_javabase
5330 - The --host_platform and --platform flags are no longer
5331 experimental.
Bazel Release System3d53cb02017-12-05 15:28:40 +01005332
Bazel Release System0838aee2017-11-27 14:16:34 +01005333## Release 0.8.0 (2017-11-27)
5334
5335```
5336Baseline: cff0dc94f6a8e16492adf54c88d0b26abe903d4c
5337
5338Cherry picks:
5339 + 8a49b156c4edf710e3e1e0acfde5a8d27cc3a086:
5340 Fix ImportError on tools.android for junction_lib
5341 + 275ae45b1228bdd0f912c4fbd634b29ba4180383:
5342 Automated rollback of commit
5343 4869c4e17d5b1410070a1570f3244148d8f97b5d.
5344 + d0bf589f2716b3d139c210930371a684c6e158eb:
5345 Add a random number to action temp dir
5346 + 9738f35abddb7ef7a7ef314b5d2a52a3be1b830a:
5347 CcProtoLibrary: Don't add dynamic librarys to filesToBuild on
5348 Windows
5349 + 0d6ff477099fdf6c8c1c7d4e2104f9184afe0a2b:
5350 Automated rollback of commit
5351 0ebb3e54fc890946ae6b3d059ecbd50e4b5ec840.
5352```
5353
5354Incompatible changes:
5355
5356 - ctx.fragments.apple.{xcode_version,ios_minimum_os} is not
5357 supported anymore. The same information is accessible through the
5358 target @bazel_tools//tools/osx:current_xcode_config: point an
5359 implicit attribute to it (i.e.
5360 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
5361 nfig")) then use
5362 ctx.attr._xcode_config[apple_common].XcodeVersionConfig].
5363 - ctx.fragments.apple.minimum_os_for_platform_type is not supported
5364 anymore. The same information is accessible through the target
5365 @bazel_tools//tools/osx:current_xcode_config: point an implicit
5366 attribute to it (i.e.
5367 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
5368 nfig")) then use
5369 ctx.attr._xcode_config[apple_common].XcodeVersionConfig].minimum_o
5370 s_for_platform_type .
5371 - ctx.fragments.apple.sdk_version_for_platform is not supported
5372 anymore. The same information is accessible through the target
5373 @bazel_tools//tools/osx:current_xcode_config: point an implicit
5374 attribute to it (i.e.
5375 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
5376 nfig")) then use
5377 ctx.attr._xcode_config[apple_common].XcodeVersionConfig].sdk_versi
5378 on_for_platform .
5379 - --javabase=<absolute path> and --host_javabase=<absolute path>
5380 are not supported anymore. If you need this functionality
5381 java_runtime_suite(name="suite", default=":runtime")
5382 java_runtime(name="runtime", java_home=<path to the JDK>) is an
5383 alternative.
5384 - The flag --incompatible_descriptive_string_representations is no
5385 longer available, old style string representations of objects are
5386 not supported
5387 anymore.
5388 - The flag --incompatible_disallow_set_constructor is no longer
5389 available, the deprecated `set` constructor is not available
5390 anymore.
5391 - += on lists now mutates them. `list1 += list2` is now equivalent
5392 to `list1.extend(list2)` and not equivalent to `list1 = list1 +
5393 list2` anymore.
5394 - the target_apple_env and apple_host_system_env methods on
5395 ctx.fragments.apple are not supported anymore. The same
5396 information is accessible through apple_common.target_apple_env
5397 and apple_common.apple_host_system_env . They need the Xcode
5398 configuration as an argument, which can be obtained by declaring
5399 an implicit dependency on it (i.e.
5400 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
5401 nfig")) and then calling e.g.
5402 apple_common.apple_host_system_env(ctx.attr._xcode_config[apple_co
5403 mmon.XcodeVersionConfig]).
5404 - C++ toolchain identifiers are not in the name of the output
5405 directory anymore.
5406 - Selecting on "xcode_version" and
5407 "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
5408 What was config_setting(values={"$FOO_version": $VALUE}) is now
5409 config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version_
5410 flag": $VALUE}).
5411 - Selecting on "xcode_version" and
5412 "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
5413 What was config_setting(values={"$FOO_version": $VALUE}) is now
5414 config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version_
5415 flag": $VALUE}).
5416 - The flag --incompatible_disallow_set_constructor is no longer
5417 available, the deprecated `set` constructor is not available
5418 anymore.
5419 - Selecting on "xcode_version" and
5420 "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
5421 What was config_setting(values={"$FOO_version": $VALUE}) is now
5422 config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_versi...
5423
5424New features:
5425
5426 - runfiles, sh: Shell scripts may now depend on
5427 //src/tools/runfiles:runfiles_sh_lib and source runfiles.sh. The
5428 script defines the `rlocation` function which returns runfile
5429 paths on every platform.
5430 - In addition to $(location), Bazel now also supports $(rootpath)
5431 to obtain
5432 the root-relative path (i.e., for runfiles locations), and
5433 $(execpath) to
5434 obtain the exec path (i.e., for build-time locations)
5435
5436Important changes:
5437
5438 - android_binary now supports custom debug keys via the debug_key
5439 attribute.
5440 - Updated Android proguard to 5.3.3. It now works with android-24+.
5441 - --experimental_use_parallel_android_resource_processing and
5442 --experimental_android_use_nocompress_extensions_on_apk are
5443 removed. These features are fully rolled out.
5444 - Fixes #2574
5445 - Fixes #3834
5446 - Enable experimental UI by default.
5447 - .
5448 RELNOTES: None.
5449 RELNOTES: No.
5450 - Add memory profiler.
5451 - [Bazel] {java,cc}_proto_library now look for dependencies in
5452 @com_google_protobuf, instead of in @com_google_protobuf_$LANG
5453 - Improved merge.sh script in cookbook.
5454 - Fixing regression to --experimental_remote_spawn_cache
5455 - Support for linker scripts in NativeDepsHelper (e.g.,
5456 android_binary)
5457 - Skylark semantics flags now affect WORKSPACE files and repository
5458 rules.
5459 - ctx.outputs.executable is deprecated. Use DefaultInfo(executable
5460 = ...) instead.
5461 - Update "mirror.bazel.build" urls to use https.
5462 - Improve --config logging when --announce_rc is present.
5463 - Document interaction between test_suite and target exclusions
5464 - Replace version numbers for Bazel installers with "<version>"
5465 (because this will change often)
5466 - Published command lines should have improved lists of effective
5467 options.
5468 - --incremental_dexing_binary_types has been removed. All builds
5469 are supported by incremental dexing (modulo proguard and some
5470 blacklisted dx flags).
5471 - Document --host_javabase, --host_java_toolchain
5472
Bazel Release System76b6d0a2017-10-18 14:34:11 +02005473## Release 0.7.0 (2017-10-18)
5474
5475```
5476Baseline: 5cc6246d429f7d9119b97ce263b4fd6893222e92
5477
5478Cherry picks:
5479 + e79a1107d90380501102990d82cbfaa8f51a1778:
5480 Windows,bootstrapping: fix build_windows_jni.sh
5481```
5482
5483Incompatible changes:
5484
5485 - The --output=location flag to 'bazel query' cannot be used with
5486 query expressions that involve the 'buildfiles' or 'loadfiles'
5487 operators. This also applies to 'genquery' rules.
5488 - Operators for equality, comparison, 'in' and 'not in' are no
5489 longer associative,
5490 e.g. x < y < z is now a syntax error. Before, it was parsed
5491 as: (x < y) < z.
5492 - In strings, octal sequences greater than \377 are now forbidden
5493 (e.g. "\\600").
5494 Previously, Blaze had the same behavior as Python 2, where
5495 "\\450" == "\050".
5496 - Using tabulation for identation is now fobidden in .bzl files
5497 - `load` is now a language keyword, it cannot be used as an
5498 identifier
5499 - lvalues must have define at least one variable (i.e. we forbid
5500 `[] = f()`).
5501 - Fixed a bug whereby multiple load() statements could appear on
5502 the same line
5503 - -extra_checks:off is no longer supported; use
5504 -XepDisableAllChecks instead
5505 - java_common.java_toolchain_attr is removed. Depend on the
5506 java_toolchain_alias() rule to accomplish the same thing.
5507 - cc_common.cc_toolchain_attr and java_common.java_runtime_attr are
5508 not supported anymore and were replaced with the
5509 cc_toolchain_alias() and java_runtime_alias() rules.
5510 - Noop flag --deprecated_generate_xcode_project deleted.
5511 - Objects in Skylark are converted to strings in a more descriptive
5512 and less harmful way (they don't leak information that shouldn't
5513 be accessed by Skylark code, e.g. nondeterministic memory addresses
5514 of objects).
5515 - `set` is deprecated in BUILD and .bzl files, please use `depset`
5516 instead. Ordering names have also been changed, please use "default",
5517 "postorder", "preorder", and "topological" instead of "stable",
5518 "compile", "naive_link", and "link" correspondingly.
5519 - Integer overflow (on signed 32 bit numbers) in BUILD/bzl files is
5520 an error.
5521 - Keyword-only syntax in a function definition is now forbidden
5522 e.g. `def foo(a, *, b)` or `def foo(a, *b, c)`
5523 - --incompatible_comprehension_variables_do_not_leak defaults to
5524 "true."
5525 Iteration variable becomes inaccessible after a list/dict
5526 comprehension.
5527 - @bazel_tools//tools/build_defs/docker:docker.bzl is no longer
5528 available, please see https://github.com/bazelbuild/rules_docker.
5529
5530New features:
5531
5532 - Zipped LLVM profiles are now supported.
5533 - LIPO maps to ThinLTO for LLVM builds.
5534 - Change to handle LLVM FDO zipped profile contents correctly.
5535 - Do not disable fully dynamic linking with ThinLTO when invoked
5536 via LIPO options.
5537 - There is now a 'siblings' query function. See the query
5538 documentation for more details.
5539 - Added the print_action command, which outputs the
5540 actions needed to build a given target in the form of an
5541 ExtraActionSummary proto in text format.
5542 - android_binary now supports proguard_apply_dictionary to specify
5543 a custom dictionary to use for choosing names to obfuscate
5544 classes and members to.
5545
5546Important changes:
5547
5548 - Windows: bazel clean --expunge works
5549 - First argument of 'load' should be a label. Path syntax is
5550 deprecated (label should start with '//' or ':').
5551 - Octal prefix '0' is deprecated in favor of '0o' (use 0o777
5552 instead of 0777).
5553 - The extension_safe attribute of apple_binary no longer validates
5554 transitive dependencies are compiled against extension_safe APIs.
5555 - Parentheses around the tuple are now mandatory in [a for b in c
5556 if 1, 2]
5557 - Adjust the thresholds for --test_verbose_timeout_warnings so that
5558 it can recommending timeout increases and won't recommend
5559 timeouts that are too close to the actual timeout.
5560 - Iterating on a `depset` object is deprecated. If you need an
5561 iterable, call the `.to_list()` method first.
5562 - Bazel now uses tools from action_configs in Crosstool by default
5563 (as oposed to using top level tools).
5564 - Incremental dexing errors on combination of --multidex=off and
5565 either --main-dex-list or --minimal-main-dex.
5566 - When using the dictionary literal syntax, it is now an error to
5567 have duplicated keys (e.g. {'ab': 3, 'ab': 5}).
5568 - New property on android_sdk: aapt2
5569 Choose the version of aapt on android_binary
5570 - Add idl_preprocessed attribute to android_library, so that
5571 preprocessed aidl files can be passed to android_library for
5572 compiling
5573 - Bazel's remote_worker backend for remote execution supports
5574 sandboxing on Linux now. Check
5575 https://github.com/bazelbuild/bazel/blob/master/src/tools/remote_w
5576 orker/README.md for details.
5577 - Allows flags that expand to take values.
5578 - Make querying attributes formed by selector lists of list types
5579 more efficient by no longer listing every possible combination of
5580 attribute value but by more compactly storing the possible values
5581 of the list.
5582 - writing build events to a file is no longer experimental
5583 - set --rewrite_calls_to_long_compare to false by default.
5584 - ObjC and C++ coverage feature is unified under name 'coverage'
5585 - Enable --incremental_dexing for Android builds by default. Note
5586 that some dexopts are incompatible with incremental dexing,
5587 including --force-jumbo.
5588 - Evaluation will soon use checked arithmetics and throw an error
5589 instead of overflow/underflow.
5590 - Implicit iteration in the CROSSTOOL has been removed, use
5591 explicit 'iterate_over' message.
5592 - Add option for Android specific grte_top
5593 - Crosstool patches are only applied if the toolchain doesn't define
5594 'no_legacy_features' feature.
5595 - 'platform_type' is now a mandatory attribute on apple_binary and
5596 apple_static_library rules.
5597 If this change breaks your build, feel free to add platform_type
5598 = 'ios' to any apple_binary and apple_static_library
5599 targets in your project, as this was the previous default
5600 behavior.
5601 - Remove apple_watch2_extension build rule. Users should be using
5602 the skylark watchos_application and watchos_extension rules.
5603 https://github.com/bazelbuild/rules_apple has details.
5604 - Check stderr to detect if connected to a terminal. Deprecate
5605 --isatty.
5606 - Commands that shut down the server (like "shutdown") now ensure
5607 that the server process has terminated before the client process
5608 terminates.
5609 - Remove apple_watch1_extension and apple_watch_extension_binary
5610 rules. Users should be using the skylark watchos_application and
5611 watchos_extension rules.
5612 https://github.com/bazelbuild/rules_apple has details.
5613 - Windows: Wrapper-less CROSSTOOL becomes default now.
5614 set USE_MSVC_WRAPPER=1 if you still want to use wrapper script.
5615 - Ignore --glibc in the Android transition.
5616 - Remove --experimental_android_use_singlejar_for_multidex.
5617 - nocopts now also filter copts
5618 - 'strip' action is now configured via feature configuration
5619 - The Build Event Service (BES) client now properly supports
5620 Google Applicaton Default Credentials.
5621 - Flags from action_config get added first to the command line
5622 first, before the flags from features.
5623 - update dexing tools to Android SDK 26.0.1
5624 - Bazel Android support now requires build-tools 26.0.1 or later.
5625 - `bazel info output_path` no longer relies on the root directory
5626 filename being equal to the workspace name.
5627 - The `print` function now prints debug messages instead of
5628 warnings.
5629 - speedup of incremental dexing tools
5630 - --announce_rc now controls whether bazelrc startup options are
5631 printed to stderr.
5632 - Removing a few unused objc_provider keys.
5633 - Improved logging when workers have to be restarted due to its
5634 files having changed.
5635 - Top-level `if` statements are now forbidden.
5636 - Java protos are compiled to Java 7 bytecode.
5637 - All Android builds now use the desugar tool to support some Java
5638 8 features by default. To disable, use the --nodesugar_for_android flag.
5639 - Skylark-related options may now appear as "common" command
5640 options in the .bazelrc
5641 - Python is now required to build bazel.
5642 - New --build_runfile_manifests flag controls production of
5643 runfiles manifests.
5644 - Enable debug info for Java builds
5645 - Allow java_lite_proto_library in the deps of android rules.
5646 - .so files in APKs will be memory-page aligned when
5647 android_binary.nocompress_extensions contains ".so" and
5648 --experimental_android_use_nocompress_extensions_on_apk is
5649 specified.
5650 - Skylark providers can specify allowed fields and their
5651 documentation.
5652 - Support ctx.actions.args() for more efficient Skylark command
5653 line construction.
5654 - The remote HTTP/1.1 caching client (--remote_rest_cache) now
5655 distinquishes between action cache and CAS. The request URL for
5656 the action cache is prefixed with 'ac' and the URL for the CAS
5657 is prefixed with 'cas'.
5658 - `JavaInfo` is a preferred alias to `java_common.provider`.
5659 - J2ObjC version updated to 2.0.3.
5660 - A new Java coverage implementation is available. Makes possible
5661 coverage for Skylark JVM rules.
5662 - Make proguard_apply_dictionary also apply to class and package
5663 obfuscation, not just class members.
5664 - android_binary.nocompress_extensions now applies to all files in
5665 the APK, not just resources and assets.
5666 - The apple_genrule rule that is distributed with Bazel has been
5667 deleted. Users who wish to use genrules with Xcode's
5668 DEVELOPER_DIR set should use the rules in
5669 https://github.com/bazelbuild/rules_apple instead.
5670 - The swift_library rule that is distributed with Bazel has been
5671 deleted. Users who wish to compile Swift should use the rules in
5672 https://github.com/bazelbuild/rules_apple instead.
5673 - The Build Event Protocol's File.uri field is now properly
5674 encoded according to RFC2396.
5675 - Deprecated: Using the android_library.deps attribute to
5676 implicitly export targets to dependent rules. If your code is
5677 using this feature, Bazel will raise a warning. To fix, please
5678 use android_library.exports to explicitly specify exported
5679 targets. Run with
5680 --experimental_allow_android_library_deps_without_srcs=false to
5681 ensure forward compatibility when this feature is removed in a
5682 future release.
5683 - java_common.create_provider is now supported with creating ijars
5684 by default. This introduces incompatibilities for existing users.
5685 Please set use_ijar=False if you don't want to use ijars.
5686 - Tests can now write files to TEST_UNDECLARED_OUTPUTS_DIR and
5687 TEST_UNDECLARED_OUTPUTS_ANNOTATIONS_DIR and these will be
5688 reflected under bazel-testlogs.
5689 - remove unused --host_incremental_dexing flag
5690 - Stop using --undefined dynamic_lookup in Apple links. Enables
5691 unresolved symbol errors.
5692 - All test output files included for cached, uncached, and multiple
5693 attempt tests.
5694 - Android rules no longer restrict the manifest file to be named
5695 "AndroidManifest.xml".
5696 - Boolean flag values will now get normalized to 1 or 0 in
5697 canonicalize-flags output.
5698 - added experimental --use_new_category_enum to the help command to
5699 output options grouped by the new type of category.
5700 - Expose output jars and jdeps in java_common.provider, when
5701 available.
5702 - android_library targets are no longer allowed to use deps to
5703 export targets implicitly; please use android_library.exports
5704 instead.
5705 - New depset API
5706 - apple_binary and apple_static_library no longer support
5707 compilation attributes such as 'srcs'. If this breaks any
5708 existing targets, you may migrate all such attributes to a new
5709 objc_library target and depend on that objc_library target via
5710 the 'deps' attribute of apple_binary or apple_static_library.
5711
Bazel Release Systemed0ebc02017-10-05 23:52:25 +02005712## Release 0.6.1 (2017-10-05)
5713
5714```
5715Baseline: 87cc92e5df35d02a7c9bc50b229c513563dc1689
5716
5717Cherry picks:
5718 + a615d288b008c36c659fdc17965207bb62d95d8d:
5719 Rollback context.actions.args() functionality.
5720 + 7b091c1397a82258e26ab5336df6c8dae1d97384:
5721 Add a global failure when a test is interrupted/cancelled.
5722 + 95b0467e3eb42a8ce8d1179c0c7e1aab040e8120:
5723 Cleanups for Skylark tracebacks
5724 + cc9c2f07127a832a88f27f5d72e5508000b53429:
5725 Remove the status xml attribute from AntXmlResultWriter
5726 + 471c0e1678d0471961f1dc467666991e4cce3846:
5727 Release 0.6.0 (2017-09-28)
5728 + 8bdd409f4900d4574667fed83d86b494debef467:
5729 Only compute hostname once per server lifetime
5730 + 0bc9b3e14f305706d72180371f73a98d6bfcdf35:
5731 Fix bug in NetUtil caching.
5732```
5733
5734Important changes:
5735 - Only compute hostname once per server lifetime
5736
Bazel Release System471c0e12017-09-28 16:36:12 +02005737## Release 0.6.0 (2017-09-28)
5738
5739```
5740Baseline: 87cc92e5df35d02a7c9bc50b229c513563dc1689
5741
5742Cherry picks:
5743 + a615d288b008c36c659fdc17965207bb62d95d8d:
5744 Rollback context.actions.args() functionality.
5745 + 7b091c1397a82258e26ab5336df6c8dae1d97384:
5746 Add a global failure when a test is interrupted/cancelled.
5747 + 95b0467e3eb42a8ce8d1179c0c7e1aab040e8120:
5748 Cleanups for Skylark tracebacks
5749 + cc9c2f07127a832a88f27f5d72e5508000b53429:
5750 Remove the status xml attribute from AntXmlResultWriter
5751```
5752
5753Incompatible changes:
5754
5755 - Noop flag --deprecated_generate_xcode_project deleted.
5756 - Objects in Skylark are converted to strings in a more descriptive
5757 and less harmful way (they don't leak information that shouldn't
5758 be accessed by Skylark code, e.g. nondeterministic memory addresses
5759 of objects).
5760 - `set` is deprecated in BUILD and .bzl files, please use `depset`
5761 instead. Ordering names have also been changed, please use
5762 "default", "postorder", "preorder", and "topological" instead of
5763 "stable", "compile", "naive_link", and "link" correspondingly.
5764 - Integer overflow (on signed 32 bit numbers) in BUILD/bzl files is
5765 an error.
5766 - Keyword-only syntax in a function definition is now forbidden
5767 e.g. `def foo(a, *, b)` or `def foo(a, *b, c)`
5768 - --incompatible_comprehension_variables_do_not_leak defaults to
5769 "true."
5770 Iteration variable becomes inaccessible after a list/dict
5771 comprehension.
5772
5773New features:
5774
5775 - There is now a 'siblings' query function. See the query
5776 documentation for more details.
5777 - Added the print_action command, which outputs the
5778 actions needed to build a given target in the form of an
5779 ExtraActionSummary proto in text format.
5780 - android_binary now supports proguard_apply_dictionary to specify
5781 a custom dictionary to use for choosing names to obfuscate
5782 classes and members to.
5783
5784Important changes:
5785
5786 - 'strip' action is now configured via feature configuration
5787 - Flags from action_config get added first to the command line
5788 first,
5789 before the flags from features.
5790 - `bazel info output_path` no longer relies on the root directory
5791 filename being equal to the workspace name.
5792 - The `print` function now prints debug messages instead of
5793 warnings.
5794 - speedup of incremental dexing tools
5795 - --announce_rc now controls whether bazelrc startup options are
5796 printed to stderr.
5797 - Removing a few unused objc_provider keys.
5798 - Improved logging when workers have to be restarted due to its
5799 files having changed.
5800 - Top-level `if` statements are now forbidden.
5801 - Java protos are compiled to Java 7 bytecode.
5802 - All Android builds now use the desugar tool to support some Java
5803 8 features by default. To disable, use the
5804 --nodesugar_for_android flag.
5805 - Skylark-related options may now appear as "common" command
5806 options in the .bazelrc
5807 - Python is now required to build bazel.
5808 - When the lvalue of an augmented assignment is a list, we now
5809 throw an error
5810 before evaluating the code (e.g. `a, b += 2, 3`).
5811 - New --build_runfile_manifests flag controls production of
5812 runfiles manifests.
5813 - Enable debug info for Java builds
5814 - Allow java_lite_proto_library in the deps of android rules.
5815 - .so files in APKs will be memory-page aligned when
5816 android_binary.nocompress_extensions contains ".so" and
5817 --experimental_android_use_nocompress_extensions_on_apk is
5818 specified.
5819 - Skylark providers can specify allowed fields and their
5820 documentation.
5821 - Support ctx.actions.args() for more efficient Skylark command
5822 line construction.
5823 - The remote HTTP/1.1 caching client (--remote_rest_cache) now
5824 distinquishes between action cache and CAS. The request URL for
5825 the action cache is prefixed with 'ac' and the URL for the CAS
5826 is prefixed with 'cas'.
5827 - `JavaInfo` is a preferred alias to `java_common.provider`.
5828 - J2ObjC version updated to 2.0.3.
5829 - A new Java coverage implementation is available. Makes possible
5830 coverage for Skylark JVM rules.
5831 - Make proguard_apply_dictionary also apply to class and package
5832 obfuscation, not just class members.
5833 - When using the dictionary literal syntax, it is now an error to
5834 have duplicated keys (e.g. {'ab': 3, 'ab': 5}).
5835 - android_binary.nocompress_extensions now applies to all files in
5836 the APK, not just resources and assets.
5837 - The apple_genrule rule that is distributed with Bazel has been
5838 deleted. Users who wish to use genrules with Xcode's
5839 DEVELOPER_DIR set should use the rules in
5840 https://github.com/bazelbuild/rules_apple instead.
5841 - The swift_library rule that is distributed with Bazel has been
5842 deleted. Users who wish to compile Swift should use the rules in
5843 https://github.com/bazelbuild/rules_apple instead.
5844
Bazel Release System5371d132017-08-25 11:24:06 +02005845## Release 0.5.4 (2017-08-25)
5846
5847```
5848Baseline: 6563b2d42d29196432d5fcafa0144b8371fbb028
5849
5850Cherry picks:
5851 + d4fa181f8607c35230b7efa1ce94188b51508962:
5852 Use getExecPathString when getting bash_main_file
5853 + 837e1b3d4859140d29aaa6bbab8fbb008e6d701e:
5854 Windows, sh_bin. launcher: export runfiles envvars
5855 + fe9ba893c0ebec19228086356af5fa8d81f2809b:
5856 grpc: Consolidate gRPC code from BES and Remote Execution. Fixes
5857 #3460, #3486
5858 + e8d4366cd374fba92f1425de0d475411c8defda4:
5859 Automated rollback of commit
5860 496d3ded0bce12b7371a93e1183ba30e6aa88032.
5861 + 242a43449dd44a22857f6ce95f7cc6a7e134d298:
5862 bes,remote: update default auth scope.
5863 + 793b409eeae2b42be7fed58251afa87b5733ca4d:
5864 Windows, sh_bin. launcher: fix manifest path
5865 + 7e4fbbe4ab3915a57b2187408c3909e5cd6c6013:
5866 Add --windows_exe_launcher option
5867 + 91fb38e92ace6cf14ce5da6527d71320b4e3f3d2:
5868 remote_worker: Serialize fork() calls. Fixes #3356
5869 + b79a9fcd40f448d3aebb2b93a2ebe80d09b38408:
5870 Quote python_path and launcher in
5871 python_stub_template_windows.txt
5872 + 4a2e17f85fc8450aa084b201c5f24b30010c5987:
5873 Add build_windows_jni.sh back
5874 + ce61d638197251f71ed90db74843b55d9c2e9ae5:
5875 don't use methods and classes removed in upstream dx RELNOTES:
5876 update dexing tools to Android SDK 26.0.1
5877 + 5393a4996d701fa192964a35cbb75e558a0599c0:
5878 Make Bazel enforce requirement on build-tools 26.0.1 or later.
5879 + 5fac03570f80856c063c6019f5beb3bdc1672dee:
5880 Fix --verbose_failures w/ sandboxing to print the full command
5881 line
5882 + f7bd1acf1f96bb7e3e19edb9483d9e07eb5af070:
5883 Only patch in C++ compile features when they are not already
5884 defined in crosstool
5885 + d7f5c120417bc2d2344dfb285322355f225d9153:
5886 Bump python-gflags to 3.1.0, take two
5887 + 3cb136d5451e9d8af58f9a99990cad0592df101a:
5888 Add python to bazel's dockerfiles
5889```
5890
5891New features:
5892
5893 - Do not disable fully dynamic linking with ThinLTO when invoked
5894 via LIPO options.
5895
5896Important changes:
5897
5898 - Ignore --glibc in the Android transition.
5899 - Remove --experimental_android_use_singlejar_for_multidex.
5900 - nocopts now also filter copts
5901 - The Build Event Service (BES) client now properly supports
5902 Google Applicaton Default Credentials.
5903 - update dexing tools to Android SDK 26.0.1
5904 - Bazel Android support now requires build-tools 26.0.1 or later.
5905 - Fix a bug in the remote_worker that would at times make it crash on Linux. See #3356
5906 - The java_proto_library rule now supports generated sources. See #2265
5907
Bazel Release System195a7a82017-07-27 20:27:32 +02005908## Release 0.5.3 (2017-07-27)
5909
5910```
5911Baseline: 88518522a18df5788736be6151fc67992efe2aad
5912
5913Cherry picks:
5914 + 820a46af10808396873c36d0f331e533118cf0c6:
5915 Automated rollback of commit
5916 6d6e87297fe8818e4c374fdfabfbcf538bca898a.
5917 + ccfb2df69ecf4746f5a15e1295af995c3a45aa94:
5918 Allow py_binary to be the executable of a Skylark action or any
5919 SpawnAction on Windows.
5920 + 06534911696838e720c8681f6f568c69d28da65e:
5921 Fix string representation for the Root class
5922 + cd159bcee72a7f377621b45409807231a636f9e2:
5923 sandbox: Allow UNIX sockets on macOS even when block-network is
5924 used.
5925 + ad73cba3caa2e08ad61ea9ca63f9111cde1f48d1:
5926 Fix python_stub_template.txt to be compatible with Python 2.4.
5927 + 9a63aff8bb771af8917903fbbc9df3b708e2c0ed:
5928 Create Windows ZIP release artifact using Bazel
5929 + 5e576637b5705aff0a7bf56b5077463dffcd712f:
5930 Automated rollback of commit
5931 820a46af10808396873c36d0f331e533118cf0c6.
5932 + b6e29ca217b02c3ba499b85479a3830f59c9b9b6:
5933 Use the correct function to generate the release notes
5934 + 0f3481ba6364f24ef76b839bdde06ae7883c9bd9:
5935 Include <cinttypes> instead of <stdint.h>
5936```
5937
5938Incompatible changes:
5939
5940 - The --output=location flag to 'bazel query' cannot be used with
5941 query expressions that involve the 'buildfiles' or 'loadfiles'
5942 operators. This also applies to 'genquery' rules.
5943 - Operators for equality, comparison, 'in' and 'not in' are no
5944 longer associative, e.g. x < y < z is now a syntax error.
5945 Before, it was parsed as: (x < y) < z.
5946 - In strings, octal sequences greater than \377 are now forbidden
5947 (e.g. "\\600"). Previously, Blaze had the same behavior as Python 2,
5948 where "\\450" == "\050".
5949 - Using tabulation for identation is now fobidden in .bzl files
5950 - `load` is now a language keyword, it cannot be used as an
5951 identifier
5952 - lvalues must have define at least one variable (i.e. we forbid
5953 `[] = f()`).
5954 - Fixed a bug whereby multiple load() statements could appear on
5955 the same line
5956 - -extra_checks:off is no longer supported; use
5957 -XepDisableAllChecks instead
5958 - java_common.java_toolchain_attr is removed. Depend on the
5959 java_toolchain_alias() rule to accomplish the same thing.
5960 - cc_common.cc_toolchain_attr and java_common.java_runtime_attr are
5961 not supported anymore and were replaced with the
5962 cc_toolchain_alias() and java_runtime_alias() rules.
5963
5964New features:
5965
5966 - Zipped LLVM profiles are now supported.
5967 - LIPO maps to ThinLTO for LLVM builds.
5968 - Change to handle LLVM FDO zipped profile contents correctly.
5969
5970Important changes:
5971
5972 - Windows: bazel clean --expunge works
5973 - First argument of 'load' should be a label. Path syntax is
5974 deprecated (label should start with '//' or ':').
5975 - Octal prefix '0' is deprecated in favor of '0o' (use 0o777
5976 instead of 0777).
5977 - The extension_safe attribute of apple_binary no longer validates
5978 transitive dependencies are compiled against extension_safe APIs.
5979 - Parentheses around the tuple are now mandatory in [a for b in c
5980 if 1, 2]
5981 - Adjust the thresholds for --test_verbose_timeout_warnings so that
5982 it can recommending timeout increases and won't recommend
5983 timeouts that are too close to the actual timeout.
5984 - Iterating on a `depset` object is deprecated. If you need an
5985 iterable, call the `.to_list()` method first.
5986 - Bazel now uses tools from action_configs in Crosstool by default
5987 (as oposed to using top level tools).
5988 - Incremental dexing errors on combination of --multidex=off and
5989 either --main-dex-list or --minimal-main-dex.
5990 - When using the dictionary literal syntax, it is now an error to
5991 have duplicated keys (e.g. {'ab': 3, 'ab': 5}).
5992 - New property on android_sdk: aapt2
5993 Choose the version of aapt on android_binary
5994 - Add idl_preprocessed attribute to android_library, so that
5995 preprocessed aidl files can be passed to android_library for
5996 compiling
5997 - Bazel's remote_worker backend for remote execution supports
5998 sandboxing on Linux now. Check
5999 https://github.com/bazelbuild/bazel/blob/master/src/tools/remote_w
6000 orker/README.md for details.
6001 - Allows flags that expand to take values.
6002 - Make querying attributes formed by selector lists of list types
6003 more efficient by no longer listing every possible combination of
6004 attribute value but by more compactly storing the possible values
6005 of the list.
6006 - Writing build events to a file is no longer experimental
6007 - set --rewrite_calls_to_long_compare to false by default.
6008 - ObjC and C++ coverage feature is unified under name 'coverage'
6009 - Enable --incremental_dexing for Android builds by default. Note
6010 that some dexopts are incompatible with incremental dexing,
6011 including --force-jumbo.
6012 - Evaluation will soon use checked arithmetics and throw an error
6013 instead of overflow/underflow.
6014 - Implicit iteration in the CROSSTOOL has been removed, use
6015 explicit 'iterate_over' message.
6016 - Add option for Android specific grte_top
6017 - Crosstool patches are only applied if the toolchain doesn't define
6018 'no_legacy_features' feature.
6019 - 'platform_type' is now a mandatory attribute on apple_binary and
6020 apple_static_library rules.
6021 If this change breaks your build, feel free to add platform_type
6022 = 'ios' to any apple_binary and apple_static_library
6023 targets in your project, as this was the previous default
6024 behavior.
6025 - Remove apple_watch2_extension build rule. Users should be using
6026 the skylark watchos_application and watchos_extension rules.
6027 https://github.com/bazelbuild/rules_apple has details.
6028 - Check stderr to detect if connected to a terminal. Deprecate
6029 --isatty.
6030 - Commands that shut down the server (like "shutdown") now ensure
6031 that the server process has terminated before the client process
6032 terminates.
6033 - Remove apple_watch1_extension and apple_watch_extension_binary
6034 rules. Users should be using the skylark watchos_application and
6035 watchos_extension rules.
6036 https://github.com/bazelbuild/rules_apple has details.
6037 - Windows: Wrapper-less CROSSTOOL becomes default now.
6038 set USE_MSVC_WRAPPER=1 if you still want to use wrapper script.
6039
Bazel Release System7b851222017-06-27 15:08:47 +02006040## Release 0.5.2 (2017-06-27)
6041
6042```
6043Baseline: e78ad83ded6e9c6d639793827e27b6570e6e9f65
6044
6045Cherry picks:
6046 + 68028317c1d3d831a24f90e2b25d1410ce045c54:
6047 experimental UI: move stopUpdateThread() out of synchronized,
6048 again
6049 + 019935dfbb61e61d08d1351b0365fb4e2d0df305:
6050 Fix bug in URI computation in RemoteModule
6051 + e9424cf9b9d72b98594966d5ac0f15bb018ec639:
6052 Automated rollback of commit
6053 7dec00574aa91327693f6ba7e90bff5bc834253e.
6054 + 9eea05d068a06ab642dd9d86d46ee5fa2e36b02e:
6055 Switching to Watcher API instead of wait_for_completion, in
6056 preparation for deprecating the wait_for_completion field.
6057 + 89659810e3048782dfb5e308e39aa8a0727e464e:
6058 Set correct execroot for info
6059 + 716b527266f47f59a2b7fb2e5fc52cb45e1691b1:
6060 Only create a single per-build instance of the remote cache /
6061 executor
6062 + 1d82d199f82409f217a42bcefebb96f723f91caa:
6063 protobuf: Update protobuf jars to be binary compatible with Java
6064 6. Fixes #3198
6065 + 524b90d9e5acc4fa568f215c9415eaa902e979f8:
6066 Change CAS URI to use the "bytestream" scheme instead of being
6067 scheme-less
6068 + 4929ad79865f8c13ef3b33c827040f4a037e4afe:
6069 Automated g4 rollback of commit
6070 923d7df521f67d031b288180560848bd35e20976.
6071 + 68b9a7e2dc17e32b194238d287e79bee1ba035b9:
6072 Automated g4 rollback of commit
6073 da56606563ee9df438db93392f681bf2abb4ac97.
6074 + 2ba693ffbe824136a0ca5f47d34710612f6302c3:
6075 Automated rollback of commit
6076 ce7c4deda60a307bba5f0c9421738e2a375cf44e.
6077```
6078
6079Incompatible changes:
6080
6081 - Blaze no longer generates xcode projects. Use tulsi.bazel.build
6082 instead.
6083
6084Important changes:
6085
6086 - Keyword-only syntax in a function definition is deprecated
6087 (e.g. `def foo(a, *, b)` or `def foo(a, *b, c)`) and will be
6088 removed in the future.
6089 - Attempting to build an Android target without setting up
6090 android_sdk_repository will now produce a helpful error message.
6091 - Adds a sha256 attribute to git_repository and new_git_repository.
6092 This can only be used if the remote is a public GitHub
6093 repository. It forces
6094 Bazel to download the repository as a tarball, which will often
6095 be faster and
6096 more robust than cloning it.
6097 - Sandboxing is now enabled by default on FreeBSD (via
6098 processwrapper-sandbox).
6099 - android_test may use manifest placeholders with 'manifest_merger
6100 = "android"'.
6101 - load() statements should be called at the top of .bzl files,
6102 before any
6103 other statement. This convention will be enforced in the future.
6104 - Effectively remove sysroot from CppConfiguration and allow it to
6105 use select statements.
6106 - proto_library.strict_proto_deps no longer exists.
6107 - Flag --explicit_jre_deps is now a noop.
6108 - The 'legacy' Android manifest merger is deprecated. Please
6109 upgrade to the 'android' manifest merger, which is the same
6110 merger used by Gradle.
6111 https://developer.android.com/studio/build/manifest-merge.html
6112 - Using $(CC_FLAGS) in a GenRule adds a dependency to the c++
6113 toolchain
6114 - add one-version enforcement to android_local_test
6115 - Skylark support (apple_common.dotted_version(string)) for
6116 building DottedVersion objects to interface with native apple
6117 rules
6118 - CC_FLAGS can be defined using 'cc-flags-make-variable' action_config in
6119 CROSSTOOL
6120 - ios_framework native rule has been removed. This rule had been
6121 essentially broken for several months now; users should be using
6122 the skylark ios framework rule.
6123 https://github.com/bazelbuild/rules_apple has details.
6124 - Clean command no longer uses boolean values for --async,
6125 --expunge, and --expunge_async options.
6126 - Partially fixes external J2ObjC support.
6127 - '--aspects' can occur more than once on the command line.
6128 - --no_ prefix no longer recognized.
6129 - Use action_config in crosstool for static library archiving,
6130 remove ar_flag.
6131 - Added a new flag --sandbox_writable_path, which asks the sandbox
6132 to
6133 make an existing directory writable when running actions.
6134 - bazel test now also computes a default instrumentation filter if
6135 --collect_code_coverage is enabled
6136 - n/na
6137 - In .bzl files, top-level `if` statements are deprecated and will
6138 be forbidden
6139 in the future. Move them in a function body instead (or use a
6140 conditional
6141 expression instead: `x if condition else y`).
6142 - ios_device and ios_test are deprecated. Please use the new testing
6143 rules in https://github.com/bazelbuild/rules_apple instead.
6144 - bazel query --output package now displays packages from external
6145 repository with the format "@reponame//package". Packages in the
6146 main repository continue to have the format "package".
6147 - ctx.expand_make_variables is deprecated.
6148 - Bazel posts links to the CAS to the BEP if remote caching /
6149 execution is enabled
6150 - `bazel info execution_root` returns the corrrect directory name
6151 for the execution root.
6152
Bazel Release System63222de2017-06-06 11:32:04 +02006153## Release 0.5.1 (2017-06-06)
6154
6155```
6156Baseline: f3ae88ee043846e7acdffd645137075a4e72c573
6157
6158Cherry picks:
6159 + c58ba098526b748f9c73e6229cafd74748205aa1:
6160 Release to GCS: put the final release in its own directory
6161 + 0acead4ea3631240659836ce6ecd6d7f67fd352b:
6162 Update protobuf to latest master at a64497c and apply
6163 @laszlocsomor's latest changes from
6164 https://github.com/google/protobuf/pull/2969 on top of it.
6165 + d0242ce4a87929f2528f4602d0fb09d1ccfcea94:
6166 Make symlinks consistent
6167 + d953ca8b87a46decbce385cebb446ae0dd390881:
6168 Clean VanillaJavaBuilder output directories
6169 + 755669fb5de1f4e762f27c19776cac9f410fcb94:
6170 Pass all the environment variable to Bazel during bootstrapping
6171 + 6f041661ca159903691fcb443d86dc7b6454253d:
6172 Do not mark the JDK7 installer -without-jdk-installer
6173 + 720561113bfa702acfc2ca24ce3cc3fd7ee9c115:
6174 Fix #2958: Installer should not overwrite bazelrc
6175 + 511c35b46cead500d4e76706e0a709e50995ceba:
6176 Bootstrap: move the fail function to the top
6177 + 8470be1122825aae8ad0903dd1e1e2a90cce47d2:
6178 Clean up javac and Error Prone targets
6179 + 4a404de2c6c38735167e17ab41be45ef6fc4713a:
6180 Update javac version to 9-dev-r4023-2
6181 + 36ce4b433e19498a78c34540d5a166d4e0006b22:
6182 Update javac version to 9-dev-r4023-2
6183 + 38949b8526bdb3e6db22f3846aac87162c28c33f:
6184 Migrate off versioned javac and Error Prone targets
6185 + 1a57d298f8aa6ea8136d93223902104f2479cd2a:
6186 Re-enabling passing -sourcepath via javacopts.
6187 + eb565f408e03125e92d42b00756e519795be6593:
6188 Make make sure that msys build actually builds msys version
6189 + 39f328cf392056618d1a3ead4835a138b189a06d:
6190 Fix typo. Also do not override host_cpu for msvc.
6191 + 624802893f4fe72118f00a78452605d41a2e1c6f:
6192 Select correct JDK for windows_msys
6193 + c4f271d1a68366b6fa5ff38ea7d951b6a22af044:
6194 Automated g4 rollback of commit
6195 3e5edafa2a04a71cd3596e929e83222da725f3f9.
6196 + 926180997a0f296a5a009326aead887279ce0a90:
6197 Remove process-tools.cc which I forgot to delete during the last
6198 rollback.
6199 + baca6e4cb023649920871b74810927d304729e59:
6200 Fix #2982: Bazel installer should not check for installed JDK if
6201 using a bundled JDK.
6202 + 866ecc8c3d5e0b899e3f0c9c6b2265f16daae842:
6203 Disable msys path conversion on Windows.
6204 + cc21998c299b4d1f97df37b961552ff8168da17f:
6205 Rollforward #2 of: Basic open-source crosstool to support
6206 targeting apple platform types.
6207 + 0f0ccc4fc8229c1860a9c9b58089d6cfb2ee971f:
6208 Escape % in strings that will appear in Crosstool
6209 + 3b08f774e7938928e3a240a47a0a7554cdc8d50b:
6210 Adding feature for linking C Run-Time library on Windows
6211 + 3566474202d1978acfdcb7e5ff73ee03ea6f3df9:
6212 Do not use sed -E in bootstrap/compile.sh
6213 + c3cf7d917afd02d71de3800cd46ad8d14f1ddf55:
6214 Reverts non-xcode-available darwin crosstool generation.
6215```
6216
6217Important changes:
6218
6219 - Fixes regression in 0.5.0 requiring Xcode to build C++ on OSX.
6220
Bazel Release Systema3e26832017-05-26 14:11:07 +02006221## Release 0.5.0 (2017-05-26)
6222
6223```
6224Baseline: f3ae88ee043846e7acdffd645137075a4e72c573
6225
6226Cherry picks:
6227 + c58ba098526b748f9c73e6229cafd74748205aa1:
6228 Release to GCS: put the final release in its own directory
6229 + 0acead4ea3631240659836ce6ecd6d7f67fd352b:
6230 Update protobuf to latest master at a64497c and apply
6231 @laszlocsomor's latest changes from
6232 https://github.com/google/protobuf/pull/2969 on top of it.
6233 + d0242ce4a87929f2528f4602d0fb09d1ccfcea94:
6234 Make symlinks consistent
6235 + d953ca8b87a46decbce385cebb446ae0dd390881:
6236 Clean VanillaJavaBuilder output directories
6237 + 755669fb5de1f4e762f27c19776cac9f410fcb94:
6238 Pass all the environment variable to Bazel during bootstrapping
6239 + 6f041661ca159903691fcb443d86dc7b6454253d:
6240 Do not mark the JDK7 installer -without-jdk-installer
6241 + 720561113bfa702acfc2ca24ce3cc3fd7ee9c115:
6242 Fix #2958: Installer should not overwrite bazelrc
6243 + 511c35b46cead500d4e76706e0a709e50995ceba:
6244 Bootstrap: move the fail function to the top
6245 + 8470be1122825aae8ad0903dd1e1e2a90cce47d2:
6246 Clean up javac and Error Prone targets
6247 + 4a404de2c6c38735167e17ab41be45ef6fc4713a:
6248 Update javac version to 9-dev-r4023-2
6249 + 36ce4b433e19498a78c34540d5a166d4e0006b22:
6250 Update javac version to 9-dev-r4023-2
6251 + 38949b8526bdb3e6db22f3846aac87162c28c33f:
6252 Migrate off versioned javac and Error Prone targets
6253 + 1a57d298f8aa6ea8136d93223902104f2479cd2a:
6254 Re-enabling passing -sourcepath via javacopts.
6255 + eb565f408e03125e92d42b00756e519795be6593:
6256 Make make sure that msys build actually builds msys version
6257 + 39f328cf392056618d1a3ead4835a138b189a06d:
6258 Fix typo. Also do not override host_cpu for msvc.
6259 + 624802893f4fe72118f00a78452605d41a2e1c6f:
6260 Select correct JDK for windows_msys
6261 + c4f271d1a68366b6fa5ff38ea7d951b6a22af044:
6262 Automated g4 rollback of commit
6263 3e5edafa2a04a71cd3596e929e83222da725f3f9.
6264 + 926180997a0f296a5a009326aead887279ce0a90:
6265 Remove process-tools.cc which I forgot to delete during the last
6266 rollback.
6267 + baca6e4cb023649920871b74810927d304729e59:
6268 Fix #2982: Bazel installer should not check for installed JDK if
6269 using a bundled JDK.
6270 + 866ecc8c3d5e0b899e3f0c9c6b2265f16daae842:
6271 Disable msys path conversion on Windows.
6272 + cc21998c299b4d1f97df37b961552ff8168da17f:
6273 Rollforward #2 of: Basic open-source crosstool to support
6274 targeting apple platform types.
6275 + 0f0ccc4fc8229c1860a9c9b58089d6cfb2ee971f:
6276 Escape % in strings that will appear in Crosstool
6277 + 3b08f774e7938928e3a240a47a0a7554cdc8d50b:
6278 Adding feature for linking C Run-Time library on Windows
6279```
6280
6281Incompatible changes:
6282
6283 - Bazel's Linux sandbox no longer mounts an empty tmpfs on /tmp,
6284 instead the existing /tmp is mounted read-write. If you prefer
6285 to have a tmpfs on /tmp for sandboxed actions for increased
6286 hermeticity, please use the flag --sandbox_tmpfs_path=/tmp.
6287 - Converting artifacts to strings and printing them now return
6288 "File" instead of "Artifact" to be consistent with the type name.
6289 - The return type of depset.to_list() is now a list rather than a
6290 frozen list. (Modifying the list has no effect on the depset.)
6291 - Bazel now prints logs in single lines to java.log
6292 - --use_dash, --dash_url and --dash_secret are removed.
6293 - Remote repositories must define any remote repositories they
6294 themselves use (e.g., if @x//:foo depends on @y//:bar, @y must be
6295 defined
6296 in @x's WORKSPACE file).
6297 - Remote repositories must define any remote repositories they
6298 themselves use (e.g., if @x//:foo depends on @y//:bar, @y must be
6299 defined
6300 in @x's WORKSPACE file).
6301 - objc_xcodeproj has been removed, use tulsi.bazel.build instead.
6302
6303New features:
6304
6305 - If grte_top is a label, it can now follow non-configurable
6306 redirects.
6307 - Optional coverage_files attribute to cc_toolchain
6308 - "query --output=build" now includes select()s
6309 - Raw LLVM profiles are now supported.
6310
6311Important changes:
6312
6313 - Automatically generate Proguard mapping when resource shrinking
6314 and Proguard are enabled.
6315 - New rules in Bazel: proto_library, java_lite_proto_library,
6316 java_proto_library and cc_proto_library
6317 - Activate the "dead_strip" feature if objc binary stripping is
6318 enabled.
6319 - More stable naming scheme for lambda classes in desugared android
6320 code
6321 - Convert --use_action_cache to a regular option
6322 - Per-architecture dSYM binaries are now propagated by
6323 apple_binary's AppleDebugOutputsProvider.
6324 - Avoid factory methods when desugaring stateless lambdas for
6325 Android
6326 - desugar calls to Objects.requireNonNull(Object o) with
6327 o.getClass() for android
6328 - Add an --copy_bridges_from_classpath argument to android
6329 desugaring tool
6330 - Change how desugar finds desugared classes to have it working on
6331 Windows
6332 - Evaluation of commands on TargetsBelowDirectory patterns
6333 (e.g. //foo/...) matching packages that fail to load now report
6334 more
6335 detailed error messages in keep_going mode.
6336 - Allow to have several inputs and outputs
6337 - Repository context's execute() function can print stdout/stderr
6338 while running. To enable, pass quiet=False.
6339 - Bazel can now be built with a bundled version of the OpenJDK.
6340 This makes it possible to use Bazel on systems without a JDK, or
6341 where
6342 the installed JDK is too old.
6343 - The --jobs flag now defaults to "auto", which causes Bazel to
6344 use a reasonable degree of parallelism based on the local
6345 machine's
6346 capacity.
6347 - Bazel benchmark (perf.bazel.build) supports Java and Cpp targets.
6348 - no factory methods generated for lambda expressions on android
6349 - The Linux sandbox no longer changes the user to 'nobody' by
6350 default, instead the current user is used as is. The old behavior
6351 can be
6352 restored via the --sandbox_fake_username flag.
6353 - /tmp and /dev/shm are now writable by default inside the
6354 Linux sandbox.
6355 - Bazel can now use the process-wrapper + symlink tree based
6356 sandbox implementation in FreeBSD.
6357 - turn on --experimental_incremental_dexing_error_on_missed_jars by
6358 default.
6359 - All android_binarys are now signed with both Apk Signature V1 and
6360 V2. See https://source.android.com/security/apksigning/v2.html
6361 for more details.
6362 - Windows MSVC wrappers: Not filtering warning messages anymore,
6363 use --copt=-w and --host_copt=-w to suppress them.
6364 - A downloader bug was fixed that prevented RFC 7233 Range
6365 connection resumes from working with certain HTTP servers
6366 - Introduces experimental android_device rule for configuring and
6367 launching Android emulators.
6368 - For boolean flags, setting them to false using --no_<flag_name>
6369 is deprecated. Use --no<flag_name> without the underscore, or
6370 --<flag_name>=false instead.
6371 - Add --experimental_android_compress_java_resources flag to store
6372 java
6373 resources as compressed inside the APK.
6374 - Removed --experimental_use_jack_for_dexing and libname.jack
6375 output of
6376 android_library.
6377 - blaze canonicalize-flags now takes a --show_warnings flag
6378 - Changing --invocation_policy will no longer force a server
6379 restart.
6380 - Bazel now supports Android NDK14.
6381 - android_binary multidex should now work without additional flags.
6382 - Use action_config in crosstool for static library archiving,
6383 remove ar_flag.
6384 - new option for bazel canonicalize-flags, --canonicalize_policy
6385 - Use action_config in crosstool for static library archiving,
6386 remove ar_flag.
6387 - android_library exports_manifest now defaults to True.
6388 - Fix select condition intersections.
6389 - Adds a --override_repository option that takes a repository
6390 name and path. This forces Bazel to use the directory at that path
6391 for the repository. Example usage:
6392 `--override_repository=foo=/home/user/gitroot/foo`.
6393 - fix idempotency issue with desugaring lambdas in interface
6394 initializers for android
6395 - --experimental_android_use_singlejar_for_multidex is now a no-op
6396 and will eventually be removed.
6397 - Every local_repository now requires a WORKSPACE file.
6398 - Remove jack and jill attributes of the android_sdk rule.
6399 - Add Skylark stubs needed to remove sysroot from CppConfiguration.
6400 - Desugar try-with-resources so that this language feature is
6401 available
6402 to deveces with API level under 19.
6403 - The flag --worker_max_retries was removed. The
6404 WorkerSpawnStrategy no longer retries execution of failed Spawns,
6405 the reason being that this just masks compiler bugs and isn't
6406 done for any other execution strategy either.
6407 - Bazel will no longer gracefully restart workers that crashed /
6408 quit, instead this triggers a build failure.
6409 - All java resources are now compressed in android_binary APKs by
6410 default.
6411 - All java resources are now compressed in android_binary APKs by
6412 default.
6413 - android_ndk_repository now creates a cc_library
6414 (@androidndk//:cpufeatures) for the cpufeatures library that is
6415 bundled in the Android NDK. See
6416 https://developer.android.com/ndk/guides/cpu-features.html for
6417 more details.
6418 - 'output_groups' and 'instrumented_files' cannot be specified in
6419 DefaultInfo.
6420 - You can increase the CPU reservation for tests by adding a
6421 "cpu:<n>" (e.g. "cpu:4" for four cores) tag to their rule in a
6422 BUILD file. This can be used if tests would otherwise overwhelm
6423 your system if there's too much parallelism.
6424 - Deprecate use_singlejar_for_proguard_libraryjars and force
6425 behavior to always on.
6426
Bazel Release System8d635fc2017-03-16 13:18:30 +01006427## Release 0.4.5 (2017-03-16)
6428
6429```
6430Baseline: 2e689c29d5fc8a747216563235e905b1b62d63b0
6431
6432Cherry picks:
6433 + a28b54033227d930672ec7f2714de52e5e0a67eb:
6434 Fix Cpp action caching
6435 + 6d1d424b4c0da724e20e14235de8012f05c470f8:
6436 Fix paths of binaries in .deb packages.
6437 + 0785cbb672357d950e0c045770c4567df9fbdc43:
6438 Update to guava 21.0 and Error Prone version 2.0.18-20160224
6439 + 30490512eb0e48a3774cc4e4ef78680e77dd4e47:
6440 Update to latest javac and Error Prone
6441 + 867d16eab3bfabae070567ecd878c291978ff338:
6442 Allow ' ', '(', ')' and '$' in labels
6443 + 7b295d34f3a4f42c13aafc1cc8afba3cb4aa2985:
6444 Pass through -sourcepath to the JavaBuilder
6445 + 14e4755ce554cdfc685fc9cc2bfb5b699a3b48f4:
6446 PathFragment comparisons are now platform-aware
6447 + ed7795234ca7ccd2567007f2c502f853cd947e50:
6448 Flag to import external repositories in python import path
6449 + 81ae08bbc13f5f4a04f18caae339ca77ae2699c1:
6450 Suppress error for non-exhaustive switches
6451 + e8d1177eef9a9798d2b971630b8cea59471eec33:
6452 Correctly returns null if an environment variables is missing
6453 + 869d52f145c077e3499b88df752cebc60af51d66:
6454 Fix NPE in Android{S,N}dkRepositoryFunction.
6455 + d72bc57b60b26245e64f5ccafe023a5ede81cc7f:
6456 Select the good guava jars for JDK7 build
6457 + 92ecbaeaf6fa11dff161254df38d743d48be8c61:
6458 Windows: Assist JNI builds with a target for jni_md.h.
6459 + 36958806f2cd38dc51e64cd7bcc557bd143bbdb6:
6460 Add java_common.create_provider to allow creating a
6461 java_common.provider
6462 + 8c00f398d7be863c4f502bde3f5d282b1e18f504:
6463 Improve handling of unknown NDK revisions in
6464 android_ndk_repository.
6465 + b6ea0d33d3ab72922c8fb3ec1ff0e437af09584d:
6466 Add the appropriate cxx_builtin_include_directory entries for
6467 clang to the Android NDK crosstool created by
6468 android_ndk_repository.
6469```
6470
6471Incompatible changes:
6472
6473 - Depsets (former sets) are converted to strings as "depset(...)"
6474 instead of
6475 "set(...)".
6476 - Using --symlink_prefix is now applied to the output
6477 symlink (e.g. bazel-out) and the exec root symlink (e.g.
6478 bazel-workspace).
6479 - Bazel now uses the test's PATH for commands specified as
6480 --run_under; this can affect users who explicitly set PATH to
6481 a more
6482 restrictive value than the default, which is to forward the
6483 local PATH
6484 - It's not allowed anymore to compare objects of different types
6485 (i.e. a string to an integer) and objects for which comparison
6486 rules are not
6487 defined (i.e. a dict to another dict) using order operators.
6488
6489New features:
6490
6491 - environ parameter to the repository_rule function let
6492 defines a list of environment variables for which a change of
6493 value
6494 will trigger a repository refetching.
6495
6496Important changes:
6497
6498 - android_ndk_repository now supports Android NDK R13.
6499 - Android resource shrinking is now available for android_binary
6500 rules. To enable, set the attribute 'shrink_resources = 1'. See
6501 https://bazel.build/versions/master/docs/be/android.html#android_b
6502 inary.shrink_resources.
6503 - resolve_command/action's input_manifest return/parameter is now
6504 list
6505 - For increased compatibility with environments where UTS
6506 namespaces are not available, the Linux sandbox no longer hides
6507 the hostname of the local machine by default. Use
6508 --sandbox_fake_hostname to re-enable this feature.
6509 - proto_library: alias libraries produce empty files for descriptor
6510 sets.
6511 - Adds pkg_rpm rule for generating RPM packages.
6512 - Allow CROSSTOOL files to have linker flags specific to static
6513 shared libraries.
6514 - Make it mandatory for Java test suites in bazel codebase, to
6515 contain at least one test.
6516 - Support for Java 8 lambdas, method references, type annotations
6517 and repeated annotations in Android builds with
6518 --experimental_desugar_for_android.
6519 - Removed .xcodeproj automatic output from objc rules. It can still
6520 be generated by requesting it explicitly on the command line.
6521 - Flips --explicit_jre_deps flag on by default.
6522 - Activate the "dbg", "fastbuild", and "opt" features in the objc
6523 CROSSTOOL.
6524 - Remove support for configuring JDKs with filegroups; use
6525 java_runtime and java_runtime_suite instead
6526 - android_ndk_repository api_level attribute is now optional. If not
6527 specified, the highest api level in the ndk/platforms directory
6528 is used.
6529
Bazel Release System6712cac2017-02-01 19:53:37 +01006530## Release 0.4.4 (2017-02-01)
6531
6532```
6533Baseline: 4bf8cc30a
6534
6535Cherry picks:
6536 + ef1c6fd33: msvc_tools.py.tpl: Change default runtime library to
6537 static
6538```
6539
6540Incompatible changes:
6541
6542 - Only targets with public visibility can be bound to something in
6543 //external: .
6544 - The deprecated -x startup option has been removed.
6545 - docker_build: change the repository names embedded by
6546 docker_build. You can revert to the old behavior by setting
6547 legacy_repository_naming=True.
6548 - The string methods strip(), lstrip(), and rstrip() now
6549 by default remove the same whitespace characters as Python 3
6550 does, and accept
6551 None as an argument.
6552 - Deprecated globals HOST_CFG and DATA_CFG are removed. Use strings
6553 "host" and "data" instead.
6554 - repository_ctx environment is now affected by --action_env flag
6555 (value from the
6556 client environment will be replaced by value given on the command
6557 line through --action_env).
6558 - All executable labels must also have a cfg parameter specified.
6559 - Removed the cmd_helper.template function.
6560 The function was equivalent to:
6561 def template(items, template):
6562 return [template.format(path = i.path, short_path =
6563 i.short_path)
6564 for i in items]
6565 - Tuples that end with a trailing comma must now be inside parens,
6566 e.g. (1,) instead of 1,
6567 - The traversal orders for depsets have been renamed. The old names
6568 are deprecated and will be removed in the future. New names:
6569 "stable" -> "default", "compile" -> "postorder", "link" ->
6570 "topological", "naive_link" -> "preorder".
6571
6572New features:
6573
6574 - Skylark: you can now multiply a list by an integer to get the
6575 concatenation of N copies of this list, e.g. [a,b] * 3 =
6576 [a,b,a,b,a,b]
6577 - Allow Android aidl tool to add a jar to the program's classpath,
6578 such as if needed to support generated sources.
6579 - Add transitive proguard_specs when android_sdk.aidl_lib is
6580 specified
6581 - Windows: "/dev/null" is now a supported path, e.g.
6582 --bazelrc=/dev/null now works
6583
6584Important changes:
6585
6586 - Bazel Android builds use the apksigner tool from the Android SDK
6587 build-tools. Bazel Android builds now require build-tools version
6588 24.0.3 or
6589 later.
6590 - Android SDK external bindings for support libraries, e.g.
6591 //external:android/appcompat_v4, are removed because the support
6592 library JARs that they referenced no longer ship with the Android
6593 SDK.
6594 - aar_import rule is now documented.
6595 - An IE bug was fixed in repository_ctx.download_and_extract
6596 - Update "-I" to "-isystem" in documentation to reflect current
6597 behavior.
6598 - android_sdk_repository build_tools_version is now optional. The
6599 highest installed build-tools will be used if none is specified.
6600 - New flag --sandbox_add_mount_pair to specify customized
6601 source:target path pairs to bind mount inside the sandbox.
6602 - expose proto_library descriptor set to skylark via
6603 <dep>.proto.descriptor_set
6604 - The `set` constructor is deprecated in favor of `depset`
6605 - Autodetect gold linker in cc_configure.bzl
6606 - Remove build flag --experimental_j2objc_annotation_processing. It
6607 is on by default now.
6608 - Set clang's -mwatchos-version-min correctly using the value of
6609 --watchos_minimum_os, not --watchos_sdk_version.
6610 - singlejar can now create jar files larger than 4GB.
6611 - android_sdk_repository and android_ndk_repository now read
6612 $ANDROID_HOME and $ANDROID_NDK_HOME if the path attribute is not
6613 set.
6614 - Removed broken api levels 3, 4 and 5 from Android NDK 12.
6615 - Default --android_dynamic_mode to off.
6616 - android_sdk_repository no longer requires api_level. If one is
6617 not specified, the highest android platform installed will be
6618 used. Furthermore, android_sdk's are created for all android
6619 platforms installed and can be specified with the --android_sdk
6620 flag.
6621 - To iterate over or test for membership in a set, prefer using the
6622 new to_list() method. E.g., "for x in myset.to_list():", or
6623 "print(x in myset.to_list())". Iteration/membership-test on the
6624 raw set itself is deprecated.
6625 - Remove support for --javawarn; use e.g. --javacopt=-Xlint:all
6626 instead
6627
Bazel Release Systemd3b23642016-12-22 13:30:47 +01006628## Release 0.4.3 (2016-12-22)
Bazel Release System80865ff2016-11-30 13:18:54 +01006629
Damien Martin-Guillerez961e54f2016-12-22 13:33:36 +01006630```
Bazel Release Systemd3b23642016-12-22 13:30:47 +01006631Baseline: c645a45
Bazel Release System80865ff2016-11-30 13:18:54 +01006632
6633Cherry picks:
Bazel Release Systemd3b23642016-12-22 13:30:47 +01006634 + af878d0: Add coverage support for java test. (series 4/4 of
6635 open-sourcing coverage command for java test)
6636 + 09b92a8: Rollback of commit
6637 67b4d5250edcefa7220e928e529b1f385e2dc464.
6638 + b11dd48: Fix bad bug with the parallel implementation of
6639 BinaryOperatorExpression. Turns out that
6640 ForkJoinTask#adapt(Callable) returns a ForkJoinTask
6641 whose Future#get on error throws a ExecutionException
6642 wrapping a RuntimeException wrapping the thrown checked
6643 exception from the callable. This is documented
6644 behavior [1] that I incorrectly didn't know about.
6645 + 9012bf1: Fix scripts/packages/convert_changelog to read the
6646 changelog correctly
6647 + 55c97bc: Release script: if master branch does not exist, fall
6648 back on origin/master
6649 + 4fb378c: Debian repository: override section and priority fields
6650 + acbcbc2: Fix release notes in emails
6651 + 4975760: Fix PathFragment to not use Java8-only static hashCode
6652 methods.
6653 + 05fd076: Disable sandboxing for XibCompile actions.
Damien Martin-Guillerez961e54f2016-12-22 13:33:36 +01006654```
Bazel Release System80865ff2016-11-30 13:18:54 +01006655
6656Incompatible changes:
6657
Bazel Release Systemd3b23642016-12-22 13:30:47 +01006658 - Skylark maven_jar and maven_aar settings attribute is now a label
6659 so it can be checked into your workspace.
6660 - --{no}experimental_use_rclass_generator is now a nop.
6661
6662New features:
6663
6664 - Coverage support (*experimental*) for pure Java target.
6665 Use `bazel coverage //my:target` to generate coverage information
6666 from a `java_test`.
Bazel Release System80865ff2016-11-30 13:18:54 +01006667
6668Important changes:
6669
Bazel Release Systemd3b23642016-12-22 13:30:47 +01006670 - Enable fallback URLs in Skylark http rules.
6671 - cc_proto_library generates C++ code from proto_library rules.
6672 - cc_library now supports the strip_prefix and strip_include_prefix
6673 attributes for control of include paths.
6674 - Skylark dicts internally don't rely on keys order anymore and
6675 accept any hashable values (i.e. structs with immutable values)
6676 as keys. Iteration order of dictionaries is no longer specified.
Damien Martin-Guillerez961e54f2016-12-22 13:33:36 +01006677
6678## Release 0.4.2 (2016-12-02)
6679
6680```
6681Baseline: 6331a94
6682
6683Cherry picks:
6684 + 7b835d9: Do not patch WORKSPACE in the release process
6685```
6686
6687Incompatible changes:
6688
6689 - Callback functions in Skylark no longer support the cfg
6690 parameter. This is a cleanup and only affects the signatures of
6691 callbacks, since the parameter hasn't been set since September
6692 2016.
6693
6694Important changes:
6695
6696 - Alias proto_library's produce a descriptor set that contains all
6697 srcs of its dependencies.
6698 - proto_library supports strict proto deps.
6699 - Top level @androidsdk support library targets have been replaced
6700 by @androidsdk//<group id>:<artifact id>-<version> for Android
6701 SDK Support and Google Play Services libraries.
6702
Bazel Release System15402a92016-11-30 10:12:30 +01006703## Release 0.4.1 (2016-11-21)
6704
6705```
6706Baseline: 9a796de
6707
6708Cherry picks:
6709 + 88bfe85: Description redacted. -- MOS_MIGRATED_REVID=139219934
6710 + b09ea94: Rollback of commit
6711 a3f5f576cd35798140ba3e81d03d919dd4ecb847.
6712```
6713
6714New features:
6715
6716 - android_library now has a "exported_plugins" attribute just like
6717 java_library
6718 - Use --strict_system_includes to apply hdrs_check=strict also to
6719 cc_library.includes, even if sandboxing is disabled.
6720 - Bazel on Windows: java_binary can now be the executable of
6721 Skylark rule actions (ctx.action's executable argument)
6722 - Packages are defined in BUILD.bazel as well as BUILD files.
6723
6724Important changes:
6725
6726 - getattr()'s 3-arg form no longer raises an error when the
6727 retrieved field is a built-in method.
6728 - --apk_signing_method default changed to v1. Android APKs are now
6729 signed with the new ApkSignerTool by default.
6730 - New rule: proto_lang_toolchain(), to support LANG_proto_library
6731 rules on multiple platforms.
6732 - Fix for Android clang++ std::stack segfault on 32bit x86. See
6733 https://code.google.com/p/android/issues/detail?id=220159
6734 - Default android_manifest_merger is now "android" which uses the
6735 official Android manifest merger.
6736 http://tools.android.com/tech-docs/new-build-system/user-guide/man
6737 ifest-merger
6738 - Do not propagate aspect to its own attributes when using '*'.
6739 - Comparing sets (`if set1 < set2:`) is not allowed anymore in
6740 Skylark because it didn't work correctly anyway.
6741 - When --experimental_extra_action_top_level_only, Bazel reports
6742 extra-actions for actions registered by Aspects injected by a
6743 top-level rule (approximately).
6744 - Blacklists for proto_lang_toolchain() no longer have to be
6745 proto_library's.
6746 - Extra actions now contain aspect-related information.
6747 - Fix slicing bug where "abc"[:-4:-1] would give wrong answer
6748
Bazel Release Systemd0761e62016-11-02 13:36:35 -04006749## Release 0.4.0 (2016-10-26)
6750
6751```
6752Baseline: 088bbc6
6753
6754Cherry picks:
6755 + b01160c: Stamp Windows release.
6756 + 2d6736e: Add --no-tty for gpg signing
6757 + 9b1dfb8: Remove .sig file before gpg signing
6758 + 81aede1: Reimplement whole archive on Windows
6759```
6760
6761Incompatible changes:
6762
6763 - Skylark: updating list/dicts while they are being looped over is not
6764 allowed. Use an explicit copy if needed ("for x in list(mylist):").
6765 - Bazel now uses the --cpu flag to look up Jvms; it falls back
6766 to "default" if it can't find a Jvm matching the CPU value.
6767 - --command_port=-1 to use AF_UNIX for client/server communications
6768 is not supported anymore.
6769 - Sandboxed actions can access the network by default, unless their
6770 target has a "block-network" tag.
6771
6772New features:
6773
6774 - Files now have an "extension" property in Skylark.
6775
6776Important changes:
6777
6778 - Added a new flag --sandbox_tmpfs_path, which asks the sandbox to
6779 mount an empty, writable directory at a specified path when
6780 running actions. (Supported on Linux only for now.)
6781 - Update protoc-3.0.0-mingw.exe to a working (statically linked)
6782 binary
6783 - apple_static_library rule to create multi-architecture static
6784 archive files from Objc/C++/Swift dependencies on apple platforms
6785 - JS: Add support for localization with closure managed rules.
6786 - Create a flag --android_dynamic_mode to turn off dynamic mode
6787 during the Android split transition.
6788 - Darwin sandboxing is default.
6789 - Remove flag --experimental_zip_tree_artifact from j2objc Java
6790 annotation processing support.
6791 - A few functions are added to BUILD files for consistency (hash,
6792 dir,
6793 hasattr, getattr) with .bzl files, although they are not very
6794 useful.
6795 - --watchfs is now a command option; the startup option of the same
6796 name is deprecated. I.e., use bazel build --watchfs, not
6797 blaze --watchfs
6798 build.
6799
Bazel Release System33579a42016-10-07 13:05:11 -04006800## Release 0.3.2 (2016-10-07)
6801
6802```
6803Baseline: 023a7bd
6804
6805Cherry picks:
6806 + bebbbe5: Fix dependency on libtool's helper script
6807 make_hashed_objlist.py.
6808 + 8a0d45f: Add the version information to the bazel.exe file
6809 + 2bc0939: Allow new_ rules to overwrited BUILD files in
6810 downloaded repos
6811 + c5545fd: Rollback of commit
6812 96d46280bc5a4803ba2242a4ad16939f85a3b212.
6813 + eb87208: Make cc_configure on Windows more robust
6814 + c30432c: Fix cc_configure on Windows
6815 + 95b16a8: sandbox: Replace the error-prone lazy cleanup of
6816 sandbox directories by a simple synchronous cleanup.
6817 + e898023: Fix #1849: Sandboxing on OS X should be turned off by
6818 default for 0.3.2.
6819 + ffdc05d: Add action_config and feature for linking on Windows
6820```
6821
6822Incompatible changes:
6823
6824 - If you maintain a rule that uses persistent workers, you'll have
6825 to specify execution_requirements={"supports-workers": 1} in the
6826 ctx.action that intends to run a tool with workers. The
6827 WorkerSpawnStrategy will alert you with a warning message if you
6828 forget to make this change and fallback to non-worker based
6829 execution.
6830 - It is now an error to include a precompiled library (.a, .lo, .so)
6831 in a cc_library which would generate a library with the same name
6832 (e.g., libfoo.so in cc_library foo) if that library also contains
6833 other linkable
6834 sources.
6835 - The main repository's execution root is under the main
6836 repository's workspace name, not the source directory's basename.
6837 This shouldn't
6838 have any effect on most builds, but it's possible it could break
6839 someone doing
6840 weird things with paths in actions.
6841 - Blaze doesn't support Unix domain sockets for communication
6842 between its client and server anymore. Therefore, the
6843 --command_port command line argument doesn't accept -1 as a valid
6844 value anymore.
6845 - Skylark: It is an error to shadow a global variable with a local
6846 variable after the global has already been accessed in the
6847 function.
6848 - bin_dir and genfiles_dir are now properties of ctx, not
6849 configuration. That is, to access the bin or genfiles directory
6850 from a
6851 Skylark rule, use ctx.bin_dir or ctx.genfiles_dir (not
6852 ctx.configuration.{bin,genfiles}_dir). At the moment, you can
6853 access
6854 {bin,genfiles}_dir from either, but the ctx.configuration version
6855 will
6856 stop working in a future release.
6857 - filegroup-based C++ toolchains are not supported anymore.
6858 --*_crosstool_top options must always point to a
6859 cc_toolchain_suite rule (or an alias of one).
6860 - repository_ctx.{download,download_and_extract,execute} API now use
6861 named parameters for optional parameters and no
6862 longer uses argument
6863 type to distinguished between arguments
6864 (executable attribute name
6865 must be specified when preceding optional
6866 arguments are missing).
6867
6868New features:
6869
6870 - print and fail are now available in BUILD files.
6871
6872Important changes:
6873
6874 - Added @bazel_tools//tools/build_defs/repo/git.bzl as a Skylark
6875 rule for Git repositories.
6876 - Added @bazel_tools//tools/build_defs/repo/maven_rules.bzl as a
6877 Skylark rule for Maven repositories.
6878 - Add global hash() function for strings (only)
6879 - Improve Android split transition handling.
6880 - Removes exports_manifest attribute from android_binary rule.
6881 - java_proto_library: control strict-deps through a rule-level and
6882 a package-level attribute.
6883 - Persistent workers are now used by default for Java compilation
6884 in Bazel, which should speed up your Java builds by ~4x. You can
6885 switch back to the old behavior via --strategy=Javac=standalone.
6886 Check out http://www.bazel.io/blog/2015/12/10/java-workers.html
6887 for more details.
6888 - objc_* rules can now depend on any target that returns an "objc"
6889 provider.
6890 - Adds support for NDK12 to `android_ndk_repository` rule in Bazel.
6891 - Test targets can disable the JUnit4 test security manager via a
6892 property.
6893 - Disable the Android split transition if --android_cpu and
6894 fat_apk_cpu are both empty.
6895 - New sandboxing implementation for Linux in which all actions run
6896 in a separate execroot that contains input files as symlinks back
6897 to the originals in the workspace. The running action now has
6898 read-write access to its execroot and /tmp only and can no longer
6899 write in arbitrary other places in the file system.
6900 - Add worker support to single jar.
6901 - Invoke source jar action as a worker.
6902 - Sandboxed builds allow network access for builds by default.
6903 Tests will still be run without networking, unless
6904 "requires-network" is specified as a tag.
6905 - Add path.realpath() method for Skylark repositories.
6906 - On Mac devices, detect locally installed versions of xcode to:
6907 1. Use a sensible default if xcode is required but
6908 --xcode_version is unspecified.
6909 2. Use sensible default iOS SDK version for the targeted version
6910 of xcode if ios_sdk_version is unspecified.
6911 - Emacs' [C-x `], a.k.a. next-error, works again in emacsen >= 25.1
6912 - swift_library can be used to build watchOS apps.
6913 - Exposes the is_device field on Apple platform objects and adds
6914 the apple_common.platform_type(name) method to retrieve a
6915 platform_type value that can be passed to methods like the Apple
6916 fragment's multi_arch_platform.
6917 - Move Skylark git_repository rules to git.bzl
6918 - Add support for aspects to attr.label() attributes
6919 - Global varaiables HOST_CFG and DATA_CFG are deprecated in favor
6920 of strings "host"
6921 and "data.
6922 Argument `cfg = "host"` or `cfg = "data"` is mandatory if
6923 `executable = True` is provided for a label.
6924 - The deprecation attribute of all rules now causes warnings
6925 to be printed when other targets depend on a target with that
6926 attribute set.
6927 - Change default of --[no]instrument_test_targets to false, change
6928 default --instrumentation_filter (which previously tried to
6929 exclude test targets by heuristic) to only exclude targets in
6930 javatests.
6931 - Remove deprecated absolute paths in blaze IDE artifacts
6932 - When using android_binary.manifest_merger="android" the merger
6933 produces a summary log next to the merged manifest artifact.
6934 - Allow different default mallocs per configuration.
6935
Bazel Release System70c772b2016-07-29 10:28:13 +02006936## Release 0.3.1 (2016-07-29)
6937
6938```
6939Baseline: 792a9d6
6940
6941Cherry picks:
6942 + 25e5995: Rollback of commit
6943 a2770334ea3f3111026eb3e1368586921468710c.
6944 + 2479405: Fix NPE with unset maven_jar sha1
6945 + 3cf2126: Rewrite the extra action info files if the data within
6946 them changes.
6947 + 5a9c6b4: JavaBuilder: Reintroduce the -extra_checks flag.
6948```
6949
6950Incompatible changes:
6951
6952 - Removed predefined Python variable "generic_cpu".
6953 - Skylark rules: if you set "outputs" or an attribute to a
6954 function, this function must now list its required attributes as
6955 parameters (instead of an attribute map).
6956 - The host_platform and target_platform entries are not written to
6957 the master log anymore.
6958 - Bazel requires Hazelcast 3.6 or higher now for remote execution
6959 support, because we upgraded our client library and the protocol
6960 it uses is incompatible with older versions.
6961
6962New features:
6963
6964 - LIPO context (--lipo_context) can now also be a cc_test (in
6965 addition to cc_binary)
6966
6967Important changes:
6968
6969 - If --android_crosstool_top is set, native code compiled for
6970 android will always use --android_compiler and not --compiler in
6971 choosing the crosstool toolchain, and will use --android_cpu if
6972 --fat_apk_cpu is not set.
6973 - Add --instrument_test_targets option.
6974 - apple_binary supports a new platform_type attribute, which, if
6975 set to "watchos", will build dependencies for Apple's watchOS2.
6976 - objc_binary now supports late-loaded dynamic frameworks.
6977 - Native Swift rules no longer pull in module maps unconditionally.
6978 Use --experimental_objc_enable_module_maps for that.
6979 - Merged manifests are guaranteed to have the application element
6980 as the last child of the manifest element as required by Android
6981 N.
6982 - The Android manifest merger is now available as an option for
6983 android_binary rules. The merger will honor tools annotations in
6984 AndroidManifest.xml and will perform placeholder substitutions
6985 using the values specified in android_binary.manifest_values. The
6986 merger may be selected by setting the manifest_merger attribute
6987 on android_binary.
6988 - The progress message would not clear packages that need to be
6989 loaded twice.
6990 - Remove warning for high value of --jobs.
6991 - Use the correct build configuration for shared native deps during
6992 Android split transitions.
6993 - When building ObjectiveC++, pass the flag -std=gnu++11.
6994 - use xcrun simctl instead of iossim to launch the app for "blaze
6995 run".
6996 - Glob arguments 'exclude' and 'exclude_directories' must be named
6997 - Bazel no longer regards an empty file as changed if its mtime has
6998 changed.
6999
Bazel Release Systemccadf8d2016-06-10 13:28:40 +02007000## Release 0.3.0 (2016-06-10)
7001
7002```
7003Baseline: a9301fa
7004
7005Cherry picks:
7006 + ff30a73: Turn --legacy_external_runfiles back on by default
7007 + aeee3b8: Fix delete[] warning on fsevents.cc
7008```
7009
7010Incompatible changes:
7011
7012 - The --cwarn command line option is not supported anymore. Use
7013 --copt instead.
7014
7015New features:
7016
7017 - On OSX, --watchfs now uses FsEvents to be notified of changes
7018 from the filesystem (previously, this flag had no effect on OS X).
7019 - add support for the '-=', '*=', '/=', and'%=' operators to
7020 skylark. Notably, we do not support '|=' because the semantics
7021 of skylark sets are sufficiently different from python sets.
7022
7023Important changes:
7024
7025 - Use singular form when appropriate in blaze's test result summary
7026 message.
7027 - Added supported for Android NDK revision 11
7028 - --objc_generate_debug_symbols is now deprecated.
7029 - swift_library now generates an Objective-C header for its @objc
7030 interfaces.
7031 - new_objc_provider can now set the USES_SWIFT flag.
7032 - objc_framework now supports dynamic frameworks.
7033 - Symlinks in zip files are now unzipped correctly by http_archive,
7034 download_and_extract, etc.
7035 - swift_library is now able to import framework rules such as
7036 objc_framework.
7037 - Adds "jre_deps" attribute to j2objc_library.
7038 - Release apple_binary rule, for creating multi-architecture
7039 ("fat") objc/cc binaries and libraries, targeting ios platforms.
7040 - Aspects documentation added.
7041 - The --ues_isystem_for_includes command line option is not
7042 supported anymore.
7043 - global function 'provider' is removed from .bzl files. Providers
7044 can only be accessed through fields in a 'target' object.
7045
Bazel Release System9fdd6012016-05-17 11:12:31 +02007046## Release 0.2.3 (2016-05-10)
7047
7048```
7049Baseline: 5a2dd7a
7050```
7051
7052Incompatible changes:
7053
7054 - All repositories are now directly under the x.runfiles directory
7055 in the runfiles tree (previously, external repositories were at
7056 x.runfiles/main-repo/external/other-repo. This simplifies
7057 handling remote repository runfiles considerably, but will break
7058 existing references to external repository runfiles.
7059 Furthermore, if a Bazel project does not provide a workspace name
7060 in the WORKSPACE file, Bazel will now default to using __main__
7061 as the workspace name (instead of "", as previously). The
7062 repository's runfiles will appear under x.runfiles/__main__/.
7063 - Bazel does not embed protocol buffer-related rules anymore.
7064 - It is now an error for a cc rule's includes attribute to point to
7065 the workspace root.
7066 - Bazel warns if a cc rule's includes attribute points out of
7067 third_party.
7068 - Removed cc_* attributes: abi / abi_deps. Use select() instead.
7069
7070New features:
7071
7072 - select({"//some:condition": None }) is now possible (this "unsets"
7073 the attribute).
7074
7075Important changes:
7076
7077 - java_import now allows its 'jars' attribute to be empty.
7078 - adds crunch_png attribute to android_binary
7079 - Replace --java_langtools, --javabuilder_top, --singlejar_top,
7080 --genclass_top, and --ijar_top with
7081 java_toolchain.{javac,javabuilder,singlejar,genclass,ijar}
7082 - External repository correctness fix: adding a new file/directory
7083 as a child of a new_local_repository is now noticed.
7084 - iOS apps are signed with get-task-allow=1 unless building with -c
7085 opt.
7086 - Generate debug symbols (-g) is enabled for all dbg builds of
7087 objc_ rules.
7088 - Bazel's workspace name is now io_bazel. If you are using Bazel's
7089 source as an external repository, then you may want to update the
7090 name you're referring to it as or you'll begin seeing warnings
7091 about name mismatches in your code.
7092 - Fixes integer overflow in J2ObjC sources to be Java-compatible.
7093 - A FlagPolicy specified via the --invocation_policy flag will now
7094 match the current command if any of its commands matches any of
7095 the commands the current command inherits from, as opposed to
7096 just the current command.
7097 - The key for the map to cc_toolchain_suite.toolchains is now a
7098 string of the form "cpu|compiler" (previously, it was just "cpu").
7099 - Fix interaction between LIPO builds and C++ header modules.
7100 - Ctrl-C will now interrupt a download, instead of waiting for it to
7101 finish.
7102 - Proxy settings can now be specified in http_proxy and https_proxy
7103 environment variables (not just HTTP_PROXY and HTTPS_PROXY).
7104 - Skylark targets can now read include directories from
7105 ObjcProvider.
7106 - Expose parameterized aspects to Skylark.
7107 - Support alwayslink cc_library dependencies in objc binaries.
7108 - Import cc_library dependencies in generated Xcode project.
7109
Bazel Release System1aedd1f12016-04-25 09:47:50 +02007110## Release 0.2.2b (2016-04-22)
Bazel Release System951cea22016-04-21 14:10:12 +02007111
7112```
7113Baseline: 759bbfe
Bazel Release System1aedd1f12016-04-25 09:47:50 +02007114
7115Cherry picks:
Bazel Release System951cea22016-04-21 14:10:12 +02007116 + 1250fda: Rollback of commit
7117 351475627b9e94e5afdf472cbf465f49c433a25e.
7118 + ba8700e: Correctly set up build variables for the correct pic
7119 mode for fake_binary rules.
7120 + 386f242: Automated [] rollback of commit
7121 525fa71b0d6f096e9bfb180f688a4418c4974eb4.
Bazel Release System1aedd1f12016-04-25 09:47:50 +02007122 + 97e5ab0: Fix cc_configure include path for Frameworks on OS X.
7123 + a20352e: cc_configure: always add -B/usr/bin to the list of gcc
7124 option
7125 + 0b26f44: cc_configure: Add piii to the list of supported
7126 cpu_value
7127 + 3e4e416: cc_configure: uses which on the CC environment variable
7128 + aa3dbd3: cc_configure.bzl: strip end of line when looking for
7129 the cpu
7130 + 810d60a: cc_configure: Add -B to compiler flag too
Bazel Release System951cea22016-04-21 14:10:12 +02007131```
7132
Bazel Release System1aedd1f12016-04-25 09:47:50 +02007133Patch release, only includes fixes to C++ auto-configuration.
Bazel Release System951cea22016-04-21 14:10:12 +02007134
Bazel Release System950c1ab2016-03-31 17:18:55 +02007135## Release 0.2.1 (2016-03-21)
7136
7137```
7138Baseline: 19b5675
7139```
7140
7141Incompatible changes:
7142
7143 - Skylark rules that are available from their own repository will
7144 now issue a warning when accessed through @bazel_tools.
7145 - Set --legacy_bazel_java_test to off by default. java_test will
7146 now have a slightly different behaviour, correctly emitting XML
7147 file but, as a downside, it needs correct declaration of the
7148 test suite (see https://github.com/bazelbuild/bazel/issues/1017).
7149 - Labels in .bzl files in remote repositories will be resolved
7150 relative to their repository (instead of the repository the
7151 Skylark rule is used in).
7152 - Renamed proto_java_library to java_proto_library. The former
7153 is now deprecated and will print out a warning when used.
7154 - android_sdk now compiles android_jack on the fly from
7155 android_jar, which means android_jar must be a jar and
7156 android_jack is now deprecated. The Jack tools (jack, jill,
7157 resource_extractor) must be specified.
7158 - Any project that depended on the objc_options rule will be
7159 broken. Can be fixed by adding attrs (infoplists,copts) directly
7160 to rules depending on the options.
7161 - .aidl files correctly require import statements for types
7162 defined in the same package and the same android_library.
7163
7164New features:
7165
7166 - Experimental Windows support is available.
7167 - Experimental support for writing remote repository rules in
7168 Skylark is available.
7169 - iOS ipa_post_processor attribute allows for user-defined IPA
7170 edits.
7171 - Adds a to_json method to Skylark structs, providing conversion to
7172 JSON format.
7173 - Native python rule can depend on skylark rule as long as skylark
7174 rule provides 'py' provider.
7175 - When using both --verbose_failures and --sandbox_debug, Bazel
7176 prints instructions how to spawn a debugging shell inside the
7177 sandbox.
7178 - add flag --sandbox_add_path, which takes a list of additional
7179 paths as argument and mount these paths to sandbox.
7180
7181Important changes:
7182
7183 - @androidsdk//:org_apache_http_legacy added for the legacy Apache
7184 classes for android sdk version 23 and above.
7185 - Genrules correctly work when used with bazel run.
7186 - When namespace-sandbox is run with the -D (debug) flag and
7187 inside a terminal, it spawns a shell inside the sandbox to aid in
7188 debugging when the sandboxed command fails.
7189 - Added --artifact to workspace generator for generating workspace
7190 and build file rules from artifact coodrinates.
7191 - Specifying --experimental_android_resource_shrinking on the
7192 command line will enable a resource shrinking pass on
7193 android_binary targets that already use Proguard.
7194 - J2ObjC updated to 1.0.1 release.
7195 - Added "root_symlinks" and "symlinks" parameters to Skylark
7196 runfiles() method.
7197 - You can no longer use objc_binary targets for the xctest_app
7198 attribute of an ios_test rule.
7199 - Enable overriding jsonnet binaries and stdlib for Jsonnet rules.
7200 - mount target of /etc/resolv.conf if it is a symlink.
7201 - Tests that failed to build because execution was halted no longer
7202 print their status.
7203 - Bazel warns if a cc rule's includes attribute contains up-level
7204 references that escape its package.
7205 - Add repository_ctx.download and repository_ctx.download_and_extract
7206 function.
7207
Bazel Release Systemf98290d2016-02-23 13:51:16 +01007208## Release 0.2.0 (2016-02-18)
7209
7210```
7211Baseline: 9e100ac
7212```
7213
7214Incompatible changes:
7215
7216 - ObjC compile actions for J2ObjC-translated code now only has
7217 access to headers from the java deps of the associated original
7218 java rule.
7219 These compile actions no longer takes the compiler options
7220 specified in "copts" attribute on objc_binary/ios_test rules.
7221 J2ObjC dead code removal (enabled through flag
7222 "--j2objc_dead_code_removal") now happens *after* ObjC
7223 compilation.
7224 - maven_jar no longer supports separate artifact_id, group_id, and
7225 verison fields. This information should be provided in the
7226 artifact field,
7227 instead.
7228
7229New features:
7230
7231 - Better support for toolchains that don't have a dynamic linker.
7232 - build_file_content attribute added to new_git_repository,
7233 new_http_archive, and new_local_repository.
7234 - Add support for .tar.bz2 archives to http_archive rules.
7235
7236Important changes:
7237
7238 - The --skyframe flag is no longer available for the build command.
7239 - The --artifacts flag was removed from the dump command.
7240 - The sha256 attribute is now optional (although recommended!) for
7241 remote repository rules.
7242 - Add instrumented file provider support to Skylark rules.
7243 - Add imports attribute to native Python rules.
7244 - Allow overriding -gsplit-dwarf from copts.
7245 - Improved sandbox performance on XFS filesystems.
7246
Bazel Release System00cf25d2016-02-09 18:36:51 +01007247## Release 0.1.5 (2016-02-05)
7248
7249```
7250Baseline: 3a95f35
7251 + 8378cd8: Rollback of commit
7252 a9b84575a32476a5faf991da22b44661d75c19b6.
7253```
7254
7255Incompatible changes:
7256
7257 - Set stamping to false by default (i.e., --nostamp)
7258 - Removed --objc_dump_syms_binary.
7259 - Removes --objc_gcov_binary flag.
7260 - Remove JAVAC "Make" variable
7261 - The startup flag --blaze_cpu is removed,
7262
7263New features:
7264
7265 - A new java test runner that support XML output and test filtering
7266 is supported. It can be used by specifying --nolegacy_bazel_java_test
7267 or by specifying the test_class attribute on a java_test.
7268 - Skylark aspects can now specify configuration fragment
7269 dependencies with fragments and host_fragments like rules can.
7270
7271Important changes:
7272
7273 - Support for downloading remote resources through proxies by
7274 setting HTTP_PROXY (or HTTPS_PROXY).
7275 - Timestamps within Android apks are removed to make apks
7276 deterministic.
7277 - Support aggregation over existing rules in Skylark extensions
7278 through native.rules and native.rule.
7279 - A tools/bazel script in the workspace will be executed
7280 as an opportunity to use a fixed version of Bazel (not
7281 implemented for the homebrew recipe yet).
7282 - --noimplicit_deps and --nohost_deps work correctly for Aspect
7283 attributes.
7284 - JDK-related targets are now available via @local_jdk (instead of
7285 @local-jdk).
7286 - j2objc tools can now be accessed via @bazel_j2objc, not
7287 @bazel-j2objc.
7288 - Repository rules must use names that are valid workspace names.
7289 - [rust] Update to Rust 1.6
7290 - Add support for .tar.xz archives to http_archive rules.
7291 - Make C++ modules compatible with tools using
7292 --compilation_prerequisites_only
7293 - [d] Update to DMD 2.070.0
7294
Bazel Release System446d9922016-01-21 10:59:31 +01007295## Release 0.1.4 (2016-01-15)
7296
7297```
7298Baseline: e933d5e
7299 + 3d796fe: Rollback of commit
7300 ac6ed79e1a3fa6b0ca91657b28e2a35f7e49758c.
7301 + 7a02e5d: Fix installer under OS X
7302 + 848740c: Fix bazel version for debian package
7303 + 7751d43: Add a method for getting the root of a rule workspace
7304 to the Label method
7305```
7306
7307Important changes:
7308
7309 - add loadfiles() query operator, to find skylark files loaded by
7310 targets.
7311 - Added ability to declare and use aspects in Skylark.
7312 - Skylark load statements may now reference .bzl files via build
7313 labels, in addition to paths. In particular, such labels can be
7314 used to reference Skylark files in external repositories; e.g.,
7315 load("@my_external_repo//some_pkg:some_file.bzl", ...).
7316 Path-based loads are now deprecated and may be disabled in the
7317 future. Caveats: Skylark files currently do not respect package
7318 visibility; i.e., all Skylark files are effectively public. Also,
7319 loads may not reference the special //external package.
7320 - Relative paths can now be used for 'path' with
7321 new_local_repository and local_repository.
7322
Bazel Release System1518253e2016-01-11 10:10:19 +01007323## Release 0.1.3 (2016-01-07)
7324
7325```
7326Baseline: 23ad8f6
7327 + de2183d: Only depend on the WORKSPACE file for external files
7328 that are under the external/ directory, i.e. were
7329 created by Bazel.
7330 + f8f855c: Rollback of commit
7331 12bad3af0eade9c4b79d76f9e1c950ad2e3214c2.
7332 + f627562: Stop parsing the WORKSPACE file when a parse error is
7333 detected
7334 + 763f139: Add -fno-canonical-system-headers to CROSSTOOL files so
7335 that gcc doesn't resolve symlinks in .d files, which
7336 would confuse Blaze.
7337 + b95995b: Use openjdk7 as dependency for debian package of jdk7
7338 flavor
7339```
7340
7341New features:
7342
7343 - Skylark macros are now enabled in WORKSPACE file.
7344 - .bazelrc allows workspace-relative imports as "import
7345 %workspace%/path/to/rcfile"
7346 - Evaluate the query expression in a file by passing
7347 --query_file=<file> to query
7348
7349Important changes:
7350
7351 - Remove obsolete --objc_per_proto_includes flag.
7352 - iOS apps and extensions now have launch_storyboard
7353 - Passing multiple JVM options via a single --host_jvm_args flag is
7354 now deprecated. Pass each JVM option behind its own
7355 --host_jvm_args flag.
7356 - Resources defined locally on an android_library rule will respect
7357 the neverlink attribute.
7358 - Update Rust to 1.4
7359 - Fix resource handling for exported android_library rules
7360 - Files in external repositories are now treated as mutable, which
7361 will make the correctness guarantees of using external
7362 repositories stronger (existent), but may cause performance
7363 penalties.
7364
Bazel Release System0d2e4092015-12-04 23:31:41 +01007365## Release 0.1.2 (2015-11-20)
7366
7367```
7368Baseline: ee0ade3
7369 + 1e66ccd: RELNOTES: Symlink dirents of directories containing a
7370 file named
7371 "DONT_FOLLOW_SYMLINKS_WHEN_TRAVERSING_THIS_DIRECTORY_VIA
7372 _A_RECURSIVE_TARGET_PATTERN" will *not* be traversed
7373 for transitive target patterns. The motivation here is
7374 to allow directories that intentionally contain wonky
7375 symlinks (e.g. foo/bar -> foo) to opt out of being
7376 consumed by Blaze. For example, given
7377 + f5773fc: Set the ijar MAX_BUFFER_SIZE to 256 MB
7378```
7379
7380New features:
7381
7382 - java_library now supports the proguard_specs attribute for
7383 passing Proguard configuration up to Android (not Java) binaries.
7384 - http_file can specify "executable" to make the downloaded file
7385 runnable.
7386 - Debian and tar packaging is now supported
7387 (see tools/build_defs/pkg/README.md).
7388 - cpxx_builtin_include_directory specifications allow more
7389 flexibility.
7390 - accept %crosstool_top% in cxx_builtin_include_directory
7391 - android_binary now supports proguard_apply_mapping to re-use a
7392 previously generated proguard mapping.
7393
7394Important changes:
7395
7396 - remove webstatusserver (--use_webstatusserver).
7397 - Add support for objc textual headers, which will not be compiled
7398 when modules are enabled.
7399 - actoolzip, momczip and swiftstdlibtoolzip have all been made into
7400 bash scripts and have been renamed to actoolwrapper, momcwrapper
7401 and swiftstdlibtoolwrapper respectively. The old versions will be
7402 deleted in a later change.
7403 - [rust] Add rust_bench_test and rust_doc_test rules and improve
7404 usability of rust_test tule.
7405 - Java rules now support a resource_strip_prefix attribute that
7406 allows the removal of path prefixes from Java resources.
7407 - [docker_build] incremental loading is default now.
7408 Specify explicitly //package:target.tar (with the .tar extension)
7409 to obtain the full image.
7410 - --ios_signing_cert_name allows specifying a cert for iOS app
7411 signing
7412 - Go rules for Bazel.
7413 - [jsonnet] Update to Jsonnet 0.8.1.
7414 - [jsonnet] Add vars and code_vars attributes to jsonnet_to_json to
7415 allow passing external variables to Jsonnet via --var and
7416 --code_var.
7417 - Adds --override_workspace_root blaze flag to hand-set
7418 workspace_root and mainGroup in xcodeproj.
7419 - Allow dots in package names.
7420 - When used as a forwarding rule (i.e., has no sources),
7421 android_library
7422 will also forward any exported_plugins in its dependencies.
7423 - Add support for Windows-created zip files with non-posix
7424 permissions.
7425 - [jsonnet] Add jsonnet_to_json_test rule for testing Jsonnet code.
7426 - C++ compile actions run in a sandbox now on systems that support
7427 sandboxed execution.
7428 - The names of the clang compilers in the Android NDK crosstool no
7429 longer reference gcc.
7430 - 420 dpi is now a valid density for andoid_binary.densities.
7431 - Bazel does strict validation of include files now to ensure
7432 correct incremental builds. If you see compilation errors when
7433 building C++ code, please make sure that you explicitly declare
7434 all header files in the srcs or hdrs attribute of your cc_*
7435 targets and that your cc_* targets have correct "deps" on
7436 cc_library's that they use.
7437 - [jsonnet] Fix jsonnet_to_json rule to read code_vars from
7438 code_vars instead of vars.
7439 - Tests, genrules, and Skylark actions without the
7440 "requires-network" tag will no longer be able to access the
7441 network.
7442 - C++ libraries no longer need includes = ["."] (or similar copts)
7443 to include paths relative to a remote repository's root.
7444 - Support exports attribute for android_library
7445 - Symlink dirents of directories containing a file named
7446 "DONT_FOLLOW_SYMLINKS_WHEN_TRAVERSING_THIS_DIRECTORY_VIA_A_RECURSI
7447 VE_TARGET_PATTERN" will *not* be traversed for transitive target
7448 patterns. The motivation here is to allow directories that
7449 intentionally contain wonky symlinks (e.g. foo/bar -> foo) to opt
7450 out of being consumed by Blaze.
7451
Bazel Release Systemfa35b182015-10-14 12:11:51 -04007452## Release 0.1.1 (2015-10-05)
7453
7454```
7455Baseline: 22616ae
7456 + 1ef338f: Rollback of "Propagates cc_library linkopts attribute
7457 to dependent objc_libraries.": breaks certain
7458 objc_binary build targets.
7459 + 5fb1073: Reintroduce an inconsistency check (albeit, in a weaker
7460 form) removed by a previous change that was trying to
7461 optimize away a filesystem call.
7462 + 6d00468b2eb976866cfb814d562e0d53a580a46f: Add IdlClass to the embedded default android tools
7463 repository and rearrange BuildJar's JarHelper so that
7464 it too can be embedded.
7465 + a5199039934a2e399a7201adc0d74e2f2d2b0ff3: Fixes Android integration tests by wiring up idlclass
7466 rules in integration environment.
7467```
7468
7469Incompatible changes:
7470
7471 - Bazel requires JDK 8 to run.
7472 - Attribute "copts" is removed from j2objc_library.
7473
7474New features:
7475
7476 - a cc_binary rule may list '.s' and '.asm' files in the srcs
7477 - Support for build with libsass.
7478 - labels in "linkopts" may match any label in either "deps" or
7479 "srcs" to be considered valid.
7480 - Maven servers that require username & password authentication are
7481 now supported (see maven_server documentation).
7482
7483Important changes:
7484
7485 - Support empty plist files
7486 - The <compatible-screens> section of the AndroidManifest.xml will
7487 not be overwritten if it already contains a <screen> tag for each
7488 of the densities specified on the android_binary rule.
7489 - Add Jsonnet rules to Bazel
7490 - Remove deprecated xcode_options flag.
7491 - Workspace names are now restricted to being in their base
7492 directory
7493 (that is, the names cannot contain up-level references or /./).
7494 - j2objc_library on Bazel now transpiles transitive proto_library
7495 dependencies. (Note that java_* rules in Bazel do not yet support
7496 protos; currently they ignore proto dependencies.)
7497 - new_http_archive can specify a root directory.
7498 - Adds support for dylibs on devices for Xcode 7.
7499 - [d] d_docs rules now depend on a d_binary, a d_library or
7500 d_source_library.
7501 - [docker] docker_build now set the permission to 0555 to files
7502 added to the layer, use `mode = "0644"` to use the legacy behavior.
7503 - android_binary now has a main_dex_proguard_specs attribute to
7504 specify which classes should be in the main dex.
7505 - [rust] Add rust_docs rule for generating rustdoc.
Bazel Release System79e40ac2015-09-08 23:38:00 +02007506## Release 0.1.0 (2015-09-08)
7507
7508```
7509Baseline: a0881e8
7510 + 87374e6: Make android_binary use a constant, hard-coded,
7511 checked-in debug key.
7512 + 2984f1c: Adds some safety checks in the Bazel installer
7513 + 4e21d90: Remove BUILD.glob and incorporate the necessary
7514 filegroups into the android_{ndk,sdk}_repository rules
7515 themselves.
7516 + 1ee813e: Fix Groovy rules to work with sandboxing
7517 + 8741978: Add initial D rules to Bazel.
7518 + 2c2e70d: Fix the installer and fixing the package shiped into
7519 binary version of Bazel.
7520```
7521
7522Initial release.
Bazel Release System6712cac2017-02-01 19:53:37 +01007523
Bazel Release System8d635fc2017-03-16 13:18:30 +01007524
Bazel Release Systema3e26832017-05-26 14:11:07 +02007525
Bazel Release System63222de2017-06-06 11:32:04 +02007526
Bazel Release System7b851222017-06-27 15:08:47 +02007527
Bazel Release System195a7a82017-07-27 20:27:32 +02007528
Bazel Release System5371d132017-08-25 11:24:06 +02007529
Bazel Release System471c0e12017-09-28 16:36:12 +02007530
Bazel Release Systemed0ebc02017-10-05 23:52:25 +02007531
Bazel Release System76b6d0a2017-10-18 14:34:11 +02007532
Bazel Release System0838aee2017-11-27 14:16:34 +01007533
Bazel Release System3d53cb02017-12-05 15:28:40 +01007534
Bazel Release System5bd27482018-02-01 09:43:33 +01007535
Bazel Release Systeme1148362018-02-15 10:02:05 +01007536
Bazel Release System09077a32018-02-23 11:09:18 -05007537
Bazel Release Systemc86d6a02018-03-06 19:32:18 +01007538
Bazel Release System546976c2018-04-11 17:34:19 +02007539
Bazel Release System1d9c6062018-04-30 10:45:38 +02007540
Bazel Release System24c68ff2018-05-23 10:59:57 +02007541
Bazel Release System3a592f62018-06-01 15:04:31 +02007542
Bazel Release System513bbf52018-06-08 14:15:20 +02007543
Bazel Release System5013a332018-06-26 14:07:47 +02007544
Bazel Release System1281a022018-07-16 16:13:53 +02007545
Bazel Release System1bd58832018-08-13 15:41:26 +02007546
Bazel Release Systemfdb09a22018-09-14 12:15:54 +02007547
Bazel Release System50921e62018-09-21 12:27:04 +02007548
Bazel Release System36177972018-10-15 10:29:10 +02007549
Bazel Release System92849b82018-10-31 15:41:11 +01007550
Bazel Release System684f1092018-11-12 10:26:58 -05007551
Bazel Release Systemcb3e2982018-11-19 11:19:38 -05007552
Bazel Release System85378562018-11-30 15:34:16 +01007553