blob: 67dabdf97543cebdaf8d018a40524ebcd9ec332e [file] [log] [blame] [view]
Bazel Release System2b051be2020-09-02 15:41:41 -04001## Release 3.5.0 (2020-09-02)
2
3```
4Baseline: 889bc0b523b47eeb38a72bf9bb6858ee525a7c7e
5
6Cherry picks:
7
Bazel Release System57f0b7c2020-09-02 16:07:55 -04008 + a7a0d48fbeb059ee60e77580e5d05baeefdd5699:
9 Make no-op starlark transition not affect the output directory.
10 + b37c51c7085f0aefe04034dd451acb847605ddb5:
11 Add include_prefix and strip_include_prefix to cc_common.compile
12 + f6ad35fcde93f92c591778ed7db38d167f5bbc03:
13 Delete --experimental_transparent_compression
14 + 39bc97eab295bddb35b38bfc4a2ff3d2b15d034e:
15 Remove --experimental_action_args
16 + b9706675a7abf6ceebb250f0b3dfa4087a0c35f6:
17 Stop needlessly parsing WORKSPACE files from external
18 repositories.
19 + e574d558da17cfd0f818e7a937a07926aa270069:
20 Allow hyphen char in workspace name
21 + 9993785fa0c4fa4172aa31d306f3abea76833abf:
22 Allow dot ('.') in workspace names.
23```
24
25New features:
26
27 - cc_common.compile support for include_prefix/strip_include_prefix
28
29Important changes:
30
31 - Removed the flag --experimental_transparent_compression.
32 - Removed the flag --experimental_action_args.
33 - Stop needlessly parsing WORKSPACE files from external
34 repositories.
35 - Dot ('.') is now allowed in workspace names. See
36 https://github.com/bazelbuild/bazel/issues/11837.
37
38This release contains contributions from many people at Google, as well as David Ostrovsky.
39
40## Release 3.5.0 (2020-09-02)
41
42```
43Baseline: 889bc0b523b47eeb38a72bf9bb6858ee525a7c7e
44
45Cherry picks:
46
Bazel Release System2b051be2020-09-02 15:41:41 -040047 + d6b9469efebd200a39d7fd43876a18822fcdbe7b:
48 Make no-op starlark transition not affect the output directory.
49 + b37c51c7085f0aefe04034dd451acb847605ddb5:
50 Add include_prefix and strip_include_prefix to cc_common.compile
51 + 0ebb1d5a5388109e3f026a355c77fdf0121f3a43:
52 Delete --experimental_transparent_compression
53 + 312e121c70aebfaa91b0a3106fa964e0bc12d1df:
54 Remove --experimental_action_args
55 + 7e6e855bb82734f582e03c2c7fad3148c139d0e0:
56 Stop needlessly parsing WORKSPACE files from external
57 repositories.
58 + d4049f6f85efb8f48d1f6b72764115af5b184831:
59 Allow hyphen char in workspace name
60 + 0a35be1843a2e4d49d5e5c3893cd6673705b7fb1:
61 Allow dot ('.') in workspace names.
62```
63
64Incompatible changes:
65
66 - The --experimental_process_wrapper_wait_fix flag (used
67 purely to roll out a risky bug fix) has been removed.
68 - Removed the --experimental_ui_deduplicate flag.
69 - Bazel now correctly prefers Xcode versions in `/Applications`
70 over any other paths, which resolves an issue with accidentally
71 picking up an Xcode version from a Time Machine backup or network
72 disk. In the improbable case that you relied on the old behavior
73 and Bazel now picks up Xcode from the wrong location, you can fix
74 it by moving that Xcode version to /Applications.
75
76New features:
77
78 - cquery now follows aspects with --include_aspects.
79 - cc_common.compile support for include_prefix/strip_include_prefix
80
81Important changes:
82
83 - Add support to bazel/crosstool for building arm64 on macos aka
84 darwin
85 - Add opt in 'oso_prefix_is_pwd' feature for Apple builds
86 - Add InstrumentedFilesInfo provider to Starlark globals.
87 - Fixed resource shrinking when <overlayable/> tags are used.
88 - Remove old incompatible flag
89 --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfile
90 s_tree.
91 - Update coverage configuration for Python, filegroup, and shell
92 script rules to distinguish between source and dependency
93 attributes.
94 - Add support to bazel/crosstool for building arm64e on macos aka
95 darwin
96 - Make filegroup always forward InstrumentedFilesProvider and not
97 collect any sources directly.
98 - Support signing key rotation in android_binary
99 - Remove legacy handling of --extra_checks
100 - Support signing key rotation in android_binary
101 GO...
102 - `--apple_bitcode` now takes an optional platform and only applies
103 the Bitcode mode to that platform if present. The option may be
104 provided multiple times.
105 - Support signing key rotation in android_binary
106 - NS_BLOCK_ASSERTIONS is now passed for all Apple architectures.
107 - Major changes to reporting of Starlark errors and the call stack.
108 (Please be alert to possible regressions, such as errors that
109 lack relevant location information.)
110 - Removed the flag --experimental_transparent_compression.
111 - Removed the flag --experimental_action_args.
112 - Stop needlessly parsing WORKSPACE files from external
113 repositories.
114 - Dot ('.') is now allowed in workspace names. See
115 https://github.com/bazelbuild/bazel/issues/11837.
116
117This 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.
118
Bazel Release Systemd917bf22020-07-14 08:24:10 +0200119## Release 3.4.1 (2020-07-14)
120
121```
122Baseline: 7404d17ac76da876ae0b432d1fccf222a9e991fe
123
124Cherry picks:
125
126 + f31f2d787116120b2b16e9aa9a64fab171c0d954:
127 fixup! Gracefully handle the lack of subreaper support in Linux.
128 + 3a4f221e3c57495c1ed0d1ec8128f92323b13079:
129 Revert "Replace the remaining dependencies for Bazel Debian
130 build (third_party)"
131 + c55ec0f2cb3f5b44e5025bf9d3c5dc91d94db287:
132 Revert "Upgrade gRPC to 1.26.0"
133```
134
135This release contains contributions from many people at Google, as well as Ryan Beasley.
136
Bazel Release System93262a52020-07-13 17:23:50 +0200137## Release 3.4.0 (2020-07-13)
138
139```
140Baseline: 7404d17ac76da876ae0b432d1fccf222a9e991fe
141
142Cherry picks:
143
144 + a4334be50a206bf8d676a0196af11056c48ac35b:
145 fixup! Gracefully handle the lack of subreaper support in Linux.
146```
147
148Incompatible changes:
149
150 - This removes the short-lived --process_wrapper_extra_flags
151 flag, which was introduced primarily to roll out a bug fix.
152 Unfortunately,
153 this made us inadvertently expose all of the process-wrapper's
154 command line
155 interface to the public, which should not have happened. Given
156 the corner
157 case of the utility of this flag, the lack of documentation for
158 it, and the
159 fact that it only appeared in a single release, we are treating
160 this as a
161 bug instead of a backwards compatibility breakage.
162
163New features:
164
165 - bazel info: Allow to specify multiple keys.
166 - Support code coverage with GCC 9.
167
168Important changes:
169
170 - Allow InstrumentedFilesInfo fields to be read from Starlark.
171 - The --starlark_cpu_profile=<file> flag writes a profile in
172 pprof format containing a statistical summary of CPU usage
173 by all Starlark execution during the bazel command. Use it
174 to identify slow Starlark functions in loading and analysis.
175 - The --debug_depset_flag has been removed as it is in effect
176 always on at no cost.
177 - Rule authors should use the
178 incompatible_use_toolchain_transition rule attribute to migrate
179 to using
180 the toolchain transition. jcater to udpate notes further.
181 - `apple_binary` rules now accept the `stamp` attribute with the
182 same
183 semantics that it has in `cc_binary` rules.
184 - --incompatible_objc_provider_remove_compile_info turns off
185 the compile info/mege_zip Starlark APIs in ObjcProvider. See
186 #11359.
187 - The --debug_depset_flag has been removed as it is in effect
188 always on at no cost.
189 - Fix behavior of ctx.actions.write so content is written without
190 an incorrect encoding to UTF-8.
191 See https://github.com/bazelbuild/bazel/issues/10174 for details.
192 - Collect more performance metrics for worker execution.
193 - Add flag --incompatible_force_strict_header_check_from_starlark
194 - Configure coverage and runfiles for sh_library.
195 - Adds --incompatible_blacklisted_protos_requires_proto_info to
196 indicate whether proto_lang_toolchain.blacklisted_protos requires
197 ProtoInfo.
198
199This 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.
200
Bazel Release System97a53342020-06-30 11:05:57 -0400201## Release 3.3.1 (2020-06-30)
202
203```
204Baseline: c063b5caf776dee665497b64c5c17d4ed7e6750a
205
206Cherry picks:
207
208 + cb798a475eb54087e1e83f8aa1dc1c54550877b5:
209 Restore missing Building with Platforms docs.
210 + 9be97678b02bbd45d164c8458c8fd4f7791cb7aa:
211 Release 3.3.0 (2020-06-17)
212 + 3b0439e37247a480e08337a6314d06231bdbafd3:
213 Fix incorrect assumption of desugar persistent worker conditional
214```
215
216This release contains contributions from many people at Google, as well as .
217
Bazel Release System9be97672020-06-17 08:51:54 -0400218## Release 3.3.0 (2020-06-17)
219
220```
221Baseline: c063b5caf776dee665497b64c5c17d4ed7e6750a
222
223Cherry picks:
224
225 + 23bd69d7499de097b15e6025cc0796bdbc9886b8:
226 Restore missing Building with Platforms docs.
227```
228
229Incompatible changes:
230
231 - The startup option --fatal_event_bus_exceptions is now a no-op
232 and will be removed soon.
233
234New features:
235
236 - Bazel offers basic completion for the fish shell.
237
238Important changes:
239
240 - Add configuration_field for --custom_malloc to cpp config fragment
241 - Flip --incompatible_objc_compile_info_migration to true. See
242 #10854.
243 - It is now possible to use different action mnemonics while still
244 sharing the same pool of persistent workers. It requires setting
245 a new property
246 on the execution requirements (`worker-key-mnemonic`). The value
247 overrides
248 the action's mnemonic when it comes to reusing worker processes.
249 - linkshared=1 in cc_binary no longer requires '.so' or '.dll' in
250 the target name
251 - Revert --incompatible_objc_compile_info_migration to false. See
252 #10854.
253 - Invoke clang with the correct -target flag when building for
254 watchOS.
255 - NA
256 - Add experiment flag to forward InstrumentedFilesInfo from
257 non-tool deps by default.
258
259This 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.
260
Bazel Release Systemb0ba5dc2020-05-27 19:50:27 +0200261## Release 3.2.0 (2020-05-27)
262
263```
264Baseline: 1d93d26d9900328dcba0026bf21cb45cc37a4596
265```
266
267Important changes:
268
269 - Renamed --experimental_slim_json_profile to --slim_profile.
270 - Expose ctx.attr.write Args content for analysistest when possible
271 - Added aquery_differ_v2 that works with the new aquery proto
272 output format.
273 - Add new flag, 'experimental_no_product_name_out_symlink', to omit
274 creating '<product>-out' symlink if user specifies
275 '--symlink_prefix' option.
276 - --ram_utilization_factor is removed (as is
277 --incompatible_remove_ram_utilization_factor). Please use
278 --local_ram_resources.
279 - Improve include scanner support for cl.exe and clang-cl command
280 lines
281 - ctx.split_attr now includes attributes with Starlark split
282 transitions.
283 - Added --incompatible_string_replace_count, to make
284 string.replace() behave as in Python.
285 - Bazel can now recursively delete non-executable but readable
286 directories.
287 - Restore case-sensitivity to -I and /I include scanning detection
288 to avoid conflicts.
289
290This 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.
291
Bazel Release System3a59ab62020-04-21 17:37:54 +0200292## Release 3.1.0 (2020-04-21)
293
294```
295Baseline: 17ebbf15bea3733c0c21e0376fb5906e391edb49
296
297Cherry picks:
298
299 + 71fb56b4bb669a419f473598c8722e125dbb5c9e:
300 Suppress last-ditch download exceptions w/cleanup
301 + fd60614c38da0db22431d91a793423904dff801f:
302 In repo rules, don't warn about generator_* attributes being
303 non-canonical
304 + 2a372792f5cc09bd0e8389d5fc4bbfdd2f5d6e37:
305 Refactor configureFeatures and prevent NPE
306 + 777a6ee6ed95cae4ddb949d52b63ee8a66024f03:
307 Automated rollback of commit
308 0bbe38176e15d891a4e4cab2d8425e292de6cc5f.
309 + 2ee53c9267eb6de8eae109950ca8f3953bf1ae66:
310 Guard parseActionResultMetadata with bulk wrapper
311```
312
313Incompatible changes:
314
315 - The deprecated startup options
316 --experimental_oom_more_eagerly(_threshold) are removed.
317
318Important changes:
319
320 - Remove flag
321 --incompatible_load_proto_toolchain_for_javalite_from_com_google_p
322 rotobuf which has been flipped in Bazel 3.0.
323 - Allow assembly file sources in cc_common.compile.
324 - Set default .netrc file on Windows to %USERPROFILE%
325 - A maximum 150 attributes per RuleClass is enforced
326 - Increase max targets per rule class limit to 200
327 - ctx.split_attr now includes attributes with Starlark split
328 transitions.
329 - The --max_computation_steps flag bounds the computation done by a
330 BUILD file.
331 - Native patch can handle file permission properly
332 - Aspects may now propagate through dependencies on rule outputs by
333 being defined with `apply_to_generating_rules = True`.
334 - 'query --output=build' now shows where rule classes (not just
335 rules) are created.
336 - The flag `incompatible_bzl_disallow_load_after_statement` is
337 removed.
338 - ctx.split_attr now includes attributes with Starlark split
339 transitions.
340 - The flag `incompatible_no_output_attr_default` is removed.
341 - Fix wall-time of the SpawnResult in WorkerSpawnRunner
342 - Add stamp parameter for cc_common.link to enable including build
343 info
344 - The flag `--incompatible_restrict_named_params` is removed.
345 - The flag `--incompatible_depset_union` is removed.
346 - Bazel uses fewer compiler flags by default when building
347 Objective-C. In
348 particular, Bazel no longer sets `-O0`, `-DDEBUG=1`,
349 `-fstack-protector`, `-fstack-protector-all`, or `-g` in dbg
350 mode, and
351 Bazel no longer sets `-Os`, `-DNDEBUG=1`, `-Wno-unused-variable`,
352 `-Winit-self`, or `-Wno-extra` in opt mode. If you want to apply
353 these
354 flags to your project, you can reenable them in your CROSSTOOL.
355 - A maximum attribute name length is 128 is enforced
356
357This 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.
358
Bazel Release System22018272020-04-06 08:49:47 -0400359## Release 3.0.0 (2020-04-06)
360
361```
362Baseline: 3c7cc747ac653dca8b88a9e43726a794e2c27a9c
363
364Cherry picks:
365
366 + 19e214b44df9c82a8a3bd3381344f7145813c572:
367 Use prefix encoding for paths.
368 + 63b01f7b1cd6603a08bf2a8ae813388c201e3448:
369 Avoid file operations in the sandbox creation critical path.
370 + 80a2d7cc5f8a22816934dcd2ca9bdf87050f3d9f:
371 Implementation (but not plumbing) of the gRPC remote downloader
372 + 586eabf419972c74fdd5fef328cfe9a259e035ed:
373 Implement RemoteDownloader w/ `--experimental_remote_downloader`
374```
375
376Incompatible changes:
377
378 - Flip --incompatible_remove_enabled_toolchain_types, so that rules
379 can no longer access enabled toolchain types from the platform
380 fragment.
381 - The --incompatible_use_jdk11_as_host_javabase flag has been
382 removed (it was flipped in Bazel 0.25.0).
383 - Using JDK 9 or 10 as a `--host_javabase` is no longer officially
384 supported. As always, you can use the
385 `@bazel_tools//tools/jdk:toolchain_vanilla` Java toolchain to use
386 older or newer JDKs than what Bazel currently supports.
387 - --fatal_event_bus_exceptions is deprecated and should not be
388 used. Any crashes should be reported so that they can be fixed.
389 - The old-style binary profile format is no longer suppported, use
390 the new JSON trace profile instead.
391
392Important changes:
393
394 - Improve the performance of creating a sandboxed execution root
395 for workers when the number of inputs is large (>1000).
396 - Treat .cu and .cl files as C++ source. CUDA or OpenCL are not
397 natively supported and will require custom flags to compile with
398 e.g. clang.
399 - Add actions' primary output details in JSON profile and
400 analysis_v2.proto.
401 - Add --cds_archive option for embedding CDS archive into deploy
402 JAR.
403 - Add new global attribute: applicable_licenses
404 - Package level default with default_applicable_licenses
405 - guarded by --incompatible_applicable_licenses (default true for
406 Blaze, false for Bazel)
407 - In support of
408 https://docs.google.com/document/d/1uwBuhAoBNrw8tmFs-NxlssI6VRolid
409 GYdYqagLqHWt8/edit#
410 - Non-test Java rules no longer require the TestConfiguration and
411 thus --trim_test_configuration is again usable for Java builds
412 - The flag `--incompatible_always_check_depset_elements` is enabled
413 by default.
414 - --incompatible_objc_compile_info_migration determines
415 whether native rules can assume compile info has been migrated to
416 CcInfo. See https://github.com/bazelbuild/bazel/issues/10854.
417 - --incompatible_remove_local_resources is true by default. Please
418 use --local_ram_resources and --local_cpu_resources instead of
419 --local_resources.
420
421This 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.
422
Bazel Release System4b01eb52020-03-03 10:22:31 +0100423## Release 2.2.0 (2020-03-03)
Bazel Release Systeme53c0282020-02-21 15:49:31 +0100424
425```
Bazel Release System4b01eb52020-03-03 10:22:31 +0100426Baseline: 78055efad0917b848078bf8d97b3adfddf91128d
Bazel Release Systeme53c0282020-02-21 15:49:31 +0100427```
428
Bazel Release System4b01eb52020-03-03 10:22:31 +0100429Incompatible changes:
Bazel Release Systeme53c0282020-02-21 15:49:31 +0100430
Bazel Release System4b01eb52020-03-03 10:22:31 +0100431 - The --[no]incompatible_windows_bashless_run_command flag is no
432 longer supported. It was flipped in Bazel 1.0
433 - The --[no]incompatible_windows_native_test_wrapper flag is no
434 longer supported. It was flipped in Bazel 1.0
435
436Important changes:
437
438 - Consistent target naming style in example target names.
439 - cquery's config() now supports arbitrary configurations.
440 - The flag --incompatible_disallow_dict_lookup_unhashable_keys is
441 removed.
442 - Include target label in Python version error message.
443 - The flag --incompatible_remap_main_repo is removed.
444 - Windows: we now discourage running Bazel from MSYS2 because of a
445 newly found bug (#10573)
446 - Reduced the packaging time (`package-bazel.sh`) for the
447 `//src:bazel-dev` Bazel development build target from 14s to 6s.
448 Use `//src:bazel-dev` if you're iterating rapidly on a local
449 Bazel changes, and use `//src:bazel --compilation_mode=opt` for
450 release builds.
451 - cquery: "//foo:bar" now means "all configured targets with label
452 //foo:bar" instead of "choose an arbitrary configured target with
453 label //foo:bar". See cquery docs for details.
454 - WORKSPACE and BUILD.bazel files of http_archive repositories can
455 now be patched using the "patch_cmds" and "patches" attributes.
456 - Actions with "parse" on the critical path should no longer finish
457 in the future.
458 - Flags that affect external repositories like
459 "--override_repository" can now be addressed in bazelrc files
460 using the "common" command, without causing commands like "bazel
461 shutdown" to fail.
462 - The flag --incompatible_disallow_unverified_http_downloads is
463 removed.
464 - Create the incompatibleApplicableLicenses flag.
465 We plan to flip this from false to true in Bazel 4.x.
466 Implementation to follow.
467 - Treat .cu and .cl files as C++ source. CUDA or OpenCL are not
468 natively supported and will require custom flags to compile with
469 e.g. clang.
470 - Treat .cu and .cl files as C++ source. CUDA or OpenCL are not
471 natively supported and will require custom flags to compile with
472 e.g. clang.
473 - The --starlark_cpu_profile=<file> flag writes a profile in
474 pprof format containing a statistical summary of CPU usage
475 by all Starlark execution during the bazel command. Use it
476 to identify slow Starlark functions in loading and analysis.
477 - --ram_utilization_factor will be deprecated. Please use
478 --local_ram_resources=HOST_RAM*<float>
479 - Docs: glob() documentation is rewritten, and now it points out a
480 pitfall of rules shadowing glob-matched files.
481
482This 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 +0100483
Bazel Release Systeme6ee35f2020-02-07 13:56:14 +0100484## Release 2.1.0 (2020-02-07)
485
486```
487Baseline: 41ec5a28fb30a8d6c5c60194c4bb29528352cf78
488
489Cherry picks:
490
491 + 733ac0ff7ad1e13ab68ceb2fde694d7ab71b2366:
492 Adds an alias for d8_jar_import in android.WORKSPACE.
493 + c94b1474b368dedf9f68f34fad90cc8664f2b0e0:
494 Automatic code cleanup.
495 + 2a8cc7075f741721563efd9dc050ca3458cde30b:
496 Do not fail or print errors when Shellzelisk cannot find a
497 requested ?
498 + bdf34d7fd9539411e93348ba25307f34362d9a42:
499 Fix race when extracting the install base when Bazel runs in a
500 PID namespace.
501 + d381c25bb7dd205c283f7ad91cac13190d2dfede:
502 Fix wrong mode of install base directory.
503 + eab39cc7b5a612f891fd1e5af5b45bdc1b66e6e1:
504 Disable broken test_max_open_file_descriptors.
505```
506
507Incompatible changes:
508
509 - The following attributes of CcToolchainProvider, which formerly
510 were
511 accessible both as fields (x.f) and as methods (x.f()), are now
512 only fields:
513
514New features:
515
516 - Similar to the
517 [.bazelignore](https://docs.bazel.build/versions/master/guide.html
518 #.bazelignore) in the main repository, a `.bazelignore` file in
519 external repository will cause the specified directories to be
520 ignored by Bazel. Bazel won't try to identify any packages under
521 the directories, but the files can still be referenced in other
522 BUILD files.
523 - bazelignore files now support line comments, e.g. "# this is a
524 comment"
525
526Important changes:
527
528 - Experimental support for d8 merger is now available for use using
529 --define=android_dexmerger_tool=d8_dexmerger.
530 - Critical path run time should not have a longer run time than
531 total execution run time.
532 - Remove "please do not import" warning for cc rules.
533 - x.f() is now equivalent to y=x.f; y(). That is, x.f should return
534 the same
535 attribute value regardless of whether it is accessed as a field
536 or called
537 like a method. Any arguments to the call are evaluated after the
538 x.f operation.
539 - Add desugaring support for RoleManager#addRoleHolderAsUser
540 - Adds ctx.target_platform_has_constraint to allow rules to check
541 the target platform's constraints.
542 - Critical path run time should not have a longer run time than
543 total execution run time.
544 - Post new ConvenienceSymlinksIdentifiedEvent to the
545 BuildEventProtocol when
546 --experimental_convenience_symlinks_bep_event is enabled.
547 - Keyword-only arguments are now allowed:
548 def foo(a, *, k): pass
549 def foo(a, *b, k): pass
550 where k can be specified only by keyword:
551 foo(5, k=6)
552 - Generated Go protobufs now depend on //net/proto2/go:protodeps in
553 addition to //net/proto2/go:proto
554 - cquery 'somepath' returns more reliable results when the
555 dep has a different configuration than the parent. To get a
556 result for
557 `somepath(//foo, //bar`) where //bar isn't in the top-level
558 configuration,
559 run your query with `--universe_scope=//foo`. See cquery docs for
560 details.
561
562This 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.
563
Bazel Release System59e36002019-12-19 13:26:27 +0100564## Release 2.0.0 (2019-12-19)
565
566```
567Baseline: 807ed23e4f53a5e008ec823e9c23e2c9baa36d0d
568
569Cherry picks:
570
571 + db0e32ca6296e56e5314993fe9939bc7331768ec:
572 build.sh: Fix bug in build script for RC release
573 + 85e84f7812f04bc0dbc36376f31b6dd2d229b905:
574 Set --incompatible_prohibit_aapt1 default to true.
575 + 84eae2ff550c433a3d0409cf2b5525059939439d:
576 Let shellzelisk fallback to bazel-real if it's the requested
577 version.
578 + d5ae460f1581ddf27514b4be18255481b47b4075:
579 Fix a typo in bazel.sh
580```
581
582Incompatible changes:
583
584 - --incompatible_remap_main_repo is enabled by default. Therefore,
585 both ways of addressing the main repository, by its name and by
586 '@' are now considered referring to the same repository.
587 see https://github.com/bazelbuild/bazel/issues/7130
588 - --incompatible_disallow_dict_lookup_unhashable_keys is enabled by
589 default https://github.com/bazelbuild/bazel/issues/9184
590 - --incompatible_remove_native_maven_jar is now enabled by default
591 and the flag removed. See https://github.com/bazelbuild/bazel/issues/6799
592 - --incompatible_prohibit_aapt1 is enabled by default.
593 See https://github.com/bazelbuild/bazel/issues/10000
594
595Important changes:
596
597 - --incompatible_proto_output_v2: proto v2 for aquery proto output
598 formats, which reduces the output size compared to v1. Note that
599 the messages' ids in v2 are in uint64 instead of string like in
600 v1.
601 - Adds --incompatible_remove_enabled_toolchain_types.
602 - Package loading now consistently fails if package loading had a
603 glob evaluation that encountered a symlink cycle or symlink
604 infinite expansion. Previously, such package loading with such
605 glob evaluations would fail only in some cases.
606 - The --disk_cache flag can now also be used together
607 with the gRPC remote cache.
608 - An action's discover inputs runtime metrics is now categorized as
609 parse time on the CriticalPathComponent.
610 - Make the formatting example more like to the written text by
611 adding an initial description.
612 - An action's discover inputs runtime metrics is now categorized as
613 parse time on the CriticalPathComponent.
614 - Bazel's Debian package and the binary installer now include an
615 improved wrapper that understands `<WORKSPACE>/.bazelversion`
616 files and the `$USE_BAZEL_VERSION` environment variable. This is
617 similar to what Bazelisk offers
618 (https://github.com/bazelbuild/bazelisk#how-does-bazelisk-know-whi
619 ch-bazel-version-to-run-and-where-to-get-it-from), except that it
620 works offline and integrates with apt-get.
621 - We are planning to deprecate the runfiles manifest files, which
622 aren't safe in the presence of whitespace, and also unnecessarily
623 require local CPU when remote execution is used. This release
624 adds --experimental_skip_runfiles_manifests to disable the
625 generation of the input manifests (rule.manifest files) in most
626 cases. Note that this flag has no effect on Windows by default or
627 if --experimental_enable_runfiles is explicitly set to false.
628
629This 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.
630
Bazel Release System5be24a82019-11-26 16:19:50 +0100631## Release 1.2.1 (2019-11-26)
632
633```
634Baseline: 11deef7582dfeec7a04ee3f7236393d9b8027367
635
636Cherry picks:
637
638 + c76c3e539c73ecf6e96e3e098be7be59e17bf276:
639 Replace macOS CC path with relative path
640 + 63332eb556fadfe9edd0806add79942482adddef:
641 Hardcode path to dirname on macOS
642 + ceadf0a063cb97c32aced143d2447781d1dafc38:
643 Add tool executables (from FilesToRunProvider) to action inputs.
644 + dbe63b00954a25fa4405f7cbf273df78c16498dd:
645 Fix some of the bazel Windows tools code to work with GCC.
646```
647
648This release fixes a single regression:
649- #10297: Bazel 1.2.0 does no longer run on macOS High Sierra.
650
651It is the same code as Bazel 1.2.0, except that we rebuild the macOS release
652binaries with Xcode 10.2.1 to make them backwards compatible with older macOS
653versions again.
654
Bazel Release Systemef69db82019-11-20 16:01:18 +0100655## Release 1.2.0 (2019-11-20)
656
657```
658Baseline: 11deef7582dfeec7a04ee3f7236393d9b8027367
659
660Cherry picks:
661
662 + c76c3e539c73ecf6e96e3e098be7be59e17bf276:
663 Replace macOS CC path with relative path
664 + 63332eb556fadfe9edd0806add79942482adddef:
665 Hardcode path to dirname on macOS
666 + ceadf0a063cb97c32aced143d2447781d1dafc38:
667 Add tool executables (from FilesToRunProvider) to action inputs.
668 + dbe63b00954a25fa4405f7cbf273df78c16498dd:
669 Fix some of the bazel Windows tools code to work with GCC.
670```
671
672Incompatible changes:
673
674 - Tree artifacts and regular artifact paths can no longer overlap.
675
676New features:
677
678 - Added a special "_validation" output group to enable moving
679 "validation actions" off the critical path of builds.
680
681Important changes:
682
683 - The query flag "--host_deps" (commonly used as "--nohost_deps")
684 has been renamed to "--tool_deps", and now also removes
685 dependencies in any execution configuration from being reported
686 in the query output. The previous flag name is deprecated and
687 will be removed in a future release.
688 - The `cc_common.{compile,link}` APIs can now be used without
689 passing the `--experimental_cc_skylark_api_enabled_packages` flag.
690 - A list of log paths will be provided in build output.
691 - Improve runfiles documentation.
692 - Improve documentation on rule outputs.
693 - BUILD/.bzl execution errors cause execution to stop, even at
694 top-level
695 - Multiple Starlark validation errors are reported in a single pass.
696 - Introduce --experimental_nested_set_as_skykey_threshold
697 - Blaze will prevent idle sleep during test and build actions. Note
698 that this does not affect screen savers and will not keep a
699 laptop awake if the user forces sleep or closes the lid. This is
700 purely to avoid idle sleeping when the user is not interacting
701 with the device.
702 - Improve testing docs.
703 - Incompatible flag
704 `--incompatible_validate_top_level_header_inclusions` has been
705 added. See https://github.com/bazelbuild/bazel/issues/10047 for
706 details.
707 - Fix an aquery bug with handling malformed queries that crashes
708 bazel.
709 - List fields on CcLinkingOutputs.
710 - [Python] Added flag --incomaptible_default_to_explicit_init_py to
711 switch the default value of legacy_create_init to True. With this
712 flag enabled, your py_binary and py_test targets will no longer
713 behave as if empty __init__.py files were implicitly littered in
714 your runfiles tree. See
715 [#10076](https://github.com/bazelbuild/bazel/issues/10076).
716 - Fix documentation on allowed target names.
717 - --target_platform_fallback now also applies to exec/host
718 configurations
719 - android_binary and android_libary can now depend on targets
720 providing
721 CcInfos.
722 - Add support for tracking suspensions (sleeps or SIGSTOP) on macOS.
723 - d8 dexers (both standalone and incremental) are now available for
724 use.
725 - Add Desugar support for FreezePeriod#<init>
726
727This 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.
728
Bazel Release Systemf15bfb32019-10-21 12:49:43 +0200729## Release 1.0.1 (2019-10-21)
Bazel Release Systeme693c192019-10-21 10:40:19 +0200730
731```
Bazel Release Systemf15bfb32019-10-21 12:49:43 +0200732Baseline: 97a82646dadd93bf52d47828bda42e3383b657c6
Bazel Release Systeme693c192019-10-21 10:40:19 +0200733
734Cherry picks:
735
Bazel Release Systemf15bfb32019-10-21 12:49:43 +0200736 + a0e3bb207fe2044120a2555a37162ee1f2b17500:
737 Remove support for authentication and .netrc
738 + ada2c55dcc106cd55bafbbe5d9a966e21e4770e0:
739 Add explicit --sdk argument to xcrun calls
740 + 847df729528f6e5919ec8374247eadf792cba544:
741 toolchain_vanilla: Unset source and target language level
742 versions
743 + 5cfa0303d6ac3b5bd031ff60272ce80a704af8c2:
744 Update java_tools version to javac11-v5.1.
745 + 9c257df5b9b1de5459fc066e77c435ae085957a7:
746 Release 1.0.0 (2019-10-10)
747 + f7a31b30f5319639c36a6c6b1c14f358597d98d2:
748 Prevent action-cache duplicate suppression
749 + 618e5a28f7f735c37724377b15775a4975349c74:
750 Use FileSystemUtils.moveFile instead of renameTo function of Path
Bazel Release Systeme693c192019-10-21 10:40:19 +0200751```
752
Bazel Release Systemf15bfb32019-10-21 12:49:43 +0200753This 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 +0200754
Bazel Release Systemb9067c42019-10-10 11:55:50 +0200755## Release 1.0.0 (2019-10-10)
Bazel Release System4f9cd082019-09-10 09:39:08 -0400756
757```
Bazel Release Systemb9067c42019-10-10 11:55:50 +0200758Baseline: 97a82646dadd93bf52d47828bda42e3383b657c6
Bazel Release System4f9cd082019-09-10 09:39:08 -0400759
760Cherry picks:
761
Bazel Release System4f9cd082019-09-10 09:39:08 -0400762 + a0e3bb207fe2044120a2555a37162ee1f2b17500:
763 Remove support for authentication and .netrc
Bazel Release Systemb9067c42019-10-10 11:55:50 +0200764 + ada2c55dcc106cd55bafbbe5d9a966e21e4770e0:
765 Add explicit --sdk argument to xcrun calls
766 + 847df729528f6e5919ec8374247eadf792cba544:
767 toolchain_vanilla: Unset source and target language level
768 versions
769 + 5cfa0303d6ac3b5bd031ff60272ce80a704af8c2:
770 Update java_tools version to javac11-v5.1.
Bazel Release System4f9cd082019-09-10 09:39:08 -0400771```
772
Bazel Release Systemb9067c42019-10-10 11:55:50 +0200773Incompatible changes:
774
775 - Python, Windows: the
776 --[no]incompatible_windows_escape_python_args is no longer
777 supported. (It was flipped to true in Bazel 0.27.0)
778 - --incompatible_use_native_patch is enabled by default
779 - Windows: --incompatible_windows_bashless_run_command is now true
780 by default, meaning "bazel run //foo:bin" will run the binary as
781 a subprocess of the Bazel client. (When the flag is false, the
782 binary is executed as a subprocess of Bash.)
783 - Windows: --incompatible_windows_native_test_wrapper is enabled by
784 default
785
786New features:
787
788 - Genrule now supports `cmd_bash`, `cmd_ps`, `cmd_bat` attributes.
789 More details at
790 https://docs.bazel.build/versions/master/be/general.html#genrule.c
791 md
792 - config_setting can now check multiple values on "--foo=firstVal
793 --foo=secondVal ..."-style flags
794 - tags: use `--experimental_allow_tags_propagation` flag to
795 propagate tags to the action's execution requirements from
796 targets. Such tags should start with: `no-`, `requires-`,
797 `supports-`, `block-`, `disable-`, `cpu:`. See #8830 for details.
798 - Users can now get generated def file from cc_library via
799 "def_file" output group on Windows.
800 - Platform-specific bazelrc: with --enable_platform_specific_config
801 you can
802 enable flags in bazelrc according to your host platform.
803 - tags: use `--experimental_allow_tags_propagation` flag to
804 propagate tags to the action's execution requirements from
805 cc_library or cc_binary targets. Such tags should start with:
806 `no-`, `requires-`, `supports-`, `block-`, `disable-`, `cpu:`.
807 See #8830 for details.
808 - tags: use --experimental_allow_tags_propagation flag to propagate
809 tags to the action's execution requirements from java targets.
810 Such tags should start with: no-, requires-, supports-, block-,
811 disable-, cpu:. See #8830 for details.
812
813Important changes:
814
815 - Bazel Android builds now use aapt2 by default. To revert to aapt,
816 set `--android_aapt=aapt`.
817 - Make either --subcommands or --verbose_failures imply
818 --materialize_param_files
819 - Bazel Android builds now use aapt2 by default. To revert to aapt,
820 set `--an...
821 RELNOTES: None
822 - by default all remote connections considered to be via `gRPC`
823 with TLS enabled, unless other specified. To disable TLS use
824 `grpc://` prefix for you endpoints. All remote connections via
825 `gRPC` affected - `--remote_cache`, `--remote_executor` or
826 `--bes_backend`. http cache/executor is not affected. See #8061
827 for details.
828 - cc_* rules support non-transitive defines through a
829 'local_defines' attribute.
830 - Enable
831 incompatible_disallow_rule_execution_platform_constraints_allowed
832 by default (https://github.com/bazelbuild/bazel/issues/8136).
833 - incompatible_disallow_split_empty_separator is enabled by default
834 - Fixed Android build issues with aapt2 on Windows. See the [GitHub
835 issue](https://github.com/bazelbuild/bazel/issues/9102) for more
836 information.
837 - --incompatible_disable_static_cc_toolchains has been flipped. See
838 https://github.com/bazelbuild/bazel/issues/8546.
839 - --remote_default_platform_properties has been deprecated in favor
840 of --remote_default_exec_properties.
841 - The --incompatible_make_thinlto_command_lines_standalone flag has
842 been flipped, see https://github.com/bazelbuild/bazel/issues/6791
843 for more information.
844 - The --incompatible_use_specific_tool_files flag has been flipped.
845 See https://github.com/bazelbuild/bazel/pull/9126 for more
846 information.
847 - Clarify default visibility.
848 - Enables incompatible_auto_configure_host_platform
849 - New incompatible flag --incompatible_disable_depset_items
850 disables the "items" parameter in the Starlark depset
851 constructor. Use "direct" and "transitive" parameters instead.
852 - --incompatible_assignment_identifiers_have_local_scope is enabled
853 - incompatible_disable_partition_default_parameter is enabled by
854 default ()
855 - incompatible_restrict_attribute_names is enabled
856 (https://github.com/bazelbuild/bazel/issues/6437)
857 - The --incompatible_disable_nocopts flag has been flipped. See
858 https://github.com/bazelbuild/bazel/issues/8546 for more
859 information.
860 - Deprecated Java-Starlark API java_common.create_provider is
861 removed. JavaInfo() legacy args (actions, sources, source_jars,
862 use_ijar, java_toolchain, host_javabase) are removed.
863 - The flag incompatible_disallow_hashing_frozen_mutables is enabled
864 (https://github.com/bazelbuild/bazel/issues/7800)
865 - `maven_jar` and `maven_server` now disallow using plain HTTP URLs
866 without a specified checksum. If you are still using `maven_jar`,
867 consider migrating to
868 [`rules_jvm_external`](https://github.com/bazelbuild/rules_jvm_ext
869 ernal) for transitive dependency management. See
870 [#8607](https://github.com/bazelbuild/bazel/issues/8607) for more
871 information.
872 - Added `sha256` and `sha256_src` attributes to `maven_jar`. Please
873 consider migrating to SHA-256 as SHA-1 has been deemed
874 cryptographically insecure ([https://shattered.io]()). Or, use
875 [`rules_jvm_external`](https://github.com/bazelbuild/rules_jvm_ext
876 ernal) to manage your transitive Maven dependencies with artifact
877 pinning and SHA-256 verification support.
878 - introducing per-target exec_properties
879 - Bazel now supports ThinLTO builds on Linux for Clang versions >=
880 6.0. ThinLTO can be enabled through --features=thin_lto
881 - The Target.output_group field in Starlark is removed. Use
882 OutputGroupInfo instead. See
883 https://github.com/bazelbuild/bazel/issues/7949 for details.
884 - Make a number of parameters of Starlark builtin functions
885 positional-only (as opposed to specifiable by keyword). See
886 https://github.com/bazelbuild/bazel/issues/8147 for details.
887 - incompatible_skip_genfiles_symlink is enabled by default (#8651)
888 - Change Pruned events will fire immediately after being checked.
889 - --incompatible_remove_legacy_whole_archive has been flipped. See
890 https://github.com/bazelbuild/bazel/issues/7362 for more
891 information
892
893This 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 -0400894
Bazel Release Systemf791df02019-08-28 10:29:12 -0400895## Release 0.29.0 (2019-08-28)
896
897```
898Baseline: 6c5ef5369a3ffceb8a65cc159a2fff1401242810
899
900Cherry picks:
901
902 + 338829f2633e91ae0492ee4169446465e10b5994:
903 Fix retrying of SocketTimeoutExceptions in HttpConnector
904 + 14651cd86b6fc1d48f56a208a9b5278b3e2dcf75:
905 Fallback to next urls if download fails in HttpDownloader
906 + b7d300c6be3e130dec0e62a4f19493105f595d57:
907 Fix incorrect stdout/stderr in remote action cache. Fixes #9072
908 + 960217631abdcab0a7ed95e2ab10acd55f636639:
909 Automated rollback of commit
910 0f0a0d58725603cf2f1c175963360b525718a195.
911 + da557f96c697102ad787e57bbf7db2460f6a60a8:
912 Windows: fix "bazel run" argument quoting
913 + ef8b6f68cc8ffd2e6523a894034ae383e87ec74c:
914 Return JavaInfo from java proto aspects.
915 + 209175ff8ffeb05628ed8a187dd414a3d2935c55:
916 Revert back to the old behavior of not creating a proto source
917 root for generated .proto files.
918 + 644060b7a4bc98384b66e3d2343b950b875b5e35:
919 Fix PatchUtil for parsing special patch format
920 + 067040d7bcb3b24a88432e210a96adacee3f37b4:
921 Put the removal of the legacy repository-relative proto path
922 behind the --incompatible_generated_protos_in_virtual_imports
923 flag.
924 + 76ed014e77d7b862f6eb2894600ae525ea570f11:
925 repository mapping lookup: convert to canonical name first
926```
927
928Important changes:
929
930 - rule_test: fix Bazel 0.27 regression ("tags" attribute was
931 ingored, https://github.com/bazelbuild/bazel/issues/8723
932 - Adds --incompatible_enable_execution_transition, which enables
933 incremental migration of host attributes to exec attributes.
934 - objc_proto_library rule has been deleted from Bazel.
935 - repository_ctx.read is no longer restricted to files
936 in the repository contructed.
937 - tags 'no-remote', 'no-cache', 'no-remote-cache',
938 'no-remote-exec', 'no-sandbox' are propagated now to the actions
939 from targets when '--ncompatible_allow_tags_propagation' flag set
940 to true. See #8830.
941 - Adds flag
942 --//tools/build_defs/pkg:incompatible_no_build_defs_pkg. This
943 flag turns off the rules //tools/build_defs/pkg:{pkg_deb,
944 pkg_rpm, pkg_tar}.
945 - The Android NDK is now integrated with toolchains. To use them,
946 pass the `--extra_toolchains=@androidndk//:all` flag or register
947 them in your WORKSPACE with
948 `register_toolchains("@androidndk//:all")`.
949 - Stdout and stderr are checked to determine if output is going to a
950 terminal. `--is_stderr_atty` is deprecated and `--isatty` is
951 undeprecated.
952 - --incompatible_load_proto_rules_from_bzl was added to forbid
953 loading the native proto rules directly. See more on tracking
954 issue #8922
955 - Docker Sandbox now respects remote_default_platform_properties
956 - pkg_deb, pkg_rpm & pkg_tar deprecation plan announced in the
957 documentation.
958 - The new java_tools release:
959 * fixes https://github.com/bazelbuild/bazel/issues/8614
960 * exposes a new toolchain `@java_tools//:prebuilt_toolchain`
961 which is using all the pre-built tools, including singlejar and
962 ijar, even on remote execution. This toolchain should be used
963 only when host and execution platform are the same, otherwise the
964 binaries will not work on the execution platform.
965 - java_common.compile supports specifying
966 annotation_processor_additional_inputs and
967 annotation_processor_additional_outputs for the Java compilation
968 action for supporting annotation processors that consume or
969 produce artifacts. Fixes #6415
970 - There is now documentation on optimizing Android app build
971 performance. Read it at
972 https://docs.bazel.build/versions/0.29.0/android-build-performance
973 .html
974 - Execution log now respects --remote_default_platform_properties
975 - Include a link to the relevant documenation on transitive Python
976 version errors.
977 - New incompatible flag
978 --incompatible_disable_target_provider_fields removes the ability
979 (in Starlark) to access a target's providers via the field syntax
980 (for example, `ctx.attr.dep.my_provider`). The provider-key
981 syntax should be used instead (for example,
982 `ctx.attr.dep[MyProvider]`). See
983 https://github.com/bazelbuild/bazel/issues/9014 for details.
984 - A new platform exec_properties is added to replace
985 remote_execution_properties.
986 - Added --incompatible_load_python_rules_from_bzl, which will be
987 flipped in Bazel 1.0. See
988 https://github.com/bazelbuild/bazel/issues/9006.
989 - add --break_build_on_parallel_dex2oat_failure to shortcut tests
990 on dex2oat errors
991
992This 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.
993
Bazel Release System3fd8c412019-07-19 17:14:15 +0200994## Release 0.28.1 (2019-07-19)
995
996```
997Baseline: 2e374a9c6e3d4ed71f0145de287c4b2fe43c76d6
998
999Cherry picks:
1000
1001 + 6d0b14b95a71175362030b4811ca74512b00a890:
1002 rule_test: apply "tags" to all rules in the macro
1003 + 18cd9048526f067a4950c6ddbf4b1b3604760af0:
1004 Release 0.28.0 (2019-07-10)
1005 + 2260b970cb2a10c21a2fde116aa82c79be52991f:
1006 When copying dynamic libraries to binary, copy them into the
1007 runfiles as well.
1008 + a0af170f87c8230fcd8860599b983df097b646bd:
1009 Undo breaking change of hiding android_common behind
1010 --experimental_google_legacy_api
1011 + c6ca6c2ccd9e11a87f837341ae05d2ba037975b1:
1012 Ignore external/ directory in users' source tree when creating
1013 execroot symlink tree.
1014```
1015
1016Important changes:
1017
1018 - rule_test: fix Bazel 0.27 regression ("tags" attribute was
1019 ingored, https://github.com/bazelbuild/bazel/issues/8723
1020
1021This release contains contributions from many people at Google, as well as .
1022
Bazel Release Systemf4a08032019-07-10 18:11:04 +02001023## Release 0.28.0 (2019-07-10)
Bazel Release System7e809492019-07-10 17:50:43 +02001024
1025```
Bazel Release Systemf4a08032019-07-10 18:11:04 +02001026Baseline: 2e374a9c6e3d4ed71f0145de287c4b2fe43c76d6
Bazel Release System7e809492019-07-10 17:50:43 +02001027
1028Cherry picks:
1029
Bazel Release System7e809492019-07-10 17:50:43 +02001030 + 6d0b14b95a71175362030b4811ca74512b00a890:
1031 rule_test: apply "tags" to all rules in the macro
1032```
1033
Bazel Release Systemf4a08032019-07-10 18:11:04 +02001034Incompatible changes:
1035
1036 - Add --incompatible_enable_profile_by_default to enable the JSON
1037 profile by default.
1038 - The --incompatible_windows_style_arg_escaping flag is flipped to
1039 "true", and the "false" case unsupported. Bazel no longer accepts
1040 this flag.
1041
Bazel Release System7e809492019-07-10 17:50:43 +02001042Important changes:
1043
Bazel Release Systemf4a08032019-07-10 18:11:04 +02001044 - Bazel now supports hiding compiler warnings for targets that
1045 you're not explicitly building (see
1046 https://docs.bazel.build/versions/master/user-manual.html#flag--au
1047 to_output_filter).
1048 - Flag `--incompatible_restrict_escape_sequences` is added. See
1049 https://github.com/bazelbuild/bazel/issues/8380
1050 - The "info" command now supports the "starlark-semantics"
1051 argument, which outputs a representation of the effective Starlark
1052 semantics option values.
1053 - The `outputs` parameter of the `rule()` function is deprecated
1054 and attached to flag `--incompatible_no_rule_outputs_param`.
1055 Migrate rules to use `OutputGroupInfo` or `attr.output` instead.
1056 See https://github.com/bazelbuild/bazel/issues/7977 for more info.
Bazel Release System7e809492019-07-10 17:50:43 +02001057 - When `--incompatible_strict_action_env` is enabled, the default
1058 `PATH` now includes `/usr/local/bin`.
1059 - Turn on --experimental_build_setting_api by default for starlark
1060 build settings (see
1061 https://docs.bazel.build/versions/master/skylark/config.html#user-
1062 defined-build-settings for more info)
Bazel Release Systemf4a08032019-07-10 18:11:04 +02001063 - `@bazel_tools//tools/jdk:toolchain_java10` and
1064 `@bazel_tools//tools/jdk:toolchain_java11` are now available to
1065 enable java 10, respectively java 11 language level support.
1066 - The `command` parameter of the `actions.run_shell()` function
1067 will be restricted to only accept strings (and not string
1068 sequences). This check is attached to flag
1069 `--incompatible_run_shell_command_string`. One may migrate by
1070 using the `arguments` parameter of `actions.run()` instead. See
1071 https://github.com/bazelbuild/bazel/issues/5903 for more info.
1072 - Incompatible change
1073 `--incompatible_use_platforms_repo_for_constraints` has been
1074 added. See https://github.com/bazelbuild/bazel/issues/8622 for
1075 details.
1076 - Incompatible change
1077 `--incompatible_use_platforms_repo_for_constraints` has been
1078 added. See https://github.com/bazelbuild/bazel/issues/8622 f...
1079 - Bazel's C++ autoconfiguration now understands `BAZEL_LINKLIBS`
1080 environment variable to specify system libraries that should be
1081 appended to the link command line.
1082 - paths under the execution root starting with "." or "_" will be
1083 re-linked across builds
1084 - execution_log_json_file now allows actions without outputs.
1085 - Labels aapt as deprecated for aapt_version, and heavily endorses
1086 aapt2.
1087 - Update doc links still pointing to cc_binary.features to point to
1088 common features
1089 - Incompatible change
1090 `--incompatible_use_platforms_repo_for_constraints` has been
1091 added. See https://github.com/bazelbuild/bazel/issues/8622 for
1092 details.
1093 RELNOTES:
1094 - --incompatible_disable_nocopts flag has been added. See
1095 https://github.com/bazelbuild/bazel/issues/8706 for details.
1096 - Fixed treatment of <dist:module /> tags in AndroidManifest.xml
1097 - Fixed asset precedence for android_binary rules with aapt2.
1098 - Bazel now officially supports running on CentOS 7.
1099 - The runtime dynamic libraries are no longer in default output
1100 group of cc_binary.
1101 - set the FDOBuildType as CSFDO for binaries built with
1102 --cs_fdo_absolute_path.
1103 - Bazel can now be bootstrapped and built on arm64 platforms
1104 without requiring any flags or patches.
1105 - Fixed treatment of AndroidManifest.xml attributes which contained
1106 XML escaping
1107 - Retire experimental blaze flag
1108 experimental_link_compile_output_separately. The same behavior is
1109 available through the feature dynamic_link_test_srcs.
1110 - --incompatible_load_java_rules_from_bzl was added to forbid
1111 loading the native java rules directly. See more on tracking
1112 issue #8746
1113 - Turn on --experimental_build_setting_api by default for starlark
1114 build settings (see
1115 https://docs.bazel.build/versions/master/skylark/config.html#user-
1116 defined-build-settings for more info)
1117 - Attribute names are going to be restricted and must be
1118 syntactically valid identifiers.
1119 https://github.com/bazelbuild/bazel/issues/6437
Bazel Release System7e809492019-07-10 17:50:43 +02001120 - rule_test: fix Bazel 0.27 regression ("tags" attribute was
1121 ingored, https://github.com/bazelbuild/bazel/issues/8723
1122
Bazel Release Systemf4a08032019-07-10 18:11:04 +02001123This 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 +02001124
Bazel Release System316cb9b2019-07-02 19:45:51 +02001125## Release 0.27.1 (2019-07-02)
1126
1127```
1128Baseline: 8c3b3fba3f68833bd97d3df2db9c48f0539efc3b
1129
1130Cherry picks:
1131
1132 + 123c68daed17b19927372e4df7f7a2256db6b80e:
1133 Warn in more cases of possible Python version mismatch in host
1134 config
1135 + 052167e907373ac7ea43238c3049739f6e94a9d1:
1136 Add a non-strict autodetecting Python toolchain
1137 + 6ef6d879ab69225d54ecab3db847fb4eff33bbeb:
1138 Default java toolchain target
1139 + 50fa3ec27efdd95771c70faa38a4543d4fed44f2:
1140 Fix problems with the non-strict Python toolchain
1141 + e2a626c4f61fe4ceb79a5675d09a6f25ca7b5b22:
1142 Automated rollback of commit
1143 bc6f7cb330bb531f062bb301f3703876051191f5.
1144 + 6efc5b787ad3164cc2fb779c73377695032b4524:
1145 Treat existence of managed directories as a part of repository
1146 dirtiness.
1147 + 3a4be3c93813987a27a97dade3f9ebbc5770e349:
1148 Add /usr/local/bin to default PATH under strict action env
1149 + 5c1005c0947b010ee36ca851b8ba07c9479cf682:
1150 Automated rollback of commit
1151 536a166270590a8dbc701718550383f3a07cc763.
1152 + c82eb4878c7dc829455caeb915affe36c89df06f:
1153 Release 0.27.0 (2019-06-17)
1154 + d4589630428c1c1bc08a9baf36257e636fe9d746:
1155 Check for both :lcov_merger and $lcov_merger attributes in
1156 TestActionBuilder.
1157```
1158
1159Important changes:
1160
1161 - Add new options --cs_fdo_absolute_path= to support the absolute
1162 path
1163 profile for LLVM's context-sensitive FDO.
1164 - When `--incompatible_strict_action_env` is enabled, the default
1165 `PATH` now includes `/usr/local/bin`.
1166 - Turn on --experimental_build_setting_api by default for starlark
1167 build settings (see
1168 https://docs.bazel.build/versions/master/skylark/config.html#user-
1169 defined-build-settings for more info)
1170
1171This release contains contributions from many people at Google, as well as Ricky Pai.
1172
Bazel Release Systemaecb1e82019-06-17 14:57:36 +02001173## Release 0.27.0 (2019-06-17)
Bazel Release Systeme6976fb2019-06-06 13:01:57 +02001174
1175```
Bazel Release Systemaecb1e82019-06-17 14:57:36 +02001176Baseline: 5935259724bebd1c4bdebc90e159d0f655c8c219
Bazel Release Systeme6976fb2019-06-06 13:01:57 +02001177
1178Cherry picks:
1179
Bazel Release Systemaecb1e82019-06-17 14:57:36 +02001180 + fe81b49e727efdcc90a270520af193af75f4e31d:
1181 Support of using the absolute path profile for LLVM's Context
1182 Sensitive FDO
1183 + ce5e7180d98e1244fdfba0349952727826cbd173:
1184 Demote OptionProcessor from globals
1185 + 3ed9d3681c3e130aafcf3c405ff1795c601bdf95:
1186 Properly wire up BES half-close. The lack thereof was a simple
1187 oversight.
1188 + 4ca768e9f87701fb92598d0a8325a5fc8881a852:
1189 standardize graph output indentation with 2 spaces
1190 + aff189a7c514a0171a53a2dcdd37c93ecaa672ad:
1191 Make sure default Linux artifacts have an associated action,
1192 even when artifact names are altered.
1193 + 8c3b3fba3f68833bd97d3df2db9c48f0539efc3b:
1194 Failures early in package loading will now fail all --keep_going
1195 builds.
1196 + 123c68daed17b19927372e4df7f7a2256db6b80e:
1197 Warn in more cases of possible Python version mismatch in host
1198 config
1199 + 052167e907373ac7ea43238c3049739f6e94a9d1:
1200 Add a non-strict autodetecting Python toolchain
1201 + 6ef6d879ab69225d54ecab3db847fb4eff33bbeb:
1202 Default java toolchain target
1203 + 50fa3ec27efdd95771c70faa38a4543d4fed44f2:
1204 Fix problems with the non-strict Python toolchain
1205 + e2a626c4f61fe4ceb79a5675d09a6f25ca7b5b22:
1206 Automated rollback of commit
1207 bc6f7cb330bb531f062bb301f3703876051191f5.
1208 + 6efc5b787ad3164cc2fb779c73377695032b4524:
1209 Treat existence of managed directories as a part of repository
1210 dirtiness.
1211 + 3a4be3c93813987a27a97dade3f9ebbc5770e349:
1212 Add /usr/local/bin to default PATH under strict action env
1213 + 5c1005c0947b010ee36ca851b8ba07c9479cf682:
1214 Automated rollback of commit
1215 536a166270590a8dbc701718550383f3a07cc763.
Bazel Release Systeme6976fb2019-06-06 13:01:57 +02001216```
1217
Bazel Release Systemaecb1e82019-06-17 14:57:36 +02001218Incompatible changes:
1219
1220 - --incompatible_disable_objc_provider_resources no longer has
1221 effect. Use of deprecated resource fields on the Objc provider is
1222 now disallowed regardless of this flag.
1223 - deleted deprecated --experimental-remote-retry* flags, please use
1224 --remote_retries instead
1225 - flipped --incompatible_list_based_execution_strategy_selection
1226 flag to be true by default. See
1227 https://github.com/bazelbuild/bazel/issues/7480 for details.
1228 - Octal integer literals in Starlark are required to start with
1229 "Oo".
1230 - The "native" module is no longer available in BUILD files, all
1231 its members can be accessed directly as global symbols. This can
1232 be temporarily reverted by providing
1233 --incompatible_disallow_native_in_build_file=false as a flag to
1234 Blaze.
1235 - The "native" module is no longer available in BUILD files, all
1236 its members can be accessed directly as global symbols. This can
1237 be temporarily reverted by providing
1238 --incompatible_disallow_native_in_build_file=false as a flag to
1239 Blaze.
1240 - Turn off binary style profile format.
1241 - The "native" module is no longer available in BUILD files, all
1242 its members can be accessed directly as global symbols. This can
1243 be temporarily reverted by providing
1244 --incompatible_disallow_native_in_build_f...
1245 - cleanup that affects user provided apple frameworks is
1246 now enabled by default. See
1247 https://github.com/bazelbuild/bazel/issues/7944 for more info.
1248 - Python rules now determine the Python runtime using toolchains
1249 rather than `--python_top` and `--python_path`, which are
1250 deprecated. See
1251 [#7899](https://github.com/bazelbuild/bazel/issues/7899) for
1252 information on declaring Python toolchains and migrating your
1253 code. As a side-benefit, this addresses
1254 [#4815](https://github.com/bazelbuild/bazel/issues/4815)
1255 (incorrect interpreter version used) on non-Windows platforms.
1256 Note however that some builds break due to getting the version
1257 they asked for -- consider setting `python_version = "PY2"` on
1258 Python 2 targets and `--host_force_python=PY2` if any Python 2
1259 targets are used in the host configuration. You can temporarily
1260 opt out of this change with
1261 `--incompatible_use_python_toolchains=false`.
1262 - Depsets can't be iterated over unless they're converted to lists
1263 using the .to_list() method. Use
1264 --incompatible_depset_is_not_iterable=false to
1265 temporarily restore the previous behaviour.
1266
1267New features:
1268
1269 - Bash, runfiles: the copy-pasted init code of the Bash runfiles
1270 library is now shorter, see `tools/bash/runfiles/runfiles.bash`.
1271 The rlocation() implementation is the same.
1272 - Bash, runfiles: the copy-pasted init code of the Bash runfiles
1273 library is now shorter, see `tools/bash/runfiles/runfiles.bash`.
1274 The rlocation() implementation is the same.
1275 - Bash, runfiles: the copy-pasted init code of the Bash runfiles
1276 library is now shorter, see `tools/bash/runfiles/runfiles.bash`.
1277 To use the new init code, you need Bazel 0.27 or newer. The old
1278 (longer) init code still works.
1279
1280Important changes:
1281
1282 - The `outputs` parameter of the `rule()` function is deprecated
1283 and attached to flag `--incompatible_no_rule_outputs_param`.
1284 Migrate rules to use `OutputGroupInfo` or `attr.output` instead.
1285 See https://github.com/bazelbuild/bazel/issues/7977 for more info.
1286 - The --incompatible_disable_objc_library_resources flag is being
1287 removed. Please remove it from your configs as it otherwise will
1288 fail the build.
1289 - Add a generic additional_linker_inputs attribute on cc_binary
1290 rules.
1291 - Windows, C++ autoconfigure: BAZEL_VC and BAZEL_VS may now have
1292 quotes, so if you set these envvars' values in cmd.exe via
1293 TAB-completion then you no longer need to remove the surrounding
1294 quotes.
1295 - pkg_deb has new attributes: `config` and `templates` that can be
1296 used for integration with debconf
1297 - Allow cc_import() of a DLL with no interface library on Windows,
1298 used to document runtime dependencies.
1299 - All host-configured Python tools that are built for the wrong
1300 Python version will now emit a warning message when they exit
1301 with non-zero status. See #7899.
1302 - deprecated --remote_local_fallback_strategy. Use
1303 `--strategy=remote,local` instead. See
1304 https://github.com/bazelbuild/bazel/issues/7480.
1305 - Introduce --incompatible_disable_native_android_rules flag
1306 - The Android desugaring actions now support a persistent worker
1307 mode for faster local build performance. Enable it with
1308 `--strategy=Desugar=worker`.
1309 - --incompatible_static_name_resolution_in_build_files is now
1310 enabled by default
1311 - --incompatible_disable_deprecated_attr_params is now enabled by
1312 default (#5818)
1313 - Repository containing autoconfigured C++ toolchain
1314 `@local_config_cc` has been split in 2 - see
1315 `local_config_cc_toolchains`.
1316 - --incompatible_string_join_requires_strings is now enabled by
1317 default
1318 - Flag --incompatible_new_actions_api is enabled by dewfault (#5825)
1319 - New flag `--incompatible_disallow_empty_glob`. See
1320 https://github.com/bazelbuild/bazel/issues/8195
1321 - --incompatible_no_kwargs_in_build_files is enabled by default
1322 - Incompatible flag
1323 `--incompatible_require_ctx_in_configure_features` has been
1324 flipped. See https://github.com/bazelbuild/bazel/issues/7793 for
1325 more information.
1326 - `BAZEL_USE_XCODE_TOOLCHAIN=1` tells Bazel not to look for Xcode to
1327 decide whether to enable toolchains for Apple rules, but to
1328 assume Xcode is
1329 available. Can be also used when building on Darwin and no C++ or
1330 ObjC is being
1331 built, so there is no need to detect Xcode.
1332 - Android desugaring actions now use persistent workers by default.
1333 This has been measured to provide up to 20% reduction in build
1334 times. To disable it, use the `--strategy=Desugar=sandboxed`
1335 flag. See https://github.com/bazelbuild/bazel/issues/8342 and
1336 https://github.com/bazelbuild/bazel/issues/8427 for more details
1337 on local build speed optimization for Android apps.
1338 - Fixed an issue with Android builds where `--fat_apk_cpu` doesn't
1339 pack all selected shared libraries from `aar_import` targets into
1340 the APK. See
1341 [#8283](https://github.com/bazelbuild/bazel/issues/8283).
1342 - Turn on --experimental_starlark_config_transitions by default for
1343 starlark transitions (see
1344 https://docs.bazel.build/versions/master/skylark/config.html#user-
1345 defined-transitions for more info)
1346 - Turn on --experimental_build_setting_api by default for starlark
1347 build settings (see
1348 https://docs.bazel.build/versions/master/skylark/config.html#user-
1349 defined-build-settings for more info)
1350 - Incompatible flag
1351 `--incompatible_dont_enable_host_nonhost_crosstool_features` has
1352 been flipped. See https://github.com/bazelbuild/bazel/issues/7407
1353 for more information.
1354 - Added support for Android NDK 19 and 20.
1355 - Flip --incompatible_no_support_tools_in_action_inputs
1356 - --remote_executor, --remote_cache or --bes_backend=someurl.com
1357 would be treated as grpcs://someurl.com, if the
1358 --incompatible_tls_enabled_removed flag enabled. See
1359 https://github.com/bazelbuild/bazel/issues/8061 for details.
1360 - Add new options --cs_fdo_absolute_path= to support the absolute
1361 path
1362 profile for LLVM's context-sensitive FDO.
1363 - When `--incompatible_strict_action_env` is enabled, the default
1364 `PATH` now includes `/usr/local/bin`.
1365 - Turn on --experimental_build_setting_api by default for starlark
1366 build settings (see
1367 https://docs.bazel.build/versions/master/skylark/config.html#user-
1368 defined-build-settings for more info)
1369
1370This 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 +02001371
Klaus Aehligc84f7d32019-06-17 15:26:27 +02001372## Release 0.26.1 (2019-06-06)
1373
1374```
1375Baseline: cb82ed84d44db0169a8fbf15f9cee434b77002bb
1376
1377Cherry picks:
1378
1379 + d1c0d205945f5a765efb0a48593b1cd82699ce32:
1380 Allow WORKSPACE file to be a symlink if no managed directories
1381 is used.
1382 + c3d2aa74ccd23dfb8a8173c2b3e2955f0c5892cb:
1383 Fix ios, tvos and watchos arm64 constraints
1384 + 55e42052a22a60b68d88a89932b2a068311b1a95:
1385 Bump java_tools_javac10 from 3.1 to 3.2
1386```
1387
1388Patch release on top of 0.26.0, fixing
1389- https://github.com/bazelbuild/bazel/issues/8475
1390- https://github.com/bazelbuild/bazel/issues/8520
1391- https://github.com/bazelbuild/intellij/issues/845
1392
Bazel Release System8089b272019-05-28 10:31:53 +02001393## Release 0.26.0 (2019-05-28)
Bazel Release System48845c32019-05-23 15:21:53 -04001394
1395```
Bazel Release System8089b272019-05-28 10:31:53 +02001396Baseline: daa8ae565ab2023e49134f0aad233b0a8bd7a5d0
Bazel Release System48845c32019-05-23 15:21:53 -04001397
1398Cherry picks:
1399
Bazel Release System8089b272019-05-28 10:31:53 +02001400 + 61c7ffa60ae9c1937dd6d8ee30a8c0471094ee71:
1401 Automated rollback of commit
1402 87388e24814b177f54ca7697b4233489f90c587e.
1403 + 898d7b6138af73f03daf35b767d252560087de70:
1404 Add test for repository overrides, conflicting with managed
1405 directories being added when Bazel server is already started.
1406 + c2001a4569483596d9dc74ba9cabcbe4b6f1887f:
1407 Automated rollback of commit
1408 bbe47a1564a832e1a175206f2dfbc92af94c120b.
1409 + e67c961905792cd63950c6f6efc33275ad243c49:
1410 Fix a non-determinism in create_embedded_tools.py.
Bazel Release System48845c32019-05-23 15:21:53 -04001411 + 81aefe7ee01cc73646a53f9c72ed40ead09f9f5a:
1412 Remove unsupported cpu attribute from cc_toolchains.
Bazel Release System8089b272019-05-28 10:31:53 +02001413 + 597e289b097d3bfed8eea1cb0924bbeb04877e42:
1414 remote: made CombinedCache a composition of Disk and Http Cache
1415 + 942f7cf6a0da0a4ecc804615424f039e50963933:
1416 C++: Fixes bug in C++ API with external repo aspects
Bazel Release System48845c32019-05-23 15:21:53 -04001417 + 85a5a2bd569a5274950fc7327a044c395248c024:
1418 Configure @androidsdk//:emulator_x86 and :emulator_arm to point
1419 to the unified emulator binary
Bazel Release System8089b272019-05-28 10:31:53 +02001420 + 9835cb4135503768cdf1161746b95d7969ccb938:
1421 Automated rollback of commit
1422 844e4e297b404d6ff28b818d8150d4b9c47de887.
1423 + c963ba21073b514961946b8b4b45b091f08fdaa1:
1424 Windows, Python: fix arg. esc. also in host config
1425 + a1ea487e0a9e180a36fa4aab57f7c746ddcf367a:
1426 Do not pre-cache changed files under managed directories
1427 + 7dc78cdd04eedf2f4373b170053ba5fc2a990929:
1428 Add explicit execution and target constraints for autodiscovered
1429 cc t?
1430 + dd9ac13f7e3b71bdf2eca717bc7681bdd12389a2:
1431 Fix a bug when a relative path is used for the execution log
Bazel Release System48845c32019-05-23 15:21:53 -04001432 + 0ff19c6d0adf3c0df94fff59ca3bd13cbcf99897:
1433 Fix StandaloneTestStrategy.appendStderr
Bazel Release System8089b272019-05-28 10:31:53 +02001434 + 7f495315749478e75a3424726cc273a535b7c3b8:
1435 Fix the autodetecting Python toolchain on Mac
1436 + ddce7235ef29a0aba727c265eae865d15af4ed09:
1437 Avoid exporting PATH unnecessarily
1438 + 35dd05a059fa7fddfdd888cfc69102994e3c04dc:
1439 Allow Starlark rules to be able to use the `exec_compatible_with`
Bazel Release System48845c32019-05-23 15:21:53 -04001440```
1441
Klaus Aehlig63bf1152019-05-28 10:41:12 +02001442### Incompatible changes
1443
1444- [`--incompatible_windows_escape_jvm_flags`](https://github.com/bazelbuild/bazel/issues/7486)
1445 is enabled by default, and removed.
1446
1447- [`--incompatible_windows_style_arg_escaping`](https://github.com/bazelbuild/bazel/issues/7454)
1448 is enabled by default.
1449
1450- [`--incompatible_no_output_attr_default`](https://github.com/bazelbuild/bazel/issues/7950)
1451 is enabled by default.
1452
1453- [`--incompatible_depset_union`](https://github.com/bazelbuild/bazel/issues/5817)
1454 is enabled by default.
1455
1456- [`--incompatible_disable_genrule_cc_toolchain_dependency`](https://github.com/bazelbuild/bazel/issues/6867) removed
1457
1458- [`--Incompatible_disallow_rule_execution_platform_constraints_allowed`](https://github.com/bazelbuild/bazel/issues/8136):
1459 When enabled, disallows the use of the `execution_platform_constraints_allowed`
1460 attribute when defining new rules.
1461
1462- [`--incompatible_disable_objc_provider_resources`](https://github.com/bazelbuild/bazel/issues/5710)
1463 is now enabled by default.
1464
1465### Apple
1466
1467- The `--ios_multi_cpus`, `--watchos_cpus`, `--macos_cpus` and `--tvos_cpus` are
1468 now additive. This means that you can now split the `--ios_multi_cpus=arm64,armv7`
1469 into `--ios_multi_cpus=arm64` and `--ios_multi_cpus=armv7`.
1470
1471- Add `--incompatible_objc_framework_cleanup` to control whether to enable some
1472 objc framework cleanup that changes the API. Specifically, the cleanup changes
1473 the objc provider API pertaining to frameworks. This change is expected to be
1474 transparent to most users unless they write their own Starlark rules to handle
1475 frameworks. See https://github.com/bazelbuild/bazel/issues/7594 for details.
1476
1477- `objc_library` does not support resource attributes any more. Please read
1478 [#7594](https://github.com/bazelbuild/bazel/issues/7594) for more info.
1479
1480### Android
1481
1482- Android resource conflicts will no longer be reported between a strong attr
1483 resource and a weak attr resource, if the weak attr does not have format
1484 specified.
1485
1486### C++
1487
1488- [Allow debugging C++ features logic](https://github.com/bazelbuild/bazel/commit/53156db1e30fe7197889c3cbc8d1321ff9b85143
1489
1490- Add new options [`--cs_fdo_instrument`](https://docs.bazel.build/versions/master/command-line-reference.html#flag--cs_fdo_instrument)
1491 and [`--cs_fdo_profile`](https://docs.bazel.build/versions/master/command-line-reference.html#flag--cs_fdo_profile)
1492 to support LLVM's context-sensitive FDO (CSFDO).
1493
1494- [Bazel C++ compile/link Starlark API](https://github.com/bazelbuild/bazel/issues/4570).
1495 Can be used with experimental flag `--experimental_cc_skylark_api_enabled_packages`.
1496
1497- `cc_toolchain.static_runtime_lib` and `cc_toolchain.dynamic_runtime_lib` are
1498 now exposed to Starlark.
1499
1500- C++ Starlark API for compilation and linking is no longer whitelisted
1501
1502- Incompatible flag `--incompatible_make_thinlto_command_lines_standalone` has
1503 been added. See https://github.com/bazelbuild/bazel/issues/6791 for details.
1504
1505- Feature `disable_whole_archive_for_static_lib` has been added to allow turning
1506 off legacy_whole_archive for individual targets.
1507 https://github.com/bazelbuild/bazel/issues/7362
1508
1509### Python
1510
1511- Fixed an issue where some `py_runtimes` were incompatible with using
1512 `--build_python_zip` ([#5104](https://github.com/bazelbuild/bazel/issues/5104)).
1513
1514### Starlark
1515
1516- The flag [`--incompatible_restrict_named_params`](https://github.com/bazelbuild/bazel/issues/8147)
1517 is added. [Buildifier](https://github.com/bazelbuild/buildtools) will soon be
1518 updated to automatically fix this in your code.
1519
1520- The flag [`--incompatible_no_kwargs_in_build_files`](https://github.com/bazelbuild/bazel/issues/8021)
1521 is added. It fixes a bug where the `**kwarg` notation was allowed in `BUILD`
1522 files.
1523
1524- The flag [`--incompatible_static_name_resolution_in_build_files`](https://github.com/bazelbuild/bazel/issues/8022)
1525 is added. This fixes a bug where invalid code was silently accepted.
1526
1527- The flag [`--incompatible_disallow_old_octal_notation`](https://github.com/bazelbuild/bazel/issues/8059)
1528 is added. It removes a deprecated notation for octal numbers.
1529 [Buildifier](https://github.com/bazelbuild/buildtools) can update your code
1530 automatically.
1531
1532- [`struct.to_proto()`](https://docs.bazel.build/versions/master/skylark/lib/struct.html#to_proto)
1533 can now convert dictionaries into proto3 text message.
1534
1535- The [`glob`](https://docs.bazel.build/versions/master/be/functions.html#glob)
1536 function has a new argument `allow_empty`. When set to `False` (this will be
1537 the default in the future), the glob fails when it doesn't match anything.
1538 Please explicitly set `allow_empty = True` to the globs that need it.
1539
1540### Windows
1541
1542- Windows, Python: the new `--incompatible_windows_escape_python_args` flag
1543 (`false` by default) builds `py_binary` and `py_test` targets with correct
1544 command line argument escaping. Similar to
1545 https://github.com/bazelbuild/bazel/issues/7486 but for `py_*` rules.
1546
1547### Other changes
1548
1549- cquery supports `--output=build`
1550
1551- Generated Go protobufs now depend on `//net/proto2/go:proto_gendeps` instead
1552 of `//net/proto2/go:proto`
1553
1554- Added `--incompatible_remove_binary_profile` to disable the old binary
1555 profiles. Instead use the JSON profile format:
1556 https://docs.bazel.build/versions/master/skylark/performance.html#json-profile
1557
1558- Introducing `--execution_log_binary_file` and `--execution_log_json_file`
1559 that output a stable sorted execution log. They will offer a stable
1560 replacement to `--experimental_execution_log_file`.
1561
1562- New platform_mappings ability to allow gradual flag to platforms/toolchains
1563 migration. See also https://github.com/bazelbuild/bazel/issues/6426
1564
1565- Added support for compiling against fully qualified `R` classes from
1566 `aar_import` dependencies.
1567
1568- `--tls_enabled` flag is deprecated. Please provide `grpcs` as a scheme in
1569 the URLs if TLS should be used for a remote connection.
1570
1571### Community
1572
1573- Alex Eagle gave a talk at ng-conf:
1574 [The Bazel Opt-in Preview is Here!](https://www.youtube.com/watch?v=J1lnp-nU4wM)
1575
1576- The latest release of
1577 [rules_haskell](https://github.com/tweag/rules_haskell/releases/tag/v0.9)
1578 includes many new improvements, including an initial Windows support.
1579
1580- The latest
1581 [Buildifier release](https://github.com/bazelbuild/buildtools/releases/tag/0.25.1)
1582 includes Windows binaries, as well as a JSON output for diagnostics.
1583
1584- Natan Silnitsky gave the talk
1585 [How to successfully migrate to Bazel from Maven or Gradle](https://www.youtube.com/watch?v=2UOFm-Cc_cU)
1586 at the Java Eastern Europe Conference.
1587
1588This release contains contributions from many people at Google, as well as
1589Benjamin Peterson, Brian Topping, clyang82, Dave Lee, George Gensure,, Greg,
1590Guro Bokum, Keith Smiley, Max Vorobev, Michael Hackner, Robert Brown, Robert
1591Sayre, Ryan Beasley, and Yannic.
1592
1593
1594## Release 0.25.3 (2019-05-23)
1595
1596```
1597Baseline: 03662462941953dad23af88693804b8b1d4430b9
1598
1599Cherry picks:
1600
1601 + 3f7f255f9a8345b8898e3953e7e53d68106cc63d:
1602 Windows: fix native test wrapper's arg. escaping
1603 + afeb8d0b7fef619159fc8fbaaeb8bd41dd2619bd:
1604 Flip --incompatible_windows_escape_jvm_flags
1605 + 4299b6549cbc1b3e4494c91ed2f51d49b14c7980:
1606 Sort DirectoryNode children to ensure validity.
1607 + 231270c67d5aa771462245531fa9b2ee7d3d0ae8:
1608 Conditionally use deprecated signature for initWithContentsOfURL
1609 + 75a3a531b08e727ade4fa3cb0a574bd142727cce:
1610 Add http_archive entries for testing with various JDK versions.
1611 + 4a6354a3a5ca23583f8b62e3e439a04ce75b863f:
1612 Now that ubuntu1804 uses JDK 11, remove explicit
1613 ubuntu1804_java11 tests.
1614 + ae102fbde3c1ff87e4f67007a275fb30792a4e8d:
1615 Fix wrong name of ubuntu1804_javabase9 task.
1616 + 0020a97fdc20ca099ec6386771b20d3236f9890d:
1617 Remove @executable_path/Frameworks from rpaths
1618 + 130f86ded1ce84f959f0b78c065211902faed546:
1619 Download stderr/stdout to a temporary FileOutErr
1620 + 2ab38663592a9ccbcc1f6f75ed135ae315f4d9d9:
1621 Release 0.25.0 (2019-05-01)
1622 + ed48a4a5fddbd93b057c3aa726e15720d79dcf8f:
1623 Add implementation to removed methods to address
1624 https://github.com/bazelbuild/bazel/issues/8226
1625 + 81aefe7ee01cc73646a53f9c72ed40ead09f9f5a:
1626 Remove unsupported cpu attribute from cc_toolchains.
1627 + cccced1e7fc7eaf4ba8f2c9d73dbac72b2686df9:
1628 Release 0.25.1 (2019-05-07)
1629 + 0900660d67b53a56a13d1fa16a788e4cecbb1c0e:
1630 Use package identifier instead of package name
1631 + 85a5a2bd569a5274950fc7327a044c395248c024:
1632 Configure @androidsdk//:emulator_x86 and :emulator_arm to point
1633 to the unified emulator binary
1634 + 6549ac5bba3eef2b1813b5a75757437383bf38f0:
1635 Release 0.25.2 (2019-05-10)
1636 + 0ff19c6d0adf3c0df94fff59ca3bd13cbcf99897:
1637 Fix StandaloneTestStrategy.appendStderr
1638```
1639
Bazel Release System48845c32019-05-23 15:21:53 -04001640Incompatible changes:
1641
1642 - Flip --incompatible_windows_escape_jvm_flags to true. See
1643 https://github.com/bazelbuild/bazel/issues/7486
1644
Klaus Aehlig63bf1152019-05-28 10:41:12 +02001645This 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 -04001646
Klaus Aehlig63bf1152019-05-28 10:41:12 +02001647## Release 0.25.2 (2019-05-10)
Bazel Release System6549ac52019-05-10 16:44:09 -04001648
Klaus Aehlig63bf1152019-05-28 10:41:12 +02001649```
1650Baseline: 03662462941953dad23af88693804b8b1d4430b9
Bazel Release System6549ac52019-05-10 16:44:09 -04001651
Klaus Aehlig63bf1152019-05-28 10:41:12 +02001652Cherry picks:
Bazel Release System6549ac52019-05-10 16:44:09 -04001653
Klaus Aehlig63bf1152019-05-28 10:41:12 +02001654 + 3f7f255f9a8345b8898e3953e7e53d68106cc63d:
1655 Windows: fix native test wrapper's arg. escaping
1656 + afeb8d0b7fef619159fc8fbaaeb8bd41dd2619bd:
1657 Flip --incompatible_windows_escape_jvm_flags
1658 + 4299b6549cbc1b3e4494c91ed2f51d49b14c7980:
1659 Sort DirectoryNode children to ensure validity.
1660 + 231270c67d5aa771462245531fa9b2ee7d3d0ae8:
1661 Conditionally use deprecated signature for initWithContentsOfURL
1662 + 75a3a531b08e727ade4fa3cb0a574bd142727cce:
1663 Add http_archive entries for testing with various JDK versions.
1664 + 4a6354a3a5ca23583f8b62e3e439a04ce75b863f:
1665 Now that ubuntu1804 uses JDK 11, remove explicit
1666 ubuntu1804_java11 tests.
1667 + ae102fbde3c1ff87e4f67007a275fb30792a4e8d:
1668 Fix wrong name of ubuntu1804_javabase9 task.
1669 + 0020a97fdc20ca099ec6386771b20d3236f9890d:
1670 Remove @executable_path/Frameworks from rpaths
1671 + 130f86ded1ce84f959f0b78c065211902faed546:
1672 Download stderr/stdout to a temporary FileOutErr
1673 + 2ab38663592a9ccbcc1f6f75ed135ae315f4d9d9:
1674 Release 0.25.0 (2019-05-01)
1675 + ed48a4a5fddbd93b057c3aa726e15720d79dcf8f:
1676 Add implementation to removed methods to address
1677 https://github.com/bazelbuild/bazel/issues/8226
1678 + 81aefe7ee01cc73646a53f9c72ed40ead09f9f5a:
1679 Remove unsupported cpu attribute from cc_toolchains.
1680 + cccced1e7fc7eaf4ba8f2c9d73dbac72b2686df9:
1681 Release 0.25.1 (2019-05-07)
1682 + 0900660d67b53a56a13d1fa16a788e4cecbb1c0e:
1683 Use package identifier instead of package name
1684 + 85a5a2bd569a5274950fc7327a044c395248c024:
1685 Configure @androidsdk//:emulator_x86 and :emulator_arm to point
1686 to the unified emulator binary
1687```
1688
1689* Add fix for https://github.com/bazelbuild/bazel/issues/8254
1690* Add fix for https://github.com/bazelbuild/bazel/issues/8280
1691
1692## Release 0.25.1 (2019-05-07)
1693
1694```
1695Baseline: 03662462941953dad23af88693804b8b1d4430b9
1696
1697Cherry picks:
1698
1699 + 3f7f255f9a8345b8898e3953e7e53d68106cc63d:
1700 Windows: fix native test wrapper's arg. escaping
1701 + afeb8d0b7fef619159fc8fbaaeb8bd41dd2619bd:
1702 Flip --incompatible_windows_escape_jvm_flags
1703 + 4299b6549cbc1b3e4494c91ed2f51d49b14c7980:
1704 Sort DirectoryNode children to ensure validity.
1705 + 231270c67d5aa771462245531fa9b2ee7d3d0ae8:
1706 Conditionally use deprecated signature for initWithContentsOfURL
1707 + 75a3a531b08e727ade4fa3cb0a574bd142727cce:
1708 Add http_archive entries for testing with various JDK versions.
1709 + 4a6354a3a5ca23583f8b62e3e439a04ce75b863f:
1710 Now that ubuntu1804 uses JDK 11, remove explicit
1711 ubuntu1804_java11 tests.
1712 + ae102fbde3c1ff87e4f67007a275fb30792a4e8d:
1713 Fix wrong name of ubuntu1804_javabase9 task.
1714 + 0020a97fdc20ca099ec6386771b20d3236f9890d:
1715 Remove @executable_path/Frameworks from rpaths
1716 + 130f86ded1ce84f959f0b78c065211902faed546:
1717 Download stderr/stdout to a temporary FileOutErr
1718 + 2ab38663592a9ccbcc1f6f75ed135ae315f4d9d9:
1719 Release 0.25.0 (2019-05-01)
1720 + ed48a4a5fddbd93b057c3aa726e15720d79dcf8f:
1721 Add implementation to removed methods to address
1722 https://github.com/bazelbuild/bazel/issues/8226
1723 + 81aefe7ee01cc73646a53f9c72ed40ead09f9f5a:
1724 Remove unsupported cpu attribute from cc_toolchains.
1725```
1726
1727Adding 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 -04001728
Bazel Release System2ab38662019-05-01 17:41:28 -04001729## Release 0.25.0 (2019-05-01)
1730
1731```
1732Baseline: 03662462941953dad23af88693804b8b1d4430b9
1733
1734Cherry picks:
1735
1736 + 3f7f255f9a8345b8898e3953e7e53d68106cc63d:
1737 Windows: fix native test wrapper's arg. escaping
1738 + afeb8d0b7fef619159fc8fbaaeb8bd41dd2619bd:
1739 Flip --incompatible_windows_escape_jvm_flags
1740 + 4299b6549cbc1b3e4494c91ed2f51d49b14c7980:
1741 Sort DirectoryNode children to ensure validity.
1742 + 231270c67d5aa771462245531fa9b2ee7d3d0ae8:
1743 Conditionally use deprecated signature for initWithContentsOfURL
1744 + 75a3a531b08e727ade4fa3cb0a574bd142727cce:
1745 Add http_archive entries for testing with various JDK versions.
1746 + 4a6354a3a5ca23583f8b62e3e439a04ce75b863f:
1747 Now that ubuntu1804 uses JDK 11, remove explicit
1748 ubuntu1804_java11 tests.
1749 + ae102fbde3c1ff87e4f67007a275fb30792a4e8d:
1750 Fix wrong name of ubuntu1804_javabase9 task.
1751 + 0020a97fdc20ca099ec6386771b20d3236f9890d:
1752 Remove @executable_path/Frameworks from rpaths
1753 + 130f86ded1ce84f959f0b78c065211902faed546:
1754 Download stderr/stdout to a temporary FileOutErr
1755```
1756
1757Incompatible changes:
1758
1759 - (Starlark rules) The legacy "py" provider can no longer be passed
1760 to or produced by native Python rules; use
1761 [PyInfo](https://docs.bazel.build/versions/master/skylark/lib/PyIn
1762 fo.html) instead. See
1763 [#7298](https://github.com/bazelbuild/bazel/issues/7298) for more
1764 information.
1765 - (Python rules) The `default_python_version` attribute of the
1766 `py_binary` and `py_test` rules has been renamed to
1767 `python_version`. Also, the `--force_python` flag has been
1768 renamed to `--python_version`. See
1769 [#7308](https://github.com/bazelbuild/bazel/issues/7308) for more
1770 information.
1771 - (Python rules) The python version now changes to whatever version
1772 is specified in a `py_binary` or `py_test`'s `python_version`
1773 attribute, instead of being forced to the value set by a command
1774 line flag. You can temporarily revert this change with
1775 `--incompatible_allow_python_version_transitions=false`. See
1776 [#7307](https://github.com/bazelbuild/bazel/issues/7307) for more
1777 information.
1778 - --incompatible_disable_third_party_license_checking` is enabled
1779 by default
1780 - Introduced --incompatible_use_python_toolchains, which supersedes
1781 --python_top/--python_path. See #7899 and #7375 for more
1782 information.
1783 - Python 3 is now the default Python version (for `py_binary` and
1784 `py_test` targets that don't specify the `python_version`
1785 attribute). Targets that are built for Python 3 will no longer
1786 have their output put in a separate `-py3` directory; instead
1787 there is now a separate `-py2` directory for Python 2 targets.
1788 See #7359 and #7593 for more information.
1789 - objc_library resource attributes are now disabled by default.
1790 Please migrate them to data instead. See
1791 https://github.com/bazelbuild/bazel/issues/7594 for more info.
1792 - Flip --incompatible_windows_escape_jvm_flags to true. See
1793 https://github.com/bazelbuild/bazel/issues/7486
1794
1795New features:
1796
1797 - genrules now support a $(RULEDIR) variable that resolves to the
1798 directory where the outputs of the rule are put.
1799 - Added --incompatible_windows_native_test_wrapper flag: enables
1800 using the Bash-less test wrapper on Windows. (No-op on other
1801 platforms.)
1802
1803Important changes:
1804
1805 - incompatible_use_jdk11_as_host_javabase: makes JDK 11 the default
1806 --host_javabase for remote jdk
1807 (https://github.com/bazelbuild/bazel/issues/7219)
1808 - Makes genquery somepath output deterministic.
1809 - Tristate attributes of native rules now reject True/False (use
1810 1/0)
1811 - Rollback of "Tristate attributes of native rules now reject
1812 True/False (use 1/0)"
1813 - Tristate attributes of native rules now reject True/False (use
1814 1/0)
1815 - Added -incompatible_do_not_split_linking_cmdline flag. See #7670
1816 - Tristate attributes of native rules now temporarily accept
1817 True/False again
1818 - `--incompatible_disable_legacy_crosstool_fields` has been flipped
1819 (https://github.com/bazelbuild/bazel/issues/6861)
1820 `--incompatible_disable_expand_if_all_available_in_flag_set` has
1821 been flipped (https://github.com/bazelbuild/bazel/issues/7008)
1822 - `--incompatible_disable_legacy_crosstool_fields` has been flipped
1823 (https://github.com/bazelbuild/bazel/issues/6861)
1824 `--incompatible_disable_expand_if_all_available_in_flag_set...
1825 RELNOTES: None.
1826 - --incompatible_no_transitive_loads is enabled by default.
1827 - Makes TreeArtifact deterministic.
1828 - --incompatible_no_transitive_loads is enabled by default.
1829 - Android NDK C++ toolchain is now configured in Starlark. This
1830 should be a backwards compatible change, but in case of bugs
1831 blame unknown commit.
1832 - `--incompatible_disable_legacy_crosstool_fields` has been flipped
1833 (https://github.com/bazelbuild/bazel/issues/6861)
1834 `--incompatible_disable_expand_if_all_available_in_flag_set` has
1835 been flipped (https://github.com/bazelbuild/bazel/issues/7008)
1836 - --incompatible_no_transitive_loads is enabled by default.
1837 - --incompatible_bzl_disallow_load_after_statement is enabled
1838 - Added `--incompatible_require_ctx_in_configure_features`, see
1839 https://github.com/bazelbuild/bazel/issues/7793 for details.
1840 - Flag --incompatible_merge_genfiles_directory is flipped. This
1841 removes the directory `bazel-genfiles` in favor of `bazel-bin`.
1842 - previously deprecated flag --experimental_remote_spawn_cache was
1843 removed
1844 - `--incompatible_disallow_load_labels_to_cross_package_boundaries`
1845 is enabled by default
1846 - Fix an issue where the Android resource processor did not surface
1847 errors from aapt2 compile and link actions.
1848 - --incompatible_no_attr_license is enabled by default
1849 - `--incompatible_disable_crosstool_file` has been flipped
1850 (https://github.com/bazelbuild/bazel/issues/7320)
1851 - A new flag `--incompatible_string_join_requires_strings` is
1852 introduced. The sequence argument of `string.join` must contain
1853 only string elements.
1854 - --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfile
1855 s_tree has been flipped
1856 - Incompatible flag `--incompatible_disable_legacy_cc_provider` has
1857 been flipped (see https://github.com/bazelbuild/bazel/issues/7036
1858 for details).
1859 - Don't drop the analysis cache when the same --define flag is set
1860 multiple times and the last value is the same (e.g. if the
1861 current invocation was run with "--define foo=bar" and the
1862 previous one was run with "--define foo=baz --define foo=bar").
1863 - The --incompatible_disable_genrule_cc_toolchain_dependency flag
1864 has been flipped (see
1865 https://github.com/bazelbuild/bazel/issues/6867 for details).
1866 - Incompatible change
1867 `--incompatible_remove_cpu_and_compiler_attributes_from_cc_toolcha
1868 in` has been flipped (see
1869 https://github.com/bazelbuild/bazel/issues/7075 for details).
1870 - --noexperimental_java_coverage is a no-op flag.
1871 - --experimental_java_coverage/--incompatible_java_coverage flag was
1872 removed. See #7425.
1873 - incompatible_use_toolchain_providers_in_java_common: pass
1874 JavaToolchainInfo and JavaRuntimeInfo providers to java_common
1875 APIs instead of configured targets
1876 (https://github.com/bazelbuild/bazel/issues/7186.)
1877 - --incompatible_remote_symlinks has been flipped. The remote
1878 caching and execution protocol will now represent symlinks in
1879 outputs as such. See
1880 https://github.com/bazelbuild/bazel/issues/7917 for more details.
1881 - Bazel is now ~20MiB smaller, from unbundling the Android rules'
1882 runtime dependencies.
1883
1884This 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, ??.
1885
Bazel Release System7f8bc5f2019-04-02 12:26:16 -04001886## Release 0.24.1 (2019-04-02)
1887
1888```
1889Baseline: 235e76b0e756d05599a6cbe1663ff8e13df84a86
1890
1891Cherry picks:
1892
1893 + badd82e4c5cda7b3232481e1c63a5550ac898cd8:
1894 Automated rollback of commit
1895 1b4c37c38804559b5c1ade6f9c93501875e231b0.
1896 + 33e571939085dd158422e1b3503cfc738e0a3165:
1897 Fix the Python version select() mechanism to handle
1898 PY3-as-default
1899 + 56366ee3a73e2c92b2fa36a9840478202b9618ca:
1900 Set non-empty values for msvc_env_* when VC not installed
1901 + 22b3fbf4800113df51d603d943bd9eb9517ef904:
1902 Windows, test wrapper: fix broken integration test
1903 + f14d447cb56aee563f6e686b8f5b086a3bb55d47:
1904 Add whitelist file for starlark transitions
1905 + d99bc478db1f3414b4f6cd3dc14ca70aacf6b375:
1906 Update BUILD
1907 + 3529ad7ccf0c26dfb20a9d67b9d96de15f309f8b:
1908 Rename tools/function_transition_whitelist/BUILD to
1909 tools/whitelists/function_transition_whitelist/BUILD
1910 + de0612ad3ef7cc8c44069261befdeb0d15b97c10:
1911 Update bazel_toolchains to latest release and add toolchain
1912 config target for BuildKite CI (rbe_ubuntu1604)
1913 + 3e660ad178926648e8e10e2ee7a1a30b12f9b3d1:
1914 Automated rollback of commit
1915 087734009801242b83655efb863b2d5a761ae3dc.
1916 + 314cf1f9e4b332955c4800b2451db4e926c3e092:
1917 Pass -undefined dynamic_lookup to dynamic library linking
1918 actions on Mac
1919 + fc586a86b614667a21e5a01aea3544ac0338de78:
1920 Move cc_flags target into @bazel_tools//tools/cpp.
1921 + ea1703b30f9ac43a0c3262f5729c34658ed8d473:
1922 C++: Fix crash reported in #7721
1923 + 803801d1494f06f0ce977a1f2241ef6a4d85df09:
1924 Pass execution info to xml generating spawn. Fixes #7794
1925 + f092ec388a4b58788285b928c86f0f81561d4be4:
1926 Release 0.24.0 (2019-03-26)
1927 + c56c489119e6587975964c44ceb9e429ad950736:
1928 Wrap StatusRuntimeExceptions from GrpcRemoteCache
1929```
1930
1931Baseline: f092ec388a4b58788285b928c86f0f81561d4be4
1932
1933Cherrypicks:
1934+ c56c489119e6587975964c44ceb9e429ad950736: Wrap StatusRuntimeExceptions from GrpcRemoteCache
1935
Bazel Release System4f5c17c2019-03-26 12:08:43 -04001936## Release 0.24.0 (2019-03-26)
Bazel Release System0e4525f2019-03-11 17:43:39 +01001937
1938```
Bazel Release System4f5c17c2019-03-26 12:08:43 -04001939Baseline: 235e76b0e756d05599a6cbe1663ff8e13df84a86
Bazel Release System0e4525f2019-03-11 17:43:39 +01001940
1941Cherry picks:
1942
Bazel Release System4f5c17c2019-03-26 12:08:43 -04001943 + badd82e4c5cda7b3232481e1c63a5550ac898cd8:
1944 Automated rollback of commit
1945 1b4c37c38804559b5c1ade6f9c93501875e231b0.
1946 + 33e571939085dd158422e1b3503cfc738e0a3165:
1947 Fix the Python version select() mechanism to handle
1948 PY3-as-default
Bazel Release System0e4525f2019-03-11 17:43:39 +01001949 + 56366ee3a73e2c92b2fa36a9840478202b9618ca:
1950 Set non-empty values for msvc_env_* when VC not installed
Bazel Release System4f5c17c2019-03-26 12:08:43 -04001951 + 22b3fbf4800113df51d603d943bd9eb9517ef904:
1952 Windows, test wrapper: fix broken integration test
1953 + f14d447cb56aee563f6e686b8f5b086a3bb55d47:
1954 Add whitelist file for starlark transitions
1955 + d99bc478db1f3414b4f6cd3dc14ca70aacf6b375:
1956 Update BUILD
1957 + 3529ad7ccf0c26dfb20a9d67b9d96de15f309f8b:
1958 Rename tools/function_transition_whitelist/BUILD to
1959 tools/whitelists/function_transition_whitelist/BUILD
1960 + de0612ad3ef7cc8c44069261befdeb0d15b97c10:
1961 Update bazel_toolchains to latest release and add toolchain
1962 config target for BuildKite CI (rbe_ubuntu1604)
1963 + 3e660ad178926648e8e10e2ee7a1a30b12f9b3d1:
1964 Automated rollback of commit
1965 087734009801242b83655efb863b2d5a761ae3dc.
1966 + 314cf1f9e4b332955c4800b2451db4e926c3e092:
1967 Pass -undefined dynamic_lookup to dynamic library linking
1968 actions on Mac
1969 + fc586a86b614667a21e5a01aea3544ac0338de78:
1970 Move cc_flags target into @bazel_tools//tools/cpp.
1971 + ea1703b30f9ac43a0c3262f5729c34658ed8d473:
1972 C++: Fix crash reported in #7721
1973 + 803801d1494f06f0ce977a1f2241ef6a4d85df09:
1974 Pass execution info to xml generating spawn. Fixes #7794
Bazel Release System0e4525f2019-03-11 17:43:39 +01001975```
1976
Bazel Release System4f5c17c2019-03-26 12:08:43 -04001977Incompatible changes:
Bazel Release System0e4525f2019-03-11 17:43:39 +01001978
Bazel Release System4f5c17c2019-03-26 12:08:43 -04001979 - Added --incompatible_py3_is_default to test switching the default
1980 Python version to PY3 for py_binary/py_test targets that do not
1981 specify a version. See #7359.
1982 - //tools/cmd_line_differ has been renamed to //tools/aquery_differ
1983 & can now compare (in addition to command lines) inputs of
1984 actions given 2 aquery results.
1985 - java_(mutable_|)proto_library: removed strict_deps attribute.
1986 - The flag --incompatible_list_based_execution_strategy_selection
1987 was added and is used to ease the migration to the new style of
1988 specifying
1989 execution strategy selection and fallback behavior. The
1990 documentation for
1991 this flag is here: https://github.com/bazelbuild/bazel/issues/7480
1992 - Added --incompatible_py2_outputs_are_suffixed, for switching the
1993 bazel-bin symlink to point to Python 3 outputs instead of Python
1994 2 outputs. See
1995 [#7593](https://github.com/bazelbuild/bazel/issues/7593).
Bazel Release Systemf28ff222019-03-04 11:12:24 +01001996
Bazel Release System4f5c17c2019-03-26 12:08:43 -04001997New features:
Bazel Release Systemf28ff222019-03-04 11:12:24 +01001998
Bazel Release System4f5c17c2019-03-26 12:08:43 -04001999 - Make actions.args() object chainable.
2000 - Added --incompatible_windows_style_arg_escaping flag: enables
2001 correct subprocess argument escaping on Windows. (No-op on other
2002 platforms.)
2003 - Added --incompatible_windows_escape_jvm_flags flag: enables
2004 correct java_binary.jvm_flags and java_test.jvm_flags
2005 tokenization and escaping on Windows. (No-op on other platforms.)
Bazel Release Systemf28ff222019-03-04 11:12:24 +01002006
Bazel Release System4f5c17c2019-03-26 12:08:43 -04002007Important changes:
Bazel Release Systemf28ff222019-03-04 11:12:24 +01002008
Bazel Release System4f5c17c2019-03-26 12:08:43 -04002009 - Allow running aquery against the current state of Skyframe
2010 - Added support for the "navigation" resource directory to Android
2011 resource processing in Bazel. This is used by the Navigation
2012 Architecture Component.
2013 - --incompatible_disable_runtimes_filegroups was flipped
2014 (https://github.com/bazelbuild/bazel/issues/6942)
2015 - Incompatible flag `--incompatible_linkopts_in_user_link_flags`
2016 has been flipped (https://github.com/bazelbuild/bazel/issues/6826)
2017 - Incompatible flag `--incompatible_dont_emit_static_libgcc` has
2018 been flipped (https://github.com/bazelbuild/bazel/issues/6825)
2019 - --incompatible_disallow_filetype is enabled by default.
2020 - Fixed issue where exceptions and stacktraces were silently
2021 swallowed in the Android resource processing pipeline.
2022 - `--incompatible_disable_expand_if_all_available_in_flag_set` has
2023 been flipped (https://github.com/bazelbuild/bazel/issues/7008)
2024 - --incompatible_disallow_dict_plus is enabled by default
2025 - Adds --incompatible_disable_objc_library_resources to disable
2026 resource attributes in objc_library. Please migrate these
2027 attributes to `data` instead.
2028 - --incompatible_disallow_old_style_args_add is enabled by default.
2029 - Using the `native` module in BUILD files is deprecated. It will
2030 be forbidden with --incompatible_disallow_native_in_build_file.
2031 - (Python rules) PyRuntimeInfo is exposed to Starlark, making it
2032 possible for Starlark rules to depend on or imitate `py_runtime`.
2033 The `files` attribute of `py_runtime` is no longer mandatory.
2034 - incompatible_use_toolchain_providers_in_java_common: pass
2035 JavaToolchainInfo and JavaRuntimeInfo providers to java_common
2036 APIs instead of configured
2037 targetshttps://github.com/bazelbuild/bazel/issues/7186.
2038 - is_using_fission crosstool variable is now exposed in all compile
2039 actions when fission is active (it used to be exposed only for
2040 linking actions).
2041 - incompatible_use_toolchain_providers_in_java_common: pass
2042 JavaToolchainInfo and JavaRuntimeInfo providers to java_common
2043 APIs instead of configured
2044 targetshttps://github.com/bazelbuild/bazel/issues/7186.
2045 - `py_runtime` gains a `python_version` attribute for specifying
2046 whether it represents a Python 2 or 3 interpreter.
2047 - `--incompatible_java_coverage` is enabled by default.
2048 - Starlark rules can safely declare attributes named "licenses"
2049 - When using
2050 --incompatible_list_based_execution_strategy_selection, Bazel
2051 will use remote execution by default (if you specify
2052 --remote_executor), otherwise persistent workers (if the action
2053 supports it), otherwise sandboxed local execution (if the action
2054 and platform supports it) and at last unsandboxed local
2055 execution. The flags --spawn_strategy and --strategy continue to
2056 work as before - this only sets new defaults for the case where
2057 you don't specify these flags.
2058 - Set default value of --incompatible_remap_main_repo to true.
2059 - Set default value of --incompatible_remap_main_repo to true.
2060
2061This 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 +01002062
Bazel Release Systemed104862019-02-26 18:36:00 +01002063## Release 0.23.0 (2019-02-26)
2064
2065```
2066Baseline: 441fd75d0047f8a998d784c557736ab9075db893
2067
2068Cherry picks:
2069
2070 + 6ca7763669728253606578a56a205bca3ea883e9:
2071 Fix a typo
2072 + 2310b1c2c8b2f32db238f667747e7d5672480f4a:
2073 Ignore SIGCHLD in test setup script
2074 + f9eb1b56706f91063e9d080b850fa56964e77324:
2075 Complete channel initialization in the event loop
2076```
2077
2078Incompatible changes:
2079
2080 - //src:bazel uses the minimal embedded JDK, if you want to
2081 avoid the extra steps of minimizing the JDK, use //src:bazel-dev
2082 instead.
2083 - //src:bazel uses the minimal embedded JDK, if you want to
2084 avoid the extra steps of building bazel with the minimized JDK,
2085 use //src:bazel-dev
2086 instead.
2087 - The default value of --host_platform and --platforms will be
2088 changed to not be dependent on the configuration. This means
2089 that setting
2090 --cpu or --host_cpu will not affect the target or host platform.
2091 - Toolchain resolution for cc rules is now enabled via an
2092 incompatible flag, --incompatible_enable_cc_toolchain_resolution.
2093 The previous
2094 flag, --enabled_toolchain_types, is deprecated and will be
2095 removed.
2096 - java_(mutable_|)proto_library: removed strict_deps attribute.
2097 - Python rules will soon reject the legacy "py" struct provider
2098 (preview by enabling --incompatible_disallow_legacy_py_provider).
2099 Upgrade rules to use PyInfo instead. See
2100 [#7298](https://github.com/bazelbuild/bazel/issues/7298).
2101 - java_(mutable_|)proto_library: removed strict_deps attribute.
2102 - Two changes to native Python rules: 1) `default_python_version`
2103 and `--force_python` are deprecated; use `python_version` and
2104 `--python_version` respectively instead. You can preview the
2105 removal of the deprecated names with
2106 --incompatible_remove_old_python_version_api. See
2107 [#7308](https://github.com/bazelbuild/bazel/issues/7308). 2) The
2108 version flag will no longer override the declared version of a
2109 `py_binary` or `py_test` target. You can preview this new
2110 behavior with --incompatible_allow_python_version_transitions.
2111 See [#7307](https://github.com/bazelbuild/bazel/issues/7307).
2112
2113Important changes:
2114
2115 - There is a new flag available
2116 `--experimental_java_common_create_provider_enabled_packages`
2117 that acts as a whitelist for usages of
2118 `java_common.create_provider`. The constructor will be deprecated
2119 in Bazel 0.23.
2120 - [#7024] Allow chaining of the same function type in aquery.
2121 - Introduces --local_{ram,cpu}_resources, which will take the place
2122 of --local_resources.
2123 - [#6930] Add documentation for the aquery command.
2124 - Incompatible flag `--incompatible_dont_emit_static_libgcc` has
2125 been flipped (https://github.com/bazelbuild/bazel/issues/6825)
2126 - Incompatible flag `--incompatible_linkopts_in_user_link_flags`
2127 has been flipped (https://github.com/bazelbuild/bazel/issues/6826)
2128 - Flag --incompatible_range_type is removed.
2129 - Flag --incompatible_disallow_slash_operator is removed.
2130 - Flag --incompatible_disallow_conflicting_providers is removed.
2131 - `--incompatible_disallow_data_transition` is now enabled by
2132 default
2133 - Allow inclusion of param files in aquery output
2134 - [#6985] Add test to verify aquery's behavior for Cpp action
2135 templates.
2136 - --incompatible_require_feature_configuration_for_pic was flipped
2137 (https://github.com/bazelbuild/bazel/issues/7007).
2138 - Also ignore module-info.class in multi-version Jars
2139 - objc_framework has been deleted. Please refer to
2140 apple_dynamic_framework_import and apple_static_framework_import
2141 rules available in
2142 [rules_apple](https://github.com/bazelbuild/rules_apple/blob/maste
2143 r/doc/rules-general.md)
2144 - --test_sharding_strategy=experimental_heuristic is no more
2145 - objc_bundle_library has been removed. Please migrate to
2146 rules_apple's
2147 [apple_resource_bundle](https://github.com/bazelbuild/rules_apple/
2148 blob/master/doc/rules-resources.md#apple_resource_bundle).
2149 - You can now use the attribute `aapt_version` or the flag
2150 `--android_aapt` to pick the aapt version for android_local_test
2151 tests
2152 - In --keep_going mode, Bazel now correctly returns a non-zero exit
2153 code when encountering a package loading error during target
2154 pattern parsing of patterns like "//foo:all" and "//foo/...".
2155 - The default value for --incompatible_strict_action_env has been
2156 flipped to 'false' again, as we discovered breakages for local
2157 execution users. We'll need some more time to figure out the best
2158 way to make this work for local and remote execution. Follow
2159 https://github.com/bazelbuild/bazel/issues/7026 for more details.
2160 - Locally-executed spawns tagged "no-cache" no longer upload their
2161 outputs to the remote cache.
2162 - Introduces --host_compiler flag to allow setting a compiler for
2163 host compilation when --host_crosstool_top is specified.
2164 - --incompatible_expand_directories is enabled by default
2165 - [aquery] Handle the case of aspect-on-aspect.
2166 - Fixed a longstanding bug in the http remote cache where the value
2167 passed to
2168 --remote_timeout would be interpreted as milliseconds instead of
2169 seconds.
2170 - Enable --incompatible_use_jdk10_as_host_javabase by default, see
2171 https://github.com/bazelbuild/bazel/issues/6661
2172 - Add --incompatible_use_jdk11_as_host_javabase: makes JDK 11 the
2173 default --host_javabase for remote jdk
2174 (https://github.com/bazelbuild/bazel/issues/7219)
2175 - Highlight TreeArtifact in aquery text output.
2176 - Locally-executed spawns tagged "no-cache" no longer upload their
2177 outputs to the remote cache.
2178 - java_common APIs now accept JavaToolchainInfo and JavaRuntimeInfo
2179 instead of configured targets for java_toolchain and java_runtime
2180 - cc_common.create_cc_toolchain_config_info is stable and available
2181 for production use
2182 - incompatible_use_toolchain_providers_in_java_common: pass
2183 JavaToolchainInfo and JavaRuntimeInfo providers to java_common
2184 APIs instead of configured targets
2185 (https://github.com/bazelbuild/bazel/issues/7186)
2186 - --incompatible_strict_argument_ordering is enabled by default.
2187 - Bazel now supports reading cache hits from a repository cache,
2188 even if it doesn't have write access to the cache.
2189 - Adding arm64e to OSX CROSSTOOL.
2190 - Ignore package-level licenses on config_setting.
2191 - Add an optional output_source_jar parameter to java_common.compile
2192 - --incompatible_disable_objc_provider_resources is now enabled by
2193 default. This disables ObjcProvider's fields related to resource
2194 processing.
2195 - Explicitly set https.protocols and exclude TLSv1.3.
2196 - Bazel now validates that JAVA_HOME points to a valid JDK and
2197 falls back to auto-detection by looking up the path of `javac`.
2198 - Upgrade the embedded JDK version to 11.0.2.
2199 - Added --incompatible_disable_crosstool_file
2200 (https://github.com/bazelbuild/bazel/issues/7320)
2201 - --incompatible_disable_objc_provider_resources is now enabled by
2202 default. This disables ObjcProvider's fields related to resource
2203 processing.
2204 - --incompatible_disable_tools_defaults_package has been flipped.
2205 - For tests that do not generate a test.xml, Bazel now uses a
2206 separate action to generate one; this results in minor
2207 differences in the generated test.xml, and makes the generation
2208 more reliable overall.
2209 - incompatible_generate_javacommon_source_jar: java_common.compile
2210 now always generates a source jar, see
2211 https://github.com/bazelbuild/bazel/issues/5824.
2212 - New incompatible flag
2213 --incompatible_disallow_struct_provider_syntax removes the
2214 ability for rule implementation functions to return struct. Such
2215 functions should return a list of providers instead. Migration
2216 tracking: https://github.com/bazelbuild/bazel/issues/7347
2217
2218This 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.
2219
Bazel Release System2f82b332019-01-28 13:54:53 +01002220## Release 0.22.0 (2019-01-28)
2221
2222```
2223Baseline: deb028e3fb30b4e2953df16f35ab1f55a08ea8fa
2224
2225Cherry picks:
2226
2227 + a3a5975dca3ad04c19dc7d063fcf490a8cd612fd:
2228 Fix a race condition in remote cache
2229 + b8d0e1b05c225a4b943ce498194d069d18093d9a:
2230 Use a new GitHub token and KMS key for the release process.
2231 + 3759e3895503aa2bbd6943c5b568b8c050b9448f:
2232 remote: fix unexpected IO error (not a directory)
2233 + 4473bb1a9ec4282aa8497b86580d68e82415df4a:
2234 Fix a race condition in Bazel's Windows process management.
2235 + 9137fb940886aa516f32ca8a36feccedb545c99b:
2236 undo flag flip of --incompatible_strict_action_env
2237 + 12ab12e80ad1c9a3510aa4bbfdf3fddafc0bca00:
2238 Revert "Enabling Bazel to generate input symlinks as defined by
2239 RE AP?
2240 + 6345c747d8cb1819e70c853becadbf8a989decf1:
2241 Automated rollback of commit
2242 30536baa4a410d8c0a7adab5cd58cd8a2ac7e46c.
2243```
2244
Bazel Release System2f82b332019-01-28 13:54:53 +01002245
Bazel Release System2f82b332019-01-28 13:54:53 +01002246
Klaus Aehligcb59bd22019-01-28 14:20:37 +01002247The Bazel team is happy to announce a new release of Bazel,
2248[Bazel 0.22.0](https://github.com/bazelbuild/bazel/releases/tag/0.22.0).
Bazel Release System2f82b332019-01-28 13:54:53 +01002249
Klaus Aehligcb59bd22019-01-28 14:20:37 +01002250Baseline: deb028e3fb30b4e2953df16f35ab1f55a08ea8fa
Bazel Release System2f82b332019-01-28 13:54:53 +01002251
Klaus Aehligcb59bd22019-01-28 14:20:37 +01002252### Breaking changes
2253
2254- [`--incompatible_string_is_not_iterable`](https://github.com/bazelbuild/bazel/issues/5830)
2255
2256### Upcoming changes
2257
2258This release is a [migration window for the following changes](https://github.com/bazelbuild/bazel/labels/migration-0.22).
2259
2260- [`--incompatible_disallow_data_transition`](https://github.com/bazelbuild/bazel/issues/6153)
2261- [`--incompatible_dont_emit_static_libgcc`](https://github.com/bazelbuild/bazel/issues/6825)
2262- [`--incompatible_linkopts_in_user_link_flags`](https://github.com/bazelbuild/bazel/issues/6826)
2263- [`--incompatible_disable_legacy_crosstool_fields`](https://github.com/bazelbuild/bazel/issues/6861)
2264- [`--incompatible_use_aapt2_by_default`](https://github.com/bazelbuild/bazel/issues/6907)
2265- [`--incompatible_disable_runtimes_filegroups`](https://github.com/bazelbuild/bazel/issues/6942)
2266- [`--incompatible_disable_legacy_cc_provider`](https://github.com/bazelbuild/bazel/issues/7036)
2267- [`--incompatible_require_feature_configuration_for_pic`](https://github.com/bazelbuild/bazel/issues/7007)
2268- [`--incompatible_disable_expand_if_all_available_in_flag_set`](https://github.com/bazelbuild/bazel/issues/7008)
2269- [`--incompatible_disable_legacy_proto_provider`](https://github.com/bazelbuild/bazel/issues/7152)
2270- [`--incompatible_disable_proto_source_root`](https://github.com/bazelbuild/bazel/issues/7153)
2271
2272### General Changes
2273
2274- https://docs.bazel.build now supports versioned
2275 documentation. Use the selector at the top of the navigation bar
2276 to switch between documentation for different Bazel releases.
2277
2278- set `projectId` in all `PublishBuildToolEventStreamRequest`
2279
2280### Android
2281
2282- mobile-install now works with aapt2. Try it out with `bazel
2283 mobile-install --android_aapt=aapt2 //my:target`
2284
2285- Fixed issues with mobile-install v1 when deploying to Android 9 Pie
2286 devices. https://github.com/bazelbuild/bazel/issues/6814
2287
2288- Fixed issue where error messages from Android manifest merging
2289 actions were not fully propagated.
2290
2291- New incompatible change flag `--incompatible_use_aapt2_by_default`
2292 for defaulting to aapt2 in Android builds has been added. To build with
2293 aapt2 today, pass the flag
2294 `--incompatible_use_aapt2_by_default=true` or
2295 `--android_aapt=aapt2`, or set the `aapt_version` to `aapt2` on
2296 your `android_binary` or `android_local_test` target.
2297
2298- Fixed mobile-install v1 error when installing an app with native
2299 libraries onto an Android 9 (Pie) device. See
2300 https://github.com/bazelbuild/examples/issues/77
2301
2302- Fixed a mobile-install bug where `arm64-v8a` libraries were not
2303 deployed correctly on `arm64` devices. This was done by enabling
2304 incremental native lib deployment by default. A previously
2305 undocumented `--android_incremental_native_libs` flag is removed,
2306 and is now the regular behavior. See
2307 https://github.com/bazelbuild/bazel/issues/2239
2308
2309### Apple
2310
2311- The `objc_bundle` rule has been removed. Please migrate to rules_apple's
2312 [apple_bundle_import](https://github.com/bazelbuild/rules_apple/bl
2313 ob/master/doc/rules-resources.md#apple_bundle_import).
2314
2315- The `apple_stub_binary` rule has been deleted.
2316
2317- The `--xbinary_fdo` option that passes xbinary profiles has been added.
2318
2319### C++
2320
2321- `cc_toolchain.(static|dynamic)_runtime_libs` attributes are now optional
2322
2323### Packaging
2324
2325- `build_tar.py` in `tools/build_defs/pkg` now supports a JSON manifest
2326 that can be used to add paths that have symbols that can't be
2327 specified via the command line
2328
2329### Query
2330
2331- Filtering of inputs, outputs, and mnemonic filtering have been added to
2332 aquery.
2333
2334- The aquery and cquery query2 tests have been open-sourced.
2335
2336- The Bazel query how-to recommends ":*" instead of ":all", because "all" might
2337 be the name of a target.
2338
2339### Testing
2340
2341- The `--runs_per_test` has been placed in the TESTING documentation category.
2342
2343- A a clarifying message has been added to test case summary output when all
2344 test cases pass but the target fails.
2345
2346### Contributors
2347
2348This release contains contributions from many people at Google, as well as
2349Benjamin Peterson, Dave Lee, George Gensure, Gert van Dijk, Gustavo Storti
2350Salibi, Keith Smiley, Loo Rong Jie, Lukasz Tekieli, Mikhail Mazurskiy, Thi,
2351Travis Cline, Vladimir Chebotarev, and Yannic.
Bazel Release System2f82b332019-01-28 13:54:53 +01002352
Bazel Release Systema189d422018-12-19 13:53:11 +01002353## Release 0.21.0 (2018-12-19)
2354
2355```
2356Baseline: cb9b2afbba3f8d3a1db8bf68e65d06f1b36902f5
2357
2358Cherry picks:
2359
2360 + 12b96466ee0d6ab83f7d4cd24be110bb5021281d:
2361 Windows, test wrapper: rename the associated flag
2362 + 7fc967c4d6435de2bb4e34aac00ca2e499f55fca:
2363 Use a fixed thread pool in ByteStreamBuildEventArtifactUploader
2364 + 798b9a989aa793655d29504edb5fb85f3143db84:
2365 Add --build_event_upload_max_threads option
2366 + dbe05df23ccf4c919379e0294e0701fd3f66739c:
2367 Update the version of skylib bundled in the distfile
2368```
2369
2370Incompatible changes:
2371
2372 - The --experimental_stl command line option is removed.
2373 - aquery defaults to human readable output format.
2374
2375New features:
2376
2377 - repository_ctx.download and repository_ctx.download_and_extract
2378 now return a struct.
2379 - Android Databinding v2 can be enabled with
2380 --experimental_android_databinding_v2.
2381
2382Important changes:
2383
2384 - The deprecated and unmaintained Docker rules in
2385 tools/build_defs/docker were removed. Please use
2386 https://github.com/bazelbuild/rules_docker instead.
2387 - The new --upload_query_output_using_bep query/cquery/aquery flag
2388 causes query outputs to be uploaded via BEP.
2389 - New incompatible flag --incompatible_strict_argument_ordering
2390 - --strict_android_deps and --strict_java_deps were renamed to
2391 --experimental_strict_java_deps
2392 - config_settings that select on "compiler" value instead of values
2393 = {"compiler" : "x"} should use flag_values =
2394 {"@bazel_tools//tools/cpp:compiler": "x"}.
2395 - The new --upload_query_output_using_bep query/cquery/aquery flag
2396 causes query outputs to be uploaded via BEP.
2397 - Turn on --incompatible_disable_sysroot_from_configuration
2398 - We revamped our Android with Bazel tutorial! Check it out
2399 [here](https://docs.bazel.build/versions/master/tutorial/android-a
2400 pp.html).
2401 - --incompatible_disallow_slash_operator is now on by default
2402 - Enable --experimental_check_desugar_deps by default. This flag
2403 rules out several types of invalid Android builds at compile-time.
2404 - The --max_config_changes_to_show option lists the names of
2405 options which
2406 have changed and thus caused the analysis cache to be dropped.
2407 - The --experimental_strict_action_env option has been renamed to
2408 --incompatible_strict_action_env and is now on by default. This
2409 means Bazel will no longer use the client's PATH and
2410 LD_LIBRARY_PATH environmental variables in the default action
2411 environment. If the old behavior is desired, pass
2412 --action_env=PATH and --action_env=LD_LIBRARY_PATH.
2413 --noincompatible_strict_action_env will also temporarily restore
2414 the old behavior. However, as --action_env is a more general and
2415 explicit way to pass client environmental variables into actions,
2416 --noincompatible_strict_action_env will eventually be deprecated
2417 and removed. See #6648 for more details.
2418 - XCRUNWRAPPER_LABEL has been removed. If you used this value
2419 before, please use @bazel_tools//tools/objc:xcrunwrapper instead.
2420 - --incompatible_static_name_resolution is no unable by default
2421 - We will phase out --genrule_strategy in favor of
2422 --strategy=Genrule=<value> (for genrules) or
2423 --spawn_strategy=<value> (for all actions).
2424 - --incompatible_package_name_is_a_function is now enabled by
2425 default
2426 - Dynamic execution is now available with
2427 --experimental_spawn_strategy. Dynamic execution allows a build
2428 action to run locally and remotely simultaneously, and Bazel
2429 picks the fastest action. This provides the best of both worlds:
2430 faster clean builds than pure local builds, and faster
2431 incremental builds than pure remote builds.
2432 - --incompatible_package_name_is_a_function is now enabled by
2433 default
2434 - New incompatible flag --incompatible_merge_genfiles_directory
2435 - grpc log now logs updateActionResult
2436 - CppConfiguration doesn't do package loading anymore. That means:
2437 * it's no longer needed to have C++ toolchain available when
2438 building non-C++ projects
2439 * bazel will not analyze C++ toolchain when not needed -> speedup
2440 ~2s on bazel startup when C++ rules using hermetic toolchain are
2441 not loaded
2442 - --incompatible_package_name_is_a_fu...
2443
2444This 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.
2445
Bazel Release System85378562018-11-30 15:34:16 +01002446## Release 0.20.0 (2018-11-30)
2447
2448```
2449Baseline: 7bf7f031c332dc483257248d1c1f98ad75bbc83b
2450
2451Cherry picks:
2452
2453 + fd52341505e725487c6bc6dfbe6b5e081aa037da:
2454 update bazel-toolchains pin to latest release Part of changes to
2455 allow bazelci to use 0.19.0 configs. RBE toolchain configs at or
2456 before 0.17.0 are not compatible with bazel 0.19.0 or above.
2457 + 241f28d05424db2d11ee245dc856b992258505e3:
2458 Revert "Toggle --incompatible_disable_late_bound_option_defaults
2459 flag."
2460 + f7e5aef145c33968f658eb2260e25630dc41cc67:
2461 Add cc_toolchain targets for the new entries in the default
2462 cc_toolchain_suite.
2463 + d2920e32ec7f3f8551a693d33c17b19f1b802145:
2464 Revert "WindowsFileSystem: open files with delete-sharing"
2465```
2466
2467[Breaking changes in 0.20](https://github.com/bazelbuild/bazel/issues?q=is%3Aissue+label%3Abreaking-change-0.20)
2468
2469 - [--incompatible_remove_native_http_archive](https://github.com/bazelbuild/bazel/issues/6570).
2470 - [--incompatible_remove_native_git_repository](https://github.com/bazelbuild/bazel/issues/6569).
2471 - [--incompatible_disable_cc_toolchain_label_from_crosstool_proto](https://github.com/bazelbuild/bazel/issues/6434).
2472 - [--incompatible_disable_depset_in_cc_user_flags](https://github.com/bazelbuild/bazel/issues/6384).
2473 - [--incompatible_disable_cc_configuration_make_variables](https://github.com/bazelbuild/bazel/issues/6381).
2474 - [--incompatible_disallow_conflicting_providers](https://github.com/bazelbuild/bazel/issues/5902).
2475 - [--incompatible_range_type](https://github.com/bazelbuild/bazel/issues/5264).
2476
2477[0.20 is a migration window for the following changes](https://github.com/bazelbuild/bazel/issues?q=is%3Aissue+label%3Amigration-0.20)
2478
2479 - [--incompatible_use_jdk10_as_host_javabase](https://github.com/bazelbuild/bazel/issues/6661)
2480 - [--incompatible_use_remotejdk_as_host_javabase](https://github.com/bazelbuild/bazel/issues/6656)
2481 - [--incompatible_disable_sysroot_from_configuration](https://github.com/bazelbuild/bazel/issues/6565)
2482 - [--incompatible_provide_cc_toolchain_info_from_cc_toolchain_suite](https://github.com/bazelbuild/bazel/issues/6537)
2483 - [--incompatible_disable_depset_in_cc_user_flags](https://github.com/bazelbuild/bazel/issues/6383)
2484 - [--incompatible_package_name_is_a_function](https://github.com/bazelbuild/bazel/issues/5827)
2485
2486[Breaking changes in the next release (0.21)](https://github.com/bazelbuild/bazel/issues?q=is%3Aissue+label%3Abreaking-change-0.21)
2487
2488 - [--incompatible_use_jdk10_as_host_javabase](https://github.com/bazelbuild/bazel/issues/6661)
2489 - [--incompatible_use_remotejdk_as_host_javabase](https://github.com/bazelbuild/bazel/issues/6656)
2490 - [--incompatible_disable_sysroot_from_configuration](https://github.com/bazelbuild/bazel/issues/6565)
2491 - [--incompatible_provide_cc_toolchain_info_from_cc_toolchain_suite](https://github.com/bazelbuild/bazel/issues/6537)
2492 - [--incompatible_disable_depset_in_cc_user_flags](https://github.com/bazelbuild/bazel/issues/6383)
2493 - [--incompatible_disallow_data_transition](https://github.com/bazelbuild/bazel/issues/6153)
2494 - [--incompatible_package_name_is_a_function](https://github.com/bazelbuild/bazel/issues/5827)
2495 - [--incompatible_disallow_slash_operator](https://github.com/bazelbuild/bazel/issues/5823)
2496 - [--incompatible_static_name_resolution](https://github.com/bazelbuild/bazel/issues/5637)
2497
2498Incompatible changes:
2499
2500 - the --experimental_no_dotd_scanning_with_modules command line
2501 argument is not supported anymore.
2502 - The --prune_cpp_modules command line option is not supported
2503 anymore.
2504 - the --experimental_prune_cpp_input_discovery command line option
2505 is not supported anymore.
2506
2507New features:
2508
2509 - Added support for Android NDK r18.
2510
2511Important changes:
2512
2513 - The 'default' parameter of attr.output and attr.output_list is
2514 removed. This is controlled by
2515 --incompatible_no_output_attr_default
2516 - A number of platform-related Starlark APIs which were previously
2517 marked "experimental" are now disabled by default, and may be
2518 enabled via --experimental_platforms_api
2519 - Make legacy-test-support ("legacy_test-<api-level>") from
2520 android_sdk_repository neverlink. The legacy test support
2521 libraries shouldn't be built into test binaries. To make them
2522 available at runtime, developers should declare them via
2523 uses-library:
2524 https://developer.android.com/training/testing/set-up-project#andr
2525 oid-test-base
2526 - query remote server Capabilities (per REAPI v2)
2527 - CppRules: All cc_toolchains depended on from
2528 cc_toolchain_suite.toolchains are now analyzed when not using
2529 platforms in order to select the right cc_toolchain.
2530 - removed obsolete --explicit_jre_deps flag.
2531 - Incompatible flag
2532 --incompatible_disable_legacy_cpp_toolchain_skylark_api was
2533 flipped.
2534 - Improve error messaging when unsupport proguard options are
2535 specified at the library level.
2536 - Incompatible flag
2537 --incompatible_disable_legacy_cpp_toolchain_skylark_api was
2538 flipped.
2539 - Incompatible flag
2540 --incompatible_disable_legacy_cpp_toolchain_skylark_api was
2541 flipped.
2542 - The --incompatible_disable_late_bound_option_defaults flag has
2543 been flipped (#6384)
2544 - Incompatible flag
2545 --incompatible_disable_legacy_flags_cc_toolchain_api was flipped
2546 (#6434)
2547 - Fixed issue where ctx.resolve_command created conflicting
2548 intermediate files when resolve_command was called multiple times
2549 within the same rule invocation with a long command attribute.
2550 - Incompatible flag
2551 --incompatible_disable_cc_configuration_make_variables was
2552 flipped (#6381)
2553 - If the --javabase flag is unset, it Bazel locates a JDK using
2554 the JAVA_HOME environment variable and searching the PATH. If no
2555 JDK is found --javabase will be empty, and builds targeting Java
2556 will not
2557 be supported. Previously Bazel would fall back to using the
2558 embedded
2559 JDK as a --javabase, but this is no longer default behaviour. A
2560 JDK should
2561 be explicitly installed instead to enable Java development
2562 - Bazel will now shut down when idle for 5 minutes and the system
2563 is low on RAM (linux only).
2564 - CROSSTOOL file is now read from the package of cc_toolchain, not
2565 from
2566 the package of cc_toolchain_suite. This is not expected to break
2567 anybody since
2568 cc_toolchain_suite and cc_toolchain are commonly in the same
2569 package.
2570 - All overrides of Starlark's ctx.new_file function are now
2571 deprecated.
2572 Try the `--incompatible_new_actions_api` flag to ensure your
2573 code is forward-compatible.
2574 - --incompatible_disable_cc_toolchain_label_from_crosstool_proto
2575 was flipped.
2576 - Introduce --(no)shutdown_on_low_sys_mem startup flag to toggle
2577 idle low-memory shutdown, disabled by default.
2578 - --incompatible_disable_cc_toolchain_label_from_crosstool_proto
2579 was flipped.
2580 - --incompatible_disable_cc_toolchain_label_from_crosstool_proto
2581 was flipped.
2582 - CppRules: All cc_toolchains depended on from
2583 cc_toolchain_suite.toolchains are now analyzed when not using
2584 platforms in order to select the right cc_toolchain.
2585 - The function `attr.license` is deprecated and will be removed.
2586 It can be disabled now with `--incompatible_no_attr_license`.
2587 - `range()` function now returns a lazy value
2588 (`--incompatible_range_type` is now set by default).
2589 - The code coverage report now includes the actual paths to header
2590 files instead of the ugly,
2591 Bazel generated, virtual includes path.
2592 - `--incompatible_disallow_conflicting_providers` has been switched
2593 to true
2594 - Add new flag `--incompatible_disable_systool_from_configration` to
2595 disable loading the systool from CppConfiguration.
2596 - Add new flag `--incompatible_disable_sysroot_from_configuration`
2597 to
2598 disable loading the systool from CppConfiguration.
2599 - Sorting remote Platform properties for remote execution. May
2600 affect cache keys!
2601 - Use different server log files per Bazel server process; java.log
2602 is
2603 now a symlink to the latest log.
2604
2605This 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>.
2606
Bazel Release Systemcb3e2982018-11-19 11:19:38 -05002607## Release 0.19.2 (2018-11-19)
2608
2609```
2610Baseline: ac880418885061d1039ad6b3d8c28949782e02d6
2611
2612Cherry picks:
2613
2614 + 9bc3b20053a8b99bf2c4a31323a7f96fabb9f1ec:
2615 Fix the "nojava" platform and enable full presubmit checks for
2616 the various JDK platforms now that we have enough GCE resources.
2617 + 54c2572a8cabaf2b29e58abe9f04327314caa6a0:
2618 Add openjdk_linux_archive java_toolchain for nojava platform.
2619 + 20bfdc67dc1fc32ffebbda7088ba49ee17e3e182:
2620 Automated rollback of commit
2621 19a401c38e30ebc0879925a5caedcbe43de0028f.
2622 + 914b4ce14624171a97ff8b41f9202058f10d15b2:
2623 Windows: Fix Precondition check for addDynamicInputLinkOptions
2624 + 83d406b7da32d1b1f6dd02eae2fe98582a4556fd:
2625 Windows, test-setup.sh: Setting RUNFILES_MANIFEST_FILE only when
2626 it exists.
2627 + e025726006236520f7e91e196b9e7f139e0af5f4:
2628 Update turbine
2629 + 5f312dd1678878fb7563eae0cd184f2270346352:
2630 Fix event id for action_completed BEP events
2631 + f0c844c77a2406518c4e75c49188390d5e281d3d:
2632 Release 0.19.0 (2018-10-29)
2633 + c3fb1db9e4e817e8a911f5b347b30f2674a82f7c:
2634 Do not use CROSSTOOL to select cc_toolchain
2635 + 8e280838e8896a6b5eb5421fda435b96b6f8de60:
2636 Windows Add tests for msys gcc toolchain and mingw gcc toolchain
2637 + fd52341505e725487c6bc6dfbe6b5e081aa037da:
2638 update bazel-toolchains pin to latest release Part of changes to
2639 allow bazelci to use 0.19.0 configs. RBE toolchain configs at or
2640 before 0.17.0 are not compatible with bazel 0.19.0 or above.
2641 + eb2af0f699350ad187048bf814a95af23f562c77:
2642 Release 0.19.1 (2018-11-12)
2643 + 6bc452874ddff69cbf7f66186238032283f1195f:
2644 Also update cc_toolchain.toolchain_identifier when
2645 CC_TOOLCHAIN_NAME is set
2646 + f7e5aef145c33968f658eb2260e25630dc41cc67:
2647 Add cc_toolchain targets for the new entries in the default
2648 cc_toolchain_suite.
2649 + 683c302129b66a8999f986be5ae7e642707e978c:
2650 Read the CROSSTOOL from the package of the current cc_toolchain,
2651 not from --crosstool_top
2652```
2653
2654- Fixes regression #6662, by fixing tools/cpp/BUILD
2655- Fixes regression #6665, by setting the toolchain identifier.
2656- CROSSTOOL file is now read from the package of cc_toolchain, not from the
2657 package of cc_toolchain_suite. This is not expected to break anybody since
2658 cc_toolchain_suite and cc_toolchain are commonly in the same package.
2659
Bazel Release System684f1092018-11-12 10:26:58 -05002660## Release 0.19.1 (2018-11-12)
2661
2662```
2663Baseline: ac880418885061d1039ad6b3d8c28949782e02d6
2664
2665Cherry picks:
2666
2667 + 9bc3b20053a8b99bf2c4a31323a7f96fabb9f1ec:
2668 Fix the "nojava" platform and enable full presubmit checks for
2669 the various JDK platforms now that we have enough GCE resources.
2670 + 54c2572a8cabaf2b29e58abe9f04327314caa6a0:
2671 Add openjdk_linux_archive java_toolchain for nojava platform.
2672 + 20bfdc67dc1fc32ffebbda7088ba49ee17e3e182:
2673 Automated rollback of commit
2674 19a401c38e30ebc0879925a5caedcbe43de0028f.
2675 + 914b4ce14624171a97ff8b41f9202058f10d15b2:
2676 Windows: Fix Precondition check for addDynamicInputLinkOptions
2677 + 83d406b7da32d1b1f6dd02eae2fe98582a4556fd:
2678 Windows, test-setup.sh: Setting RUNFILES_MANIFEST_FILE only when
2679 it exists.
2680 + e025726006236520f7e91e196b9e7f139e0af5f4:
2681 Update turbine
2682 + 5f312dd1678878fb7563eae0cd184f2270346352:
2683 Fix event id for action_completed BEP events
2684 + f0c844c77a2406518c4e75c49188390d5e281d3d:
2685 Release 0.19.0 (2018-10-29)
2686 + c3fb1db9e4e817e8a911f5b347b30f2674a82f7c:
2687 Do not use CROSSTOOL to select cc_toolchain
2688 + 8e280838e8896a6b5eb5421fda435b96b6f8de60:
2689 Windows Add tests for msys gcc toolchain and mingw gcc toolchain
2690 + fd52341505e725487c6bc6dfbe6b5e081aa037da:
2691 update bazel-toolchains pin to latest release Part of changes to
2692 allow bazelci to use 0.19.0 configs. RBE toolchain configs at or
2693 before 0.17.0 are not compatible with bazel 0.19.0 or above.
2694```
2695
2696Important changes:
2697- Fix regression #6610, which prevents using the MINGW compiler on Windows.
2698
Klaus Aehlig5e5832c2018-10-31 15:45:53 +01002699## Release 0.19.0 (2018-10-29)
2700
2701```
2702Baseline: ac880418885061d1039ad6b3d8c28949782e02d6
2703
2704Cherry picks:
2705
2706 + 9bc3b20053a8b99bf2c4a31323a7f96fabb9f1ec:
2707 Fix the "nojava" platform and enable full presubmit checks for
2708 the various JDK platforms now that we have enough GCE resources.
2709 + 54c2572a8cabaf2b29e58abe9f04327314caa6a0:
2710 Add openjdk_linux_archive java_toolchain for nojava platform.
2711 + 20bfdc67dc1fc32ffebbda7088ba49ee17e3e182:
2712 Automated rollback of commit
2713 19a401c38e30ebc0879925a5caedcbe43de0028f.
2714 + 914b4ce14624171a97ff8b41f9202058f10d15b2:
2715 Windows: Fix Precondition check for addDynamicInputLinkOptions
2716 + 83d406b7da32d1b1f6dd02eae2fe98582a4556fd:
2717 Windows, test-setup.sh: Setting RUNFILES_MANIFEST_FILE only when
2718 it exists.
2719 + e025726006236520f7e91e196b9e7f139e0af5f4:
2720 Update turbine
2721 + 5f312dd1678878fb7563eae0cd184f2270346352:
2722 Fix event id for action_completed BEP events
2723```
2724
2725The Bazel team is happy to announce a new version of Bazel, [Bazel 0.19](https://github.com/bazelbuild/bazel/releases/tag/0.19.0).
2726
2727This document lists the major changes since Bazel 0.18.
2728
2729General changes
2730---------------
2731
2732* The `--incompatible_expand_directories` flag will automatically expand directories in command lines. Design doc: https://docs.google.com/document/d/11agWFiOUiz2htBLj6swPTob5z78TrCxm8DQE4uJLOwM
2733
2734* 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.
2735
2736Android
2737-------
2738
2739* Fixed missing debug symbols when building native code with `--compilation_mode=dbg` that target Android ARM architectures by adding the `-g` flag.
2740
2741C++
2742---
2743
2744* 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.
2745
2746* 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.
2747
2748* :cc_binary link action no longer hardcodes `-static-libgcc` for toolchains that support embedded runtimes (guarded by `--experimental_dont_emit_static_libgcc` temporarily).
2749
2750* The flag `--experimental_enable_cc_configuration_make_variables` is removed, use `--incompatible_disable_cc_configuration_make_variables` instead.
2751
2752Java
2753----
2754
2755* 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.
2756
2757Code Coverage
2758-------------
2759
2760* LcovMerger was renamed to CoverageOutputGenerator.
2761
2762* Faster coverage collection for gcc compiled C++ code can now be tested by enabling it with `--experimental_cc_coverage`.
2763
2764Other Changes
2765-------------
2766
2767* Add `--apple_compiler` and `--apple_grte_top options`. These provide the equivalent of --compiler / --grte_top for the toolchain configured in --apple_crosstool_top.
2768
2769* There is now a `same_pkg_direct_rdeps` query function. See the query documentation for more details.
2770
2771* Propagating remote errors to the user even if `--verbose_failures=false` is set.
2772
2773* Add number of configured targets to analysis phase status output.
2774
2775* 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.
2776
2777Future Changes
2778--------------
2779
2780* 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:
2781 * [`--incompatible_disable_late_bound_option_defaults`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-late-bound-option-defaults): #6384
2782 * [`--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
2783 * [`--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
2784 * [`--incompatible_disable_cc_configuration_make_variables`](https://github.com/bazelbuild/bazel/issues/6381): #6381
2785 * [`--incompatible_disable_legacy_cpp_toolchain_skylark_api`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-legacy-c-configuration-api): #6380
2786 * [`incompatible_disable_legacy_flags_cc_toolchain_api`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-legacy-c-toolchain-api): #6434
2787
2788* 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.
2789
2790Thank you to our contributors!
2791------------------------------
2792
2793This 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
2794
2795Thank you to everyone who contributed to this release!
2796
Bazel Release System92849b82018-10-31 15:41:11 +01002797## Release 0.18.1 (2018-10-31)
Bazel Release System36177972018-10-15 10:29:10 +02002798
2799```
Bazel Release System92849b82018-10-31 15:41:11 +01002800Baseline: c062b1f1730f3562d5c16a037b374fc07dc8d9a2
Bazel Release System36177972018-10-15 10:29:10 +02002801
2802Cherry picks:
2803
Bazel Release System92849b82018-10-31 15:41:11 +01002804 + 2834613f93f74e988c51cf27eac0e59c79ff3b8f:
2805 Include also ext jars in the bootclasspath jar.
2806 + 2579b791c023a78a577e8cb827890139d6fb7534:
2807 Fix toolchain_java9 on --host_javabase=<jdk9> after
2808 7eb9ea150fb889a93908d96896db77d5658e5005
2809 + faaff7fa440939d4367f284ee268225a6f40b826:
2810 Release notes: fix markdown
2811 + b073a18e3fac05e647ddc6b45128a6158b34de2c:
2812 Fix NestHost length computation Fixes #5987
2813 + bf6a63d64a010f4c363d218e3ec54dc4dc9d8f34:
2814 Fixes #6219. Don't rethrow any remote cache failures on either
2815 download or upload, only warn. Added more tests.
2816 + c1a7b4c574f956c385de5c531383bcab2e01cadd:
2817 Fix broken IdlClassTest on Bazel's CI.
2818 + 71926bc25b3b91fcb44471e2739b89511807f96b:
2819 Fix the Xcode version detection which got broken by the upgrade
2820 to Xcode 10.0.
2821 + 86a8217d12263d598e3a1baf2c6aa91b2e0e2eb5:
2822 Temporarily restore processing of workspace-wide tools/bazel.rc
2823 file.
Bazel Release System83870d62018-10-29 10:31:13 -04002824 + 914b4ce14624171a97ff8b41f9202058f10d15b2:
2825 Windows: Fix Precondition check for addDynamicInputLinkOptions
Bazel Release System83870d62018-10-29 10:31:13 -04002826 + e025726006236520f7e91e196b9e7f139e0af5f4:
2827 Update turbine
Bazel Release System36177972018-10-15 10:29:10 +02002828```
2829
Bazel Release System92849b82018-10-31 15:41:11 +01002830Important changes:
Bazel Release System83870d62018-10-29 10:31:13 -04002831
Bazel Release System92849b82018-10-31 15:41:11 +01002832 - Fix regression #6219, remote cache failures
Bazel Release System36177972018-10-15 10:29:10 +02002833
Klaus Aehlig7b417542018-10-29 15:46:36 +01002834## Release 0.18.0 (2018-10-15)
2835
2836```
2837Baseline: c062b1f1730f3562d5c16a037b374fc07dc8d9a2
2838
2839Cherry picks:
2840
2841 + 2834613f93f74e988c51cf27eac0e59c79ff3b8f:
2842 Include also ext jars in the bootclasspath jar.
2843 + 2579b791c023a78a577e8cb827890139d6fb7534:
2844 Fix toolchain_java9 on --host_javabase=<jdk9> after
2845 7eb9ea150fb889a93908d96896db77d5658e5005
2846 + faaff7fa440939d4367f284ee268225a6f40b826:
2847 Release notes: fix markdown
2848 + b073a18e3fac05e647ddc6b45128a6158b34de2c:
2849 Fix NestHost length computation Fixes #5987
2850 + bf6a63d64a010f4c363d218e3ec54dc4dc9d8f34:
2851 Fixes #6219. Don't rethrow any remote cache failures on either
2852 download or upload, only warn. Added more tests.
2853 + c1a7b4c574f956c385de5c531383bcab2e01cadd:
2854 Fix broken IdlClassTest on Bazel's CI.
2855 + 71926bc25b3b91fcb44471e2739b89511807f96b:
2856 Fix the Xcode version detection which got broken by the upgrade
2857 to Xcode 10.0.
2858 + 86a8217d12263d598e3a1baf2c6aa91b2e0e2eb5:
2859 Temporarily restore processing of workspace-wide tools/bazel.rc
2860 file.
2861```
2862
2863General changes
2864
2865- New [bazelrc file list](https://docs.bazel.build/versions/master/user-manual.html#where-are-the-bazelrc-files).
2866 If you need to keep both the old and new lists of .rc files active
2867 concurrently to support multiple versions of Bazel, you can import the old
2868 file location into the new list using `try-import`. This imports a file if it
2869 exists and silently exits if it does not. You can use this method to account
2870 for a user file that may or may not exist
2871
2872- [.bazelignore](https://docs.bazel.build/versions/master/user-manual.html#.bazelignore)
2873 is now fully functional.
2874
2875- The startup flag `--host_javabase` has been renamed to
2876 `--server_javabase` to avoid confusion with the build flag
2877 `--host_javabase`.
2878
2879Android
2880
2881- The Android resource processing pipeline now supports persistence
2882 via worker processes. Enable it with
2883 `--persistent_android_resource_processor`. We have observed a 50% increase
2884 in build speed for clean local builds and up to 150% increase in build
2885 speed for incremental local builds.
2886
2887C++
2888
2889- In-memory package //tools/defaults has been removed (controlled by
2890 `--incompatible_disable_tools_defaults_package` flag). Please see
2891 [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-inmemory-tools-defaults-package)
2892 and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy
2893 behavior will be removed in Bazel 0.20.
2894
2895- Late bound option defaults (typical example was the `--compiler` flag, when
2896 it was not specified, it’s value was computed using the CROSSTOOL) are removed
2897 (controlled by `--incompatible_disable_late_bound_option_defaults` flag).
2898 Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-late-bound-option-defaults)
2899 and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy
2900 behavior will be removed in Bazel 0.20.
2901
2902- Depsets are no longer accepted in `user_compile_flags` and `user_link_flags`
2903 in the C++ toolchain API (controlled by
2904 `--incompatible_disable_depset_in_cc_user_flags` flag) affects C++ users.
2905 Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-depsets-in-c-toolchain-api-in-user-flags)
2906 and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy
2907 behavior will be removed in Bazel 0.20.
2908
2909- CROSSTOOL is no longer consulted when selecting C++ toolchain (controlled by
2910 `--incompatible_disable_cc_toolchain_label_from_crosstool_proto` flag).
2911 Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disallow-using-crosstool-to-select-the-cc_toolchain-label)
2912 and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20.
2913
2914- You can now use [`toolchain_identifier` attribute](https://github.com/bazelbuild/bazel/commit/857d4664ce939f240b1d10d8d2baca6c6893cfcb)
2915 on `cc_toolchain` to pair it with CROSSTOOL toolchain.
2916
2917- C++ specific Make variables
2918 are no longer passed from the `CppConfiguration`, but from the C++ toolchain
2919 (controlled by `--incompatible_disable_cc_configuration_make_variables` flag).
2920 Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disallow-using-c-specific-make-variables-from-the-configuration)
2921 and migrate soon, the flag will be flipped
2922 in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20.
2923
2924- Skylark api accessing C++
2925 toolchain in `ctx.fragments.cpp` is removed (controlled by
2926 `--incompatible_disable_legacy_cpp_toolchain_skylark_api` flag).
2927 Please migrate soon, the flag will be flipped
2928 in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20.
2929
2930- cc_binary link action no longer hardcodes
2931 `-static-libgcc` for toolchains that support embedded runtimes
2932 (guarded by [`--experimental_dont_emit_static_libgcc`](https://source.bazel.build/bazel/+/2f281960b829e964526a9d292d4c3003e4d19f1c)
2933 temporarily). Proper deprecation using `--incompatible` flags will follow.
2934
2935Java
2936
2937- Future versions of Bazel will require a locally installed JDK
2938 for Java development. Previously Bazel would fall back to using
2939 the embedded `--server_javabase` if no JDK as available. Pass
2940 `--incompatible_never_use_embedded_jdk_for_javabase` to disable the
2941 legacy behaviour.
2942
2943- `--javacopt=` no longer affects compilations of tools that are
2944 executed during the build; use `--host_javacopt=` to change javac
2945 flags in the host configuration.
2946
2947Objective C
2948
2949- `objc_library` now supports the module_name attribute.
2950
2951Skylark
2952
2953- Adds `--incompatible_expand_directories` to automatically expand
2954 directories in skylark command lines. Design doc:
2955 https://docs.google.com/document/d/11agWFiOUiz2htBLj6swPTob5z78TrCxm8DQE4uJLOwM
2956
2957- Support fileset expansion in ctx.actions.args(). Controlled by
2958 `--incompatible_expand_directories`.
2959
2960Windows
2961
2962- `--windows_exe_launcher` is deprecated, this flag will be removed
2963 soon. Please make sure you are not using it.
2964
2965- Bazel now supports the symlink runfiles tree on Windows with
2966 `--experimental_enable_runfiles` flag. For more details, see
2967 [this doc](https://docs.google.com/document/d/1hnYmU1BmtCSJOUvvDAK745DSJQCapToJxb3THXYMrmQ).
2968
2969Other Changes
2970
2971- A new experimental option `--experimental_ui_deduplicate` has been added. It
2972 causes the UI to attempt to deduplicate messages from actions to keep the
2973 console output cleaner.
2974
2975- Add `--modify_execution_info`, a flag to customize action execution
2976 info.
2977
2978- Add ExecutionInfo to aquery output for ExecutionInfoSpecifier
2979 actions.
2980
2981- When computing `--instrumentation_filter`, end filter patterns with
2982 "[/:]" to match non-top-level packages exactly and treat
2983 top-level targets consistently.
2984
2985- Added the `bazel info server_log` command, which obtains the main Bazel
2986 server log file path. This can help debug Bazel issues.
2987
2988- `aapt shrink` resources now properly respect filter configurations.
2989
Bazel Release System50921e62018-09-21 12:27:04 +02002990## Release 0.17.2 (2018-09-21)
2991
2992```
2993Baseline: aa118ca818baf722aede0bc48d0a17584fa45b6e
2994
2995Cherry picks:
2996 + 0e0462589528154cb5160411991075a2000b5452:
2997 Update checker framework dataflow and javacutil versions
2998 + 3987300d6651cf0e6e91b395696afac6913a7d66:
2999 Stop using --release in versioned java_toolchains
3000 + 438b2773b8c019afa46be470b90bcf70ede7f2ef:
3001 make_deb: Add new empty line in the end of conffiles file
3002 + 504401791e0a0e7e3263940e9e127f74956e7806:
3003 Properly mark configuration files in the Debian package.
3004 + 9ed9d8ac4347408d15c8fce7c9c07e5c8e658b30:
3005 Add flag
3006 --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfil
3007 es_tree.
3008 + 22d761ab42dfb1b131f1facbf490ccdb6c17b89c:
3009 Update protobuf to 3.6.1 -- add new files
3010 + 27303d79c38f2bfa3b64ee7cd7a6ef03a9a87842:
3011 Update protobuf to 3.6.1 -- update references
3012 + ddc97ed6b0367eb443e3e09a28d10e65179616ab:
3013 Update protobuf to 3.6.1 -- remove 3.6.0 sources
3014 + ead1002d3803fdfd4ac68b4b4872076b19d511a2:
3015 Fix protobuf in the WORKSPACE
3016 + 12dcd35ef7a26d690589b0fbefb1f20090cbfe15:
3017 Revert "Update to JDK 10 javac"
3018 + 7eb9ea150fb889a93908d96896db77d5658e5005:
3019 Automated rollback of
3020 https://github.com/bazelbuild/bazel/commit/808ec9ff9b5cec14f23a4b
3021 a106bc5249cacc8c54 and
3022 https://github.com/bazelbuild/bazel/commit/4c9149d558161e7d3e363f
3023 b697f5852bc5742a36 and some manual merging.
3024 + 4566a428c5317d87940aeacfd65f1018340e52b6:
3025 Fix tests on JDK 9 and 10
3026 + 1e9f0aa89dad38eeab0bd40e95e689be2ab6e5e5:
3027 Fix more tests on JDK 9 and 10
3028 + a572c1cbc8c26f625cab6716137e2d57d05cfdf3:
3029 Add ubuntu1804_nojava, ubuntu1804_java9, ubuntu1804_java10 to
3030 postsubmit.
3031 + 29f1de099e4f6f0f50986aaa4374fc5fb7744ee8:
3032 Disable Android shell tests on the "nojava" platform.
3033 + b495eafdc2ab380afe533514b3bcd7d5b30c9935:
3034 Update bazel_toolchains to latest release.
3035 + 9323c57607d37f9c949b60e293b573584906da46:
3036 Windows: fix writing java.log
3037 + 1aba9ac4b4f68b69f2d91e88cfa8e5dcc7cb98c2:
3038 Automated rollback of commit
3039 de22ab0582760dc95f33e217e82a7b822378f625.
3040 + 2579b791c023a78a577e8cb827890139d6fb7534:
3041 Fix toolchain_java9 on --host_javabase=<jdk9> after
3042 7eb9ea150fb889a93908d96896db77d5658e5005
3043 + 2834613f93f74e988c51cf27eac0e59c79ff3b8f:
3044 Include also ext jars in the bootclasspath jar.
3045 + fdb09a260dead1e1169f94584edc837349a4f4a5:
3046 Release 0.17.1 (2018-09-14)
3047 + 1d956c707e1c843896ac58a341c335c9c149073d:
3048 Do not fail the build when gcov is not installed
3049 + 2e677fb6b8f309b63558eb13294630a91ee0cd33:
3050 Ignore unrecognized VM options in desugar.sh, such as the JVM 9
3051 flags to silence warnings.
3052```
3053
3054Important changes:
3055
3056 - In the future, Bazel will expand tree artifacts in runfiles, too,
3057 which causes the sandbox to link each file individually into the
3058 sandbox directory, instead of symlinking the entire directory. In
3059 this release, the behavior is not enabled by default yet. Please
3060 try it out via
3061 --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfile
3062 s_tree and let us know if it causes issues. If everything looks
3063 good, this behavior will become the default in a following
3064 release.
3065
Bazel Release Systemfdb09a22018-09-14 12:15:54 +02003066## Release 0.17.1 (2018-09-14)
3067
3068```
3069Baseline: aa118ca818baf722aede0bc48d0a17584fa45b6e
3070
3071Cherry picks:
3072 + 0e0462589528154cb5160411991075a2000b5452:
3073 Update checker framework dataflow and javacutil versions
3074 + 3987300d6651cf0e6e91b395696afac6913a7d66:
3075 Stop using --release in versioned java_toolchains
3076 + 438b2773b8c019afa46be470b90bcf70ede7f2ef:
3077 make_deb: Add new empty line in the end of conffiles file
3078 + 504401791e0a0e7e3263940e9e127f74956e7806:
3079 Properly mark configuration files in the Debian package.
3080 + 9ed9d8ac4347408d15c8fce7c9c07e5c8e658b30:
3081 Add flag
3082 --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfil
3083 es_tree.
3084 + 22d761ab42dfb1b131f1facbf490ccdb6c17b89c:
3085 Update protobuf to 3.6.1 -- add new files
3086 + 27303d79c38f2bfa3b64ee7cd7a6ef03a9a87842:
3087 Update protobuf to 3.6.1 -- update references
3088 + ddc97ed6b0367eb443e3e09a28d10e65179616ab:
3089 Update protobuf to 3.6.1 -- remove 3.6.0 sources
3090 + ead1002d3803fdfd4ac68b4b4872076b19d511a2:
3091 Fix protobuf in the WORKSPACE
3092 + 12dcd35ef7a26d690589b0fbefb1f20090cbfe15:
3093 Revert "Update to JDK 10 javac"
3094 + 7eb9ea150fb889a93908d96896db77d5658e5005:
3095 Automated rollback of
3096 https://github.com/bazelbuild/bazel/commit/808ec9ff9b5cec14f23a4b
3097 a106bc5249cacc8c54 and
3098 https://github.com/bazelbuild/bazel/commit/4c9149d558161e7d3e363f
3099 b697f5852bc5742a36 and some manual merging.
3100 + 4566a428c5317d87940aeacfd65f1018340e52b6:
3101 Fix tests on JDK 9 and 10
3102 + 1e9f0aa89dad38eeab0bd40e95e689be2ab6e5e5:
3103 Fix more tests on JDK 9 and 10
3104 + a572c1cbc8c26f625cab6716137e2d57d05cfdf3:
3105 Add ubuntu1804_nojava, ubuntu1804_java9, ubuntu1804_java10 to
3106 postsubmit.
3107 + 29f1de099e4f6f0f50986aaa4374fc5fb7744ee8:
3108 Disable Android shell tests on the "nojava" platform.
3109 + b495eafdc2ab380afe533514b3bcd7d5b30c9935:
3110 Update bazel_toolchains to latest release.
3111 + 9323c57607d37f9c949b60e293b573584906da46:
3112 Windows: fix writing java.log
3113 + 1aba9ac4b4f68b69f2d91e88cfa8e5dcc7cb98c2:
3114 Automated rollback of commit
3115 de22ab0582760dc95f33e217e82a7b822378f625.
3116 + 2579b791c023a78a577e8cb827890139d6fb7534:
3117 Fix toolchain_java9 on --host_javabase=<jdk9> after
3118 7eb9ea150fb889a93908d96896db77d5658e5005
3119 + 2834613f93f74e988c51cf27eac0e59c79ff3b8f:
3120 Include also ext jars in the bootclasspath jar.
3121```
3122
3123Incompatible changes:
3124
3125 - Loading @bazel_tools//tools/build_defs/repo:git_repositories.bzl
3126 no longer works. Load @bazel_tools//tools/build_defs/repo:git.bzl
3127 instead.
3128 - If the same artifact is generated by two distinct but identical
3129 actions, and a downstream action has both those actions' outputs
3130 in its inputs, the artifact will now appear twice in the
3131 downstream action's inputs. If this causes problems in Skylark
3132 actions, you can use the uniquify=True argument in Args.add_args.
3133 - If the same artifact is generated by two distinct but identical
3134 actions, and a downstream action has both those actions' outputs
3135 in its inputs, the artifact will now appear twice in the
3136 downstream action's inputs. If this causes problems in Skylark
3137 actions, you can use the uniquify=True argument in Args.add_args.
3138 - Labels in C++ rules' linkopts attribute are not expanded anymore
3139 unless they are wrapped, e.g: $(location //foo:bar)
3140 - If the same artifact is generated by two distinct but identical
3141 actions, and a downstream action has both those actions' outputs
3142 in its inputs, the artifact will now appear twice in the
3143 downstream action's inputs. If this causes problems in Skylark
3144 actions, you can use the uniquify=True argument in Args.add_args.
3145 - New bazelrc file list.
3146 - Windows: when BAZEL_SH envvar is not defined and Bazel searches
3147 for a suitable bash.exe, Bazel will no longer look for Git Bash
3148 and no longer recommend installing it as a Bash implementation.
3149 See issue #5751.
3150 - New bazelrc file list.
3151
3152New features:
3153
3154 - The aquery command now supports --output=text.
3155 - Java, runfiles: the Java runfiles library is now in
3156 @bazel_tools//tools/java/runfiles. The old target
3157 (@bazel_tools//tools/runfiles:java-runfiles) is deprecated and
3158 will be removed in Bazel 0.18.0.
3159 - Java, runfiles: the Java runfiles library is now in
3160 @bazel_tools//tools/java/runfiles. The old target
3161 (@bazel_tools//tools/runfiles:java-runfiles) is deprecated and
3162 will be removed in Bazel 0.19.0 (not 0.18.0, as stated earlier).
3163
3164Important changes:
3165
3166 - Allow @ in package names.
3167 - Remove support for java_runtime_suite; use alias() together with
3168 select() instead.
3169 - Python wrapper scripts for MSVC are removed.
3170 - [JavaInfo] Outputs are merged in java_common.merge().
3171 - Faster analysis by improved parallelization.
3172 - --experimental_shortened_obj_file_path is removed.
3173 - Introduce the --remote_cache_proxy flag,
3174 which allows for remote http caching to connect
3175 via a unix domain socket.
3176 - No longer define G3_VERSION_INFO for c++ linkstamp compiles, as
3177 it was a duplicate of G3_TARGET_NAME.
3178 - Added support for Android NDK r17. The default STL is now
3179 `libc++`, and support for targeting `mips`, `mips64` and `ARMv5`
3180 (`armeabi`) has been removed.
3181 - Add aquery command to get analysis time information about the
3182 action graph.
3183 - Fixed compatibility with aar_import when using aapt2. AAPT2 is
3184 now supported for Android app builds without resource shrinking.
3185 To use it, pass the `--android_aapt=aapt2` flag or define
3186 android_binary.aapt_version=aapt2.
3187 - Code coverage is collected for Java binaries invoked from sh_test.
3188 - java_common.compile creates the native headers jar accesible via
3189 JavaInfo.outputs.native_headers.
3190 - Deleting deprecated no-op flag --show_package_location
3191 - The JDK shipped with Bazel was updated to JDK10.
3192 - Rename the startup flag --host_javabase to --server_javabase to
3193 avoid confusion with the build flag --host_javabase
3194 - newly added options --experimental_repository_hash_file and
3195 --experimental_verify_repository_rules allow to verify for
3196 repositories
3197 the directory generated against pre-recorded hashes. See
3198 documentation
3199 for those options.
3200 - Removed the gen_jars output group
3201 - --subcommands can now take a "pretty_print" value
3202 ("--subcommands=pretty_print") to print the
3203 arguments of subcommands as a list for easier reading.
3204 - follow-up to
3205 https://github.com/bazelbuild/bazel/commit/1ac359743176e659e9c7472
3206 645e3142f3c44b9e8
3207 - A rule error is now thrown if a Skylark rule implementation
3208 function returns multiple providers of the same type.
3209 - When using Bazel's remote execution feature and Bazel has to
3210 fallback to local execution for an action, Bazel used
3211 non-sandboxed
3212 local execution until now. From this release on, you can use the
3213 new
3214 flag --remote_local_fallback_strategy=<strategy> to tell Bazel
3215 which
3216 strategy to use in that case.
3217 - Execution Log Parser can now, when printing it out, filter the
3218 log by runner type
3219 - A rule error is now thrown if a Skylark rule implementation
3220 function returns multiple providers of the same type.
3221 - Removed the gen_jars output group
3222 - Removed the gen_jars output group
3223 - Set --defer_param_files to default to true.
3224 - Sort attribute lists in proto-form query output to fix
3225 non-deterministic genquery output.
3226 - Replace 0/1 with False/True for testonly attribute
3227 - bazel now supports a .bazelignore file specifying
3228 directories to be ignored; however, these directories still
3229 have to be well founded and, in particular, may not contain
3230 symlink cycles.
3231 - Add more detailed reporting of the differences between startup
3232 options.
3233 - update data binding to 3.2.0
3234 - For Android incremental dexing actions, Bazel now persists its
3235 DexBuilder process across individual actions. From our
3236 benchmarks, this results in a 1.2x speedup for clean local builds.
3237 - The standard `xcode_VERSION` feature now always uses exactly two
3238 components in the version, even if you specify `--xcode_version`
3239 with
3240 more or fewer than two.
3241 - A rule error will be thrown if a Skylark rule implementation
3242 function returns multiple providers of the same type. Try the
3243 `--incompatible_disallow_conflicting_providers` flag to ensure
3244 your code is forward-compatible.
3245 - Removed notion of FULLY_STATIC linking mode from C++ rules.
3246 - In documentation, we've renamed Skylark into Starlark.
3247 - Execution Log Parser can now, when printing it out, reorder the
3248 actions for easier text diffs
3249 - Linkstamps are no longer recompiled after server restart.
3250 - Use VanillaJavaBuilder and disable header compilation in
3251 toolchain_hostjdk8. The default toolchain will soon drop
3252 compatibility with JDK 8. Using a JDK 8 host_javabase
3253 will only be supported when using 'VanillaJavaBuilder' (which
3254 does not support Error Prone,
3255 Strict Java Deps, or reduced classpaths) and with header
3256 compilation disabled.
3257 - In the future, Bazel will expand tree artifacts in runfiles, too,
3258 which causes the sandbox to link each file individually into the
3259 sandbox directory, instead of symlinking the entire directory. In
3260 this release, the behavior is not enabled by default yet. Please
3261 try it out via
3262 --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfile
3263 s_tree and let us know if it causes issues. If everything looks
3264 good, this behavior will become the default in a following
3265 release.
3266
Bazel Release System1bd58832018-08-13 15:41:26 +02003267## Release 0.16.1 (2018-08-13)
3268
3269```
3270Baseline: 4f64b77a3dd8e4ccdc8077051927985f9578a3a5
3271
3272Cherry picks:
3273 + 4c9a0c82d308d5df5c524e2a26644022ff525f3e:
3274 reduce the size of bazel's embedded jdk
3275 + d3228b61f633cdc5b3f740b641a0836f1bd79abd:
3276 remote: limit number of open tcp connections by default. Fixes
3277 #5491
3278 + 8ff87c164f48dbabe3b20becd00dde90c50d46f5:
3279 Fix autodetection of linker flags
3280 + c4622ac9205d2f1b42dac8c598e83113d39e7f11:
3281 Fix autodetection of -z linker flags
3282 + 10219659f58622d99034288cf9f491865f818218:
3283 blaze_util_posix.cc: fix order of #define
3284 + ab1f269017171223932e0da9bb539e8a17dd99ed:
3285 blaze_util_freebsd.cc: include path.h explicitly
3286 + 68e92b45a37f2142c768a56eb7ecfa484b8b22df:
3287 openjdk: update macOS openjdk image. Fixes #5532
3288 + f45c22407e6b00fcba706eb62141cb9036bd38d7:
3289 Set the start time of binary and JSON profiles to zero correctly.
3290 + bca1912853086b8e9a28a85a1b144ec0dc9717cc:
3291 remote: fix race on download error. Fixes #5047
3292 + 3842bd39e10612c7eef36c6048407e81bcd0a8fb:
3293 jdk: use parallel old gc and disable compact strings
3294 + 6bd0bdf5140525cb33dc2db068b210261d9df271:
3295 Add objc-fully-link to the list of actions that require the
3296 apple_env feature. This fixes apple_static_library functionality.
3297 + f330439fb970cfa17c70fc59c1458bb1c31c9522:
3298 Add the action_names_test_files target to the OSS version of
3299 tools/buils_defs/cc/BUILD.
3300 + d215b64362c4ede61c8ba87b5f3f57bce4785d15:
3301 Fix StackOverflowError on Windows. Fixes #5730
3302 + 366da4cf27b7f957ef39f89206db77fa2ac289df:
3303 In java_rules_skylark depend on the javabase through
3304 //tools/jdk:current_java_runtime
3305 + 30c601dc13d9e1b40a57434c022c888c7578cc56:
3306 Don't use @local_jdk for jni headers
3307 + c56699db5f9173739ba3ac55aa9fa69b6457a99b:
3308 'DumpPlatformClasspath' now dumps the current JDK's default
3309 platform classpath
3310```
3311
3312This release is a patch release that contains fixes for several serious
3313regressions that were found after the release of Bazel 0.16.0.
3314
3315In particular this release resolves the following issues:
3316
3317 - Bazel crashes with a StackOverflowError on Windows (See #5730)
3318 - Bazel requires a locally installed JDK and does not fall back
3319 to the embedded JDK (See #5744)
3320 - Bazel fails to build for Homebrew on macOS El Capitan (See #5777)
3321 - A regression in apple_static_library (See #5683)
3322
3323Please watch our blog for a more detailed release announcement.
3324
Bazel Release Systemb292ad12018-07-31 12:55:37 -04003325## Release 0.16.0 (2018-07-31)
Bazel Release System97564f62018-07-17 14:19:41 +02003326
3327```
Bazel Release Systemb292ad12018-07-31 12:55:37 -04003328Baseline: 4f64b77a3dd8e4ccdc8077051927985f9578a3a5
Bazel Release System97564f62018-07-17 14:19:41 +02003329
3330Cherry picks:
Bazel Release Systemb292ad12018-07-31 12:55:37 -04003331 + 4c9a0c82d308d5df5c524e2a26644022ff525f3e:
3332 reduce the size of bazel's embedded jdk
3333 + d3228b61f633cdc5b3f740b641a0836f1bd79abd:
3334 remote: limit number of open tcp connections by default. Fixes
3335 #5491
Bazel Release System97564f62018-07-17 14:19:41 +02003336 + 8ff87c164f48dbabe3b20becd00dde90c50d46f5:
3337 Fix autodetection of linker flags
3338 + c4622ac9205d2f1b42dac8c598e83113d39e7f11:
3339 Fix autodetection of -z linker flags
Bazel Release Systemb292ad12018-07-31 12:55:37 -04003340 + 10219659f58622d99034288cf9f491865f818218:
3341 blaze_util_posix.cc: fix order of #define
3342 + ab1f269017171223932e0da9bb539e8a17dd99ed:
3343 blaze_util_freebsd.cc: include path.h explicitly
3344 + 68e92b45a37f2142c768a56eb7ecfa484b8b22df:
3345 openjdk: update macOS openjdk image. Fixes #5532
3346 + f45c22407e6b00fcba706eb62141cb9036bd38d7:
3347 Set the start time of binary and JSON profiles to zero correctly.
3348 + bca1912853086b8e9a28a85a1b144ec0dc9717cc:
3349 remote: fix race on download error. Fixes #5047
3350 + 3842bd39e10612c7eef36c6048407e81bcd0a8fb:
3351 jdk: use parallel old gc and disable compact strings
Bazel Release System97564f62018-07-17 14:19:41 +02003352```
3353
Bazel Release Systemb292ad12018-07-31 12:55:37 -04003354Incompatible changes:
3355
3356 - The $(ANDROID_CPU) Make variable is not available anymore. Use
3357 $(TARGET_CPU) after an Android configuration transition instead.
3358 - The $(JAVA_TRANSLATIONS) Make variable is not supported anymore.
3359 - Skylark structs (using struct()) may no longer have to_json and
3360 to_proto overridden.
3361 - The mobile-install --skylark_incremental_res flag is no longer
3362 available, use the --skylark flag instead.
3363
3364New features:
3365
3366 - android_local_test now takes advantage of Robolectric's binary
3367 resource processing which allows for faster tests.
3368 - Allow @ in package names.
3369
Bazel Release System97564f62018-07-17 14:19:41 +02003370Important changes:
3371
Bazel Release Systemb292ad12018-07-31 12:55:37 -04003372 - Option --glibc is removed, toolchain selection relies solely on
3373 --cpu and --compiler options.
3374 - Build support for enabling cross binary FDO optimization.
3375 - The --distdir option is no longer experimental. This
3376 option allows to specify additional directories to look for
3377 files before trying to fetch them from the network. Files from
3378 any of the distdirs are only used if a checksum for the file
3379 is specified and both, the filename and the checksum, match.
3380 - Java coverage works now with multiple jobs.
3381 - Flip default value of --experimental_shortened_obj_file_path to
3382 true, Bazel now generates short object file path by default.
3383 - New rules for importing Android dependencies:
3384 `aar_import_external` and `aar_maven_import_external`.
3385 `aar_import_external` enables specifying external AAR
3386 dependencies using a list of HTTP URLs for the artifact.
3387 `aar_maven_import_external` enables specifying external AAR
3388 dependencies using the artifact coordinate and a list of server
3389 URLs.
3390 - The BAZEL_JAVAC_OPTS environment variable allows arguments, e.g.,
3391 "-J-Xmx2g", may be passed to the javac compiler during bootstrap
3392 build. This is helpful if your system chooses too small of a max
3393 heap size for the Java compiler during the bootstrap build.
3394 - --noexpand_configs_in_place is deprecated.
3395 - A tool to parse the Bazel execution log.
3396 - Support for LIPO has been fully removed.
3397 - Remove support for --discard_actions_after_execution.
3398 - Add --materialize_param_files flag to write parameter files even
3399 when actions are executed remotely.
3400 - Windows default system bazelrc is read from the user's
3401 ProgramData if present.
3402 - --[no]allow_undefined_configs no longer exists, passing undefined
3403 configs is an error.
Bazel Release System1281a022018-07-16 16:13:53 +02003404 - In remote caching we limit the number of open
3405 TCP connections to 100 by default. The number can be adjusted
3406 by specifying the --remote_max_connections flag.
3407
Bazel Release System5013a332018-06-26 14:07:47 +02003408## Release 0.15.0 (2018-06-26)
3409
3410```
3411Baseline: b93ae42e8e693ccbcc387841a17f58259966fa38
3412
3413Cherry picks:
3414 + 4b80f2455e7e49a95f3a4c9102a67a57dad52207:
3415 Add option to enable Docker sandboxing.
3416 + 6b1635279e8b33dc1ac505ac81825e38f8797a14:
3417 Allow disabling the simple blob caches via CLI flag overrides.
3418 + 4ec0a7524913ab2c4641368e3f8c09b347351a08:
3419 Use BUILD.bazel instead of BUILD for external projects
3420```
3421
3422Incompatible changes:
3423
3424 - Bazel now always runs binaries in with "bazel run" in
3425 interactive mode. The "--nodirect_run" command line option is now
3426 a no-op.
3427 - "bazel run --noas_test" is not supported anymore.
3428 - Indentation on the first line of a file was previously ignored.
3429 This is now fixed.
3430
3431New features:
3432
3433 - C++,runfiles: to access data-dependencies (runfiles) in C++
3434 programs, use the runfiles library built into Bazel. For usage
3435 info, see
3436 https://github.com/bazelbuild/bazel/blob/master/tools/cpp/runfiles
3437 /runfiles.h
3438
3439Important changes:
3440
3441 - Bazel now allows almost all 7-bit ASCII characters in labels.
3442 - Remove vestigial java_plugin.data attribute
3443 - Bazel supports including select Java 8 APIs into Android apps
3444 targeting pre-Nougat Android devices with
3445 --experimental_desugar_java8_libs
3446 - Flag `--incompatible_disable_glob_tracking` is removed.
3447 - SkyQuery's rbuildfiles now returns targets corresponding to
3448 broken packages.
3449 - Introduce build support for providing cache prefetch hints.
3450 - Update the skylark DefaultInfo documentation to spell out
3451 runfiles, data_runfiles and default_runfiles
3452 - An internal action for symlinking runfiles will use Command
3453 instead of a Spawns. This should have no functional chages; the
3454 only user visible consequence should be that the internal action
3455 is no longer be included in statistics when calculating processes
3456 count.
3457 - --batch is deprecated
3458 - execution strategies line no longer handles differently the case
3459 where all processes have the same strategy.
3460 - The --experimental_remote_spawn_cache flag is now enabled by
3461 default, and remote caching no longer needs --*_strategy=remote
3462 flags (it will fail if they are specified).
3463 - android_binary.aapt_version='aapt2' now supports en_XA and ar_XB
3464 - Added --apple_enable_auto_dsym_dbg flag.
3465 - non_propagated_deps has been removed from objc_library and
3466 apple_binary.
3467 - For Android projects, Bazel now supports building fonts as
3468 resources. See
3469 https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml
3470 for more information on the feature.
3471 - With --incompatible_no_support_tools_in_action_inputs enabled, Skylark
3472 action inputs are no longer scanned for tools. Move any such
3473 inputs to the newly introduced 'tools' attribute.
3474
Bazel Release System513bbf52018-06-08 14:15:20 +02003475## Release 0.14.1 (2018-06-08)
3476
3477```
3478Baseline: 5c3f5c9be7fa40d4fb3c35756891fab8483ca406
3479
3480Cherry picks:
3481 + f96f037f8f77335dc444844abcc31a372a3e1849:
3482 Windows, Java launcher: Support jar files under different drives
3483 + ff8162d01409db34893de98bd840a51c5f13e257:
3484 sh_configure.bzl: FreeBSD is also a known platform
3485 + 7092ed324137f03fcd34856bdb0595a1bdec3069:
3486 Remove unneeded exec_compatible_with from local_sh_toolchain
3487 + 57bc201346e61c62a921c1cbf32ad24f185c10c9:
3488 Do not autodetect C++ toolchain when
3489 BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 is present
3490 + 35a78c09cf2fbfc3de9c124d2142e3d72aac4348:
3491 remote: recursively delete incomplete downloaded output
3492 directory.
3493 + 3c9cd82b847f3ece8ec04b2029bd5e8ad0eb7502:
3494 distfile: pack the archives needed later in the build
3495 + 27487c77387e457df18be3b6833697096d074eab:
3496 Slightly refactor SpawnAction to improve env handling
3497 + 1b333a2c37add9d04fe5bc5258ee4f73c93115e2:
3498 Fix Cpp{Compile,Link}Action environment and cache key computation
3499 + 3da8929963e9c70dff5d8859d6e988e6e7f4f9d7:
3500 Make SymlinkTreeAction properly use the configuration's
3501 environment
3502 + eca7b81cf8cc51e1fe56e5ed7d4ad5cd1668a17a:
3503 Add a missing dependency from checker framework dataflow to
3504 javacutils
3505 + 10a4de954c2061258d8222961fc3bd39516db49d:
3506 Release 0.14.0 (2018-06-01)
3507 + 4b80f2455e7e49a95f3a4c9102a67a57dad52207:
3508 Add option to enable Docker sandboxing.
3509 + 6b1635279e8b33dc1ac505ac81825e38f8797a14:
3510 Allow disabling the simple blob caches via CLI flag overrides.
3511```
3512
3513Bug fix for [#5336](https://github.com/bazelbuild/bazel/issues/5336)
3514Bug fix fot [#5308](https://github.com/bazelbuild/bazel/issues/5308)
3515
Bazel Release System3a592f62018-06-01 15:04:31 +02003516## Release 0.14.0 (2018-06-01)
3517
3518```
3519Baseline: 5c3f5c9be7fa40d4fb3c35756891fab8483ca406
3520
3521Cherry picks:
3522 + f96f037f8f77335dc444844abcc31a372a3e1849:
3523 Windows, Java launcher: Support jar files under different drives
3524 + ff8162d01409db34893de98bd840a51c5f13e257:
3525 sh_configure.bzl: FreeBSD is also a known platform
3526 + 7092ed324137f03fcd34856bdb0595a1bdec3069:
3527 Remove unneeded exec_compatible_with from local_sh_toolchain
3528 + 57bc201346e61c62a921c1cbf32ad24f185c10c9:
3529 Do not autodetect C++ toolchain when
3530 BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 is present
3531 + 35a78c09cf2fbfc3de9c124d2142e3d72aac4348:
3532 remote: recursively delete incomplete downloaded output
3533 directory.
3534 + 3c9cd82b847f3ece8ec04b2029bd5e8ad0eb7502:
3535 distfile: pack the archives needed later in the build
3536 + 27487c77387e457df18be3b6833697096d074eab:
3537 Slightly refactor SpawnAction to improve env handling
3538 + 1b333a2c37add9d04fe5bc5258ee4f73c93115e2:
3539 Fix Cpp{Compile,Link}Action environment and cache key computation
3540 + 3da8929963e9c70dff5d8859d6e988e6e7f4f9d7:
3541 Make SymlinkTreeAction properly use the configuration's
3542 environment
3543 + eca7b81cf8cc51e1fe56e5ed7d4ad5cd1668a17a:
3544 Add a missing dependency from checker framework dataflow to
3545 javacutils
3546```
3547
3548Incompatible changes:
3549
3550 - Add --incompatible_disallow_legacy_javainfo flag.
3551 - Added flag --incompatible_disallow_old_style_args_add to help
3552 migrate from args.add() to args.add_all() / args.add_joined()
3553 where appropriate.
3554
3555New features:
3556
3557 - Bash,runfiles: use the new platform-independent library in
3558 `@bazel_tools//tools/bash/runfiles` to access runfiles
3559 (data-dependencies). See
3560 https://github.com/bazelbuild/bazel/blob/master/tools/bash/runfile
3561 s/runfiles.bash for usage information.
3562 - TemplateVariableInfo can now be constructed from Skylark.
3563 - The java_host_runtime_alias rule is now implemented in Java.
3564
3565Important changes:
3566
3567 - Flip default value of --experimental_shortened_obj_file_path to
3568 true, Bazel now generates short object file path by default.
3569 - Introduce fdo_profile rule that allows architecture-sensitive
3570 specification of fdo profiles.
3571 - canonicalize-flags no longer reorders the flags
3572 - CppRules: optional_compiler_flag was removed from CROSSTOOL, use
3573 features instead.
3574 - Labels of the form ////foo are disallowed.
3575 - The `/` operator is deprecated in favor of `//` (floor integer
3576 division).
3577 Try the `--incompatible_disallow_slash_operator` flag to ensure
3578 your code
3579 is forward-compatible.
3580 - Flip default value of --experimental_shortened_obj_file_path to
3581 true, Bazel now generates short object file path by default.
3582 - Exposed "mnemonic" and "env" fields on skylark "Action" objects.
3583 - Removed flag `--incompatible_disallow_toplevel_if_statement`.
3584 - Remove vestigial 'deps' and 'data' attributes from
3585 proto_lang_toolchain
3586 - Args objects (ctx.actions.args()) have new methods add_all() and
3587 add_joined() for building command lines using depsets.
3588 - `FileType` is deprecated and will be removed soon.
3589 Try the `--incompatible_disallow_filetype` flag to ensure your
3590 code
3591 is forward-compatible.
3592 - Introduce absolute_path_profile attribute that allows fdo_profile
3593 to accept absolute paths.
3594 - Support two-arg overloads for ctx.actions.args (eg.
3595 args.add("--foo", val))
3596 - Introduce 'tools' attribute to ctx.actions.run.
3597 - Fixed error message for proguard_apply_dictionary.
3598 - "bazel run" now lets one run interactive binaries. The
3599 BUILD_WORKSPACE_DIRECTORY and BUILD_WORKING_DIRECTORY environment
3600 variables indicate the working directory and the workspace root
3601 of the Bazel invocation. Tests are provided with an approximation
3602 of the official test environment.
3603 - repository rules are no longer restricted to return None.
3604 - Add --high_priority_workers flag.
3605 - CppRules: Feature configuration can be created from Skylark
3606 - Adds new-style JavaInfo provider constructor.
3607 - Make java_common.compile now uses java_toolchain javacopts by
3608 default; explicitly retrieving them using
3609 java_common.default_javac_opts is unnecessary.
3610 - CppRules: C++ command lines and env variables for C++ actions can
3611 be retrieved from feature configuration.
3612 - Skylark rule definitions may advertise providers that targets of
3613 the rule must propagate.
3614 - Bazel now supports running actions inside Docker containers.
3615 To use this feature, run "bazel build --spawn_strategy=docker
3616 --experimental_docker_image=myimage:latest".
3617 - Remote execution works for Windows binaries with launchers.
3618 - Fixing start/end lib expansion for linking. There were many cases
3619 where archive files were still being used with toolchains that
3620 support start/end lib. This change consolidates the places that
3621 make that decision so they can be more consistent.
3622 - Add support for reporting an error if
3623 android_test.binary_under_test contains incompatible versions of
3624 deps
3625 - We replaced the --experimental_local_disk_cache and
3626 --experimental_local_disk_cache_path flags into a single
3627 --disk_cache flag. Additionally, Bazel now tries to create the disk cache
3628 directory if it doesn't exist.
3629 - Save Blaze memory by not storing LinkerInput objects in
3630 LinkCommandLine
3631 - In the JavaInfo created by java_common.create_provider now
3632 includes both direct and transitive arguments in
3633 transitive_compile_time_jars and transitive_runtime_jars
3634 - Allow --worker_max_instances to take MnemonicName=value to
3635 specify max for each worker.
3636 - Allow java_toolchain.header_compiler to be an arbitrary executable
3637
Bazel Release System24c68ff2018-05-23 10:59:57 +02003638## Release 0.13.1 (2018-05-23)
3639
3640```
3641Baseline: fdee70e6e39b74bfd9144b1e350d2d8806386e05
3642
3643Cherry picks:
3644 + f083e7623cd03e20ed216117c5ea8c8b4ec61948:
3645 windows: GetOutputRoot() returns GetHomeDir()
3646 + fa36d2f48965b127e8fd397348d16e991135bfb6:
3647 Automated rollback of commit
3648 4465dae23de989f1452e93d0a88ac2a289103dd9.
3649 + 4abd2babcc50900afd0271bf30dc64055f34e100:
3650 Add error message on empty public resources
3651 + 2c957575ff24c183d48ade4345a79ffa5bec3724:
3652 test-setup: remove leading "./" from test name
3653 + e6eaf251acb3b7054c8c5ced58a49c054b5f23b1:
3654 Sort entries by segment when building a parent node to prevent
3655 unordered directory structures.
3656```
3657
3658Important changes:
3659
3660 - Remote Execution: Fixes a regression that produces directories with unsorted file/directory lists
3661
Bazel Release System1d9c6062018-04-30 10:45:38 +02003662## Release 0.13.0 (2018-04-30)
3663
3664```
3665Baseline: fdee70e6e39b74bfd9144b1e350d2d8806386e05
3666
3667Cherry picks:
3668 + f083e7623cd03e20ed216117c5ea8c8b4ec61948:
3669 windows: GetOutputRoot() returns GetHomeDir()
3670 + fa36d2f48965b127e8fd397348d16e991135bfb6:
3671 Automated rollback of commit
3672 4465dae23de989f1452e93d0a88ac2a289103dd9.
3673 + 4abd2babcc50900afd0271bf30dc64055f34e100:
3674 Add error message on empty public resources
3675 + 2c957575ff24c183d48ade4345a79ffa5bec3724:
3676 test-setup: remove leading "./" from test name
3677```
3678
3679Incompatible changes:
3680
3681 - Remove //tools/defaults:android_jar. Use
3682 @bazel_tools//tools/android:android_jar instead.
3683 - The flag --incompatible_show_all_print_messages is removed.
3684 Messages generated by `print` statements from any package will be
3685 displayed as
3686 DEBUG messages.
3687 - The --incompatible_disallow_uncalled_set_constructor flag is no
3688 longer available, the `set` constructor` is completely removed
3689 from Skylark.
3690 Use `depset` instead.
3691 - Variables PACKAGE_NAME and REPOSITORY_NAME are deprecated in
3692 favor of
3693 functions `package_name()` and `repository_name()`.
3694
3695 https://docs.bazel.build/versions/master/skylark/lib/native.html#p
3696 ackage_name
3697 - BUILD_TIMESTAMP now contains seconds (and not milliseconds) since
3698 the epoch.
3699
3700New features:
3701
3702 - Strings have a new .elems() method, that provides an iterator on
3703 the characters of the string.
3704 - Now you can access three functions in windows_cc_configure.bzl by:
3705 load("@bazel_tools/tools/cpp:windows_cc_configure.bzl",
3706 "<function_name>")
3707
3708Important changes:
3709
3710 - CppRules: Unified action_configs for static libraries
3711 - Remove support for blaze dump --vfs. It is no longer meaningful.
3712 - Enable dependency checking for aar_import targets.
3713 - internal_bootstrap_hack has been deprecated and removed.
3714 - Properly handle tree artifacts on the link command line coming
3715 from a cc_library dependency.
3716 - Allow C++ features to make proto_library emit smaller C++ code
3717 - The 'j2objc' configuration fragment is exposed to Skylark.
3718 - Remove the default content of the global bazelrc.
3719 - In int() function, do not auto-detect base if input starts with
3720 '0'.
3721 - Users can now pass --experimental_shortened_obj_file_path=true to
3722 have a shorter object file path, the object file paths (and all
3723 other related paths) will be constructed as following:
3724 If there's no two or more source files with the same base name:
3725
3726 <bazel-bin>/<target_package_path>/_objs/<target_name>/<source_base
3727 _name>.<extension>
3728 otherwise:
3729
3730 <bazel-bin>/<target_package_path>/_objs/<target_name>/N/<source_ba
3731 se_name>.<extension>
3732 N = the file?s order among the source files with the same
3733 basename, starts from 0.
3734 - Move (c/cxx)opts from legacy_compile_flags to user_compile_flags
3735 - CppRules: Remove optional_*_flag fields from CROSSTOOL, they are
3736 not
3737 used, and could be expressed using features.
3738 - Introduce --incompatible_disable_objc_provider_resources to turn
3739 off all resource-related fields of the Objc provider.
3740 - Removed the statement of "What does Bazel support?" as it's
3741 limiting/misleading. Added supported host OSes to
3742 "multi-platform" paragraph.
3743 - android_library AAR output now contains proguard.txt
3744 - Bazel now displays information about remote cache hits and
3745 execution strategies used in its UI after every build and test,
3746 and adds a corresponding line "process stats" to BuildToolLogs in
3747 BEP.
3748 - Print correct build result for builds with --aspects flag.
3749 - android_binary.manifest_merger is no longer supported.
3750
Bazel Release System546976c2018-04-11 17:34:19 +02003751## Release 0.12.0 (2018-04-11)
3752
3753```
3754Baseline: b33e5afa313322a7048044c44d854cbb666b988e
3755
3756Cherry picks:
3757 + 369409995bd75eeb0683fd24f7585d2a90320796:
3758 Automated rollback of commit
3759 c2b332b45e6ea41a14ecbd3c5f30782bcdeec301.
3760 + dbf779869751cc893ba240402d352c6e70be2978:
3761 Emit SJD errors even if we don't know the label of a dependency
3762 + 4c3098cfa6f00f90c7530b6f40d3e93062931c1d:
3763 Android tools: remove mtime-modifications
3764 + a1068c44a700ec2cff84cbd12592e9bfea25d754:
3765 NDK cc_toolchains: include bundled runtime libraries in
3766 cc_toolchain.all_files
3767 + b1be5816ec1bf8e1172c1bed4f29b4e6c6bb7202:
3768 runfiles,Python: remove library from @bazel_tools
3769 + 0a4622012ff796429220fe57d3217f262cc208a8:
3770 Fix visibility of def_parser for remote builds
3771 + 3c5373c50c7c492842f8a468906eda2c0bc90787:
3772 Remove visibility attribute from
3773 //third_party/def_parser:def_parser
3774 + f54d7e5293cc40ce3507a9adef530e46ab817585:
3775 Enable bulk writes in the HttpBlobStore
3776 + 04ce86e8ba96630f89a436167b7f3a195c5e50e7:
3777 remote/http: properly complete user promise
3778```
3779
3780Incompatible changes:
3781
3782 - The order of dict-valued attributes is now the order in the BUILD
3783 file (or in the Skylark dict they were created from) and not
3784 lexicographically sorted.
3785
3786New features:
3787
3788 - The new "--direct_run" flag on "blaze run" lets one run
3789 interactive binaries.
3790 - "blaze run --direct_run" with tests now gives the test an
3791 approximation of the official test environment.
3792 - "blaze run --direct_run" now exports the
3793 BUILD_{WORKSPACE,WORKING}_DIRECTORY variables to tell the binary
3794 about the cwd of the client and the workspace root.
3795 - New Android device test rule: android_instrumentation_test.
3796 - Add option to dump the action graph to a file: 'bazel dump
3797 --action_graph=/path/to/file'.
3798 - Pass `tags` from `java_import_external` rule to the generated
3799 `java_import` rule.
3800 - blaze query: use --proto:output_rule_attrs to filter for given
3801 attributes
3802 - Added Android NDK r15 support, including compatibility with
3803 Unified Headers.
3804 - Adds --ltobackendopt and --per_file_ltobackendopt for passing
3805 options to ThinLTO LTO backend compile actions only.
3806
3807Important changes:
3808
3809 - Fix how libraries to link is specified to archiver actions.
3810 - Fix how libraries_to_link are expanded in the archiver command
3811 line.
3812 - stop using --no-locals in android coverage builds
3813 - apple_binary can now generate dSYM outputs with the
3814 --apple_generate_dsym=true flag.
3815 - Fix FDO_STAMP_MACRO to only be set when fdoBuildStamp is not null.
3816 - Improved clarity of warning message for unsupported NDK revisions.
3817 - Add lint check for discouraging glob(["**/*.java"])
3818 - unifly lint glob(["**/*.java"]) message
3819 - Removed flags `--incompatible_checked_arithmetic`,
3820 `--incompatible_dict_literal_has_no_duplicates`,
3821 `--incompatible_disallow_keyword_only_args`, and `
3822 --incompatible_comprehension_variables_do_not_leak`.
3823 - Add "proto_source_root" flag to proto_library.
3824 - Updated default android_cpu value to armeabi-v7a
3825 - In skylark, print(target) now shows the provider keys of a
3826 target, as debug information.
3827 - The native http_archive rule is deprecated. Use the
3828 Skylark version available via
3829 load("@bazel_tools//tools/build_defs/repo:http.bzl",
3830 "http_archive")
3831 instead.
3832 - flaky_test_attempts supports the regex@attempts syntax, like
3833 runs_per_test.
3834 - Fixed include paths for NDK r13+ llvm-libc++ headers to
3835 `ndk/sources/cxx-stl/llvm-libc++/include` and
3836 `ndk/sources/cxx-stl/llvm-libc++abi/include`
3837 - --config flags now expand in place by default.
3838 - aar_import now sets java.transitive_exports.
3839 - repository_cache is no longer experimental and enabled by default.
3840 - BAZEL_LINKOPTS is now consulted when autoconfiguring c++ toolchain
3841 - The native git_repository rule is deprecated. Use the
3842 Skylark version available via
3843 load("@bazel_tools//tools/build_defs/repo:git.bzl",
3844 "git_repository")
3845 instead.
3846 - Removed flag `--incompatible_load_argument_is_label`.
3847 - CcToolchain: Introduced action_config for
3848 "c++-link-transitive-dynamic-library"
3849 - Use bazel dump --action_graph=/path/to/action.proto
3850 --action_graph:targets://foo:bar,//foo:foo to filter for certain
3851 targets in the action graph dump.
3852 - Added Android NDK r16 support. Use --cxxopt='-std=c++11` compile
3853 with the C++11 standard, and
3854 `--android_crosstool_top=@androidndk//:toolchain-libcpp` to use
3855 the `libc++` STL.
3856 - Add a --build_event_publish_all_actions flag to allow all actions
3857 to be published via the BEP.
3858 - C++: Introduced --experimental_drop_fully_static_linking_mode
3859 - Removed cc_inc_library, please use cc_library instead
3860 - CppRules: cc_binary/cc_test now enable 'static_linking_mode' or
3861 'dynamic_linking_mode'.
3862
Bazel Release Systemc86d6a02018-03-06 19:32:18 +01003863## Release 0.11.1 (2018-03-06)
3864
3865```
3866Baseline: 00d781ae78a8bd51d3c61b621d79f0bb095aff9e
3867
3868Cherry picks:
3869 + ea2d4c475febdbd59ca0e0ba46adc7be759f84e0:
3870 Update stub_finds_runfiles_test to be a real sh_test.
3871 + d855d8133f4efb73ebd5e82c54a9afb4c7565d46:
3872 java,runfiles: fix bugs in runfiles library
3873 + 56aeb04a064218b845ecc193d530c341c6ec854d:
3874 Fixing #4585: broken re-execution of orphaned actions.
3875 + cf3f81aef7c32019d70cbce218a64a03276268f0:
3876 remote: Add support for HTTP Basic Auth
3877 + 28bd997c1c8793973f63dcae4c22bbae49e7d8b7:
3878 Fixing test-setup.sh occasionally missing stdout/stderr, on
3879 systems where "tail --pid" is supported.
3880 + 109e4b4dc9e786e3a2d8d7cb245d18320dbe9216:
3881 Automated rollback of commit
3882 7e6837cc1d1aa4259f5c27ba3606b277b5f6c3e9.
3883 + b3d52b1b6d46a0f23cc91125c1d522e9d13433b4:
3884 Fix incorrect include directories when -no-canonical-prefixes is
3885 passed to clang
3886 + 1001141f0674ff4b611814edcb00a5183680ef4a:
3887 Roll forward of
3888 https://github.com/bazelbuild/bazel/commit/3904ac33a983fd8faebba1
3889 b52bcac5a3ff942029
3890 (https://github.com/bazelbuild/bazel/commit/3904ac33a983fd8faebba
3891 1b52bcac5a3ff942029). Fix #4625 by running the test process in a
3892 sub-shell.
3893 + fc98b44b6181fa4c3efd8613d887970629468d74:
3894 android,windows: bugfix in aar_resources_extractor
3895```
3896
3897Important changes:
3898
3899 - Fixes regression building Android rules on Windows.
3900
Bazel Release System09077a32018-02-23 11:09:18 -05003901## Release 0.11.0 (2018-02-23)
3902
3903```
3904Baseline: 00d781ae78a8bd51d3c61b621d79f0bb095aff9e
3905
3906Cherry picks:
3907 + ea2d4c475febdbd59ca0e0ba46adc7be759f84e0:
3908 Update stub_finds_runfiles_test to be a real sh_test.
3909 + d855d8133f4efb73ebd5e82c54a9afb4c7565d46:
3910 java,runfiles: fix bugs in runfiles library
3911 + 56aeb04a064218b845ecc193d530c341c6ec854d:
3912 Fixing #4585: broken re-execution of orphaned actions.
3913 + cf3f81aef7c32019d70cbce218a64a03276268f0:
3914 remote: Add support for HTTP Basic Auth
3915 + 28bd997c1c8793973f63dcae4c22bbae49e7d8b7:
3916 Fixing test-setup.sh occasionally missing stdout/stderr, on
3917 systems where "tail --pid" is supported.
3918 + 109e4b4dc9e786e3a2d8d7cb245d18320dbe9216:
3919 Automated rollback of commit
3920 7e6837cc1d1aa4259f5c27ba3606b277b5f6c3e9.
3921 + b3d52b1b6d46a0f23cc91125c1d522e9d13433b4:
3922 Fix incorrect include directories when -no-canonical-prefixes is
3923 passed to clang
3924 + 3904ac33a983fd8faebba1b52bcac5a3ff942029:
3925 Automated rollback of commit
3926 28bd997c1c8793973f63dcae4c22bbae49e7d8b7.
3927 + 1001141f0674ff4b611814edcb00a5183680ef4a:
3928 Roll forward of
3929 https://github.com/bazelbuild/bazel/commit/3904ac33a983fd8faebba1
3930 b52bcac5a3ff942029
3931 (https://github.com/bazelbuild/bazel/commit/3904ac33a983fd8faebba
3932 1b52bcac5a3ff942029). Fix #4625 by running the test process in a
3933 sub-shell.
3934```
3935
3936Incompatible changes:
3937
3938 - ctx.fragments.jvm is not available anymore.
3939
3940New features:
3941
3942 - java,runfiles: You can now depend on
3943 `@bazel_tools//tools/runfiles:java-runfiles` to get a
3944 platform-independent runfiles library for Java. See JavaDoc of
3945 https://github.com/bazelbuild/bazel/blob/master/src/tools/runfiles
3946 /java/com/google/devtools/build/runfiles/Runfiles.java for usage
3947 information.
3948
3949Important changes:
3950
3951 - The --[no]experimental_disable_jvm command line option is not
3952 supported anymore.
3953 - Allow expanding TreeArtifacts for libraries_to_link
3954 - Proguarded Android binaries can be built with incremental dexing.
3955 - aar_import now supports assets.
3956 - Crash in OutputJar::Close has been fixed
3957 - generator_* attributes are nonconfigurable.
3958 - Introduces --[no]keep_state_after_build
3959 - Add support for merged object files needed for -flto-unit.
3960 - Fix how libraries to link is specified to archiver actions.
3961 - Replace //tools/defaults:android_jar with
3962 @bazel_tools//tools/android:android_jar.
3963 //tools/defaults:android_jar will be removed in a future release.
3964 - java_common.compile supports neverlink
3965 - Resolved an issue where a failure in the remote cache would not
3966 trigger local re-execution of an action.
3967
Bazel Release Systeme1148362018-02-15 10:02:05 +01003968## Release 0.10.1 (2018-02-15)
3969
3970```
3971Baseline: 22c2f9a7722e8c8b7fdf8f5d30a40f1c4118e993
3972
3973Cherry picks:
3974 + f6ca78808722c8c119affdb33400838ee92d44b6:
3975 isable_presubmit
3976 + 65c13dd5a4c1b4b5a072f7680b8f1cf3c5079b52:
3977 Fix StreamResourceLeak error
3978 + e5436745e1732f5e43fc55f0deb5b19e23ce8524:
3979 windows: fix --symlink_prefix=/ throwing exception
3980 + 22ccdd1ebe1dc495e05d894a3325f6b05e681fb3:
3981 Fix turbine command lines with empty javacopts
3982 + 96c654d43eb2906177325cbc2fc2b1e90dbcc792:
3983 Remove EOL'd Linux flavours, bump CentOS to 6.9.
3984 + f0bec36864f10370cbbda4caa8beac2e0c5ee45b:
3985 Automated rollback of commit
3986 2aeaeba66857c561dd6d63c79a213f1cabc3650d.
3987 + 860af5be10b6bad68144d9d2d34173e86b40268c:
3988 Consolidate Error Prone resource handling
3989 + 2e631c99495f75270d2639542cefb531ec262d67:
3990 sandbox: properly add `tmpDir` to `writablePaths`
3991 + 5bfa5844d0d16d71e88002956e88402bfec88ef7:
3992 actions,temp: respect TMPDIR envvar
3993 + 6cc2ad8676d1ae0542b351a07a05ddbe5efac165:
3994 sandbox: add env[TMPDIR] instead of `tmpDir`
3995 + 40c757f4ab90214f95935672532a495c4551490a:
3996 Change git clone to pull all history, so all needed commits can
3997 be accessed.
3998 + 56aeb04a064218b845ecc193d530c341c6ec854d:
3999 Fixing #4585: broken re-execution of orphaned actions.
4000```
4001
4002Important changes:
4003
4004 - Resolved an issue where a failure in the remote cache would not
4005 trigger local re-execution of an action.
4006
Bazel Release System5bd27482018-02-01 09:43:33 +01004007## Release 0.10.0 (2018-02-01)
4008
4009```
4010Baseline: 22c2f9a7722e8c8b7fdf8f5d30a40f1c4118e993
4011
4012Cherry picks:
4013 + f6ca78808722c8c119affdb33400838ee92d44b6:
4014 isable_presubmit
4015 + 65c13dd5a4c1b4b5a072f7680b8f1cf3c5079b52:
4016 Fix StreamResourceLeak error
4017 + e5436745e1732f5e43fc55f0deb5b19e23ce8524:
4018 windows: fix --symlink_prefix=/ throwing exception
4019 + 22ccdd1ebe1dc495e05d894a3325f6b05e681fb3:
4020 Fix turbine command lines with empty javacopts
4021 + 96c654d43eb2906177325cbc2fc2b1e90dbcc792:
4022 Remove EOL'd Linux flavours, bump CentOS to 6.9.
4023 + f0bec36864f10370cbbda4caa8beac2e0c5ee45b:
4024 Automated rollback of commit
4025 2aeaeba66857c561dd6d63c79a213f1cabc3650d.
4026 + 860af5be10b6bad68144d9d2d34173e86b40268c:
4027 Consolidate Error Prone resource handling
4028 + 2e631c99495f75270d2639542cefb531ec262d67:
4029 sandbox: properly add `tmpDir` to `writablePaths`
4030 + 5bfa5844d0d16d71e88002956e88402bfec88ef7:
4031 actions,temp: respect TMPDIR envvar
4032 + 6cc2ad8676d1ae0542b351a07a05ddbe5efac165:
4033 sandbox: add env[TMPDIR] instead of `tmpDir`
4034 + 40c757f4ab90214f95935672532a495c4551490a:
4035 Change git clone to pull all history, so all needed commits can
4036 be accessed.
4037```
4038
4039Incompatible changes:
4040
4041 - In order to access the template variables $(JAVA) and
4042 $(JAVABASE), @bazel_tools//tools/jdk:current_java_runtime needs
4043 to be added to the toolchains= attribute from now on.
4044 - The ctx.middle_man function is not supported anymore.
4045 - The flag --incompatible_list_plus_equals_inplace is removed, its
4046 default behavior is preserved. += on lists now always mutates the
4047 left hand
4048 side.
4049 - --android_sdk no longer supports filegroup targets.
4050 - android_* rules no longer support legacy_native_support attribute.
4051
4052New features:
4053
4054 - query: Add option --noproto:flatten_selects to turn off
4055 flattening of selector lists in proto output.
4056 - New android test rule, android_local_test.
4057
4058Important changes:
4059
4060 - The --remote_rest_cache flag now respects --remote_timeout.
4061 - --experimental_java_coverage is available for testing.
4062 - The deprecated builtin `set` is no longer allowed even from within
4063 unexecuted code in bzl files. It's temporarily possible to use
4064 --incompatible_disallow_uncalled_set_constructor=false if this
4065 change causes
4066 incompatibility issues.
4067 - Linkstamping is now a separate and full-blown CppCompileAction,
4068 it's
4069 no longer a part of linking command.
4070 - Using `+`, `|` or `.union` on depsets is now deprecated. Please
4071 use the new
4072 constructor instead (see
4073 https://docs.bazel.build/versions/master/skylark/depsets.html).
4074 - config_feature_flag's default_value is optional. It is
4075 only an error to have a config_feature_flag with no default_value
4076 if that config_feature_flag has not been set in the configuration
4077 it is being evaluated in.
4078 - --[no]keep_incrementality_data is gone, replaced by the
4079 enum-valued --incremental_state_retention_strategy
4080 - Linkstamping is now a separate and full-blown CppCompileAction,
4081 it's
4082 no longer a part of linking command.
4083 - Added --checkHashMismatch flag to ZipFilterAction. Valid values
4084 are IGNORE, WARN and ERROR. --errorOnHashMismatch is deprecated,
4085 please use this flag instead.
4086 - Set build jobs equivalent to number of logical processors by
4087 default. Should improve build times significantly.
4088 - Added --(no)expand_test_suites flag.
4089 - Rename --keep_incrementality_data to --track_incremental_state
4090 - --remote_rest_cache was renamed to --remote_http_cache. Both
4091 options keep working in this release, but --remote_rest_cache
4092 will be
4093 removed in the next release.
4094 - Aspects-on-aspect see and propagate over aspect attributes.
4095 - --auth_* flags were renamed to --google_* flags. The old names
4096 will continue to work for this release but will be removed in the
4097 next
4098 release.
4099 - Remote Caching and Execution support output directories.
4100 - Remove defunct flags
4101 --experimental_incremental_dexing_for_lite_proto and
4102 --experimental_incremental_dexing_error_on_missed_jars that have
4103 long been enabled by default
4104 - New version of aapt2 and Resources.proto.
4105 - Make PIC and non PIC outputs for C++ compilation with Tree
4106 Artifacts
4107
Bazel Release System7b423cc2017-12-19 10:31:05 +01004108## Release 0.9.0 (2017-12-19)
Bazel Release System3d53cb02017-12-05 15:28:40 +01004109
4110```
Bazel Release System7b423cc2017-12-19 10:31:05 +01004111Baseline: ddd5ac16aeffa6c4693c348f73e7365240b1abc5
Bazel Release System3d53cb02017-12-05 15:28:40 +01004112
4113Cherry picks:
Bazel Release System7b423cc2017-12-19 10:31:05 +01004114 + 2cf560f83922e6df9626ba3ee063c1caf6797548:
4115 Update version of re2
4116 + a2d2615362c65be98629b39ce39754a325ed1c42:
4117 Check for null build file returned from getBuildFileForPackage.
4118 + 68c577afc2fb33b5e66b820bcc9043fed1071456:
4119 Fix some broken targets and failing tests.
4120 + 766ba8adc4487f17ebfc081aeba6f34b18b53d6c:
Bazel Release System3d53cb02017-12-05 15:28:40 +01004121 Automated rollback of commit
Bazel Release System7b423cc2017-12-19 10:31:05 +01004122 337f19cc54e77c45daa1d5f61bf0a8d3daf8268f.
4123 + a22d0e9c14e58b29d81f5a83bdcc6e5fce52eafe:
4124 Fix: uploading artifacts of failed actions to remote cache
4125 stopped working.
4126 + 03964c8ccb20d673add76c7f37245e837c3899b6:
4127 [java_common.compile] Name output source jar relative to the
4128 output jar name
Bazel Release System3d53cb02017-12-05 15:28:40 +01004129```
4130
Bazel Release System7b423cc2017-12-19 10:31:05 +01004131Incompatible changes:
4132
4133 - The deprecated `set` constructor is removed, along with the
4134 migration flag --incompatible_disallow_set_constructor. It is
4135 still temporarily
4136 allowed to refer to `set` from within unexecuted code.
4137 - The flag --incompatible_disallow_set_constructor is no longer
4138 available, the deprecated `set` constructor is not available
4139 anymore.
4140 - The path to the JVM executable is not accessible anymore as
4141 ctx.{fragments,host_fragments}.jvm.java_executable. Use
4142 JavaRuntimeInfo.java_executable_exec_path instead.
4143 - --clean_style is no longer an option.
4144
4145New features:
4146
4147 - Users can use win_def_file attribute to specify a DEF file for
4148 exporting symbols when build a shared library on Windows.
4149 - Add --experimental_android_resource_cycle_shrinking option to
4150 allow for more aggressive code and resource shrinking.
4151
4152Important changes:
4153
4154 - Late-bound attributes are exposed to skylark. This is a new API
4155 (`configuration_field()`) to depend on certain
4156 configuration-defined targets from skylark rules.
4157 - Document interaction between test_suite and target exclusions
4158 - AAR manifest files will come from the processed resource APK if it
4159 exists.
4160 RELNOTES: None for Blaze users.
4161 - Document interaction between test_suite and target exclusions
4162 - --keep_incrementality_data flag allows Bazel servers to be run in
4163 memory-saving non-incremental mode independent of --batch and
4164 --discard_analysis_cache.
4165 - Add deps attribute to Skylark maven_aar and maven_jar workspace
4166 rules.
4167 - Use --expand_configs_in_place as a startup argument to change the
4168 order in which --config expansions are interpreted.
4169 - SOURCE_DATE_EPOCH
4170 (https://reproducible-builds.org/specs/source-date-epoch/) can
4171 be used to override the timestamp used for stamped target (when
4172 using --stamp).
4173 - Package specifications can now be prefixed with `-` to indicate
4174 negation
4175 - transitive_source_jars is now exposed on JavaInfo.
4176 - Add six to deps of has_services=1 py_proto_librarys.
4177 - java_tests no complain when use_testrunner is explicitly set to 1
4178 and main_class is set.
4179 - transitive_source_jars is now exposed on JavaInfo.
4180 - Debug messages generated by `print()` are not being filtered out
4181 by --output_filter anymore, it's recommended not to use them in
4182 production code.
4183 - in the Label() function, relative_to_caller_repository is now
4184 deprecated.
4185 - java_tests no complain when use_testrunner is explicitly set to 1
4186 and main_class is set.
4187 - Bazel's default hash function was changed from MD5 to SHA256.
4188 In particular, this affects users of remote caching and
4189 execution, as
4190 all hashes will be SHA256 by default.
4191 - Remove redirects for domains be.bazel.build and cr.bazel.build
4192 from the source for docs.bazel.build (because those subdomains
4193 don't resolve here; they resolve to bazel.build, which has the
4194 redirects for them)
4195 - First argument of 'load' must be a label. Path syntax is removed.
4196 (label should start with '//' or ':').
4197 - Document startup option --host_javabase
4198 - The --host_platform and --platform flags are no longer
4199 experimental.
Bazel Release System3d53cb02017-12-05 15:28:40 +01004200
Bazel Release System0838aee2017-11-27 14:16:34 +01004201## Release 0.8.0 (2017-11-27)
4202
4203```
4204Baseline: cff0dc94f6a8e16492adf54c88d0b26abe903d4c
4205
4206Cherry picks:
4207 + 8a49b156c4edf710e3e1e0acfde5a8d27cc3a086:
4208 Fix ImportError on tools.android for junction_lib
4209 + 275ae45b1228bdd0f912c4fbd634b29ba4180383:
4210 Automated rollback of commit
4211 4869c4e17d5b1410070a1570f3244148d8f97b5d.
4212 + d0bf589f2716b3d139c210930371a684c6e158eb:
4213 Add a random number to action temp dir
4214 + 9738f35abddb7ef7a7ef314b5d2a52a3be1b830a:
4215 CcProtoLibrary: Don't add dynamic librarys to filesToBuild on
4216 Windows
4217 + 0d6ff477099fdf6c8c1c7d4e2104f9184afe0a2b:
4218 Automated rollback of commit
4219 0ebb3e54fc890946ae6b3d059ecbd50e4b5ec840.
4220```
4221
4222Incompatible changes:
4223
4224 - ctx.fragments.apple.{xcode_version,ios_minimum_os} is not
4225 supported anymore. The same information is accessible through the
4226 target @bazel_tools//tools/osx:current_xcode_config: point an
4227 implicit attribute to it (i.e.
4228 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
4229 nfig")) then use
4230 ctx.attr._xcode_config[apple_common].XcodeVersionConfig].
4231 - ctx.fragments.apple.minimum_os_for_platform_type is not supported
4232 anymore. The same information is accessible through the target
4233 @bazel_tools//tools/osx:current_xcode_config: point an implicit
4234 attribute to it (i.e.
4235 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
4236 nfig")) then use
4237 ctx.attr._xcode_config[apple_common].XcodeVersionConfig].minimum_o
4238 s_for_platform_type .
4239 - ctx.fragments.apple.sdk_version_for_platform is not supported
4240 anymore. The same information is accessible through the target
4241 @bazel_tools//tools/osx:current_xcode_config: point an implicit
4242 attribute to it (i.e.
4243 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
4244 nfig")) then use
4245 ctx.attr._xcode_config[apple_common].XcodeVersionConfig].sdk_versi
4246 on_for_platform .
4247 - --javabase=<absolute path> and --host_javabase=<absolute path>
4248 are not supported anymore. If you need this functionality
4249 java_runtime_suite(name="suite", default=":runtime")
4250 java_runtime(name="runtime", java_home=<path to the JDK>) is an
4251 alternative.
4252 - The flag --incompatible_descriptive_string_representations is no
4253 longer available, old style string representations of objects are
4254 not supported
4255 anymore.
4256 - The flag --incompatible_disallow_set_constructor is no longer
4257 available, the deprecated `set` constructor is not available
4258 anymore.
4259 - += on lists now mutates them. `list1 += list2` is now equivalent
4260 to `list1.extend(list2)` and not equivalent to `list1 = list1 +
4261 list2` anymore.
4262 - the target_apple_env and apple_host_system_env methods on
4263 ctx.fragments.apple are not supported anymore. The same
4264 information is accessible through apple_common.target_apple_env
4265 and apple_common.apple_host_system_env . They need the Xcode
4266 configuration as an argument, which can be obtained by declaring
4267 an implicit dependency on it (i.e.
4268 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
4269 nfig")) and then calling e.g.
4270 apple_common.apple_host_system_env(ctx.attr._xcode_config[apple_co
4271 mmon.XcodeVersionConfig]).
4272 - C++ toolchain identifiers are not in the name of the output
4273 directory anymore.
4274 - Selecting on "xcode_version" and
4275 "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
4276 What was config_setting(values={"$FOO_version": $VALUE}) is now
4277 config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version_
4278 flag": $VALUE}).
4279 - Selecting on "xcode_version" and
4280 "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
4281 What was config_setting(values={"$FOO_version": $VALUE}) is now
4282 config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version_
4283 flag": $VALUE}).
4284 - The flag --incompatible_disallow_set_constructor is no longer
4285 available, the deprecated `set` constructor is not available
4286 anymore.
4287 - Selecting on "xcode_version" and
4288 "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
4289 What was config_setting(values={"$FOO_version": $VALUE}) is now
4290 config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_versi...
4291
4292New features:
4293
4294 - runfiles, sh: Shell scripts may now depend on
4295 //src/tools/runfiles:runfiles_sh_lib and source runfiles.sh. The
4296 script defines the `rlocation` function which returns runfile
4297 paths on every platform.
4298 - In addition to $(location), Bazel now also supports $(rootpath)
4299 to obtain
4300 the root-relative path (i.e., for runfiles locations), and
4301 $(execpath) to
4302 obtain the exec path (i.e., for build-time locations)
4303
4304Important changes:
4305
4306 - android_binary now supports custom debug keys via the debug_key
4307 attribute.
4308 - Updated Android proguard to 5.3.3. It now works with android-24+.
4309 - --experimental_use_parallel_android_resource_processing and
4310 --experimental_android_use_nocompress_extensions_on_apk are
4311 removed. These features are fully rolled out.
4312 - Fixes #2574
4313 - Fixes #3834
4314 - Enable experimental UI by default.
4315 - .
4316 RELNOTES: None.
4317 RELNOTES: No.
4318 - Add memory profiler.
4319 - [Bazel] {java,cc}_proto_library now look for dependencies in
4320 @com_google_protobuf, instead of in @com_google_protobuf_$LANG
4321 - Improved merge.sh script in cookbook.
4322 - Fixing regression to --experimental_remote_spawn_cache
4323 - Support for linker scripts in NativeDepsHelper (e.g.,
4324 android_binary)
4325 - Skylark semantics flags now affect WORKSPACE files and repository
4326 rules.
4327 - ctx.outputs.executable is deprecated. Use DefaultInfo(executable
4328 = ...) instead.
4329 - Update "mirror.bazel.build" urls to use https.
4330 - Improve --config logging when --announce_rc is present.
4331 - Document interaction between test_suite and target exclusions
4332 - Replace version numbers for Bazel installers with "<version>"
4333 (because this will change often)
4334 - Published command lines should have improved lists of effective
4335 options.
4336 - --incremental_dexing_binary_types has been removed. All builds
4337 are supported by incremental dexing (modulo proguard and some
4338 blacklisted dx flags).
4339 - Document --host_javabase, --host_java_toolchain
4340
Bazel Release System76b6d0a2017-10-18 14:34:11 +02004341## Release 0.7.0 (2017-10-18)
4342
4343```
4344Baseline: 5cc6246d429f7d9119b97ce263b4fd6893222e92
4345
4346Cherry picks:
4347 + e79a1107d90380501102990d82cbfaa8f51a1778:
4348 Windows,bootstrapping: fix build_windows_jni.sh
4349```
4350
4351Incompatible changes:
4352
4353 - The --output=location flag to 'bazel query' cannot be used with
4354 query expressions that involve the 'buildfiles' or 'loadfiles'
4355 operators. This also applies to 'genquery' rules.
4356 - Operators for equality, comparison, 'in' and 'not in' are no
4357 longer associative,
4358 e.g. x < y < z is now a syntax error. Before, it was parsed
4359 as: (x < y) < z.
4360 - In strings, octal sequences greater than \377 are now forbidden
4361 (e.g. "\\600").
4362 Previously, Blaze had the same behavior as Python 2, where
4363 "\\450" == "\050".
4364 - Using tabulation for identation is now fobidden in .bzl files
4365 - `load` is now a language keyword, it cannot be used as an
4366 identifier
4367 - lvalues must have define at least one variable (i.e. we forbid
4368 `[] = f()`).
4369 - Fixed a bug whereby multiple load() statements could appear on
4370 the same line
4371 - -extra_checks:off is no longer supported; use
4372 -XepDisableAllChecks instead
4373 - java_common.java_toolchain_attr is removed. Depend on the
4374 java_toolchain_alias() rule to accomplish the same thing.
4375 - cc_common.cc_toolchain_attr and java_common.java_runtime_attr are
4376 not supported anymore and were replaced with the
4377 cc_toolchain_alias() and java_runtime_alias() rules.
4378 - Noop flag --deprecated_generate_xcode_project deleted.
4379 - Objects in Skylark are converted to strings in a more descriptive
4380 and less harmful way (they don't leak information that shouldn't
4381 be accessed by Skylark code, e.g. nondeterministic memory addresses
4382 of objects).
4383 - `set` is deprecated in BUILD and .bzl files, please use `depset`
4384 instead. Ordering names have also been changed, please use "default",
4385 "postorder", "preorder", and "topological" instead of "stable",
4386 "compile", "naive_link", and "link" correspondingly.
4387 - Integer overflow (on signed 32 bit numbers) in BUILD/bzl files is
4388 an error.
4389 - Keyword-only syntax in a function definition is now forbidden
4390 e.g. `def foo(a, *, b)` or `def foo(a, *b, c)`
4391 - --incompatible_comprehension_variables_do_not_leak defaults to
4392 "true."
4393 Iteration variable becomes inaccessible after a list/dict
4394 comprehension.
4395 - @bazel_tools//tools/build_defs/docker:docker.bzl is no longer
4396 available, please see https://github.com/bazelbuild/rules_docker.
4397
4398New features:
4399
4400 - Zipped LLVM profiles are now supported.
4401 - LIPO maps to ThinLTO for LLVM builds.
4402 - Change to handle LLVM FDO zipped profile contents correctly.
4403 - Do not disable fully dynamic linking with ThinLTO when invoked
4404 via LIPO options.
4405 - There is now a 'siblings' query function. See the query
4406 documentation for more details.
4407 - Added the print_action command, which outputs the
4408 actions needed to build a given target in the form of an
4409 ExtraActionSummary proto in text format.
4410 - android_binary now supports proguard_apply_dictionary to specify
4411 a custom dictionary to use for choosing names to obfuscate
4412 classes and members to.
4413
4414Important changes:
4415
4416 - Windows: bazel clean --expunge works
4417 - First argument of 'load' should be a label. Path syntax is
4418 deprecated (label should start with '//' or ':').
4419 - Octal prefix '0' is deprecated in favor of '0o' (use 0o777
4420 instead of 0777).
4421 - The extension_safe attribute of apple_binary no longer validates
4422 transitive dependencies are compiled against extension_safe APIs.
4423 - Parentheses around the tuple are now mandatory in [a for b in c
4424 if 1, 2]
4425 - Adjust the thresholds for --test_verbose_timeout_warnings so that
4426 it can recommending timeout increases and won't recommend
4427 timeouts that are too close to the actual timeout.
4428 - Iterating on a `depset` object is deprecated. If you need an
4429 iterable, call the `.to_list()` method first.
4430 - Bazel now uses tools from action_configs in Crosstool by default
4431 (as oposed to using top level tools).
4432 - Incremental dexing errors on combination of --multidex=off and
4433 either --main-dex-list or --minimal-main-dex.
4434 - When using the dictionary literal syntax, it is now an error to
4435 have duplicated keys (e.g. {'ab': 3, 'ab': 5}).
4436 - New property on android_sdk: aapt2
4437 Choose the version of aapt on android_binary
4438 - Add idl_preprocessed attribute to android_library, so that
4439 preprocessed aidl files can be passed to android_library for
4440 compiling
4441 - Bazel's remote_worker backend for remote execution supports
4442 sandboxing on Linux now. Check
4443 https://github.com/bazelbuild/bazel/blob/master/src/tools/remote_w
4444 orker/README.md for details.
4445 - Allows flags that expand to take values.
4446 - Make querying attributes formed by selector lists of list types
4447 more efficient by no longer listing every possible combination of
4448 attribute value but by more compactly storing the possible values
4449 of the list.
4450 - writing build events to a file is no longer experimental
4451 - set --rewrite_calls_to_long_compare to false by default.
4452 - ObjC and C++ coverage feature is unified under name 'coverage'
4453 - Enable --incremental_dexing for Android builds by default. Note
4454 that some dexopts are incompatible with incremental dexing,
4455 including --force-jumbo.
4456 - Evaluation will soon use checked arithmetics and throw an error
4457 instead of overflow/underflow.
4458 - Implicit iteration in the CROSSTOOL has been removed, use
4459 explicit 'iterate_over' message.
4460 - Add option for Android specific grte_top
4461 - Crosstool patches are only applied if the toolchain doesn't define
4462 'no_legacy_features' feature.
4463 - 'platform_type' is now a mandatory attribute on apple_binary and
4464 apple_static_library rules.
4465 If this change breaks your build, feel free to add platform_type
4466 = 'ios' to any apple_binary and apple_static_library
4467 targets in your project, as this was the previous default
4468 behavior.
4469 - Remove apple_watch2_extension build rule. Users should be using
4470 the skylark watchos_application and watchos_extension rules.
4471 https://github.com/bazelbuild/rules_apple has details.
4472 - Check stderr to detect if connected to a terminal. Deprecate
4473 --isatty.
4474 - Commands that shut down the server (like "shutdown") now ensure
4475 that the server process has terminated before the client process
4476 terminates.
4477 - Remove apple_watch1_extension and apple_watch_extension_binary
4478 rules. Users should be using the skylark watchos_application and
4479 watchos_extension rules.
4480 https://github.com/bazelbuild/rules_apple has details.
4481 - Windows: Wrapper-less CROSSTOOL becomes default now.
4482 set USE_MSVC_WRAPPER=1 if you still want to use wrapper script.
4483 - Ignore --glibc in the Android transition.
4484 - Remove --experimental_android_use_singlejar_for_multidex.
4485 - nocopts now also filter copts
4486 - 'strip' action is now configured via feature configuration
4487 - The Build Event Service (BES) client now properly supports
4488 Google Applicaton Default Credentials.
4489 - Flags from action_config get added first to the command line
4490 first, before the flags from features.
4491 - update dexing tools to Android SDK 26.0.1
4492 - Bazel Android support now requires build-tools 26.0.1 or later.
4493 - `bazel info output_path` no longer relies on the root directory
4494 filename being equal to the workspace name.
4495 - The `print` function now prints debug messages instead of
4496 warnings.
4497 - speedup of incremental dexing tools
4498 - --announce_rc now controls whether bazelrc startup options are
4499 printed to stderr.
4500 - Removing a few unused objc_provider keys.
4501 - Improved logging when workers have to be restarted due to its
4502 files having changed.
4503 - Top-level `if` statements are now forbidden.
4504 - Java protos are compiled to Java 7 bytecode.
4505 - All Android builds now use the desugar tool to support some Java
4506 8 features by default. To disable, use the --nodesugar_for_android flag.
4507 - Skylark-related options may now appear as "common" command
4508 options in the .bazelrc
4509 - Python is now required to build bazel.
4510 - New --build_runfile_manifests flag controls production of
4511 runfiles manifests.
4512 - Enable debug info for Java builds
4513 - Allow java_lite_proto_library in the deps of android rules.
4514 - .so files in APKs will be memory-page aligned when
4515 android_binary.nocompress_extensions contains ".so" and
4516 --experimental_android_use_nocompress_extensions_on_apk is
4517 specified.
4518 - Skylark providers can specify allowed fields and their
4519 documentation.
4520 - Support ctx.actions.args() for more efficient Skylark command
4521 line construction.
4522 - The remote HTTP/1.1 caching client (--remote_rest_cache) now
4523 distinquishes between action cache and CAS. The request URL for
4524 the action cache is prefixed with 'ac' and the URL for the CAS
4525 is prefixed with 'cas'.
4526 - `JavaInfo` is a preferred alias to `java_common.provider`.
4527 - J2ObjC version updated to 2.0.3.
4528 - A new Java coverage implementation is available. Makes possible
4529 coverage for Skylark JVM rules.
4530 - Make proguard_apply_dictionary also apply to class and package
4531 obfuscation, not just class members.
4532 - android_binary.nocompress_extensions now applies to all files in
4533 the APK, not just resources and assets.
4534 - The apple_genrule rule that is distributed with Bazel has been
4535 deleted. Users who wish to use genrules with Xcode's
4536 DEVELOPER_DIR set should use the rules in
4537 https://github.com/bazelbuild/rules_apple instead.
4538 - The swift_library rule that is distributed with Bazel has been
4539 deleted. Users who wish to compile Swift should use the rules in
4540 https://github.com/bazelbuild/rules_apple instead.
4541 - The Build Event Protocol's File.uri field is now properly
4542 encoded according to RFC2396.
4543 - Deprecated: Using the android_library.deps attribute to
4544 implicitly export targets to dependent rules. If your code is
4545 using this feature, Bazel will raise a warning. To fix, please
4546 use android_library.exports to explicitly specify exported
4547 targets. Run with
4548 --experimental_allow_android_library_deps_without_srcs=false to
4549 ensure forward compatibility when this feature is removed in a
4550 future release.
4551 - java_common.create_provider is now supported with creating ijars
4552 by default. This introduces incompatibilities for existing users.
4553 Please set use_ijar=False if you don't want to use ijars.
4554 - Tests can now write files to TEST_UNDECLARED_OUTPUTS_DIR and
4555 TEST_UNDECLARED_OUTPUTS_ANNOTATIONS_DIR and these will be
4556 reflected under bazel-testlogs.
4557 - remove unused --host_incremental_dexing flag
4558 - Stop using --undefined dynamic_lookup in Apple links. Enables
4559 unresolved symbol errors.
4560 - All test output files included for cached, uncached, and multiple
4561 attempt tests.
4562 - Android rules no longer restrict the manifest file to be named
4563 "AndroidManifest.xml".
4564 - Boolean flag values will now get normalized to 1 or 0 in
4565 canonicalize-flags output.
4566 - added experimental --use_new_category_enum to the help command to
4567 output options grouped by the new type of category.
4568 - Expose output jars and jdeps in java_common.provider, when
4569 available.
4570 - android_library targets are no longer allowed to use deps to
4571 export targets implicitly; please use android_library.exports
4572 instead.
4573 - New depset API
4574 - apple_binary and apple_static_library no longer support
4575 compilation attributes such as 'srcs'. If this breaks any
4576 existing targets, you may migrate all such attributes to a new
4577 objc_library target and depend on that objc_library target via
4578 the 'deps' attribute of apple_binary or apple_static_library.
4579
Bazel Release Systemed0ebc02017-10-05 23:52:25 +02004580## Release 0.6.1 (2017-10-05)
4581
4582```
4583Baseline: 87cc92e5df35d02a7c9bc50b229c513563dc1689
4584
4585Cherry picks:
4586 + a615d288b008c36c659fdc17965207bb62d95d8d:
4587 Rollback context.actions.args() functionality.
4588 + 7b091c1397a82258e26ab5336df6c8dae1d97384:
4589 Add a global failure when a test is interrupted/cancelled.
4590 + 95b0467e3eb42a8ce8d1179c0c7e1aab040e8120:
4591 Cleanups for Skylark tracebacks
4592 + cc9c2f07127a832a88f27f5d72e5508000b53429:
4593 Remove the status xml attribute from AntXmlResultWriter
4594 + 471c0e1678d0471961f1dc467666991e4cce3846:
4595 Release 0.6.0 (2017-09-28)
4596 + 8bdd409f4900d4574667fed83d86b494debef467:
4597 Only compute hostname once per server lifetime
4598 + 0bc9b3e14f305706d72180371f73a98d6bfcdf35:
4599 Fix bug in NetUtil caching.
4600```
4601
4602Important changes:
4603 - Only compute hostname once per server lifetime
4604
Bazel Release System471c0e12017-09-28 16:36:12 +02004605## Release 0.6.0 (2017-09-28)
4606
4607```
4608Baseline: 87cc92e5df35d02a7c9bc50b229c513563dc1689
4609
4610Cherry picks:
4611 + a615d288b008c36c659fdc17965207bb62d95d8d:
4612 Rollback context.actions.args() functionality.
4613 + 7b091c1397a82258e26ab5336df6c8dae1d97384:
4614 Add a global failure when a test is interrupted/cancelled.
4615 + 95b0467e3eb42a8ce8d1179c0c7e1aab040e8120:
4616 Cleanups for Skylark tracebacks
4617 + cc9c2f07127a832a88f27f5d72e5508000b53429:
4618 Remove the status xml attribute from AntXmlResultWriter
4619```
4620
4621Incompatible changes:
4622
4623 - Noop flag --deprecated_generate_xcode_project deleted.
4624 - Objects in Skylark are converted to strings in a more descriptive
4625 and less harmful way (they don't leak information that shouldn't
4626 be accessed by Skylark code, e.g. nondeterministic memory addresses
4627 of objects).
4628 - `set` is deprecated in BUILD and .bzl files, please use `depset`
4629 instead. Ordering names have also been changed, please use
4630 "default", "postorder", "preorder", and "topological" instead of
4631 "stable", "compile", "naive_link", and "link" correspondingly.
4632 - Integer overflow (on signed 32 bit numbers) in BUILD/bzl files is
4633 an error.
4634 - Keyword-only syntax in a function definition is now forbidden
4635 e.g. `def foo(a, *, b)` or `def foo(a, *b, c)`
4636 - --incompatible_comprehension_variables_do_not_leak defaults to
4637 "true."
4638 Iteration variable becomes inaccessible after a list/dict
4639 comprehension.
4640
4641New features:
4642
4643 - There is now a 'siblings' query function. See the query
4644 documentation for more details.
4645 - Added the print_action command, which outputs the
4646 actions needed to build a given target in the form of an
4647 ExtraActionSummary proto in text format.
4648 - android_binary now supports proguard_apply_dictionary to specify
4649 a custom dictionary to use for choosing names to obfuscate
4650 classes and members to.
4651
4652Important changes:
4653
4654 - 'strip' action is now configured via feature configuration
4655 - Flags from action_config get added first to the command line
4656 first,
4657 before the flags from features.
4658 - `bazel info output_path` no longer relies on the root directory
4659 filename being equal to the workspace name.
4660 - The `print` function now prints debug messages instead of
4661 warnings.
4662 - speedup of incremental dexing tools
4663 - --announce_rc now controls whether bazelrc startup options are
4664 printed to stderr.
4665 - Removing a few unused objc_provider keys.
4666 - Improved logging when workers have to be restarted due to its
4667 files having changed.
4668 - Top-level `if` statements are now forbidden.
4669 - Java protos are compiled to Java 7 bytecode.
4670 - All Android builds now use the desugar tool to support some Java
4671 8 features by default. To disable, use the
4672 --nodesugar_for_android flag.
4673 - Skylark-related options may now appear as "common" command
4674 options in the .bazelrc
4675 - Python is now required to build bazel.
4676 - When the lvalue of an augmented assignment is a list, we now
4677 throw an error
4678 before evaluating the code (e.g. `a, b += 2, 3`).
4679 - New --build_runfile_manifests flag controls production of
4680 runfiles manifests.
4681 - Enable debug info for Java builds
4682 - Allow java_lite_proto_library in the deps of android rules.
4683 - .so files in APKs will be memory-page aligned when
4684 android_binary.nocompress_extensions contains ".so" and
4685 --experimental_android_use_nocompress_extensions_on_apk is
4686 specified.
4687 - Skylark providers can specify allowed fields and their
4688 documentation.
4689 - Support ctx.actions.args() for more efficient Skylark command
4690 line construction.
4691 - The remote HTTP/1.1 caching client (--remote_rest_cache) now
4692 distinquishes between action cache and CAS. The request URL for
4693 the action cache is prefixed with 'ac' and the URL for the CAS
4694 is prefixed with 'cas'.
4695 - `JavaInfo` is a preferred alias to `java_common.provider`.
4696 - J2ObjC version updated to 2.0.3.
4697 - A new Java coverage implementation is available. Makes possible
4698 coverage for Skylark JVM rules.
4699 - Make proguard_apply_dictionary also apply to class and package
4700 obfuscation, not just class members.
4701 - When using the dictionary literal syntax, it is now an error to
4702 have duplicated keys (e.g. {'ab': 3, 'ab': 5}).
4703 - android_binary.nocompress_extensions now applies to all files in
4704 the APK, not just resources and assets.
4705 - The apple_genrule rule that is distributed with Bazel has been
4706 deleted. Users who wish to use genrules with Xcode's
4707 DEVELOPER_DIR set should use the rules in
4708 https://github.com/bazelbuild/rules_apple instead.
4709 - The swift_library rule that is distributed with Bazel has been
4710 deleted. Users who wish to compile Swift should use the rules in
4711 https://github.com/bazelbuild/rules_apple instead.
4712
Bazel Release System5371d132017-08-25 11:24:06 +02004713## Release 0.5.4 (2017-08-25)
4714
4715```
4716Baseline: 6563b2d42d29196432d5fcafa0144b8371fbb028
4717
4718Cherry picks:
4719 + d4fa181f8607c35230b7efa1ce94188b51508962:
4720 Use getExecPathString when getting bash_main_file
4721 + 837e1b3d4859140d29aaa6bbab8fbb008e6d701e:
4722 Windows, sh_bin. launcher: export runfiles envvars
4723 + fe9ba893c0ebec19228086356af5fa8d81f2809b:
4724 grpc: Consolidate gRPC code from BES and Remote Execution. Fixes
4725 #3460, #3486
4726 + e8d4366cd374fba92f1425de0d475411c8defda4:
4727 Automated rollback of commit
4728 496d3ded0bce12b7371a93e1183ba30e6aa88032.
4729 + 242a43449dd44a22857f6ce95f7cc6a7e134d298:
4730 bes,remote: update default auth scope.
4731 + 793b409eeae2b42be7fed58251afa87b5733ca4d:
4732 Windows, sh_bin. launcher: fix manifest path
4733 + 7e4fbbe4ab3915a57b2187408c3909e5cd6c6013:
4734 Add --windows_exe_launcher option
4735 + 91fb38e92ace6cf14ce5da6527d71320b4e3f3d2:
4736 remote_worker: Serialize fork() calls. Fixes #3356
4737 + b79a9fcd40f448d3aebb2b93a2ebe80d09b38408:
4738 Quote python_path and launcher in
4739 python_stub_template_windows.txt
4740 + 4a2e17f85fc8450aa084b201c5f24b30010c5987:
4741 Add build_windows_jni.sh back
4742 + ce61d638197251f71ed90db74843b55d9c2e9ae5:
4743 don't use methods and classes removed in upstream dx RELNOTES:
4744 update dexing tools to Android SDK 26.0.1
4745 + 5393a4996d701fa192964a35cbb75e558a0599c0:
4746 Make Bazel enforce requirement on build-tools 26.0.1 or later.
4747 + 5fac03570f80856c063c6019f5beb3bdc1672dee:
4748 Fix --verbose_failures w/ sandboxing to print the full command
4749 line
4750 + f7bd1acf1f96bb7e3e19edb9483d9e07eb5af070:
4751 Only patch in C++ compile features when they are not already
4752 defined in crosstool
4753 + d7f5c120417bc2d2344dfb285322355f225d9153:
4754 Bump python-gflags to 3.1.0, take two
4755 + 3cb136d5451e9d8af58f9a99990cad0592df101a:
4756 Add python to bazel's dockerfiles
4757```
4758
4759New features:
4760
4761 - Do not disable fully dynamic linking with ThinLTO when invoked
4762 via LIPO options.
4763
4764Important changes:
4765
4766 - Ignore --glibc in the Android transition.
4767 - Remove --experimental_android_use_singlejar_for_multidex.
4768 - nocopts now also filter copts
4769 - The Build Event Service (BES) client now properly supports
4770 Google Applicaton Default Credentials.
4771 - update dexing tools to Android SDK 26.0.1
4772 - Bazel Android support now requires build-tools 26.0.1 or later.
4773 - Fix a bug in the remote_worker that would at times make it crash on Linux. See #3356
4774 - The java_proto_library rule now supports generated sources. See #2265
4775
Bazel Release System195a7a82017-07-27 20:27:32 +02004776## Release 0.5.3 (2017-07-27)
4777
4778```
4779Baseline: 88518522a18df5788736be6151fc67992efe2aad
4780
4781Cherry picks:
4782 + 820a46af10808396873c36d0f331e533118cf0c6:
4783 Automated rollback of commit
4784 6d6e87297fe8818e4c374fdfabfbcf538bca898a.
4785 + ccfb2df69ecf4746f5a15e1295af995c3a45aa94:
4786 Allow py_binary to be the executable of a Skylark action or any
4787 SpawnAction on Windows.
4788 + 06534911696838e720c8681f6f568c69d28da65e:
4789 Fix string representation for the Root class
4790 + cd159bcee72a7f377621b45409807231a636f9e2:
4791 sandbox: Allow UNIX sockets on macOS even when block-network is
4792 used.
4793 + ad73cba3caa2e08ad61ea9ca63f9111cde1f48d1:
4794 Fix python_stub_template.txt to be compatible with Python 2.4.
4795 + 9a63aff8bb771af8917903fbbc9df3b708e2c0ed:
4796 Create Windows ZIP release artifact using Bazel
4797 + 5e576637b5705aff0a7bf56b5077463dffcd712f:
4798 Automated rollback of commit
4799 820a46af10808396873c36d0f331e533118cf0c6.
4800 + b6e29ca217b02c3ba499b85479a3830f59c9b9b6:
4801 Use the correct function to generate the release notes
4802 + 0f3481ba6364f24ef76b839bdde06ae7883c9bd9:
4803 Include <cinttypes> instead of <stdint.h>
4804```
4805
4806Incompatible changes:
4807
4808 - The --output=location flag to 'bazel query' cannot be used with
4809 query expressions that involve the 'buildfiles' or 'loadfiles'
4810 operators. This also applies to 'genquery' rules.
4811 - Operators for equality, comparison, 'in' and 'not in' are no
4812 longer associative, e.g. x < y < z is now a syntax error.
4813 Before, it was parsed as: (x < y) < z.
4814 - In strings, octal sequences greater than \377 are now forbidden
4815 (e.g. "\\600"). Previously, Blaze had the same behavior as Python 2,
4816 where "\\450" == "\050".
4817 - Using tabulation for identation is now fobidden in .bzl files
4818 - `load` is now a language keyword, it cannot be used as an
4819 identifier
4820 - lvalues must have define at least one variable (i.e. we forbid
4821 `[] = f()`).
4822 - Fixed a bug whereby multiple load() statements could appear on
4823 the same line
4824 - -extra_checks:off is no longer supported; use
4825 -XepDisableAllChecks instead
4826 - java_common.java_toolchain_attr is removed. Depend on the
4827 java_toolchain_alias() rule to accomplish the same thing.
4828 - cc_common.cc_toolchain_attr and java_common.java_runtime_attr are
4829 not supported anymore and were replaced with the
4830 cc_toolchain_alias() and java_runtime_alias() rules.
4831
4832New features:
4833
4834 - Zipped LLVM profiles are now supported.
4835 - LIPO maps to ThinLTO for LLVM builds.
4836 - Change to handle LLVM FDO zipped profile contents correctly.
4837
4838Important changes:
4839
4840 - Windows: bazel clean --expunge works
4841 - First argument of 'load' should be a label. Path syntax is
4842 deprecated (label should start with '//' or ':').
4843 - Octal prefix '0' is deprecated in favor of '0o' (use 0o777
4844 instead of 0777).
4845 - The extension_safe attribute of apple_binary no longer validates
4846 transitive dependencies are compiled against extension_safe APIs.
4847 - Parentheses around the tuple are now mandatory in [a for b in c
4848 if 1, 2]
4849 - Adjust the thresholds for --test_verbose_timeout_warnings so that
4850 it can recommending timeout increases and won't recommend
4851 timeouts that are too close to the actual timeout.
4852 - Iterating on a `depset` object is deprecated. If you need an
4853 iterable, call the `.to_list()` method first.
4854 - Bazel now uses tools from action_configs in Crosstool by default
4855 (as oposed to using top level tools).
4856 - Incremental dexing errors on combination of --multidex=off and
4857 either --main-dex-list or --minimal-main-dex.
4858 - When using the dictionary literal syntax, it is now an error to
4859 have duplicated keys (e.g. {'ab': 3, 'ab': 5}).
4860 - New property on android_sdk: aapt2
4861 Choose the version of aapt on android_binary
4862 - Add idl_preprocessed attribute to android_library, so that
4863 preprocessed aidl files can be passed to android_library for
4864 compiling
4865 - Bazel's remote_worker backend for remote execution supports
4866 sandboxing on Linux now. Check
4867 https://github.com/bazelbuild/bazel/blob/master/src/tools/remote_w
4868 orker/README.md for details.
4869 - Allows flags that expand to take values.
4870 - Make querying attributes formed by selector lists of list types
4871 more efficient by no longer listing every possible combination of
4872 attribute value but by more compactly storing the possible values
4873 of the list.
4874 - Writing build events to a file is no longer experimental
4875 - set --rewrite_calls_to_long_compare to false by default.
4876 - ObjC and C++ coverage feature is unified under name 'coverage'
4877 - Enable --incremental_dexing for Android builds by default. Note
4878 that some dexopts are incompatible with incremental dexing,
4879 including --force-jumbo.
4880 - Evaluation will soon use checked arithmetics and throw an error
4881 instead of overflow/underflow.
4882 - Implicit iteration in the CROSSTOOL has been removed, use
4883 explicit 'iterate_over' message.
4884 - Add option for Android specific grte_top
4885 - Crosstool patches are only applied if the toolchain doesn't define
4886 'no_legacy_features' feature.
4887 - 'platform_type' is now a mandatory attribute on apple_binary and
4888 apple_static_library rules.
4889 If this change breaks your build, feel free to add platform_type
4890 = 'ios' to any apple_binary and apple_static_library
4891 targets in your project, as this was the previous default
4892 behavior.
4893 - Remove apple_watch2_extension build rule. Users should be using
4894 the skylark watchos_application and watchos_extension rules.
4895 https://github.com/bazelbuild/rules_apple has details.
4896 - Check stderr to detect if connected to a terminal. Deprecate
4897 --isatty.
4898 - Commands that shut down the server (like "shutdown") now ensure
4899 that the server process has terminated before the client process
4900 terminates.
4901 - Remove apple_watch1_extension and apple_watch_extension_binary
4902 rules. Users should be using the skylark watchos_application and
4903 watchos_extension rules.
4904 https://github.com/bazelbuild/rules_apple has details.
4905 - Windows: Wrapper-less CROSSTOOL becomes default now.
4906 set USE_MSVC_WRAPPER=1 if you still want to use wrapper script.
4907
Bazel Release System7b851222017-06-27 15:08:47 +02004908## Release 0.5.2 (2017-06-27)
4909
4910```
4911Baseline: e78ad83ded6e9c6d639793827e27b6570e6e9f65
4912
4913Cherry picks:
4914 + 68028317c1d3d831a24f90e2b25d1410ce045c54:
4915 experimental UI: move stopUpdateThread() out of synchronized,
4916 again
4917 + 019935dfbb61e61d08d1351b0365fb4e2d0df305:
4918 Fix bug in URI computation in RemoteModule
4919 + e9424cf9b9d72b98594966d5ac0f15bb018ec639:
4920 Automated rollback of commit
4921 7dec00574aa91327693f6ba7e90bff5bc834253e.
4922 + 9eea05d068a06ab642dd9d86d46ee5fa2e36b02e:
4923 Switching to Watcher API instead of wait_for_completion, in
4924 preparation for deprecating the wait_for_completion field.
4925 + 89659810e3048782dfb5e308e39aa8a0727e464e:
4926 Set correct execroot for info
4927 + 716b527266f47f59a2b7fb2e5fc52cb45e1691b1:
4928 Only create a single per-build instance of the remote cache /
4929 executor
4930 + 1d82d199f82409f217a42bcefebb96f723f91caa:
4931 protobuf: Update protobuf jars to be binary compatible with Java
4932 6. Fixes #3198
4933 + 524b90d9e5acc4fa568f215c9415eaa902e979f8:
4934 Change CAS URI to use the "bytestream" scheme instead of being
4935 scheme-less
4936 + 4929ad79865f8c13ef3b33c827040f4a037e4afe:
4937 Automated g4 rollback of commit
4938 923d7df521f67d031b288180560848bd35e20976.
4939 + 68b9a7e2dc17e32b194238d287e79bee1ba035b9:
4940 Automated g4 rollback of commit
4941 da56606563ee9df438db93392f681bf2abb4ac97.
4942 + 2ba693ffbe824136a0ca5f47d34710612f6302c3:
4943 Automated rollback of commit
4944 ce7c4deda60a307bba5f0c9421738e2a375cf44e.
4945```
4946
4947Incompatible changes:
4948
4949 - Blaze no longer generates xcode projects. Use tulsi.bazel.build
4950 instead.
4951
4952Important changes:
4953
4954 - Keyword-only syntax in a function definition is deprecated
4955 (e.g. `def foo(a, *, b)` or `def foo(a, *b, c)`) and will be
4956 removed in the future.
4957 - Attempting to build an Android target without setting up
4958 android_sdk_repository will now produce a helpful error message.
4959 - Adds a sha256 attribute to git_repository and new_git_repository.
4960 This can only be used if the remote is a public GitHub
4961 repository. It forces
4962 Bazel to download the repository as a tarball, which will often
4963 be faster and
4964 more robust than cloning it.
4965 - Sandboxing is now enabled by default on FreeBSD (via
4966 processwrapper-sandbox).
4967 - android_test may use manifest placeholders with 'manifest_merger
4968 = "android"'.
4969 - load() statements should be called at the top of .bzl files,
4970 before any
4971 other statement. This convention will be enforced in the future.
4972 - Effectively remove sysroot from CppConfiguration and allow it to
4973 use select statements.
4974 - proto_library.strict_proto_deps no longer exists.
4975 - Flag --explicit_jre_deps is now a noop.
4976 - The 'legacy' Android manifest merger is deprecated. Please
4977 upgrade to the 'android' manifest merger, which is the same
4978 merger used by Gradle.
4979 https://developer.android.com/studio/build/manifest-merge.html
4980 - Using $(CC_FLAGS) in a GenRule adds a dependency to the c++
4981 toolchain
4982 - add one-version enforcement to android_local_test
4983 - Skylark support (apple_common.dotted_version(string)) for
4984 building DottedVersion objects to interface with native apple
4985 rules
4986 - CC_FLAGS can be defined using 'cc-flags-make-variable' action_config in
4987 CROSSTOOL
4988 - ios_framework native rule has been removed. This rule had been
4989 essentially broken for several months now; users should be using
4990 the skylark ios framework rule.
4991 https://github.com/bazelbuild/rules_apple has details.
4992 - Clean command no longer uses boolean values for --async,
4993 --expunge, and --expunge_async options.
4994 - Partially fixes external J2ObjC support.
4995 - '--aspects' can occur more than once on the command line.
4996 - --no_ prefix no longer recognized.
4997 - Use action_config in crosstool for static library archiving,
4998 remove ar_flag.
4999 - Added a new flag --sandbox_writable_path, which asks the sandbox
5000 to
5001 make an existing directory writable when running actions.
5002 - bazel test now also computes a default instrumentation filter if
5003 --collect_code_coverage is enabled
5004 - n/na
5005 - In .bzl files, top-level `if` statements are deprecated and will
5006 be forbidden
5007 in the future. Move them in a function body instead (or use a
5008 conditional
5009 expression instead: `x if condition else y`).
5010 - ios_device and ios_test are deprecated. Please use the new testing
5011 rules in https://github.com/bazelbuild/rules_apple instead.
5012 - bazel query --output package now displays packages from external
5013 repository with the format "@reponame//package". Packages in the
5014 main repository continue to have the format "package".
5015 - ctx.expand_make_variables is deprecated.
5016 - Bazel posts links to the CAS to the BEP if remote caching /
5017 execution is enabled
5018 - `bazel info execution_root` returns the corrrect directory name
5019 for the execution root.
5020
Bazel Release System63222de2017-06-06 11:32:04 +02005021## Release 0.5.1 (2017-06-06)
5022
5023```
5024Baseline: f3ae88ee043846e7acdffd645137075a4e72c573
5025
5026Cherry picks:
5027 + c58ba098526b748f9c73e6229cafd74748205aa1:
5028 Release to GCS: put the final release in its own directory
5029 + 0acead4ea3631240659836ce6ecd6d7f67fd352b:
5030 Update protobuf to latest master at a64497c and apply
5031 @laszlocsomor's latest changes from
5032 https://github.com/google/protobuf/pull/2969 on top of it.
5033 + d0242ce4a87929f2528f4602d0fb09d1ccfcea94:
5034 Make symlinks consistent
5035 + d953ca8b87a46decbce385cebb446ae0dd390881:
5036 Clean VanillaJavaBuilder output directories
5037 + 755669fb5de1f4e762f27c19776cac9f410fcb94:
5038 Pass all the environment variable to Bazel during bootstrapping
5039 + 6f041661ca159903691fcb443d86dc7b6454253d:
5040 Do not mark the JDK7 installer -without-jdk-installer
5041 + 720561113bfa702acfc2ca24ce3cc3fd7ee9c115:
5042 Fix #2958: Installer should not overwrite bazelrc
5043 + 511c35b46cead500d4e76706e0a709e50995ceba:
5044 Bootstrap: move the fail function to the top
5045 + 8470be1122825aae8ad0903dd1e1e2a90cce47d2:
5046 Clean up javac and Error Prone targets
5047 + 4a404de2c6c38735167e17ab41be45ef6fc4713a:
5048 Update javac version to 9-dev-r4023-2
5049 + 36ce4b433e19498a78c34540d5a166d4e0006b22:
5050 Update javac version to 9-dev-r4023-2
5051 + 38949b8526bdb3e6db22f3846aac87162c28c33f:
5052 Migrate off versioned javac and Error Prone targets
5053 + 1a57d298f8aa6ea8136d93223902104f2479cd2a:
5054 Re-enabling passing -sourcepath via javacopts.
5055 + eb565f408e03125e92d42b00756e519795be6593:
5056 Make make sure that msys build actually builds msys version
5057 + 39f328cf392056618d1a3ead4835a138b189a06d:
5058 Fix typo. Also do not override host_cpu for msvc.
5059 + 624802893f4fe72118f00a78452605d41a2e1c6f:
5060 Select correct JDK for windows_msys
5061 + c4f271d1a68366b6fa5ff38ea7d951b6a22af044:
5062 Automated g4 rollback of commit
5063 3e5edafa2a04a71cd3596e929e83222da725f3f9.
5064 + 926180997a0f296a5a009326aead887279ce0a90:
5065 Remove process-tools.cc which I forgot to delete during the last
5066 rollback.
5067 + baca6e4cb023649920871b74810927d304729e59:
5068 Fix #2982: Bazel installer should not check for installed JDK if
5069 using a bundled JDK.
5070 + 866ecc8c3d5e0b899e3f0c9c6b2265f16daae842:
5071 Disable msys path conversion on Windows.
5072 + cc21998c299b4d1f97df37b961552ff8168da17f:
5073 Rollforward #2 of: Basic open-source crosstool to support
5074 targeting apple platform types.
5075 + 0f0ccc4fc8229c1860a9c9b58089d6cfb2ee971f:
5076 Escape % in strings that will appear in Crosstool
5077 + 3b08f774e7938928e3a240a47a0a7554cdc8d50b:
5078 Adding feature for linking C Run-Time library on Windows
5079 + 3566474202d1978acfdcb7e5ff73ee03ea6f3df9:
5080 Do not use sed -E in bootstrap/compile.sh
5081 + c3cf7d917afd02d71de3800cd46ad8d14f1ddf55:
5082 Reverts non-xcode-available darwin crosstool generation.
5083```
5084
5085Important changes:
5086
5087 - Fixes regression in 0.5.0 requiring Xcode to build C++ on OSX.
5088
Bazel Release Systema3e26832017-05-26 14:11:07 +02005089## Release 0.5.0 (2017-05-26)
5090
5091```
5092Baseline: f3ae88ee043846e7acdffd645137075a4e72c573
5093
5094Cherry picks:
5095 + c58ba098526b748f9c73e6229cafd74748205aa1:
5096 Release to GCS: put the final release in its own directory
5097 + 0acead4ea3631240659836ce6ecd6d7f67fd352b:
5098 Update protobuf to latest master at a64497c and apply
5099 @laszlocsomor's latest changes from
5100 https://github.com/google/protobuf/pull/2969 on top of it.
5101 + d0242ce4a87929f2528f4602d0fb09d1ccfcea94:
5102 Make symlinks consistent
5103 + d953ca8b87a46decbce385cebb446ae0dd390881:
5104 Clean VanillaJavaBuilder output directories
5105 + 755669fb5de1f4e762f27c19776cac9f410fcb94:
5106 Pass all the environment variable to Bazel during bootstrapping
5107 + 6f041661ca159903691fcb443d86dc7b6454253d:
5108 Do not mark the JDK7 installer -without-jdk-installer
5109 + 720561113bfa702acfc2ca24ce3cc3fd7ee9c115:
5110 Fix #2958: Installer should not overwrite bazelrc
5111 + 511c35b46cead500d4e76706e0a709e50995ceba:
5112 Bootstrap: move the fail function to the top
5113 + 8470be1122825aae8ad0903dd1e1e2a90cce47d2:
5114 Clean up javac and Error Prone targets
5115 + 4a404de2c6c38735167e17ab41be45ef6fc4713a:
5116 Update javac version to 9-dev-r4023-2
5117 + 36ce4b433e19498a78c34540d5a166d4e0006b22:
5118 Update javac version to 9-dev-r4023-2
5119 + 38949b8526bdb3e6db22f3846aac87162c28c33f:
5120 Migrate off versioned javac and Error Prone targets
5121 + 1a57d298f8aa6ea8136d93223902104f2479cd2a:
5122 Re-enabling passing -sourcepath via javacopts.
5123 + eb565f408e03125e92d42b00756e519795be6593:
5124 Make make sure that msys build actually builds msys version
5125 + 39f328cf392056618d1a3ead4835a138b189a06d:
5126 Fix typo. Also do not override host_cpu for msvc.
5127 + 624802893f4fe72118f00a78452605d41a2e1c6f:
5128 Select correct JDK for windows_msys
5129 + c4f271d1a68366b6fa5ff38ea7d951b6a22af044:
5130 Automated g4 rollback of commit
5131 3e5edafa2a04a71cd3596e929e83222da725f3f9.
5132 + 926180997a0f296a5a009326aead887279ce0a90:
5133 Remove process-tools.cc which I forgot to delete during the last
5134 rollback.
5135 + baca6e4cb023649920871b74810927d304729e59:
5136 Fix #2982: Bazel installer should not check for installed JDK if
5137 using a bundled JDK.
5138 + 866ecc8c3d5e0b899e3f0c9c6b2265f16daae842:
5139 Disable msys path conversion on Windows.
5140 + cc21998c299b4d1f97df37b961552ff8168da17f:
5141 Rollforward #2 of: Basic open-source crosstool to support
5142 targeting apple platform types.
5143 + 0f0ccc4fc8229c1860a9c9b58089d6cfb2ee971f:
5144 Escape % in strings that will appear in Crosstool
5145 + 3b08f774e7938928e3a240a47a0a7554cdc8d50b:
5146 Adding feature for linking C Run-Time library on Windows
5147```
5148
5149Incompatible changes:
5150
5151 - Bazel's Linux sandbox no longer mounts an empty tmpfs on /tmp,
5152 instead the existing /tmp is mounted read-write. If you prefer
5153 to have a tmpfs on /tmp for sandboxed actions for increased
5154 hermeticity, please use the flag --sandbox_tmpfs_path=/tmp.
5155 - Converting artifacts to strings and printing them now return
5156 "File" instead of "Artifact" to be consistent with the type name.
5157 - The return type of depset.to_list() is now a list rather than a
5158 frozen list. (Modifying the list has no effect on the depset.)
5159 - Bazel now prints logs in single lines to java.log
5160 - --use_dash, --dash_url and --dash_secret are removed.
5161 - Remote repositories must define any remote repositories they
5162 themselves use (e.g., if @x//:foo depends on @y//:bar, @y must be
5163 defined
5164 in @x's WORKSPACE file).
5165 - Remote repositories must define any remote repositories they
5166 themselves use (e.g., if @x//:foo depends on @y//:bar, @y must be
5167 defined
5168 in @x's WORKSPACE file).
5169 - objc_xcodeproj has been removed, use tulsi.bazel.build instead.
5170
5171New features:
5172
5173 - If grte_top is a label, it can now follow non-configurable
5174 redirects.
5175 - Optional coverage_files attribute to cc_toolchain
5176 - "query --output=build" now includes select()s
5177 - Raw LLVM profiles are now supported.
5178
5179Important changes:
5180
5181 - Automatically generate Proguard mapping when resource shrinking
5182 and Proguard are enabled.
5183 - New rules in Bazel: proto_library, java_lite_proto_library,
5184 java_proto_library and cc_proto_library
5185 - Activate the "dead_strip" feature if objc binary stripping is
5186 enabled.
5187 - More stable naming scheme for lambda classes in desugared android
5188 code
5189 - Convert --use_action_cache to a regular option
5190 - Per-architecture dSYM binaries are now propagated by
5191 apple_binary's AppleDebugOutputsProvider.
5192 - Avoid factory methods when desugaring stateless lambdas for
5193 Android
5194 - desugar calls to Objects.requireNonNull(Object o) with
5195 o.getClass() for android
5196 - Add an --copy_bridges_from_classpath argument to android
5197 desugaring tool
5198 - Change how desugar finds desugared classes to have it working on
5199 Windows
5200 - Evaluation of commands on TargetsBelowDirectory patterns
5201 (e.g. //foo/...) matching packages that fail to load now report
5202 more
5203 detailed error messages in keep_going mode.
5204 - Allow to have several inputs and outputs
5205 - Repository context's execute() function can print stdout/stderr
5206 while running. To enable, pass quiet=False.
5207 - Bazel can now be built with a bundled version of the OpenJDK.
5208 This makes it possible to use Bazel on systems without a JDK, or
5209 where
5210 the installed JDK is too old.
5211 - The --jobs flag now defaults to "auto", which causes Bazel to
5212 use a reasonable degree of parallelism based on the local
5213 machine's
5214 capacity.
5215 - Bazel benchmark (perf.bazel.build) supports Java and Cpp targets.
5216 - no factory methods generated for lambda expressions on android
5217 - The Linux sandbox no longer changes the user to 'nobody' by
5218 default, instead the current user is used as is. The old behavior
5219 can be
5220 restored via the --sandbox_fake_username flag.
5221 - /tmp and /dev/shm are now writable by default inside the
5222 Linux sandbox.
5223 - Bazel can now use the process-wrapper + symlink tree based
5224 sandbox implementation in FreeBSD.
5225 - turn on --experimental_incremental_dexing_error_on_missed_jars by
5226 default.
5227 - All android_binarys are now signed with both Apk Signature V1 and
5228 V2. See https://source.android.com/security/apksigning/v2.html
5229 for more details.
5230 - Windows MSVC wrappers: Not filtering warning messages anymore,
5231 use --copt=-w and --host_copt=-w to suppress them.
5232 - A downloader bug was fixed that prevented RFC 7233 Range
5233 connection resumes from working with certain HTTP servers
5234 - Introduces experimental android_device rule for configuring and
5235 launching Android emulators.
5236 - For boolean flags, setting them to false using --no_<flag_name>
5237 is deprecated. Use --no<flag_name> without the underscore, or
5238 --<flag_name>=false instead.
5239 - Add --experimental_android_compress_java_resources flag to store
5240 java
5241 resources as compressed inside the APK.
5242 - Removed --experimental_use_jack_for_dexing and libname.jack
5243 output of
5244 android_library.
5245 - blaze canonicalize-flags now takes a --show_warnings flag
5246 - Changing --invocation_policy will no longer force a server
5247 restart.
5248 - Bazel now supports Android NDK14.
5249 - android_binary multidex should now work without additional flags.
5250 - Use action_config in crosstool for static library archiving,
5251 remove ar_flag.
5252 - new option for bazel canonicalize-flags, --canonicalize_policy
5253 - Use action_config in crosstool for static library archiving,
5254 remove ar_flag.
5255 - android_library exports_manifest now defaults to True.
5256 - Fix select condition intersections.
5257 - Adds a --override_repository option that takes a repository
5258 name and path. This forces Bazel to use the directory at that path
5259 for the repository. Example usage:
5260 `--override_repository=foo=/home/user/gitroot/foo`.
5261 - fix idempotency issue with desugaring lambdas in interface
5262 initializers for android
5263 - --experimental_android_use_singlejar_for_multidex is now a no-op
5264 and will eventually be removed.
5265 - Every local_repository now requires a WORKSPACE file.
5266 - Remove jack and jill attributes of the android_sdk rule.
5267 - Add Skylark stubs needed to remove sysroot from CppConfiguration.
5268 - Desugar try-with-resources so that this language feature is
5269 available
5270 to deveces with API level under 19.
5271 - The flag --worker_max_retries was removed. The
5272 WorkerSpawnStrategy no longer retries execution of failed Spawns,
5273 the reason being that this just masks compiler bugs and isn't
5274 done for any other execution strategy either.
5275 - Bazel will no longer gracefully restart workers that crashed /
5276 quit, instead this triggers a build failure.
5277 - All java resources are now compressed in android_binary APKs by
5278 default.
5279 - All java resources are now compressed in android_binary APKs by
5280 default.
5281 - android_ndk_repository now creates a cc_library
5282 (@androidndk//:cpufeatures) for the cpufeatures library that is
5283 bundled in the Android NDK. See
5284 https://developer.android.com/ndk/guides/cpu-features.html for
5285 more details.
5286 - 'output_groups' and 'instrumented_files' cannot be specified in
5287 DefaultInfo.
5288 - You can increase the CPU reservation for tests by adding a
5289 "cpu:<n>" (e.g. "cpu:4" for four cores) tag to their rule in a
5290 BUILD file. This can be used if tests would otherwise overwhelm
5291 your system if there's too much parallelism.
5292 - Deprecate use_singlejar_for_proguard_libraryjars and force
5293 behavior to always on.
5294
Bazel Release System8d635fc2017-03-16 13:18:30 +01005295## Release 0.4.5 (2017-03-16)
5296
5297```
5298Baseline: 2e689c29d5fc8a747216563235e905b1b62d63b0
5299
5300Cherry picks:
5301 + a28b54033227d930672ec7f2714de52e5e0a67eb:
5302 Fix Cpp action caching
5303 + 6d1d424b4c0da724e20e14235de8012f05c470f8:
5304 Fix paths of binaries in .deb packages.
5305 + 0785cbb672357d950e0c045770c4567df9fbdc43:
5306 Update to guava 21.0 and Error Prone version 2.0.18-20160224
5307 + 30490512eb0e48a3774cc4e4ef78680e77dd4e47:
5308 Update to latest javac and Error Prone
5309 + 867d16eab3bfabae070567ecd878c291978ff338:
5310 Allow ' ', '(', ')' and '$' in labels
5311 + 7b295d34f3a4f42c13aafc1cc8afba3cb4aa2985:
5312 Pass through -sourcepath to the JavaBuilder
5313 + 14e4755ce554cdfc685fc9cc2bfb5b699a3b48f4:
5314 PathFragment comparisons are now platform-aware
5315 + ed7795234ca7ccd2567007f2c502f853cd947e50:
5316 Flag to import external repositories in python import path
5317 + 81ae08bbc13f5f4a04f18caae339ca77ae2699c1:
5318 Suppress error for non-exhaustive switches
5319 + e8d1177eef9a9798d2b971630b8cea59471eec33:
5320 Correctly returns null if an environment variables is missing
5321 + 869d52f145c077e3499b88df752cebc60af51d66:
5322 Fix NPE in Android{S,N}dkRepositoryFunction.
5323 + d72bc57b60b26245e64f5ccafe023a5ede81cc7f:
5324 Select the good guava jars for JDK7 build
5325 + 92ecbaeaf6fa11dff161254df38d743d48be8c61:
5326 Windows: Assist JNI builds with a target for jni_md.h.
5327 + 36958806f2cd38dc51e64cd7bcc557bd143bbdb6:
5328 Add java_common.create_provider to allow creating a
5329 java_common.provider
5330 + 8c00f398d7be863c4f502bde3f5d282b1e18f504:
5331 Improve handling of unknown NDK revisions in
5332 android_ndk_repository.
5333 + b6ea0d33d3ab72922c8fb3ec1ff0e437af09584d:
5334 Add the appropriate cxx_builtin_include_directory entries for
5335 clang to the Android NDK crosstool created by
5336 android_ndk_repository.
5337```
5338
5339Incompatible changes:
5340
5341 - Depsets (former sets) are converted to strings as "depset(...)"
5342 instead of
5343 "set(...)".
5344 - Using --symlink_prefix is now applied to the output
5345 symlink (e.g. bazel-out) and the exec root symlink (e.g.
5346 bazel-workspace).
5347 - Bazel now uses the test's PATH for commands specified as
5348 --run_under; this can affect users who explicitly set PATH to
5349 a more
5350 restrictive value than the default, which is to forward the
5351 local PATH
5352 - It's not allowed anymore to compare objects of different types
5353 (i.e. a string to an integer) and objects for which comparison
5354 rules are not
5355 defined (i.e. a dict to another dict) using order operators.
5356
5357New features:
5358
5359 - environ parameter to the repository_rule function let
5360 defines a list of environment variables for which a change of
5361 value
5362 will trigger a repository refetching.
5363
5364Important changes:
5365
5366 - android_ndk_repository now supports Android NDK R13.
5367 - Android resource shrinking is now available for android_binary
5368 rules. To enable, set the attribute 'shrink_resources = 1'. See
5369 https://bazel.build/versions/master/docs/be/android.html#android_b
5370 inary.shrink_resources.
5371 - resolve_command/action's input_manifest return/parameter is now
5372 list
5373 - For increased compatibility with environments where UTS
5374 namespaces are not available, the Linux sandbox no longer hides
5375 the hostname of the local machine by default. Use
5376 --sandbox_fake_hostname to re-enable this feature.
5377 - proto_library: alias libraries produce empty files for descriptor
5378 sets.
5379 - Adds pkg_rpm rule for generating RPM packages.
5380 - Allow CROSSTOOL files to have linker flags specific to static
5381 shared libraries.
5382 - Make it mandatory for Java test suites in bazel codebase, to
5383 contain at least one test.
5384 - Support for Java 8 lambdas, method references, type annotations
5385 and repeated annotations in Android builds with
5386 --experimental_desugar_for_android.
5387 - Removed .xcodeproj automatic output from objc rules. It can still
5388 be generated by requesting it explicitly on the command line.
5389 - Flips --explicit_jre_deps flag on by default.
5390 - Activate the "dbg", "fastbuild", and "opt" features in the objc
5391 CROSSTOOL.
5392 - Remove support for configuring JDKs with filegroups; use
5393 java_runtime and java_runtime_suite instead
5394 - android_ndk_repository api_level attribute is now optional. If not
5395 specified, the highest api level in the ndk/platforms directory
5396 is used.
5397
Bazel Release System6712cac2017-02-01 19:53:37 +01005398## Release 0.4.4 (2017-02-01)
5399
5400```
5401Baseline: 4bf8cc30a
5402
5403Cherry picks:
5404 + ef1c6fd33: msvc_tools.py.tpl: Change default runtime library to
5405 static
5406```
5407
5408Incompatible changes:
5409
5410 - Only targets with public visibility can be bound to something in
5411 //external: .
5412 - The deprecated -x startup option has been removed.
5413 - docker_build: change the repository names embedded by
5414 docker_build. You can revert to the old behavior by setting
5415 legacy_repository_naming=True.
5416 - The string methods strip(), lstrip(), and rstrip() now
5417 by default remove the same whitespace characters as Python 3
5418 does, and accept
5419 None as an argument.
5420 - Deprecated globals HOST_CFG and DATA_CFG are removed. Use strings
5421 "host" and "data" instead.
5422 - repository_ctx environment is now affected by --action_env flag
5423 (value from the
5424 client environment will be replaced by value given on the command
5425 line through --action_env).
5426 - All executable labels must also have a cfg parameter specified.
5427 - Removed the cmd_helper.template function.
5428 The function was equivalent to:
5429 def template(items, template):
5430 return [template.format(path = i.path, short_path =
5431 i.short_path)
5432 for i in items]
5433 - Tuples that end with a trailing comma must now be inside parens,
5434 e.g. (1,) instead of 1,
5435 - The traversal orders for depsets have been renamed. The old names
5436 are deprecated and will be removed in the future. New names:
5437 "stable" -> "default", "compile" -> "postorder", "link" ->
5438 "topological", "naive_link" -> "preorder".
5439
5440New features:
5441
5442 - Skylark: you can now multiply a list by an integer to get the
5443 concatenation of N copies of this list, e.g. [a,b] * 3 =
5444 [a,b,a,b,a,b]
5445 - Allow Android aidl tool to add a jar to the program's classpath,
5446 such as if needed to support generated sources.
5447 - Add transitive proguard_specs when android_sdk.aidl_lib is
5448 specified
5449 - Windows: "/dev/null" is now a supported path, e.g.
5450 --bazelrc=/dev/null now works
5451
5452Important changes:
5453
5454 - Bazel Android builds use the apksigner tool from the Android SDK
5455 build-tools. Bazel Android builds now require build-tools version
5456 24.0.3 or
5457 later.
5458 - Android SDK external bindings for support libraries, e.g.
5459 //external:android/appcompat_v4, are removed because the support
5460 library JARs that they referenced no longer ship with the Android
5461 SDK.
5462 - aar_import rule is now documented.
5463 - An IE bug was fixed in repository_ctx.download_and_extract
5464 - Update "-I" to "-isystem" in documentation to reflect current
5465 behavior.
5466 - android_sdk_repository build_tools_version is now optional. The
5467 highest installed build-tools will be used if none is specified.
5468 - New flag --sandbox_add_mount_pair to specify customized
5469 source:target path pairs to bind mount inside the sandbox.
5470 - expose proto_library descriptor set to skylark via
5471 <dep>.proto.descriptor_set
5472 - The `set` constructor is deprecated in favor of `depset`
5473 - Autodetect gold linker in cc_configure.bzl
5474 - Remove build flag --experimental_j2objc_annotation_processing. It
5475 is on by default now.
5476 - Set clang's -mwatchos-version-min correctly using the value of
5477 --watchos_minimum_os, not --watchos_sdk_version.
5478 - singlejar can now create jar files larger than 4GB.
5479 - android_sdk_repository and android_ndk_repository now read
5480 $ANDROID_HOME and $ANDROID_NDK_HOME if the path attribute is not
5481 set.
5482 - Removed broken api levels 3, 4 and 5 from Android NDK 12.
5483 - Default --android_dynamic_mode to off.
5484 - android_sdk_repository no longer requires api_level. If one is
5485 not specified, the highest android platform installed will be
5486 used. Furthermore, android_sdk's are created for all android
5487 platforms installed and can be specified with the --android_sdk
5488 flag.
5489 - To iterate over or test for membership in a set, prefer using the
5490 new to_list() method. E.g., "for x in myset.to_list():", or
5491 "print(x in myset.to_list())". Iteration/membership-test on the
5492 raw set itself is deprecated.
5493 - Remove support for --javawarn; use e.g. --javacopt=-Xlint:all
5494 instead
5495
Bazel Release Systemd3b23642016-12-22 13:30:47 +01005496## Release 0.4.3 (2016-12-22)
Bazel Release System80865ff2016-11-30 13:18:54 +01005497
Damien Martin-Guillerez961e54f2016-12-22 13:33:36 +01005498```
Bazel Release Systemd3b23642016-12-22 13:30:47 +01005499Baseline: c645a45
Bazel Release System80865ff2016-11-30 13:18:54 +01005500
5501Cherry picks:
Bazel Release Systemd3b23642016-12-22 13:30:47 +01005502 + af878d0: Add coverage support for java test. (series 4/4 of
5503 open-sourcing coverage command for java test)
5504 + 09b92a8: Rollback of commit
5505 67b4d5250edcefa7220e928e529b1f385e2dc464.
5506 + b11dd48: Fix bad bug with the parallel implementation of
5507 BinaryOperatorExpression. Turns out that
5508 ForkJoinTask#adapt(Callable) returns a ForkJoinTask
5509 whose Future#get on error throws a ExecutionException
5510 wrapping a RuntimeException wrapping the thrown checked
5511 exception from the callable. This is documented
5512 behavior [1] that I incorrectly didn't know about.
5513 + 9012bf1: Fix scripts/packages/convert_changelog to read the
5514 changelog correctly
5515 + 55c97bc: Release script: if master branch does not exist, fall
5516 back on origin/master
5517 + 4fb378c: Debian repository: override section and priority fields
5518 + acbcbc2: Fix release notes in emails
5519 + 4975760: Fix PathFragment to not use Java8-only static hashCode
5520 methods.
5521 + 05fd076: Disable sandboxing for XibCompile actions.
Damien Martin-Guillerez961e54f2016-12-22 13:33:36 +01005522```
Bazel Release System80865ff2016-11-30 13:18:54 +01005523
5524Incompatible changes:
5525
Bazel Release Systemd3b23642016-12-22 13:30:47 +01005526 - Skylark maven_jar and maven_aar settings attribute is now a label
5527 so it can be checked into your workspace.
5528 - --{no}experimental_use_rclass_generator is now a nop.
5529
5530New features:
5531
5532 - Coverage support (*experimental*) for pure Java target.
5533 Use `bazel coverage //my:target` to generate coverage information
5534 from a `java_test`.
Bazel Release System80865ff2016-11-30 13:18:54 +01005535
5536Important changes:
5537
Bazel Release Systemd3b23642016-12-22 13:30:47 +01005538 - Enable fallback URLs in Skylark http rules.
5539 - cc_proto_library generates C++ code from proto_library rules.
5540 - cc_library now supports the strip_prefix and strip_include_prefix
5541 attributes for control of include paths.
5542 - Skylark dicts internally don't rely on keys order anymore and
5543 accept any hashable values (i.e. structs with immutable values)
5544 as keys. Iteration order of dictionaries is no longer specified.
Damien Martin-Guillerez961e54f2016-12-22 13:33:36 +01005545
5546## Release 0.4.2 (2016-12-02)
5547
5548```
5549Baseline: 6331a94
5550
5551Cherry picks:
5552 + 7b835d9: Do not patch WORKSPACE in the release process
5553```
5554
5555Incompatible changes:
5556
5557 - Callback functions in Skylark no longer support the cfg
5558 parameter. This is a cleanup and only affects the signatures of
5559 callbacks, since the parameter hasn't been set since September
5560 2016.
5561
5562Important changes:
5563
5564 - Alias proto_library's produce a descriptor set that contains all
5565 srcs of its dependencies.
5566 - proto_library supports strict proto deps.
5567 - Top level @androidsdk support library targets have been replaced
5568 by @androidsdk//<group id>:<artifact id>-<version> for Android
5569 SDK Support and Google Play Services libraries.
5570
Bazel Release System15402a92016-11-30 10:12:30 +01005571## Release 0.4.1 (2016-11-21)
5572
5573```
5574Baseline: 9a796de
5575
5576Cherry picks:
5577 + 88bfe85: Description redacted. -- MOS_MIGRATED_REVID=139219934
5578 + b09ea94: Rollback of commit
5579 a3f5f576cd35798140ba3e81d03d919dd4ecb847.
5580```
5581
5582New features:
5583
5584 - android_library now has a "exported_plugins" attribute just like
5585 java_library
5586 - Use --strict_system_includes to apply hdrs_check=strict also to
5587 cc_library.includes, even if sandboxing is disabled.
5588 - Bazel on Windows: java_binary can now be the executable of
5589 Skylark rule actions (ctx.action's executable argument)
5590 - Packages are defined in BUILD.bazel as well as BUILD files.
5591
5592Important changes:
5593
5594 - getattr()'s 3-arg form no longer raises an error when the
5595 retrieved field is a built-in method.
5596 - --apk_signing_method default changed to v1. Android APKs are now
5597 signed with the new ApkSignerTool by default.
5598 - New rule: proto_lang_toolchain(), to support LANG_proto_library
5599 rules on multiple platforms.
5600 - Fix for Android clang++ std::stack segfault on 32bit x86. See
5601 https://code.google.com/p/android/issues/detail?id=220159
5602 - Default android_manifest_merger is now "android" which uses the
5603 official Android manifest merger.
5604 http://tools.android.com/tech-docs/new-build-system/user-guide/man
5605 ifest-merger
5606 - Do not propagate aspect to its own attributes when using '*'.
5607 - Comparing sets (`if set1 < set2:`) is not allowed anymore in
5608 Skylark because it didn't work correctly anyway.
5609 - When --experimental_extra_action_top_level_only, Bazel reports
5610 extra-actions for actions registered by Aspects injected by a
5611 top-level rule (approximately).
5612 - Blacklists for proto_lang_toolchain() no longer have to be
5613 proto_library's.
5614 - Extra actions now contain aspect-related information.
5615 - Fix slicing bug where "abc"[:-4:-1] would give wrong answer
5616
Bazel Release Systemd0761e62016-11-02 13:36:35 -04005617## Release 0.4.0 (2016-10-26)
5618
5619```
5620Baseline: 088bbc6
5621
5622Cherry picks:
5623 + b01160c: Stamp Windows release.
5624 + 2d6736e: Add --no-tty for gpg signing
5625 + 9b1dfb8: Remove .sig file before gpg signing
5626 + 81aede1: Reimplement whole archive on Windows
5627```
5628
5629Incompatible changes:
5630
5631 - Skylark: updating list/dicts while they are being looped over is not
5632 allowed. Use an explicit copy if needed ("for x in list(mylist):").
5633 - Bazel now uses the --cpu flag to look up Jvms; it falls back
5634 to "default" if it can't find a Jvm matching the CPU value.
5635 - --command_port=-1 to use AF_UNIX for client/server communications
5636 is not supported anymore.
5637 - Sandboxed actions can access the network by default, unless their
5638 target has a "block-network" tag.
5639
5640New features:
5641
5642 - Files now have an "extension" property in Skylark.
5643
5644Important changes:
5645
5646 - Added a new flag --sandbox_tmpfs_path, which asks the sandbox to
5647 mount an empty, writable directory at a specified path when
5648 running actions. (Supported on Linux only for now.)
5649 - Update protoc-3.0.0-mingw.exe to a working (statically linked)
5650 binary
5651 - apple_static_library rule to create multi-architecture static
5652 archive files from Objc/C++/Swift dependencies on apple platforms
5653 - JS: Add support for localization with closure managed rules.
5654 - Create a flag --android_dynamic_mode to turn off dynamic mode
5655 during the Android split transition.
5656 - Darwin sandboxing is default.
5657 - Remove flag --experimental_zip_tree_artifact from j2objc Java
5658 annotation processing support.
5659 - A few functions are added to BUILD files for consistency (hash,
5660 dir,
5661 hasattr, getattr) with .bzl files, although they are not very
5662 useful.
5663 - --watchfs is now a command option; the startup option of the same
5664 name is deprecated. I.e., use bazel build --watchfs, not
5665 blaze --watchfs
5666 build.
5667
Bazel Release System33579a42016-10-07 13:05:11 -04005668## Release 0.3.2 (2016-10-07)
5669
5670```
5671Baseline: 023a7bd
5672
5673Cherry picks:
5674 + bebbbe5: Fix dependency on libtool's helper script
5675 make_hashed_objlist.py.
5676 + 8a0d45f: Add the version information to the bazel.exe file
5677 + 2bc0939: Allow new_ rules to overwrited BUILD files in
5678 downloaded repos
5679 + c5545fd: Rollback of commit
5680 96d46280bc5a4803ba2242a4ad16939f85a3b212.
5681 + eb87208: Make cc_configure on Windows more robust
5682 + c30432c: Fix cc_configure on Windows
5683 + 95b16a8: sandbox: Replace the error-prone lazy cleanup of
5684 sandbox directories by a simple synchronous cleanup.
5685 + e898023: Fix #1849: Sandboxing on OS X should be turned off by
5686 default for 0.3.2.
5687 + ffdc05d: Add action_config and feature for linking on Windows
5688```
5689
5690Incompatible changes:
5691
5692 - If you maintain a rule that uses persistent workers, you'll have
5693 to specify execution_requirements={"supports-workers": 1} in the
5694 ctx.action that intends to run a tool with workers. The
5695 WorkerSpawnStrategy will alert you with a warning message if you
5696 forget to make this change and fallback to non-worker based
5697 execution.
5698 - It is now an error to include a precompiled library (.a, .lo, .so)
5699 in a cc_library which would generate a library with the same name
5700 (e.g., libfoo.so in cc_library foo) if that library also contains
5701 other linkable
5702 sources.
5703 - The main repository's execution root is under the main
5704 repository's workspace name, not the source directory's basename.
5705 This shouldn't
5706 have any effect on most builds, but it's possible it could break
5707 someone doing
5708 weird things with paths in actions.
5709 - Blaze doesn't support Unix domain sockets for communication
5710 between its client and server anymore. Therefore, the
5711 --command_port command line argument doesn't accept -1 as a valid
5712 value anymore.
5713 - Skylark: It is an error to shadow a global variable with a local
5714 variable after the global has already been accessed in the
5715 function.
5716 - bin_dir and genfiles_dir are now properties of ctx, not
5717 configuration. That is, to access the bin or genfiles directory
5718 from a
5719 Skylark rule, use ctx.bin_dir or ctx.genfiles_dir (not
5720 ctx.configuration.{bin,genfiles}_dir). At the moment, you can
5721 access
5722 {bin,genfiles}_dir from either, but the ctx.configuration version
5723 will
5724 stop working in a future release.
5725 - filegroup-based C++ toolchains are not supported anymore.
5726 --*_crosstool_top options must always point to a
5727 cc_toolchain_suite rule (or an alias of one).
5728 - repository_ctx.{download,download_and_extract,execute} API now use
5729 named parameters for optional parameters and no
5730 longer uses argument
5731 type to distinguished between arguments
5732 (executable attribute name
5733 must be specified when preceding optional
5734 arguments are missing).
5735
5736New features:
5737
5738 - print and fail are now available in BUILD files.
5739
5740Important changes:
5741
5742 - Added @bazel_tools//tools/build_defs/repo/git.bzl as a Skylark
5743 rule for Git repositories.
5744 - Added @bazel_tools//tools/build_defs/repo/maven_rules.bzl as a
5745 Skylark rule for Maven repositories.
5746 - Add global hash() function for strings (only)
5747 - Improve Android split transition handling.
5748 - Removes exports_manifest attribute from android_binary rule.
5749 - java_proto_library: control strict-deps through a rule-level and
5750 a package-level attribute.
5751 - Persistent workers are now used by default for Java compilation
5752 in Bazel, which should speed up your Java builds by ~4x. You can
5753 switch back to the old behavior via --strategy=Javac=standalone.
5754 Check out http://www.bazel.io/blog/2015/12/10/java-workers.html
5755 for more details.
5756 - objc_* rules can now depend on any target that returns an "objc"
5757 provider.
5758 - Adds support for NDK12 to `android_ndk_repository` rule in Bazel.
5759 - Test targets can disable the JUnit4 test security manager via a
5760 property.
5761 - Disable the Android split transition if --android_cpu and
5762 fat_apk_cpu are both empty.
5763 - New sandboxing implementation for Linux in which all actions run
5764 in a separate execroot that contains input files as symlinks back
5765 to the originals in the workspace. The running action now has
5766 read-write access to its execroot and /tmp only and can no longer
5767 write in arbitrary other places in the file system.
5768 - Add worker support to single jar.
5769 - Invoke source jar action as a worker.
5770 - Sandboxed builds allow network access for builds by default.
5771 Tests will still be run without networking, unless
5772 "requires-network" is specified as a tag.
5773 - Add path.realpath() method for Skylark repositories.
5774 - On Mac devices, detect locally installed versions of xcode to:
5775 1. Use a sensible default if xcode is required but
5776 --xcode_version is unspecified.
5777 2. Use sensible default iOS SDK version for the targeted version
5778 of xcode if ios_sdk_version is unspecified.
5779 - Emacs' [C-x `], a.k.a. next-error, works again in emacsen >= 25.1
5780 - swift_library can be used to build watchOS apps.
5781 - Exposes the is_device field on Apple platform objects and adds
5782 the apple_common.platform_type(name) method to retrieve a
5783 platform_type value that can be passed to methods like the Apple
5784 fragment's multi_arch_platform.
5785 - Move Skylark git_repository rules to git.bzl
5786 - Add support for aspects to attr.label() attributes
5787 - Global varaiables HOST_CFG and DATA_CFG are deprecated in favor
5788 of strings "host"
5789 and "data.
5790 Argument `cfg = "host"` or `cfg = "data"` is mandatory if
5791 `executable = True` is provided for a label.
5792 - The deprecation attribute of all rules now causes warnings
5793 to be printed when other targets depend on a target with that
5794 attribute set.
5795 - Change default of --[no]instrument_test_targets to false, change
5796 default --instrumentation_filter (which previously tried to
5797 exclude test targets by heuristic) to only exclude targets in
5798 javatests.
5799 - Remove deprecated absolute paths in blaze IDE artifacts
5800 - When using android_binary.manifest_merger="android" the merger
5801 produces a summary log next to the merged manifest artifact.
5802 - Allow different default mallocs per configuration.
5803
Bazel Release System70c772b2016-07-29 10:28:13 +02005804## Release 0.3.1 (2016-07-29)
5805
5806```
5807Baseline: 792a9d6
5808
5809Cherry picks:
5810 + 25e5995: Rollback of commit
5811 a2770334ea3f3111026eb3e1368586921468710c.
5812 + 2479405: Fix NPE with unset maven_jar sha1
5813 + 3cf2126: Rewrite the extra action info files if the data within
5814 them changes.
5815 + 5a9c6b4: JavaBuilder: Reintroduce the -extra_checks flag.
5816```
5817
5818Incompatible changes:
5819
5820 - Removed predefined Python variable "generic_cpu".
5821 - Skylark rules: if you set "outputs" or an attribute to a
5822 function, this function must now list its required attributes as
5823 parameters (instead of an attribute map).
5824 - The host_platform and target_platform entries are not written to
5825 the master log anymore.
5826 - Bazel requires Hazelcast 3.6 or higher now for remote execution
5827 support, because we upgraded our client library and the protocol
5828 it uses is incompatible with older versions.
5829
5830New features:
5831
5832 - LIPO context (--lipo_context) can now also be a cc_test (in
5833 addition to cc_binary)
5834
5835Important changes:
5836
5837 - If --android_crosstool_top is set, native code compiled for
5838 android will always use --android_compiler and not --compiler in
5839 choosing the crosstool toolchain, and will use --android_cpu if
5840 --fat_apk_cpu is not set.
5841 - Add --instrument_test_targets option.
5842 - apple_binary supports a new platform_type attribute, which, if
5843 set to "watchos", will build dependencies for Apple's watchOS2.
5844 - objc_binary now supports late-loaded dynamic frameworks.
5845 - Native Swift rules no longer pull in module maps unconditionally.
5846 Use --experimental_objc_enable_module_maps for that.
5847 - Merged manifests are guaranteed to have the application element
5848 as the last child of the manifest element as required by Android
5849 N.
5850 - The Android manifest merger is now available as an option for
5851 android_binary rules. The merger will honor tools annotations in
5852 AndroidManifest.xml and will perform placeholder substitutions
5853 using the values specified in android_binary.manifest_values. The
5854 merger may be selected by setting the manifest_merger attribute
5855 on android_binary.
5856 - The progress message would not clear packages that need to be
5857 loaded twice.
5858 - Remove warning for high value of --jobs.
5859 - Use the correct build configuration for shared native deps during
5860 Android split transitions.
5861 - When building ObjectiveC++, pass the flag -std=gnu++11.
5862 - use xcrun simctl instead of iossim to launch the app for "blaze
5863 run".
5864 - Glob arguments 'exclude' and 'exclude_directories' must be named
5865 - Bazel no longer regards an empty file as changed if its mtime has
5866 changed.
5867
Bazel Release Systemccadf8d2016-06-10 13:28:40 +02005868## Release 0.3.0 (2016-06-10)
5869
5870```
5871Baseline: a9301fa
5872
5873Cherry picks:
5874 + ff30a73: Turn --legacy_external_runfiles back on by default
5875 + aeee3b8: Fix delete[] warning on fsevents.cc
5876```
5877
5878Incompatible changes:
5879
5880 - The --cwarn command line option is not supported anymore. Use
5881 --copt instead.
5882
5883New features:
5884
5885 - On OSX, --watchfs now uses FsEvents to be notified of changes
5886 from the filesystem (previously, this flag had no effect on OS X).
5887 - add support for the '-=', '*=', '/=', and'%=' operators to
5888 skylark. Notably, we do not support '|=' because the semantics
5889 of skylark sets are sufficiently different from python sets.
5890
5891Important changes:
5892
5893 - Use singular form when appropriate in blaze's test result summary
5894 message.
5895 - Added supported for Android NDK revision 11
5896 - --objc_generate_debug_symbols is now deprecated.
5897 - swift_library now generates an Objective-C header for its @objc
5898 interfaces.
5899 - new_objc_provider can now set the USES_SWIFT flag.
5900 - objc_framework now supports dynamic frameworks.
5901 - Symlinks in zip files are now unzipped correctly by http_archive,
5902 download_and_extract, etc.
5903 - swift_library is now able to import framework rules such as
5904 objc_framework.
5905 - Adds "jre_deps" attribute to j2objc_library.
5906 - Release apple_binary rule, for creating multi-architecture
5907 ("fat") objc/cc binaries and libraries, targeting ios platforms.
5908 - Aspects documentation added.
5909 - The --ues_isystem_for_includes command line option is not
5910 supported anymore.
5911 - global function 'provider' is removed from .bzl files. Providers
5912 can only be accessed through fields in a 'target' object.
5913
Bazel Release System9fdd6012016-05-17 11:12:31 +02005914## Release 0.2.3 (2016-05-10)
5915
5916```
5917Baseline: 5a2dd7a
5918```
5919
5920Incompatible changes:
5921
5922 - All repositories are now directly under the x.runfiles directory
5923 in the runfiles tree (previously, external repositories were at
5924 x.runfiles/main-repo/external/other-repo. This simplifies
5925 handling remote repository runfiles considerably, but will break
5926 existing references to external repository runfiles.
5927 Furthermore, if a Bazel project does not provide a workspace name
5928 in the WORKSPACE file, Bazel will now default to using __main__
5929 as the workspace name (instead of "", as previously). The
5930 repository's runfiles will appear under x.runfiles/__main__/.
5931 - Bazel does not embed protocol buffer-related rules anymore.
5932 - It is now an error for a cc rule's includes attribute to point to
5933 the workspace root.
5934 - Bazel warns if a cc rule's includes attribute points out of
5935 third_party.
5936 - Removed cc_* attributes: abi / abi_deps. Use select() instead.
5937
5938New features:
5939
5940 - select({"//some:condition": None }) is now possible (this "unsets"
5941 the attribute).
5942
5943Important changes:
5944
5945 - java_import now allows its 'jars' attribute to be empty.
5946 - adds crunch_png attribute to android_binary
5947 - Replace --java_langtools, --javabuilder_top, --singlejar_top,
5948 --genclass_top, and --ijar_top with
5949 java_toolchain.{javac,javabuilder,singlejar,genclass,ijar}
5950 - External repository correctness fix: adding a new file/directory
5951 as a child of a new_local_repository is now noticed.
5952 - iOS apps are signed with get-task-allow=1 unless building with -c
5953 opt.
5954 - Generate debug symbols (-g) is enabled for all dbg builds of
5955 objc_ rules.
5956 - Bazel's workspace name is now io_bazel. If you are using Bazel's
5957 source as an external repository, then you may want to update the
5958 name you're referring to it as or you'll begin seeing warnings
5959 about name mismatches in your code.
5960 - Fixes integer overflow in J2ObjC sources to be Java-compatible.
5961 - A FlagPolicy specified via the --invocation_policy flag will now
5962 match the current command if any of its commands matches any of
5963 the commands the current command inherits from, as opposed to
5964 just the current command.
5965 - The key for the map to cc_toolchain_suite.toolchains is now a
5966 string of the form "cpu|compiler" (previously, it was just "cpu").
5967 - Fix interaction between LIPO builds and C++ header modules.
5968 - Ctrl-C will now interrupt a download, instead of waiting for it to
5969 finish.
5970 - Proxy settings can now be specified in http_proxy and https_proxy
5971 environment variables (not just HTTP_PROXY and HTTPS_PROXY).
5972 - Skylark targets can now read include directories from
5973 ObjcProvider.
5974 - Expose parameterized aspects to Skylark.
5975 - Support alwayslink cc_library dependencies in objc binaries.
5976 - Import cc_library dependencies in generated Xcode project.
5977
Bazel Release System1aedd1f12016-04-25 09:47:50 +02005978## Release 0.2.2b (2016-04-22)
Bazel Release System951cea22016-04-21 14:10:12 +02005979
5980```
5981Baseline: 759bbfe
Bazel Release System1aedd1f12016-04-25 09:47:50 +02005982
5983Cherry picks:
Bazel Release System951cea22016-04-21 14:10:12 +02005984 + 1250fda: Rollback of commit
5985 351475627b9e94e5afdf472cbf465f49c433a25e.
5986 + ba8700e: Correctly set up build variables for the correct pic
5987 mode for fake_binary rules.
5988 + 386f242: Automated [] rollback of commit
5989 525fa71b0d6f096e9bfb180f688a4418c4974eb4.
Bazel Release System1aedd1f12016-04-25 09:47:50 +02005990 + 97e5ab0: Fix cc_configure include path for Frameworks on OS X.
5991 + a20352e: cc_configure: always add -B/usr/bin to the list of gcc
5992 option
5993 + 0b26f44: cc_configure: Add piii to the list of supported
5994 cpu_value
5995 + 3e4e416: cc_configure: uses which on the CC environment variable
5996 + aa3dbd3: cc_configure.bzl: strip end of line when looking for
5997 the cpu
5998 + 810d60a: cc_configure: Add -B to compiler flag too
Bazel Release System951cea22016-04-21 14:10:12 +02005999```
6000
Bazel Release System1aedd1f12016-04-25 09:47:50 +02006001Patch release, only includes fixes to C++ auto-configuration.
Bazel Release System951cea22016-04-21 14:10:12 +02006002
Bazel Release System950c1ab2016-03-31 17:18:55 +02006003## Release 0.2.1 (2016-03-21)
6004
6005```
6006Baseline: 19b5675
6007```
6008
6009Incompatible changes:
6010
6011 - Skylark rules that are available from their own repository will
6012 now issue a warning when accessed through @bazel_tools.
6013 - Set --legacy_bazel_java_test to off by default. java_test will
6014 now have a slightly different behaviour, correctly emitting XML
6015 file but, as a downside, it needs correct declaration of the
6016 test suite (see https://github.com/bazelbuild/bazel/issues/1017).
6017 - Labels in .bzl files in remote repositories will be resolved
6018 relative to their repository (instead of the repository the
6019 Skylark rule is used in).
6020 - Renamed proto_java_library to java_proto_library. The former
6021 is now deprecated and will print out a warning when used.
6022 - android_sdk now compiles android_jack on the fly from
6023 android_jar, which means android_jar must be a jar and
6024 android_jack is now deprecated. The Jack tools (jack, jill,
6025 resource_extractor) must be specified.
6026 - Any project that depended on the objc_options rule will be
6027 broken. Can be fixed by adding attrs (infoplists,copts) directly
6028 to rules depending on the options.
6029 - .aidl files correctly require import statements for types
6030 defined in the same package and the same android_library.
6031
6032New features:
6033
6034 - Experimental Windows support is available.
6035 - Experimental support for writing remote repository rules in
6036 Skylark is available.
6037 - iOS ipa_post_processor attribute allows for user-defined IPA
6038 edits.
6039 - Adds a to_json method to Skylark structs, providing conversion to
6040 JSON format.
6041 - Native python rule can depend on skylark rule as long as skylark
6042 rule provides 'py' provider.
6043 - When using both --verbose_failures and --sandbox_debug, Bazel
6044 prints instructions how to spawn a debugging shell inside the
6045 sandbox.
6046 - add flag --sandbox_add_path, which takes a list of additional
6047 paths as argument and mount these paths to sandbox.
6048
6049Important changes:
6050
6051 - @androidsdk//:org_apache_http_legacy added for the legacy Apache
6052 classes for android sdk version 23 and above.
6053 - Genrules correctly work when used with bazel run.
6054 - When namespace-sandbox is run with the -D (debug) flag and
6055 inside a terminal, it spawns a shell inside the sandbox to aid in
6056 debugging when the sandboxed command fails.
6057 - Added --artifact to workspace generator for generating workspace
6058 and build file rules from artifact coodrinates.
6059 - Specifying --experimental_android_resource_shrinking on the
6060 command line will enable a resource shrinking pass on
6061 android_binary targets that already use Proguard.
6062 - J2ObjC updated to 1.0.1 release.
6063 - Added "root_symlinks" and "symlinks" parameters to Skylark
6064 runfiles() method.
6065 - You can no longer use objc_binary targets for the xctest_app
6066 attribute of an ios_test rule.
6067 - Enable overriding jsonnet binaries and stdlib for Jsonnet rules.
6068 - mount target of /etc/resolv.conf if it is a symlink.
6069 - Tests that failed to build because execution was halted no longer
6070 print their status.
6071 - Bazel warns if a cc rule's includes attribute contains up-level
6072 references that escape its package.
6073 - Add repository_ctx.download and repository_ctx.download_and_extract
6074 function.
6075
Bazel Release Systemf98290d2016-02-23 13:51:16 +01006076## Release 0.2.0 (2016-02-18)
6077
6078```
6079Baseline: 9e100ac
6080```
6081
6082Incompatible changes:
6083
6084 - ObjC compile actions for J2ObjC-translated code now only has
6085 access to headers from the java deps of the associated original
6086 java rule.
6087 These compile actions no longer takes the compiler options
6088 specified in "copts" attribute on objc_binary/ios_test rules.
6089 J2ObjC dead code removal (enabled through flag
6090 "--j2objc_dead_code_removal") now happens *after* ObjC
6091 compilation.
6092 - maven_jar no longer supports separate artifact_id, group_id, and
6093 verison fields. This information should be provided in the
6094 artifact field,
6095 instead.
6096
6097New features:
6098
6099 - Better support for toolchains that don't have a dynamic linker.
6100 - build_file_content attribute added to new_git_repository,
6101 new_http_archive, and new_local_repository.
6102 - Add support for .tar.bz2 archives to http_archive rules.
6103
6104Important changes:
6105
6106 - The --skyframe flag is no longer available for the build command.
6107 - The --artifacts flag was removed from the dump command.
6108 - The sha256 attribute is now optional (although recommended!) for
6109 remote repository rules.
6110 - Add instrumented file provider support to Skylark rules.
6111 - Add imports attribute to native Python rules.
6112 - Allow overriding -gsplit-dwarf from copts.
6113 - Improved sandbox performance on XFS filesystems.
6114
Bazel Release System00cf25d2016-02-09 18:36:51 +01006115## Release 0.1.5 (2016-02-05)
6116
6117```
6118Baseline: 3a95f35
6119 + 8378cd8: Rollback of commit
6120 a9b84575a32476a5faf991da22b44661d75c19b6.
6121```
6122
6123Incompatible changes:
6124
6125 - Set stamping to false by default (i.e., --nostamp)
6126 - Removed --objc_dump_syms_binary.
6127 - Removes --objc_gcov_binary flag.
6128 - Remove JAVAC "Make" variable
6129 - The startup flag --blaze_cpu is removed,
6130
6131New features:
6132
6133 - A new java test runner that support XML output and test filtering
6134 is supported. It can be used by specifying --nolegacy_bazel_java_test
6135 or by specifying the test_class attribute on a java_test.
6136 - Skylark aspects can now specify configuration fragment
6137 dependencies with fragments and host_fragments like rules can.
6138
6139Important changes:
6140
6141 - Support for downloading remote resources through proxies by
6142 setting HTTP_PROXY (or HTTPS_PROXY).
6143 - Timestamps within Android apks are removed to make apks
6144 deterministic.
6145 - Support aggregation over existing rules in Skylark extensions
6146 through native.rules and native.rule.
6147 - A tools/bazel script in the workspace will be executed
6148 as an opportunity to use a fixed version of Bazel (not
6149 implemented for the homebrew recipe yet).
6150 - --noimplicit_deps and --nohost_deps work correctly for Aspect
6151 attributes.
6152 - JDK-related targets are now available via @local_jdk (instead of
6153 @local-jdk).
6154 - j2objc tools can now be accessed via @bazel_j2objc, not
6155 @bazel-j2objc.
6156 - Repository rules must use names that are valid workspace names.
6157 - [rust] Update to Rust 1.6
6158 - Add support for .tar.xz archives to http_archive rules.
6159 - Make C++ modules compatible with tools using
6160 --compilation_prerequisites_only
6161 - [d] Update to DMD 2.070.0
6162
Bazel Release System446d9922016-01-21 10:59:31 +01006163## Release 0.1.4 (2016-01-15)
6164
6165```
6166Baseline: e933d5e
6167 + 3d796fe: Rollback of commit
6168 ac6ed79e1a3fa6b0ca91657b28e2a35f7e49758c.
6169 + 7a02e5d: Fix installer under OS X
6170 + 848740c: Fix bazel version for debian package
6171 + 7751d43: Add a method for getting the root of a rule workspace
6172 to the Label method
6173```
6174
6175Important changes:
6176
6177 - add loadfiles() query operator, to find skylark files loaded by
6178 targets.
6179 - Added ability to declare and use aspects in Skylark.
6180 - Skylark load statements may now reference .bzl files via build
6181 labels, in addition to paths. In particular, such labels can be
6182 used to reference Skylark files in external repositories; e.g.,
6183 load("@my_external_repo//some_pkg:some_file.bzl", ...).
6184 Path-based loads are now deprecated and may be disabled in the
6185 future. Caveats: Skylark files currently do not respect package
6186 visibility; i.e., all Skylark files are effectively public. Also,
6187 loads may not reference the special //external package.
6188 - Relative paths can now be used for 'path' with
6189 new_local_repository and local_repository.
6190
Bazel Release System1518253e2016-01-11 10:10:19 +01006191## Release 0.1.3 (2016-01-07)
6192
6193```
6194Baseline: 23ad8f6
6195 + de2183d: Only depend on the WORKSPACE file for external files
6196 that are under the external/ directory, i.e. were
6197 created by Bazel.
6198 + f8f855c: Rollback of commit
6199 12bad3af0eade9c4b79d76f9e1c950ad2e3214c2.
6200 + f627562: Stop parsing the WORKSPACE file when a parse error is
6201 detected
6202 + 763f139: Add -fno-canonical-system-headers to CROSSTOOL files so
6203 that gcc doesn't resolve symlinks in .d files, which
6204 would confuse Blaze.
6205 + b95995b: Use openjdk7 as dependency for debian package of jdk7
6206 flavor
6207```
6208
6209New features:
6210
6211 - Skylark macros are now enabled in WORKSPACE file.
6212 - .bazelrc allows workspace-relative imports as "import
6213 %workspace%/path/to/rcfile"
6214 - Evaluate the query expression in a file by passing
6215 --query_file=<file> to query
6216
6217Important changes:
6218
6219 - Remove obsolete --objc_per_proto_includes flag.
6220 - iOS apps and extensions now have launch_storyboard
6221 - Passing multiple JVM options via a single --host_jvm_args flag is
6222 now deprecated. Pass each JVM option behind its own
6223 --host_jvm_args flag.
6224 - Resources defined locally on an android_library rule will respect
6225 the neverlink attribute.
6226 - Update Rust to 1.4
6227 - Fix resource handling for exported android_library rules
6228 - Files in external repositories are now treated as mutable, which
6229 will make the correctness guarantees of using external
6230 repositories stronger (existent), but may cause performance
6231 penalties.
6232
Bazel Release System0d2e4092015-12-04 23:31:41 +01006233## Release 0.1.2 (2015-11-20)
6234
6235```
6236Baseline: ee0ade3
6237 + 1e66ccd: RELNOTES: Symlink dirents of directories containing a
6238 file named
6239 "DONT_FOLLOW_SYMLINKS_WHEN_TRAVERSING_THIS_DIRECTORY_VIA
6240 _A_RECURSIVE_TARGET_PATTERN" will *not* be traversed
6241 for transitive target patterns. The motivation here is
6242 to allow directories that intentionally contain wonky
6243 symlinks (e.g. foo/bar -> foo) to opt out of being
6244 consumed by Blaze. For example, given
6245 + f5773fc: Set the ijar MAX_BUFFER_SIZE to 256 MB
6246```
6247
6248New features:
6249
6250 - java_library now supports the proguard_specs attribute for
6251 passing Proguard configuration up to Android (not Java) binaries.
6252 - http_file can specify "executable" to make the downloaded file
6253 runnable.
6254 - Debian and tar packaging is now supported
6255 (see tools/build_defs/pkg/README.md).
6256 - cpxx_builtin_include_directory specifications allow more
6257 flexibility.
6258 - accept %crosstool_top% in cxx_builtin_include_directory
6259 - android_binary now supports proguard_apply_mapping to re-use a
6260 previously generated proguard mapping.
6261
6262Important changes:
6263
6264 - remove webstatusserver (--use_webstatusserver).
6265 - Add support for objc textual headers, which will not be compiled
6266 when modules are enabled.
6267 - actoolzip, momczip and swiftstdlibtoolzip have all been made into
6268 bash scripts and have been renamed to actoolwrapper, momcwrapper
6269 and swiftstdlibtoolwrapper respectively. The old versions will be
6270 deleted in a later change.
6271 - [rust] Add rust_bench_test and rust_doc_test rules and improve
6272 usability of rust_test tule.
6273 - Java rules now support a resource_strip_prefix attribute that
6274 allows the removal of path prefixes from Java resources.
6275 - [docker_build] incremental loading is default now.
6276 Specify explicitly //package:target.tar (with the .tar extension)
6277 to obtain the full image.
6278 - --ios_signing_cert_name allows specifying a cert for iOS app
6279 signing
6280 - Go rules for Bazel.
6281 - [jsonnet] Update to Jsonnet 0.8.1.
6282 - [jsonnet] Add vars and code_vars attributes to jsonnet_to_json to
6283 allow passing external variables to Jsonnet via --var and
6284 --code_var.
6285 - Adds --override_workspace_root blaze flag to hand-set
6286 workspace_root and mainGroup in xcodeproj.
6287 - Allow dots in package names.
6288 - When used as a forwarding rule (i.e., has no sources),
6289 android_library
6290 will also forward any exported_plugins in its dependencies.
6291 - Add support for Windows-created zip files with non-posix
6292 permissions.
6293 - [jsonnet] Add jsonnet_to_json_test rule for testing Jsonnet code.
6294 - C++ compile actions run in a sandbox now on systems that support
6295 sandboxed execution.
6296 - The names of the clang compilers in the Android NDK crosstool no
6297 longer reference gcc.
6298 - 420 dpi is now a valid density for andoid_binary.densities.
6299 - Bazel does strict validation of include files now to ensure
6300 correct incremental builds. If you see compilation errors when
6301 building C++ code, please make sure that you explicitly declare
6302 all header files in the srcs or hdrs attribute of your cc_*
6303 targets and that your cc_* targets have correct "deps" on
6304 cc_library's that they use.
6305 - [jsonnet] Fix jsonnet_to_json rule to read code_vars from
6306 code_vars instead of vars.
6307 - Tests, genrules, and Skylark actions without the
6308 "requires-network" tag will no longer be able to access the
6309 network.
6310 - C++ libraries no longer need includes = ["."] (or similar copts)
6311 to include paths relative to a remote repository's root.
6312 - Support exports attribute for android_library
6313 - Symlink dirents of directories containing a file named
6314 "DONT_FOLLOW_SYMLINKS_WHEN_TRAVERSING_THIS_DIRECTORY_VIA_A_RECURSI
6315 VE_TARGET_PATTERN" will *not* be traversed for transitive target
6316 patterns. The motivation here is to allow directories that
6317 intentionally contain wonky symlinks (e.g. foo/bar -> foo) to opt
6318 out of being consumed by Blaze.
6319
Bazel Release Systemfa35b182015-10-14 12:11:51 -04006320## Release 0.1.1 (2015-10-05)
6321
6322```
6323Baseline: 22616ae
6324 + 1ef338f: Rollback of "Propagates cc_library linkopts attribute
6325 to dependent objc_libraries.": breaks certain
6326 objc_binary build targets.
6327 + 5fb1073: Reintroduce an inconsistency check (albeit, in a weaker
6328 form) removed by a previous change that was trying to
6329 optimize away a filesystem call.
6330 + 6d00468b2eb976866cfb814d562e0d53a580a46f: Add IdlClass to the embedded default android tools
6331 repository and rearrange BuildJar's JarHelper so that
6332 it too can be embedded.
6333 + a5199039934a2e399a7201adc0d74e2f2d2b0ff3: Fixes Android integration tests by wiring up idlclass
6334 rules in integration environment.
6335```
6336
6337Incompatible changes:
6338
6339 - Bazel requires JDK 8 to run.
6340 - Attribute "copts" is removed from j2objc_library.
6341
6342New features:
6343
6344 - a cc_binary rule may list '.s' and '.asm' files in the srcs
6345 - Support for build with libsass.
6346 - labels in "linkopts" may match any label in either "deps" or
6347 "srcs" to be considered valid.
6348 - Maven servers that require username & password authentication are
6349 now supported (see maven_server documentation).
6350
6351Important changes:
6352
6353 - Support empty plist files
6354 - The <compatible-screens> section of the AndroidManifest.xml will
6355 not be overwritten if it already contains a <screen> tag for each
6356 of the densities specified on the android_binary rule.
6357 - Add Jsonnet rules to Bazel
6358 - Remove deprecated xcode_options flag.
6359 - Workspace names are now restricted to being in their base
6360 directory
6361 (that is, the names cannot contain up-level references or /./).
6362 - j2objc_library on Bazel now transpiles transitive proto_library
6363 dependencies. (Note that java_* rules in Bazel do not yet support
6364 protos; currently they ignore proto dependencies.)
6365 - new_http_archive can specify a root directory.
6366 - Adds support for dylibs on devices for Xcode 7.
6367 - [d] d_docs rules now depend on a d_binary, a d_library or
6368 d_source_library.
6369 - [docker] docker_build now set the permission to 0555 to files
6370 added to the layer, use `mode = "0644"` to use the legacy behavior.
6371 - android_binary now has a main_dex_proguard_specs attribute to
6372 specify which classes should be in the main dex.
6373 - [rust] Add rust_docs rule for generating rustdoc.
Bazel Release System79e40ac2015-09-08 23:38:00 +02006374## Release 0.1.0 (2015-09-08)
6375
6376```
6377Baseline: a0881e8
6378 + 87374e6: Make android_binary use a constant, hard-coded,
6379 checked-in debug key.
6380 + 2984f1c: Adds some safety checks in the Bazel installer
6381 + 4e21d90: Remove BUILD.glob and incorporate the necessary
6382 filegroups into the android_{ndk,sdk}_repository rules
6383 themselves.
6384 + 1ee813e: Fix Groovy rules to work with sandboxing
6385 + 8741978: Add initial D rules to Bazel.
6386 + 2c2e70d: Fix the installer and fixing the package shiped into
6387 binary version of Bazel.
6388```
6389
6390Initial release.
Bazel Release System6712cac2017-02-01 19:53:37 +01006391
Bazel Release System8d635fc2017-03-16 13:18:30 +01006392
Bazel Release Systema3e26832017-05-26 14:11:07 +02006393
Bazel Release System63222de2017-06-06 11:32:04 +02006394
Bazel Release System7b851222017-06-27 15:08:47 +02006395
Bazel Release System195a7a82017-07-27 20:27:32 +02006396
Bazel Release System5371d132017-08-25 11:24:06 +02006397
Bazel Release System471c0e12017-09-28 16:36:12 +02006398
Bazel Release Systemed0ebc02017-10-05 23:52:25 +02006399
Bazel Release System76b6d0a2017-10-18 14:34:11 +02006400
Bazel Release System0838aee2017-11-27 14:16:34 +01006401
Bazel Release System3d53cb02017-12-05 15:28:40 +01006402
Bazel Release System5bd27482018-02-01 09:43:33 +01006403
Bazel Release Systeme1148362018-02-15 10:02:05 +01006404
Bazel Release System09077a32018-02-23 11:09:18 -05006405
Bazel Release Systemc86d6a02018-03-06 19:32:18 +01006406
Bazel Release System546976c2018-04-11 17:34:19 +02006407
Bazel Release System1d9c6062018-04-30 10:45:38 +02006408
Bazel Release System24c68ff2018-05-23 10:59:57 +02006409
Bazel Release System3a592f62018-06-01 15:04:31 +02006410
Bazel Release System513bbf52018-06-08 14:15:20 +02006411
Bazel Release System5013a332018-06-26 14:07:47 +02006412
Bazel Release System1281a022018-07-16 16:13:53 +02006413
Bazel Release System1bd58832018-08-13 15:41:26 +02006414
Bazel Release Systemfdb09a22018-09-14 12:15:54 +02006415
Bazel Release System50921e62018-09-21 12:27:04 +02006416
Bazel Release System36177972018-10-15 10:29:10 +02006417
Bazel Release System92849b82018-10-31 15:41:11 +01006418
Bazel Release System684f1092018-11-12 10:26:58 -05006419
Bazel Release Systemcb3e2982018-11-19 11:19:38 -05006420
Bazel Release System85378562018-11-30 15:34:16 +01006421