blob: 7154213b2f595ac8de56c9b00664a92c755b550c [file] [log] [blame] [view]
Bazel Release System8089b272019-05-28 10:31:53 +02001## Release 0.26.0 (2019-05-28)
Bazel Release System48845c32019-05-23 15:21:53 -04002
3```
Bazel Release System8089b272019-05-28 10:31:53 +02004Baseline: daa8ae565ab2023e49134f0aad233b0a8bd7a5d0
Bazel Release System48845c32019-05-23 15:21:53 -04005
6Cherry picks:
7
Bazel Release System8089b272019-05-28 10:31:53 +02008 + 61c7ffa60ae9c1937dd6d8ee30a8c0471094ee71:
9 Automated rollback of commit
10 87388e24814b177f54ca7697b4233489f90c587e.
11 + 898d7b6138af73f03daf35b767d252560087de70:
12 Add test for repository overrides, conflicting with managed
13 directories being added when Bazel server is already started.
14 + c2001a4569483596d9dc74ba9cabcbe4b6f1887f:
15 Automated rollback of commit
16 bbe47a1564a832e1a175206f2dfbc92af94c120b.
17 + e67c961905792cd63950c6f6efc33275ad243c49:
18 Fix a non-determinism in create_embedded_tools.py.
Bazel Release System48845c32019-05-23 15:21:53 -040019 + 81aefe7ee01cc73646a53f9c72ed40ead09f9f5a:
20 Remove unsupported cpu attribute from cc_toolchains.
Bazel Release System8089b272019-05-28 10:31:53 +020021 + 597e289b097d3bfed8eea1cb0924bbeb04877e42:
22 remote: made CombinedCache a composition of Disk and Http Cache
23 + 942f7cf6a0da0a4ecc804615424f039e50963933:
24 C++: Fixes bug in C++ API with external repo aspects
Bazel Release System48845c32019-05-23 15:21:53 -040025 + 85a5a2bd569a5274950fc7327a044c395248c024:
26 Configure @androidsdk//:emulator_x86 and :emulator_arm to point
27 to the unified emulator binary
Bazel Release System8089b272019-05-28 10:31:53 +020028 + 9835cb4135503768cdf1161746b95d7969ccb938:
29 Automated rollback of commit
30 844e4e297b404d6ff28b818d8150d4b9c47de887.
31 + c963ba21073b514961946b8b4b45b091f08fdaa1:
32 Windows, Python: fix arg. esc. also in host config
33 + a1ea487e0a9e180a36fa4aab57f7c746ddcf367a:
34 Do not pre-cache changed files under managed directories
35 + 7dc78cdd04eedf2f4373b170053ba5fc2a990929:
36 Add explicit execution and target constraints for autodiscovered
37 cc t?
38 + dd9ac13f7e3b71bdf2eca717bc7681bdd12389a2:
39 Fix a bug when a relative path is used for the execution log
Bazel Release System48845c32019-05-23 15:21:53 -040040 + 0ff19c6d0adf3c0df94fff59ca3bd13cbcf99897:
41 Fix StandaloneTestStrategy.appendStderr
Bazel Release System8089b272019-05-28 10:31:53 +020042 + 7f495315749478e75a3424726cc273a535b7c3b8:
43 Fix the autodetecting Python toolchain on Mac
44 + ddce7235ef29a0aba727c265eae865d15af4ed09:
45 Avoid exporting PATH unnecessarily
46 + 35dd05a059fa7fddfdd888cfc69102994e3c04dc:
47 Allow Starlark rules to be able to use the `exec_compatible_with`
Bazel Release System48845c32019-05-23 15:21:53 -040048```
49
Klaus Aehlig63bf1152019-05-28 10:41:12 +020050### Incompatible changes
51
52- [`--incompatible_windows_escape_jvm_flags`](https://github.com/bazelbuild/bazel/issues/7486)
53 is enabled by default, and removed.
54
55- [`--incompatible_windows_style_arg_escaping`](https://github.com/bazelbuild/bazel/issues/7454)
56 is enabled by default.
57
58- [`--incompatible_no_output_attr_default`](https://github.com/bazelbuild/bazel/issues/7950)
59 is enabled by default.
60
61- [`--incompatible_depset_union`](https://github.com/bazelbuild/bazel/issues/5817)
62 is enabled by default.
63
64- [`--incompatible_disable_genrule_cc_toolchain_dependency`](https://github.com/bazelbuild/bazel/issues/6867) removed
65
66- [`--Incompatible_disallow_rule_execution_platform_constraints_allowed`](https://github.com/bazelbuild/bazel/issues/8136):
67 When enabled, disallows the use of the `execution_platform_constraints_allowed`
68 attribute when defining new rules.
69
70- [`--incompatible_disable_objc_provider_resources`](https://github.com/bazelbuild/bazel/issues/5710)
71 is now enabled by default.
72
73### Apple
74
75- The `--ios_multi_cpus`, `--watchos_cpus`, `--macos_cpus` and `--tvos_cpus` are
76 now additive. This means that you can now split the `--ios_multi_cpus=arm64,armv7`
77 into `--ios_multi_cpus=arm64` and `--ios_multi_cpus=armv7`.
78
79- Add `--incompatible_objc_framework_cleanup` to control whether to enable some
80 objc framework cleanup that changes the API. Specifically, the cleanup changes
81 the objc provider API pertaining to frameworks. This change is expected to be
82 transparent to most users unless they write their own Starlark rules to handle
83 frameworks. See https://github.com/bazelbuild/bazel/issues/7594 for details.
84
85- `objc_library` does not support resource attributes any more. Please read
86 [#7594](https://github.com/bazelbuild/bazel/issues/7594) for more info.
87
88### Android
89
90- Android resource conflicts will no longer be reported between a strong attr
91 resource and a weak attr resource, if the weak attr does not have format
92 specified.
93
94### C++
95
96- [Allow debugging C++ features logic](https://github.com/bazelbuild/bazel/commit/53156db1e30fe7197889c3cbc8d1321ff9b85143
97
98- Add new options [`--cs_fdo_instrument`](https://docs.bazel.build/versions/master/command-line-reference.html#flag--cs_fdo_instrument)
99 and [`--cs_fdo_profile`](https://docs.bazel.build/versions/master/command-line-reference.html#flag--cs_fdo_profile)
100 to support LLVM's context-sensitive FDO (CSFDO).
101
102- [Bazel C++ compile/link Starlark API](https://github.com/bazelbuild/bazel/issues/4570).
103 Can be used with experimental flag `--experimental_cc_skylark_api_enabled_packages`.
104
105- `cc_toolchain.static_runtime_lib` and `cc_toolchain.dynamic_runtime_lib` are
106 now exposed to Starlark.
107
108- C++ Starlark API for compilation and linking is no longer whitelisted
109
110- Incompatible flag `--incompatible_make_thinlto_command_lines_standalone` has
111 been added. See https://github.com/bazelbuild/bazel/issues/6791 for details.
112
113- Feature `disable_whole_archive_for_static_lib` has been added to allow turning
114 off legacy_whole_archive for individual targets.
115 https://github.com/bazelbuild/bazel/issues/7362
116
117### Python
118
119- Fixed an issue where some `py_runtimes` were incompatible with using
120 `--build_python_zip` ([#5104](https://github.com/bazelbuild/bazel/issues/5104)).
121
122### Starlark
123
124- The flag [`--incompatible_restrict_named_params`](https://github.com/bazelbuild/bazel/issues/8147)
125 is added. [Buildifier](https://github.com/bazelbuild/buildtools) will soon be
126 updated to automatically fix this in your code.
127
128- The flag [`--incompatible_no_kwargs_in_build_files`](https://github.com/bazelbuild/bazel/issues/8021)
129 is added. It fixes a bug where the `**kwarg` notation was allowed in `BUILD`
130 files.
131
132- The flag [`--incompatible_static_name_resolution_in_build_files`](https://github.com/bazelbuild/bazel/issues/8022)
133 is added. This fixes a bug where invalid code was silently accepted.
134
135- The flag [`--incompatible_disallow_old_octal_notation`](https://github.com/bazelbuild/bazel/issues/8059)
136 is added. It removes a deprecated notation for octal numbers.
137 [Buildifier](https://github.com/bazelbuild/buildtools) can update your code
138 automatically.
139
140- [`struct.to_proto()`](https://docs.bazel.build/versions/master/skylark/lib/struct.html#to_proto)
141 can now convert dictionaries into proto3 text message.
142
143- The [`glob`](https://docs.bazel.build/versions/master/be/functions.html#glob)
144 function has a new argument `allow_empty`. When set to `False` (this will be
145 the default in the future), the glob fails when it doesn't match anything.
146 Please explicitly set `allow_empty = True` to the globs that need it.
147
148### Windows
149
150- Windows, Python: the new `--incompatible_windows_escape_python_args` flag
151 (`false` by default) builds `py_binary` and `py_test` targets with correct
152 command line argument escaping. Similar to
153 https://github.com/bazelbuild/bazel/issues/7486 but for `py_*` rules.
154
155### Other changes
156
157- cquery supports `--output=build`
158
159- Generated Go protobufs now depend on `//net/proto2/go:proto_gendeps` instead
160 of `//net/proto2/go:proto`
161
162- Added `--incompatible_remove_binary_profile` to disable the old binary
163 profiles. Instead use the JSON profile format:
164 https://docs.bazel.build/versions/master/skylark/performance.html#json-profile
165
166- Introducing `--execution_log_binary_file` and `--execution_log_json_file`
167 that output a stable sorted execution log. They will offer a stable
168 replacement to `--experimental_execution_log_file`.
169
170- New platform_mappings ability to allow gradual flag to platforms/toolchains
171 migration. See also https://github.com/bazelbuild/bazel/issues/6426
172
173- Added support for compiling against fully qualified `R` classes from
174 `aar_import` dependencies.
175
176- `--tls_enabled` flag is deprecated. Please provide `grpcs` as a scheme in
177 the URLs if TLS should be used for a remote connection.
178
179### Community
180
181- Alex Eagle gave a talk at ng-conf:
182 [The Bazel Opt-in Preview is Here!](https://www.youtube.com/watch?v=J1lnp-nU4wM)
183
184- The latest release of
185 [rules_haskell](https://github.com/tweag/rules_haskell/releases/tag/v0.9)
186 includes many new improvements, including an initial Windows support.
187
188- The latest
189 [Buildifier release](https://github.com/bazelbuild/buildtools/releases/tag/0.25.1)
190 includes Windows binaries, as well as a JSON output for diagnostics.
191
192- Natan Silnitsky gave the talk
193 [How to successfully migrate to Bazel from Maven or Gradle](https://www.youtube.com/watch?v=2UOFm-Cc_cU)
194 at the Java Eastern Europe Conference.
195
196This release contains contributions from many people at Google, as well as
197Benjamin Peterson, Brian Topping, clyang82, Dave Lee, George Gensure,, Greg,
198Guro Bokum, Keith Smiley, Max Vorobev, Michael Hackner, Robert Brown, Robert
199Sayre, Ryan Beasley, and Yannic.
200
201
202## Release 0.25.3 (2019-05-23)
203
204```
205Baseline: 03662462941953dad23af88693804b8b1d4430b9
206
207Cherry picks:
208
209 + 3f7f255f9a8345b8898e3953e7e53d68106cc63d:
210 Windows: fix native test wrapper's arg. escaping
211 + afeb8d0b7fef619159fc8fbaaeb8bd41dd2619bd:
212 Flip --incompatible_windows_escape_jvm_flags
213 + 4299b6549cbc1b3e4494c91ed2f51d49b14c7980:
214 Sort DirectoryNode children to ensure validity.
215 + 231270c67d5aa771462245531fa9b2ee7d3d0ae8:
216 Conditionally use deprecated signature for initWithContentsOfURL
217 + 75a3a531b08e727ade4fa3cb0a574bd142727cce:
218 Add http_archive entries for testing with various JDK versions.
219 + 4a6354a3a5ca23583f8b62e3e439a04ce75b863f:
220 Now that ubuntu1804 uses JDK 11, remove explicit
221 ubuntu1804_java11 tests.
222 + ae102fbde3c1ff87e4f67007a275fb30792a4e8d:
223 Fix wrong name of ubuntu1804_javabase9 task.
224 + 0020a97fdc20ca099ec6386771b20d3236f9890d:
225 Remove @executable_path/Frameworks from rpaths
226 + 130f86ded1ce84f959f0b78c065211902faed546:
227 Download stderr/stdout to a temporary FileOutErr
228 + 2ab38663592a9ccbcc1f6f75ed135ae315f4d9d9:
229 Release 0.25.0 (2019-05-01)
230 + ed48a4a5fddbd93b057c3aa726e15720d79dcf8f:
231 Add implementation to removed methods to address
232 https://github.com/bazelbuild/bazel/issues/8226
233 + 81aefe7ee01cc73646a53f9c72ed40ead09f9f5a:
234 Remove unsupported cpu attribute from cc_toolchains.
235 + cccced1e7fc7eaf4ba8f2c9d73dbac72b2686df9:
236 Release 0.25.1 (2019-05-07)
237 + 0900660d67b53a56a13d1fa16a788e4cecbb1c0e:
238 Use package identifier instead of package name
239 + 85a5a2bd569a5274950fc7327a044c395248c024:
240 Configure @androidsdk//:emulator_x86 and :emulator_arm to point
241 to the unified emulator binary
242 + 6549ac5bba3eef2b1813b5a75757437383bf38f0:
243 Release 0.25.2 (2019-05-10)
244 + 0ff19c6d0adf3c0df94fff59ca3bd13cbcf99897:
245 Fix StandaloneTestStrategy.appendStderr
246```
247
Bazel Release System48845c32019-05-23 15:21:53 -0400248Incompatible changes:
249
250 - Flip --incompatible_windows_escape_jvm_flags to true. See
251 https://github.com/bazelbuild/bazel/issues/7486
252
Klaus Aehlig63bf1152019-05-28 10:41:12 +0200253This 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 -0400254
Klaus Aehlig63bf1152019-05-28 10:41:12 +0200255## Release 0.25.2 (2019-05-10)
Bazel Release System6549ac52019-05-10 16:44:09 -0400256
Klaus Aehlig63bf1152019-05-28 10:41:12 +0200257```
258Baseline: 03662462941953dad23af88693804b8b1d4430b9
Bazel Release System6549ac52019-05-10 16:44:09 -0400259
Klaus Aehlig63bf1152019-05-28 10:41:12 +0200260Cherry picks:
Bazel Release System6549ac52019-05-10 16:44:09 -0400261
Klaus Aehlig63bf1152019-05-28 10:41:12 +0200262 + 3f7f255f9a8345b8898e3953e7e53d68106cc63d:
263 Windows: fix native test wrapper's arg. escaping
264 + afeb8d0b7fef619159fc8fbaaeb8bd41dd2619bd:
265 Flip --incompatible_windows_escape_jvm_flags
266 + 4299b6549cbc1b3e4494c91ed2f51d49b14c7980:
267 Sort DirectoryNode children to ensure validity.
268 + 231270c67d5aa771462245531fa9b2ee7d3d0ae8:
269 Conditionally use deprecated signature for initWithContentsOfURL
270 + 75a3a531b08e727ade4fa3cb0a574bd142727cce:
271 Add http_archive entries for testing with various JDK versions.
272 + 4a6354a3a5ca23583f8b62e3e439a04ce75b863f:
273 Now that ubuntu1804 uses JDK 11, remove explicit
274 ubuntu1804_java11 tests.
275 + ae102fbde3c1ff87e4f67007a275fb30792a4e8d:
276 Fix wrong name of ubuntu1804_javabase9 task.
277 + 0020a97fdc20ca099ec6386771b20d3236f9890d:
278 Remove @executable_path/Frameworks from rpaths
279 + 130f86ded1ce84f959f0b78c065211902faed546:
280 Download stderr/stdout to a temporary FileOutErr
281 + 2ab38663592a9ccbcc1f6f75ed135ae315f4d9d9:
282 Release 0.25.0 (2019-05-01)
283 + ed48a4a5fddbd93b057c3aa726e15720d79dcf8f:
284 Add implementation to removed methods to address
285 https://github.com/bazelbuild/bazel/issues/8226
286 + 81aefe7ee01cc73646a53f9c72ed40ead09f9f5a:
287 Remove unsupported cpu attribute from cc_toolchains.
288 + cccced1e7fc7eaf4ba8f2c9d73dbac72b2686df9:
289 Release 0.25.1 (2019-05-07)
290 + 0900660d67b53a56a13d1fa16a788e4cecbb1c0e:
291 Use package identifier instead of package name
292 + 85a5a2bd569a5274950fc7327a044c395248c024:
293 Configure @androidsdk//:emulator_x86 and :emulator_arm to point
294 to the unified emulator binary
295```
296
297* Add fix for https://github.com/bazelbuild/bazel/issues/8254
298* Add fix for https://github.com/bazelbuild/bazel/issues/8280
299
300## Release 0.25.1 (2019-05-07)
301
302```
303Baseline: 03662462941953dad23af88693804b8b1d4430b9
304
305Cherry picks:
306
307 + 3f7f255f9a8345b8898e3953e7e53d68106cc63d:
308 Windows: fix native test wrapper's arg. escaping
309 + afeb8d0b7fef619159fc8fbaaeb8bd41dd2619bd:
310 Flip --incompatible_windows_escape_jvm_flags
311 + 4299b6549cbc1b3e4494c91ed2f51d49b14c7980:
312 Sort DirectoryNode children to ensure validity.
313 + 231270c67d5aa771462245531fa9b2ee7d3d0ae8:
314 Conditionally use deprecated signature for initWithContentsOfURL
315 + 75a3a531b08e727ade4fa3cb0a574bd142727cce:
316 Add http_archive entries for testing with various JDK versions.
317 + 4a6354a3a5ca23583f8b62e3e439a04ce75b863f:
318 Now that ubuntu1804 uses JDK 11, remove explicit
319 ubuntu1804_java11 tests.
320 + ae102fbde3c1ff87e4f67007a275fb30792a4e8d:
321 Fix wrong name of ubuntu1804_javabase9 task.
322 + 0020a97fdc20ca099ec6386771b20d3236f9890d:
323 Remove @executable_path/Frameworks from rpaths
324 + 130f86ded1ce84f959f0b78c065211902faed546:
325 Download stderr/stdout to a temporary FileOutErr
326 + 2ab38663592a9ccbcc1f6f75ed135ae315f4d9d9:
327 Release 0.25.0 (2019-05-01)
328 + ed48a4a5fddbd93b057c3aa726e15720d79dcf8f:
329 Add implementation to removed methods to address
330 https://github.com/bazelbuild/bazel/issues/8226
331 + 81aefe7ee01cc73646a53f9c72ed40ead09f9f5a:
332 Remove unsupported cpu attribute from cc_toolchains.
333```
334
335Adding 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 -0400336
Bazel Release System2ab38662019-05-01 17:41:28 -0400337## Release 0.25.0 (2019-05-01)
338
339```
340Baseline: 03662462941953dad23af88693804b8b1d4430b9
341
342Cherry picks:
343
344 + 3f7f255f9a8345b8898e3953e7e53d68106cc63d:
345 Windows: fix native test wrapper's arg. escaping
346 + afeb8d0b7fef619159fc8fbaaeb8bd41dd2619bd:
347 Flip --incompatible_windows_escape_jvm_flags
348 + 4299b6549cbc1b3e4494c91ed2f51d49b14c7980:
349 Sort DirectoryNode children to ensure validity.
350 + 231270c67d5aa771462245531fa9b2ee7d3d0ae8:
351 Conditionally use deprecated signature for initWithContentsOfURL
352 + 75a3a531b08e727ade4fa3cb0a574bd142727cce:
353 Add http_archive entries for testing with various JDK versions.
354 + 4a6354a3a5ca23583f8b62e3e439a04ce75b863f:
355 Now that ubuntu1804 uses JDK 11, remove explicit
356 ubuntu1804_java11 tests.
357 + ae102fbde3c1ff87e4f67007a275fb30792a4e8d:
358 Fix wrong name of ubuntu1804_javabase9 task.
359 + 0020a97fdc20ca099ec6386771b20d3236f9890d:
360 Remove @executable_path/Frameworks from rpaths
361 + 130f86ded1ce84f959f0b78c065211902faed546:
362 Download stderr/stdout to a temporary FileOutErr
363```
364
365Incompatible changes:
366
367 - (Starlark rules) The legacy "py" provider can no longer be passed
368 to or produced by native Python rules; use
369 [PyInfo](https://docs.bazel.build/versions/master/skylark/lib/PyIn
370 fo.html) instead. See
371 [#7298](https://github.com/bazelbuild/bazel/issues/7298) for more
372 information.
373 - (Python rules) The `default_python_version` attribute of the
374 `py_binary` and `py_test` rules has been renamed to
375 `python_version`. Also, the `--force_python` flag has been
376 renamed to `--python_version`. See
377 [#7308](https://github.com/bazelbuild/bazel/issues/7308) for more
378 information.
379 - (Python rules) The python version now changes to whatever version
380 is specified in a `py_binary` or `py_test`'s `python_version`
381 attribute, instead of being forced to the value set by a command
382 line flag. You can temporarily revert this change with
383 `--incompatible_allow_python_version_transitions=false`. See
384 [#7307](https://github.com/bazelbuild/bazel/issues/7307) for more
385 information.
386 - --incompatible_disable_third_party_license_checking` is enabled
387 by default
388 - Introduced --incompatible_use_python_toolchains, which supersedes
389 --python_top/--python_path. See #7899 and #7375 for more
390 information.
391 - Python 3 is now the default Python version (for `py_binary` and
392 `py_test` targets that don't specify the `python_version`
393 attribute). Targets that are built for Python 3 will no longer
394 have their output put in a separate `-py3` directory; instead
395 there is now a separate `-py2` directory for Python 2 targets.
396 See #7359 and #7593 for more information.
397 - objc_library resource attributes are now disabled by default.
398 Please migrate them to data instead. See
399 https://github.com/bazelbuild/bazel/issues/7594 for more info.
400 - Flip --incompatible_windows_escape_jvm_flags to true. See
401 https://github.com/bazelbuild/bazel/issues/7486
402
403New features:
404
405 - genrules now support a $(RULEDIR) variable that resolves to the
406 directory where the outputs of the rule are put.
407 - Added --incompatible_windows_native_test_wrapper flag: enables
408 using the Bash-less test wrapper on Windows. (No-op on other
409 platforms.)
410
411Important changes:
412
413 - incompatible_use_jdk11_as_host_javabase: makes JDK 11 the default
414 --host_javabase for remote jdk
415 (https://github.com/bazelbuild/bazel/issues/7219)
416 - Makes genquery somepath output deterministic.
417 - Tristate attributes of native rules now reject True/False (use
418 1/0)
419 - Rollback of "Tristate attributes of native rules now reject
420 True/False (use 1/0)"
421 - Tristate attributes of native rules now reject True/False (use
422 1/0)
423 - Added -incompatible_do_not_split_linking_cmdline flag. See #7670
424 - Tristate attributes of native rules now temporarily accept
425 True/False again
426 - `--incompatible_disable_legacy_crosstool_fields` has been flipped
427 (https://github.com/bazelbuild/bazel/issues/6861)
428 `--incompatible_disable_expand_if_all_available_in_flag_set` has
429 been flipped (https://github.com/bazelbuild/bazel/issues/7008)
430 - `--incompatible_disable_legacy_crosstool_fields` has been flipped
431 (https://github.com/bazelbuild/bazel/issues/6861)
432 `--incompatible_disable_expand_if_all_available_in_flag_set...
433 RELNOTES: None.
434 - --incompatible_no_transitive_loads is enabled by default.
435 - Makes TreeArtifact deterministic.
436 - --incompatible_no_transitive_loads is enabled by default.
437 - Android NDK C++ toolchain is now configured in Starlark. This
438 should be a backwards compatible change, but in case of bugs
439 blame unknown commit.
440 - `--incompatible_disable_legacy_crosstool_fields` has been flipped
441 (https://github.com/bazelbuild/bazel/issues/6861)
442 `--incompatible_disable_expand_if_all_available_in_flag_set` has
443 been flipped (https://github.com/bazelbuild/bazel/issues/7008)
444 - --incompatible_no_transitive_loads is enabled by default.
445 - --incompatible_bzl_disallow_load_after_statement is enabled
446 - Added `--incompatible_require_ctx_in_configure_features`, see
447 https://github.com/bazelbuild/bazel/issues/7793 for details.
448 - Flag --incompatible_merge_genfiles_directory is flipped. This
449 removes the directory `bazel-genfiles` in favor of `bazel-bin`.
450 - previously deprecated flag --experimental_remote_spawn_cache was
451 removed
452 - `--incompatible_disallow_load_labels_to_cross_package_boundaries`
453 is enabled by default
454 - Fix an issue where the Android resource processor did not surface
455 errors from aapt2 compile and link actions.
456 - --incompatible_no_attr_license is enabled by default
457 - `--incompatible_disable_crosstool_file` has been flipped
458 (https://github.com/bazelbuild/bazel/issues/7320)
459 - A new flag `--incompatible_string_join_requires_strings` is
460 introduced. The sequence argument of `string.join` must contain
461 only string elements.
462 - --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfile
463 s_tree has been flipped
464 - Incompatible flag `--incompatible_disable_legacy_cc_provider` has
465 been flipped (see https://github.com/bazelbuild/bazel/issues/7036
466 for details).
467 - Don't drop the analysis cache when the same --define flag is set
468 multiple times and the last value is the same (e.g. if the
469 current invocation was run with "--define foo=bar" and the
470 previous one was run with "--define foo=baz --define foo=bar").
471 - The --incompatible_disable_genrule_cc_toolchain_dependency flag
472 has been flipped (see
473 https://github.com/bazelbuild/bazel/issues/6867 for details).
474 - Incompatible change
475 `--incompatible_remove_cpu_and_compiler_attributes_from_cc_toolcha
476 in` has been flipped (see
477 https://github.com/bazelbuild/bazel/issues/7075 for details).
478 - --noexperimental_java_coverage is a no-op flag.
479 - --experimental_java_coverage/--incompatible_java_coverage flag was
480 removed. See #7425.
481 - incompatible_use_toolchain_providers_in_java_common: pass
482 JavaToolchainInfo and JavaRuntimeInfo providers to java_common
483 APIs instead of configured targets
484 (https://github.com/bazelbuild/bazel/issues/7186.)
485 - --incompatible_remote_symlinks has been flipped. The remote
486 caching and execution protocol will now represent symlinks in
487 outputs as such. See
488 https://github.com/bazelbuild/bazel/issues/7917 for more details.
489 - Bazel is now ~20MiB smaller, from unbundling the Android rules'
490 runtime dependencies.
491
492This 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, ??.
493
Bazel Release System7f8bc5f2019-04-02 12:26:16 -0400494## Release 0.24.1 (2019-04-02)
495
496```
497Baseline: 235e76b0e756d05599a6cbe1663ff8e13df84a86
498
499Cherry picks:
500
501 + badd82e4c5cda7b3232481e1c63a5550ac898cd8:
502 Automated rollback of commit
503 1b4c37c38804559b5c1ade6f9c93501875e231b0.
504 + 33e571939085dd158422e1b3503cfc738e0a3165:
505 Fix the Python version select() mechanism to handle
506 PY3-as-default
507 + 56366ee3a73e2c92b2fa36a9840478202b9618ca:
508 Set non-empty values for msvc_env_* when VC not installed
509 + 22b3fbf4800113df51d603d943bd9eb9517ef904:
510 Windows, test wrapper: fix broken integration test
511 + f14d447cb56aee563f6e686b8f5b086a3bb55d47:
512 Add whitelist file for starlark transitions
513 + d99bc478db1f3414b4f6cd3dc14ca70aacf6b375:
514 Update BUILD
515 + 3529ad7ccf0c26dfb20a9d67b9d96de15f309f8b:
516 Rename tools/function_transition_whitelist/BUILD to
517 tools/whitelists/function_transition_whitelist/BUILD
518 + de0612ad3ef7cc8c44069261befdeb0d15b97c10:
519 Update bazel_toolchains to latest release and add toolchain
520 config target for BuildKite CI (rbe_ubuntu1604)
521 + 3e660ad178926648e8e10e2ee7a1a30b12f9b3d1:
522 Automated rollback of commit
523 087734009801242b83655efb863b2d5a761ae3dc.
524 + 314cf1f9e4b332955c4800b2451db4e926c3e092:
525 Pass -undefined dynamic_lookup to dynamic library linking
526 actions on Mac
527 + fc586a86b614667a21e5a01aea3544ac0338de78:
528 Move cc_flags target into @bazel_tools//tools/cpp.
529 + ea1703b30f9ac43a0c3262f5729c34658ed8d473:
530 C++: Fix crash reported in #7721
531 + 803801d1494f06f0ce977a1f2241ef6a4d85df09:
532 Pass execution info to xml generating spawn. Fixes #7794
533 + f092ec388a4b58788285b928c86f0f81561d4be4:
534 Release 0.24.0 (2019-03-26)
535 + c56c489119e6587975964c44ceb9e429ad950736:
536 Wrap StatusRuntimeExceptions from GrpcRemoteCache
537```
538
539Baseline: f092ec388a4b58788285b928c86f0f81561d4be4
540
541Cherrypicks:
542+ c56c489119e6587975964c44ceb9e429ad950736: Wrap StatusRuntimeExceptions from GrpcRemoteCache
543
Bazel Release System4f5c17c2019-03-26 12:08:43 -0400544## Release 0.24.0 (2019-03-26)
Bazel Release System0e4525f2019-03-11 17:43:39 +0100545
546```
Bazel Release System4f5c17c2019-03-26 12:08:43 -0400547Baseline: 235e76b0e756d05599a6cbe1663ff8e13df84a86
Bazel Release System0e4525f2019-03-11 17:43:39 +0100548
549Cherry picks:
550
Bazel Release System4f5c17c2019-03-26 12:08:43 -0400551 + badd82e4c5cda7b3232481e1c63a5550ac898cd8:
552 Automated rollback of commit
553 1b4c37c38804559b5c1ade6f9c93501875e231b0.
554 + 33e571939085dd158422e1b3503cfc738e0a3165:
555 Fix the Python version select() mechanism to handle
556 PY3-as-default
Bazel Release System0e4525f2019-03-11 17:43:39 +0100557 + 56366ee3a73e2c92b2fa36a9840478202b9618ca:
558 Set non-empty values for msvc_env_* when VC not installed
Bazel Release System4f5c17c2019-03-26 12:08:43 -0400559 + 22b3fbf4800113df51d603d943bd9eb9517ef904:
560 Windows, test wrapper: fix broken integration test
561 + f14d447cb56aee563f6e686b8f5b086a3bb55d47:
562 Add whitelist file for starlark transitions
563 + d99bc478db1f3414b4f6cd3dc14ca70aacf6b375:
564 Update BUILD
565 + 3529ad7ccf0c26dfb20a9d67b9d96de15f309f8b:
566 Rename tools/function_transition_whitelist/BUILD to
567 tools/whitelists/function_transition_whitelist/BUILD
568 + de0612ad3ef7cc8c44069261befdeb0d15b97c10:
569 Update bazel_toolchains to latest release and add toolchain
570 config target for BuildKite CI (rbe_ubuntu1604)
571 + 3e660ad178926648e8e10e2ee7a1a30b12f9b3d1:
572 Automated rollback of commit
573 087734009801242b83655efb863b2d5a761ae3dc.
574 + 314cf1f9e4b332955c4800b2451db4e926c3e092:
575 Pass -undefined dynamic_lookup to dynamic library linking
576 actions on Mac
577 + fc586a86b614667a21e5a01aea3544ac0338de78:
578 Move cc_flags target into @bazel_tools//tools/cpp.
579 + ea1703b30f9ac43a0c3262f5729c34658ed8d473:
580 C++: Fix crash reported in #7721
581 + 803801d1494f06f0ce977a1f2241ef6a4d85df09:
582 Pass execution info to xml generating spawn. Fixes #7794
Bazel Release System0e4525f2019-03-11 17:43:39 +0100583```
584
Bazel Release System4f5c17c2019-03-26 12:08:43 -0400585Incompatible changes:
Bazel Release System0e4525f2019-03-11 17:43:39 +0100586
Bazel Release System4f5c17c2019-03-26 12:08:43 -0400587 - Added --incompatible_py3_is_default to test switching the default
588 Python version to PY3 for py_binary/py_test targets that do not
589 specify a version. See #7359.
590 - //tools/cmd_line_differ has been renamed to //tools/aquery_differ
591 & can now compare (in addition to command lines) inputs of
592 actions given 2 aquery results.
593 - java_(mutable_|)proto_library: removed strict_deps attribute.
594 - The flag --incompatible_list_based_execution_strategy_selection
595 was added and is used to ease the migration to the new style of
596 specifying
597 execution strategy selection and fallback behavior. The
598 documentation for
599 this flag is here: https://github.com/bazelbuild/bazel/issues/7480
600 - Added --incompatible_py2_outputs_are_suffixed, for switching the
601 bazel-bin symlink to point to Python 3 outputs instead of Python
602 2 outputs. See
603 [#7593](https://github.com/bazelbuild/bazel/issues/7593).
Bazel Release Systemf28ff222019-03-04 11:12:24 +0100604
Bazel Release System4f5c17c2019-03-26 12:08:43 -0400605New features:
Bazel Release Systemf28ff222019-03-04 11:12:24 +0100606
Bazel Release System4f5c17c2019-03-26 12:08:43 -0400607 - Make actions.args() object chainable.
608 - Added --incompatible_windows_style_arg_escaping flag: enables
609 correct subprocess argument escaping on Windows. (No-op on other
610 platforms.)
611 - Added --incompatible_windows_escape_jvm_flags flag: enables
612 correct java_binary.jvm_flags and java_test.jvm_flags
613 tokenization and escaping on Windows. (No-op on other platforms.)
Bazel Release Systemf28ff222019-03-04 11:12:24 +0100614
Bazel Release System4f5c17c2019-03-26 12:08:43 -0400615Important changes:
Bazel Release Systemf28ff222019-03-04 11:12:24 +0100616
Bazel Release System4f5c17c2019-03-26 12:08:43 -0400617 - Allow running aquery against the current state of Skyframe
618 - Added support for the "navigation" resource directory to Android
619 resource processing in Bazel. This is used by the Navigation
620 Architecture Component.
621 - --incompatible_disable_runtimes_filegroups was flipped
622 (https://github.com/bazelbuild/bazel/issues/6942)
623 - Incompatible flag `--incompatible_linkopts_in_user_link_flags`
624 has been flipped (https://github.com/bazelbuild/bazel/issues/6826)
625 - Incompatible flag `--incompatible_dont_emit_static_libgcc` has
626 been flipped (https://github.com/bazelbuild/bazel/issues/6825)
627 - --incompatible_disallow_filetype is enabled by default.
628 - Fixed issue where exceptions and stacktraces were silently
629 swallowed in the Android resource processing pipeline.
630 - `--incompatible_disable_expand_if_all_available_in_flag_set` has
631 been flipped (https://github.com/bazelbuild/bazel/issues/7008)
632 - --incompatible_disallow_dict_plus is enabled by default
633 - Adds --incompatible_disable_objc_library_resources to disable
634 resource attributes in objc_library. Please migrate these
635 attributes to `data` instead.
636 - --incompatible_disallow_old_style_args_add is enabled by default.
637 - Using the `native` module in BUILD files is deprecated. It will
638 be forbidden with --incompatible_disallow_native_in_build_file.
639 - (Python rules) PyRuntimeInfo is exposed to Starlark, making it
640 possible for Starlark rules to depend on or imitate `py_runtime`.
641 The `files` attribute of `py_runtime` is no longer mandatory.
642 - incompatible_use_toolchain_providers_in_java_common: pass
643 JavaToolchainInfo and JavaRuntimeInfo providers to java_common
644 APIs instead of configured
645 targetshttps://github.com/bazelbuild/bazel/issues/7186.
646 - is_using_fission crosstool variable is now exposed in all compile
647 actions when fission is active (it used to be exposed only for
648 linking actions).
649 - incompatible_use_toolchain_providers_in_java_common: pass
650 JavaToolchainInfo and JavaRuntimeInfo providers to java_common
651 APIs instead of configured
652 targetshttps://github.com/bazelbuild/bazel/issues/7186.
653 - `py_runtime` gains a `python_version` attribute for specifying
654 whether it represents a Python 2 or 3 interpreter.
655 - `--incompatible_java_coverage` is enabled by default.
656 - Starlark rules can safely declare attributes named "licenses"
657 - When using
658 --incompatible_list_based_execution_strategy_selection, Bazel
659 will use remote execution by default (if you specify
660 --remote_executor), otherwise persistent workers (if the action
661 supports it), otherwise sandboxed local execution (if the action
662 and platform supports it) and at last unsandboxed local
663 execution. The flags --spawn_strategy and --strategy continue to
664 work as before - this only sets new defaults for the case where
665 you don't specify these flags.
666 - Set default value of --incompatible_remap_main_repo to true.
667 - Set default value of --incompatible_remap_main_repo to true.
668
669This 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 +0100670
Bazel Release Systemed104862019-02-26 18:36:00 +0100671## Release 0.23.0 (2019-02-26)
672
673```
674Baseline: 441fd75d0047f8a998d784c557736ab9075db893
675
676Cherry picks:
677
678 + 6ca7763669728253606578a56a205bca3ea883e9:
679 Fix a typo
680 + 2310b1c2c8b2f32db238f667747e7d5672480f4a:
681 Ignore SIGCHLD in test setup script
682 + f9eb1b56706f91063e9d080b850fa56964e77324:
683 Complete channel initialization in the event loop
684```
685
686Incompatible changes:
687
688 - //src:bazel uses the minimal embedded JDK, if you want to
689 avoid the extra steps of minimizing the JDK, use //src:bazel-dev
690 instead.
691 - //src:bazel uses the minimal embedded JDK, if you want to
692 avoid the extra steps of building bazel with the minimized JDK,
693 use //src:bazel-dev
694 instead.
695 - The default value of --host_platform and --platforms will be
696 changed to not be dependent on the configuration. This means
697 that setting
698 --cpu or --host_cpu will not affect the target or host platform.
699 - Toolchain resolution for cc rules is now enabled via an
700 incompatible flag, --incompatible_enable_cc_toolchain_resolution.
701 The previous
702 flag, --enabled_toolchain_types, is deprecated and will be
703 removed.
704 - java_(mutable_|)proto_library: removed strict_deps attribute.
705 - Python rules will soon reject the legacy "py" struct provider
706 (preview by enabling --incompatible_disallow_legacy_py_provider).
707 Upgrade rules to use PyInfo instead. See
708 [#7298](https://github.com/bazelbuild/bazel/issues/7298).
709 - java_(mutable_|)proto_library: removed strict_deps attribute.
710 - Two changes to native Python rules: 1) `default_python_version`
711 and `--force_python` are deprecated; use `python_version` and
712 `--python_version` respectively instead. You can preview the
713 removal of the deprecated names with
714 --incompatible_remove_old_python_version_api. See
715 [#7308](https://github.com/bazelbuild/bazel/issues/7308). 2) The
716 version flag will no longer override the declared version of a
717 `py_binary` or `py_test` target. You can preview this new
718 behavior with --incompatible_allow_python_version_transitions.
719 See [#7307](https://github.com/bazelbuild/bazel/issues/7307).
720
721Important changes:
722
723 - There is a new flag available
724 `--experimental_java_common_create_provider_enabled_packages`
725 that acts as a whitelist for usages of
726 `java_common.create_provider`. The constructor will be deprecated
727 in Bazel 0.23.
728 - [#7024] Allow chaining of the same function type in aquery.
729 - Introduces --local_{ram,cpu}_resources, which will take the place
730 of --local_resources.
731 - [#6930] Add documentation for the aquery command.
732 - Incompatible flag `--incompatible_dont_emit_static_libgcc` has
733 been flipped (https://github.com/bazelbuild/bazel/issues/6825)
734 - Incompatible flag `--incompatible_linkopts_in_user_link_flags`
735 has been flipped (https://github.com/bazelbuild/bazel/issues/6826)
736 - Flag --incompatible_range_type is removed.
737 - Flag --incompatible_disallow_slash_operator is removed.
738 - Flag --incompatible_disallow_conflicting_providers is removed.
739 - `--incompatible_disallow_data_transition` is now enabled by
740 default
741 - Allow inclusion of param files in aquery output
742 - [#6985] Add test to verify aquery's behavior for Cpp action
743 templates.
744 - --incompatible_require_feature_configuration_for_pic was flipped
745 (https://github.com/bazelbuild/bazel/issues/7007).
746 - Also ignore module-info.class in multi-version Jars
747 - objc_framework has been deleted. Please refer to
748 apple_dynamic_framework_import and apple_static_framework_import
749 rules available in
750 [rules_apple](https://github.com/bazelbuild/rules_apple/blob/maste
751 r/doc/rules-general.md)
752 - --test_sharding_strategy=experimental_heuristic is no more
753 - objc_bundle_library has been removed. Please migrate to
754 rules_apple's
755 [apple_resource_bundle](https://github.com/bazelbuild/rules_apple/
756 blob/master/doc/rules-resources.md#apple_resource_bundle).
757 - You can now use the attribute `aapt_version` or the flag
758 `--android_aapt` to pick the aapt version for android_local_test
759 tests
760 - In --keep_going mode, Bazel now correctly returns a non-zero exit
761 code when encountering a package loading error during target
762 pattern parsing of patterns like "//foo:all" and "//foo/...".
763 - The default value for --incompatible_strict_action_env has been
764 flipped to 'false' again, as we discovered breakages for local
765 execution users. We'll need some more time to figure out the best
766 way to make this work for local and remote execution. Follow
767 https://github.com/bazelbuild/bazel/issues/7026 for more details.
768 - Locally-executed spawns tagged "no-cache" no longer upload their
769 outputs to the remote cache.
770 - Introduces --host_compiler flag to allow setting a compiler for
771 host compilation when --host_crosstool_top is specified.
772 - --incompatible_expand_directories is enabled by default
773 - [aquery] Handle the case of aspect-on-aspect.
774 - Fixed a longstanding bug in the http remote cache where the value
775 passed to
776 --remote_timeout would be interpreted as milliseconds instead of
777 seconds.
778 - Enable --incompatible_use_jdk10_as_host_javabase by default, see
779 https://github.com/bazelbuild/bazel/issues/6661
780 - Add --incompatible_use_jdk11_as_host_javabase: makes JDK 11 the
781 default --host_javabase for remote jdk
782 (https://github.com/bazelbuild/bazel/issues/7219)
783 - Highlight TreeArtifact in aquery text output.
784 - Locally-executed spawns tagged "no-cache" no longer upload their
785 outputs to the remote cache.
786 - java_common APIs now accept JavaToolchainInfo and JavaRuntimeInfo
787 instead of configured targets for java_toolchain and java_runtime
788 - cc_common.create_cc_toolchain_config_info is stable and available
789 for production use
790 - incompatible_use_toolchain_providers_in_java_common: pass
791 JavaToolchainInfo and JavaRuntimeInfo providers to java_common
792 APIs instead of configured targets
793 (https://github.com/bazelbuild/bazel/issues/7186)
794 - --incompatible_strict_argument_ordering is enabled by default.
795 - Bazel now supports reading cache hits from a repository cache,
796 even if it doesn't have write access to the cache.
797 - Adding arm64e to OSX CROSSTOOL.
798 - Ignore package-level licenses on config_setting.
799 - Add an optional output_source_jar parameter to java_common.compile
800 - --incompatible_disable_objc_provider_resources is now enabled by
801 default. This disables ObjcProvider's fields related to resource
802 processing.
803 - Explicitly set https.protocols and exclude TLSv1.3.
804 - Bazel now validates that JAVA_HOME points to a valid JDK and
805 falls back to auto-detection by looking up the path of `javac`.
806 - Upgrade the embedded JDK version to 11.0.2.
807 - Added --incompatible_disable_crosstool_file
808 (https://github.com/bazelbuild/bazel/issues/7320)
809 - --incompatible_disable_objc_provider_resources is now enabled by
810 default. This disables ObjcProvider's fields related to resource
811 processing.
812 - --incompatible_disable_tools_defaults_package has been flipped.
813 - For tests that do not generate a test.xml, Bazel now uses a
814 separate action to generate one; this results in minor
815 differences in the generated test.xml, and makes the generation
816 more reliable overall.
817 - incompatible_generate_javacommon_source_jar: java_common.compile
818 now always generates a source jar, see
819 https://github.com/bazelbuild/bazel/issues/5824.
820 - New incompatible flag
821 --incompatible_disallow_struct_provider_syntax removes the
822 ability for rule implementation functions to return struct. Such
823 functions should return a list of providers instead. Migration
824 tracking: https://github.com/bazelbuild/bazel/issues/7347
825
826This 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.
827
Bazel Release System2f82b332019-01-28 13:54:53 +0100828## Release 0.22.0 (2019-01-28)
829
830```
831Baseline: deb028e3fb30b4e2953df16f35ab1f55a08ea8fa
832
833Cherry picks:
834
835 + a3a5975dca3ad04c19dc7d063fcf490a8cd612fd:
836 Fix a race condition in remote cache
837 + b8d0e1b05c225a4b943ce498194d069d18093d9a:
838 Use a new GitHub token and KMS key for the release process.
839 + 3759e3895503aa2bbd6943c5b568b8c050b9448f:
840 remote: fix unexpected IO error (not a directory)
841 + 4473bb1a9ec4282aa8497b86580d68e82415df4a:
842 Fix a race condition in Bazel's Windows process management.
843 + 9137fb940886aa516f32ca8a36feccedb545c99b:
844 undo flag flip of --incompatible_strict_action_env
845 + 12ab12e80ad1c9a3510aa4bbfdf3fddafc0bca00:
846 Revert "Enabling Bazel to generate input symlinks as defined by
847 RE AP?
848 + 6345c747d8cb1819e70c853becadbf8a989decf1:
849 Automated rollback of commit
850 30536baa4a410d8c0a7adab5cd58cd8a2ac7e46c.
851```
852
Bazel Release System2f82b332019-01-28 13:54:53 +0100853
Bazel Release System2f82b332019-01-28 13:54:53 +0100854
Klaus Aehligcb59bd22019-01-28 14:20:37 +0100855The Bazel team is happy to announce a new release of Bazel,
856[Bazel 0.22.0](https://github.com/bazelbuild/bazel/releases/tag/0.22.0).
Bazel Release System2f82b332019-01-28 13:54:53 +0100857
Klaus Aehligcb59bd22019-01-28 14:20:37 +0100858Baseline: deb028e3fb30b4e2953df16f35ab1f55a08ea8fa
Bazel Release System2f82b332019-01-28 13:54:53 +0100859
Klaus Aehligcb59bd22019-01-28 14:20:37 +0100860### Breaking changes
861
862- [`--incompatible_string_is_not_iterable`](https://github.com/bazelbuild/bazel/issues/5830)
863
864### Upcoming changes
865
866This release is a [migration window for the following changes](https://github.com/bazelbuild/bazel/labels/migration-0.22).
867
868- [`--incompatible_disallow_data_transition`](https://github.com/bazelbuild/bazel/issues/6153)
869- [`--incompatible_dont_emit_static_libgcc`](https://github.com/bazelbuild/bazel/issues/6825)
870- [`--incompatible_linkopts_in_user_link_flags`](https://github.com/bazelbuild/bazel/issues/6826)
871- [`--incompatible_disable_legacy_crosstool_fields`](https://github.com/bazelbuild/bazel/issues/6861)
872- [`--incompatible_use_aapt2_by_default`](https://github.com/bazelbuild/bazel/issues/6907)
873- [`--incompatible_disable_runtimes_filegroups`](https://github.com/bazelbuild/bazel/issues/6942)
874- [`--incompatible_disable_legacy_cc_provider`](https://github.com/bazelbuild/bazel/issues/7036)
875- [`--incompatible_require_feature_configuration_for_pic`](https://github.com/bazelbuild/bazel/issues/7007)
876- [`--incompatible_disable_expand_if_all_available_in_flag_set`](https://github.com/bazelbuild/bazel/issues/7008)
877- [`--incompatible_disable_legacy_proto_provider`](https://github.com/bazelbuild/bazel/issues/7152)
878- [`--incompatible_disable_proto_source_root`](https://github.com/bazelbuild/bazel/issues/7153)
879
880### General Changes
881
882- https://docs.bazel.build now supports versioned
883 documentation. Use the selector at the top of the navigation bar
884 to switch between documentation for different Bazel releases.
885
886- set `projectId` in all `PublishBuildToolEventStreamRequest`
887
888### Android
889
890- mobile-install now works with aapt2. Try it out with `bazel
891 mobile-install --android_aapt=aapt2 //my:target`
892
893- Fixed issues with mobile-install v1 when deploying to Android 9 Pie
894 devices. https://github.com/bazelbuild/bazel/issues/6814
895
896- Fixed issue where error messages from Android manifest merging
897 actions were not fully propagated.
898
899- New incompatible change flag `--incompatible_use_aapt2_by_default`
900 for defaulting to aapt2 in Android builds has been added. To build with
901 aapt2 today, pass the flag
902 `--incompatible_use_aapt2_by_default=true` or
903 `--android_aapt=aapt2`, or set the `aapt_version` to `aapt2` on
904 your `android_binary` or `android_local_test` target.
905
906- Fixed mobile-install v1 error when installing an app with native
907 libraries onto an Android 9 (Pie) device. See
908 https://github.com/bazelbuild/examples/issues/77
909
910- Fixed a mobile-install bug where `arm64-v8a` libraries were not
911 deployed correctly on `arm64` devices. This was done by enabling
912 incremental native lib deployment by default. A previously
913 undocumented `--android_incremental_native_libs` flag is removed,
914 and is now the regular behavior. See
915 https://github.com/bazelbuild/bazel/issues/2239
916
917### Apple
918
919- The `objc_bundle` rule has been removed. Please migrate to rules_apple's
920 [apple_bundle_import](https://github.com/bazelbuild/rules_apple/bl
921 ob/master/doc/rules-resources.md#apple_bundle_import).
922
923- The `apple_stub_binary` rule has been deleted.
924
925- The `--xbinary_fdo` option that passes xbinary profiles has been added.
926
927### C++
928
929- `cc_toolchain.(static|dynamic)_runtime_libs` attributes are now optional
930
931### Packaging
932
933- `build_tar.py` in `tools/build_defs/pkg` now supports a JSON manifest
934 that can be used to add paths that have symbols that can't be
935 specified via the command line
936
937### Query
938
939- Filtering of inputs, outputs, and mnemonic filtering have been added to
940 aquery.
941
942- The aquery and cquery query2 tests have been open-sourced.
943
944- The Bazel query how-to recommends ":*" instead of ":all", because "all" might
945 be the name of a target.
946
947### Testing
948
949- The `--runs_per_test` has been placed in the TESTING documentation category.
950
951- A a clarifying message has been added to test case summary output when all
952 test cases pass but the target fails.
953
954### Contributors
955
956This release contains contributions from many people at Google, as well as
957Benjamin Peterson, Dave Lee, George Gensure, Gert van Dijk, Gustavo Storti
958Salibi, Keith Smiley, Loo Rong Jie, Lukasz Tekieli, Mikhail Mazurskiy, Thi,
959Travis Cline, Vladimir Chebotarev, and Yannic.
Bazel Release System2f82b332019-01-28 13:54:53 +0100960
Bazel Release Systema189d422018-12-19 13:53:11 +0100961## Release 0.21.0 (2018-12-19)
962
963```
964Baseline: cb9b2afbba3f8d3a1db8bf68e65d06f1b36902f5
965
966Cherry picks:
967
968 + 12b96466ee0d6ab83f7d4cd24be110bb5021281d:
969 Windows, test wrapper: rename the associated flag
970 + 7fc967c4d6435de2bb4e34aac00ca2e499f55fca:
971 Use a fixed thread pool in ByteStreamBuildEventArtifactUploader
972 + 798b9a989aa793655d29504edb5fb85f3143db84:
973 Add --build_event_upload_max_threads option
974 + dbe05df23ccf4c919379e0294e0701fd3f66739c:
975 Update the version of skylib bundled in the distfile
976```
977
978Incompatible changes:
979
980 - The --experimental_stl command line option is removed.
981 - aquery defaults to human readable output format.
982
983New features:
984
985 - repository_ctx.download and repository_ctx.download_and_extract
986 now return a struct.
987 - Android Databinding v2 can be enabled with
988 --experimental_android_databinding_v2.
989
990Important changes:
991
992 - The deprecated and unmaintained Docker rules in
993 tools/build_defs/docker were removed. Please use
994 https://github.com/bazelbuild/rules_docker instead.
995 - The new --upload_query_output_using_bep query/cquery/aquery flag
996 causes query outputs to be uploaded via BEP.
997 - New incompatible flag --incompatible_strict_argument_ordering
998 - --strict_android_deps and --strict_java_deps were renamed to
999 --experimental_strict_java_deps
1000 - config_settings that select on "compiler" value instead of values
1001 = {"compiler" : "x"} should use flag_values =
1002 {"@bazel_tools//tools/cpp:compiler": "x"}.
1003 - The new --upload_query_output_using_bep query/cquery/aquery flag
1004 causes query outputs to be uploaded via BEP.
1005 - Turn on --incompatible_disable_sysroot_from_configuration
1006 - We revamped our Android with Bazel tutorial! Check it out
1007 [here](https://docs.bazel.build/versions/master/tutorial/android-a
1008 pp.html).
1009 - --incompatible_disallow_slash_operator is now on by default
1010 - Enable --experimental_check_desugar_deps by default. This flag
1011 rules out several types of invalid Android builds at compile-time.
1012 - The --max_config_changes_to_show option lists the names of
1013 options which
1014 have changed and thus caused the analysis cache to be dropped.
1015 - The --experimental_strict_action_env option has been renamed to
1016 --incompatible_strict_action_env and is now on by default. This
1017 means Bazel will no longer use the client's PATH and
1018 LD_LIBRARY_PATH environmental variables in the default action
1019 environment. If the old behavior is desired, pass
1020 --action_env=PATH and --action_env=LD_LIBRARY_PATH.
1021 --noincompatible_strict_action_env will also temporarily restore
1022 the old behavior. However, as --action_env is a more general and
1023 explicit way to pass client environmental variables into actions,
1024 --noincompatible_strict_action_env will eventually be deprecated
1025 and removed. See #6648 for more details.
1026 - XCRUNWRAPPER_LABEL has been removed. If you used this value
1027 before, please use @bazel_tools//tools/objc:xcrunwrapper instead.
1028 - --incompatible_static_name_resolution is no unable by default
1029 - We will phase out --genrule_strategy in favor of
1030 --strategy=Genrule=<value> (for genrules) or
1031 --spawn_strategy=<value> (for all actions).
1032 - --incompatible_package_name_is_a_function is now enabled by
1033 default
1034 - Dynamic execution is now available with
1035 --experimental_spawn_strategy. Dynamic execution allows a build
1036 action to run locally and remotely simultaneously, and Bazel
1037 picks the fastest action. This provides the best of both worlds:
1038 faster clean builds than pure local builds, and faster
1039 incremental builds than pure remote builds.
1040 - --incompatible_package_name_is_a_function is now enabled by
1041 default
1042 - New incompatible flag --incompatible_merge_genfiles_directory
1043 - grpc log now logs updateActionResult
1044 - CppConfiguration doesn't do package loading anymore. That means:
1045 * it's no longer needed to have C++ toolchain available when
1046 building non-C++ projects
1047 * bazel will not analyze C++ toolchain when not needed -> speedup
1048 ~2s on bazel startup when C++ rules using hermetic toolchain are
1049 not loaded
1050 - --incompatible_package_name_is_a_fu...
1051
1052This 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.
1053
Bazel Release System85378562018-11-30 15:34:16 +01001054## Release 0.20.0 (2018-11-30)
1055
1056```
1057Baseline: 7bf7f031c332dc483257248d1c1f98ad75bbc83b
1058
1059Cherry picks:
1060
1061 + fd52341505e725487c6bc6dfbe6b5e081aa037da:
1062 update bazel-toolchains pin to latest release Part of changes to
1063 allow bazelci to use 0.19.0 configs. RBE toolchain configs at or
1064 before 0.17.0 are not compatible with bazel 0.19.0 or above.
1065 + 241f28d05424db2d11ee245dc856b992258505e3:
1066 Revert "Toggle --incompatible_disable_late_bound_option_defaults
1067 flag."
1068 + f7e5aef145c33968f658eb2260e25630dc41cc67:
1069 Add cc_toolchain targets for the new entries in the default
1070 cc_toolchain_suite.
1071 + d2920e32ec7f3f8551a693d33c17b19f1b802145:
1072 Revert "WindowsFileSystem: open files with delete-sharing"
1073```
1074
1075[Breaking changes in 0.20](https://github.com/bazelbuild/bazel/issues?q=is%3Aissue+label%3Abreaking-change-0.20)
1076
1077 - [--incompatible_remove_native_http_archive](https://github.com/bazelbuild/bazel/issues/6570).
1078 - [--incompatible_remove_native_git_repository](https://github.com/bazelbuild/bazel/issues/6569).
1079 - [--incompatible_disable_cc_toolchain_label_from_crosstool_proto](https://github.com/bazelbuild/bazel/issues/6434).
1080 - [--incompatible_disable_depset_in_cc_user_flags](https://github.com/bazelbuild/bazel/issues/6384).
1081 - [--incompatible_disable_cc_configuration_make_variables](https://github.com/bazelbuild/bazel/issues/6381).
1082 - [--incompatible_disallow_conflicting_providers](https://github.com/bazelbuild/bazel/issues/5902).
1083 - [--incompatible_range_type](https://github.com/bazelbuild/bazel/issues/5264).
1084
1085[0.20 is a migration window for the following changes](https://github.com/bazelbuild/bazel/issues?q=is%3Aissue+label%3Amigration-0.20)
1086
1087 - [--incompatible_use_jdk10_as_host_javabase](https://github.com/bazelbuild/bazel/issues/6661)
1088 - [--incompatible_use_remotejdk_as_host_javabase](https://github.com/bazelbuild/bazel/issues/6656)
1089 - [--incompatible_disable_sysroot_from_configuration](https://github.com/bazelbuild/bazel/issues/6565)
1090 - [--incompatible_provide_cc_toolchain_info_from_cc_toolchain_suite](https://github.com/bazelbuild/bazel/issues/6537)
1091 - [--incompatible_disable_depset_in_cc_user_flags](https://github.com/bazelbuild/bazel/issues/6383)
1092 - [--incompatible_package_name_is_a_function](https://github.com/bazelbuild/bazel/issues/5827)
1093
1094[Breaking changes in the next release (0.21)](https://github.com/bazelbuild/bazel/issues?q=is%3Aissue+label%3Abreaking-change-0.21)
1095
1096 - [--incompatible_use_jdk10_as_host_javabase](https://github.com/bazelbuild/bazel/issues/6661)
1097 - [--incompatible_use_remotejdk_as_host_javabase](https://github.com/bazelbuild/bazel/issues/6656)
1098 - [--incompatible_disable_sysroot_from_configuration](https://github.com/bazelbuild/bazel/issues/6565)
1099 - [--incompatible_provide_cc_toolchain_info_from_cc_toolchain_suite](https://github.com/bazelbuild/bazel/issues/6537)
1100 - [--incompatible_disable_depset_in_cc_user_flags](https://github.com/bazelbuild/bazel/issues/6383)
1101 - [--incompatible_disallow_data_transition](https://github.com/bazelbuild/bazel/issues/6153)
1102 - [--incompatible_package_name_is_a_function](https://github.com/bazelbuild/bazel/issues/5827)
1103 - [--incompatible_disallow_slash_operator](https://github.com/bazelbuild/bazel/issues/5823)
1104 - [--incompatible_static_name_resolution](https://github.com/bazelbuild/bazel/issues/5637)
1105
1106Incompatible changes:
1107
1108 - the --experimental_no_dotd_scanning_with_modules command line
1109 argument is not supported anymore.
1110 - The --prune_cpp_modules command line option is not supported
1111 anymore.
1112 - the --experimental_prune_cpp_input_discovery command line option
1113 is not supported anymore.
1114
1115New features:
1116
1117 - Added support for Android NDK r18.
1118
1119Important changes:
1120
1121 - The 'default' parameter of attr.output and attr.output_list is
1122 removed. This is controlled by
1123 --incompatible_no_output_attr_default
1124 - A number of platform-related Starlark APIs which were previously
1125 marked "experimental" are now disabled by default, and may be
1126 enabled via --experimental_platforms_api
1127 - Make legacy-test-support ("legacy_test-<api-level>") from
1128 android_sdk_repository neverlink. The legacy test support
1129 libraries shouldn't be built into test binaries. To make them
1130 available at runtime, developers should declare them via
1131 uses-library:
1132 https://developer.android.com/training/testing/set-up-project#andr
1133 oid-test-base
1134 - query remote server Capabilities (per REAPI v2)
1135 - CppRules: All cc_toolchains depended on from
1136 cc_toolchain_suite.toolchains are now analyzed when not using
1137 platforms in order to select the right cc_toolchain.
1138 - removed obsolete --explicit_jre_deps flag.
1139 - Incompatible flag
1140 --incompatible_disable_legacy_cpp_toolchain_skylark_api was
1141 flipped.
1142 - Improve error messaging when unsupport proguard options are
1143 specified at the library level.
1144 - Incompatible flag
1145 --incompatible_disable_legacy_cpp_toolchain_skylark_api was
1146 flipped.
1147 - Incompatible flag
1148 --incompatible_disable_legacy_cpp_toolchain_skylark_api was
1149 flipped.
1150 - The --incompatible_disable_late_bound_option_defaults flag has
1151 been flipped (#6384)
1152 - Incompatible flag
1153 --incompatible_disable_legacy_flags_cc_toolchain_api was flipped
1154 (#6434)
1155 - Fixed issue where ctx.resolve_command created conflicting
1156 intermediate files when resolve_command was called multiple times
1157 within the same rule invocation with a long command attribute.
1158 - Incompatible flag
1159 --incompatible_disable_cc_configuration_make_variables was
1160 flipped (#6381)
1161 - If the --javabase flag is unset, it Bazel locates a JDK using
1162 the JAVA_HOME environment variable and searching the PATH. If no
1163 JDK is found --javabase will be empty, and builds targeting Java
1164 will not
1165 be supported. Previously Bazel would fall back to using the
1166 embedded
1167 JDK as a --javabase, but this is no longer default behaviour. A
1168 JDK should
1169 be explicitly installed instead to enable Java development
1170 - Bazel will now shut down when idle for 5 minutes and the system
1171 is low on RAM (linux only).
1172 - CROSSTOOL file is now read from the package of cc_toolchain, not
1173 from
1174 the package of cc_toolchain_suite. This is not expected to break
1175 anybody since
1176 cc_toolchain_suite and cc_toolchain are commonly in the same
1177 package.
1178 - All overrides of Starlark's ctx.new_file function are now
1179 deprecated.
1180 Try the `--incompatible_new_actions_api` flag to ensure your
1181 code is forward-compatible.
1182 - --incompatible_disable_cc_toolchain_label_from_crosstool_proto
1183 was flipped.
1184 - Introduce --(no)shutdown_on_low_sys_mem startup flag to toggle
1185 idle low-memory shutdown, disabled by default.
1186 - --incompatible_disable_cc_toolchain_label_from_crosstool_proto
1187 was flipped.
1188 - --incompatible_disable_cc_toolchain_label_from_crosstool_proto
1189 was flipped.
1190 - CppRules: All cc_toolchains depended on from
1191 cc_toolchain_suite.toolchains are now analyzed when not using
1192 platforms in order to select the right cc_toolchain.
1193 - The function `attr.license` is deprecated and will be removed.
1194 It can be disabled now with `--incompatible_no_attr_license`.
1195 - `range()` function now returns a lazy value
1196 (`--incompatible_range_type` is now set by default).
1197 - The code coverage report now includes the actual paths to header
1198 files instead of the ugly,
1199 Bazel generated, virtual includes path.
1200 - `--incompatible_disallow_conflicting_providers` has been switched
1201 to true
1202 - Add new flag `--incompatible_disable_systool_from_configration` to
1203 disable loading the systool from CppConfiguration.
1204 - Add new flag `--incompatible_disable_sysroot_from_configuration`
1205 to
1206 disable loading the systool from CppConfiguration.
1207 - Sorting remote Platform properties for remote execution. May
1208 affect cache keys!
1209 - Use different server log files per Bazel server process; java.log
1210 is
1211 now a symlink to the latest log.
1212
1213This 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>.
1214
Bazel Release Systemcb3e2982018-11-19 11:19:38 -05001215## Release 0.19.2 (2018-11-19)
1216
1217```
1218Baseline: ac880418885061d1039ad6b3d8c28949782e02d6
1219
1220Cherry picks:
1221
1222 + 9bc3b20053a8b99bf2c4a31323a7f96fabb9f1ec:
1223 Fix the "nojava" platform and enable full presubmit checks for
1224 the various JDK platforms now that we have enough GCE resources.
1225 + 54c2572a8cabaf2b29e58abe9f04327314caa6a0:
1226 Add openjdk_linux_archive java_toolchain for nojava platform.
1227 + 20bfdc67dc1fc32ffebbda7088ba49ee17e3e182:
1228 Automated rollback of commit
1229 19a401c38e30ebc0879925a5caedcbe43de0028f.
1230 + 914b4ce14624171a97ff8b41f9202058f10d15b2:
1231 Windows: Fix Precondition check for addDynamicInputLinkOptions
1232 + 83d406b7da32d1b1f6dd02eae2fe98582a4556fd:
1233 Windows, test-setup.sh: Setting RUNFILES_MANIFEST_FILE only when
1234 it exists.
1235 + e025726006236520f7e91e196b9e7f139e0af5f4:
1236 Update turbine
1237 + 5f312dd1678878fb7563eae0cd184f2270346352:
1238 Fix event id for action_completed BEP events
1239 + f0c844c77a2406518c4e75c49188390d5e281d3d:
1240 Release 0.19.0 (2018-10-29)
1241 + c3fb1db9e4e817e8a911f5b347b30f2674a82f7c:
1242 Do not use CROSSTOOL to select cc_toolchain
1243 + 8e280838e8896a6b5eb5421fda435b96b6f8de60:
1244 Windows Add tests for msys gcc toolchain and mingw gcc toolchain
1245 + fd52341505e725487c6bc6dfbe6b5e081aa037da:
1246 update bazel-toolchains pin to latest release Part of changes to
1247 allow bazelci to use 0.19.0 configs. RBE toolchain configs at or
1248 before 0.17.0 are not compatible with bazel 0.19.0 or above.
1249 + eb2af0f699350ad187048bf814a95af23f562c77:
1250 Release 0.19.1 (2018-11-12)
1251 + 6bc452874ddff69cbf7f66186238032283f1195f:
1252 Also update cc_toolchain.toolchain_identifier when
1253 CC_TOOLCHAIN_NAME is set
1254 + f7e5aef145c33968f658eb2260e25630dc41cc67:
1255 Add cc_toolchain targets for the new entries in the default
1256 cc_toolchain_suite.
1257 + 683c302129b66a8999f986be5ae7e642707e978c:
1258 Read the CROSSTOOL from the package of the current cc_toolchain,
1259 not from --crosstool_top
1260```
1261
1262- Fixes regression #6662, by fixing tools/cpp/BUILD
1263- Fixes regression #6665, by setting the toolchain identifier.
1264- CROSSTOOL file is now read from the package of cc_toolchain, not from the
1265 package of cc_toolchain_suite. This is not expected to break anybody since
1266 cc_toolchain_suite and cc_toolchain are commonly in the same package.
1267
Bazel Release System684f1092018-11-12 10:26:58 -05001268## Release 0.19.1 (2018-11-12)
1269
1270```
1271Baseline: ac880418885061d1039ad6b3d8c28949782e02d6
1272
1273Cherry picks:
1274
1275 + 9bc3b20053a8b99bf2c4a31323a7f96fabb9f1ec:
1276 Fix the "nojava" platform and enable full presubmit checks for
1277 the various JDK platforms now that we have enough GCE resources.
1278 + 54c2572a8cabaf2b29e58abe9f04327314caa6a0:
1279 Add openjdk_linux_archive java_toolchain for nojava platform.
1280 + 20bfdc67dc1fc32ffebbda7088ba49ee17e3e182:
1281 Automated rollback of commit
1282 19a401c38e30ebc0879925a5caedcbe43de0028f.
1283 + 914b4ce14624171a97ff8b41f9202058f10d15b2:
1284 Windows: Fix Precondition check for addDynamicInputLinkOptions
1285 + 83d406b7da32d1b1f6dd02eae2fe98582a4556fd:
1286 Windows, test-setup.sh: Setting RUNFILES_MANIFEST_FILE only when
1287 it exists.
1288 + e025726006236520f7e91e196b9e7f139e0af5f4:
1289 Update turbine
1290 + 5f312dd1678878fb7563eae0cd184f2270346352:
1291 Fix event id for action_completed BEP events
1292 + f0c844c77a2406518c4e75c49188390d5e281d3d:
1293 Release 0.19.0 (2018-10-29)
1294 + c3fb1db9e4e817e8a911f5b347b30f2674a82f7c:
1295 Do not use CROSSTOOL to select cc_toolchain
1296 + 8e280838e8896a6b5eb5421fda435b96b6f8de60:
1297 Windows Add tests for msys gcc toolchain and mingw gcc toolchain
1298 + fd52341505e725487c6bc6dfbe6b5e081aa037da:
1299 update bazel-toolchains pin to latest release Part of changes to
1300 allow bazelci to use 0.19.0 configs. RBE toolchain configs at or
1301 before 0.17.0 are not compatible with bazel 0.19.0 or above.
1302```
1303
1304Important changes:
1305- Fix regression #6610, which prevents using the MINGW compiler on Windows.
1306
Klaus Aehlig5e5832c2018-10-31 15:45:53 +01001307## Release 0.19.0 (2018-10-29)
1308
1309```
1310Baseline: ac880418885061d1039ad6b3d8c28949782e02d6
1311
1312Cherry picks:
1313
1314 + 9bc3b20053a8b99bf2c4a31323a7f96fabb9f1ec:
1315 Fix the "nojava" platform and enable full presubmit checks for
1316 the various JDK platforms now that we have enough GCE resources.
1317 + 54c2572a8cabaf2b29e58abe9f04327314caa6a0:
1318 Add openjdk_linux_archive java_toolchain for nojava platform.
1319 + 20bfdc67dc1fc32ffebbda7088ba49ee17e3e182:
1320 Automated rollback of commit
1321 19a401c38e30ebc0879925a5caedcbe43de0028f.
1322 + 914b4ce14624171a97ff8b41f9202058f10d15b2:
1323 Windows: Fix Precondition check for addDynamicInputLinkOptions
1324 + 83d406b7da32d1b1f6dd02eae2fe98582a4556fd:
1325 Windows, test-setup.sh: Setting RUNFILES_MANIFEST_FILE only when
1326 it exists.
1327 + e025726006236520f7e91e196b9e7f139e0af5f4:
1328 Update turbine
1329 + 5f312dd1678878fb7563eae0cd184f2270346352:
1330 Fix event id for action_completed BEP events
1331```
1332
1333The Bazel team is happy to announce a new version of Bazel, [Bazel 0.19](https://github.com/bazelbuild/bazel/releases/tag/0.19.0).
1334
1335This document lists the major changes since Bazel 0.18.
1336
1337General changes
1338---------------
1339
1340* The `--incompatible_expand_directories` flag will automatically expand directories in command lines. Design doc: https://docs.google.com/document/d/11agWFiOUiz2htBLj6swPTob5z78TrCxm8DQE4uJLOwM
1341
1342* 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.
1343
1344Android
1345-------
1346
1347* Fixed missing debug symbols when building native code with `--compilation_mode=dbg` that target Android ARM architectures by adding the `-g` flag.
1348
1349C++
1350---
1351
1352* 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.
1353
1354* 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.
1355
1356* :cc_binary link action no longer hardcodes `-static-libgcc` for toolchains that support embedded runtimes (guarded by `--experimental_dont_emit_static_libgcc` temporarily).
1357
1358* The flag `--experimental_enable_cc_configuration_make_variables` is removed, use `--incompatible_disable_cc_configuration_make_variables` instead.
1359
1360Java
1361----
1362
1363* 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.
1364
1365Code Coverage
1366-------------
1367
1368* LcovMerger was renamed to CoverageOutputGenerator.
1369
1370* Faster coverage collection for gcc compiled C++ code can now be tested by enabling it with `--experimental_cc_coverage`.
1371
1372Other Changes
1373-------------
1374
1375* Add `--apple_compiler` and `--apple_grte_top options`. These provide the equivalent of --compiler / --grte_top for the toolchain configured in --apple_crosstool_top.
1376
1377* There is now a `same_pkg_direct_rdeps` query function. See the query documentation for more details.
1378
1379* Propagating remote errors to the user even if `--verbose_failures=false` is set.
1380
1381* Add number of configured targets to analysis phase status output.
1382
1383* 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.
1384
1385Future Changes
1386--------------
1387
1388* 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:
1389 * [`--incompatible_disable_late_bound_option_defaults`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-late-bound-option-defaults): #6384
1390 * [`--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
1391 * [`--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
1392 * [`--incompatible_disable_cc_configuration_make_variables`](https://github.com/bazelbuild/bazel/issues/6381): #6381
1393 * [`--incompatible_disable_legacy_cpp_toolchain_skylark_api`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-legacy-c-configuration-api): #6380
1394 * [`incompatible_disable_legacy_flags_cc_toolchain_api`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-legacy-c-toolchain-api): #6434
1395
1396* 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.
1397
1398Thank you to our contributors!
1399------------------------------
1400
1401This 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
1402
1403Thank you to everyone who contributed to this release!
1404
Bazel Release System92849b82018-10-31 15:41:11 +01001405## Release 0.18.1 (2018-10-31)
Bazel Release System36177972018-10-15 10:29:10 +02001406
1407```
Bazel Release System92849b82018-10-31 15:41:11 +01001408Baseline: c062b1f1730f3562d5c16a037b374fc07dc8d9a2
Bazel Release System36177972018-10-15 10:29:10 +02001409
1410Cherry picks:
1411
Bazel Release System92849b82018-10-31 15:41:11 +01001412 + 2834613f93f74e988c51cf27eac0e59c79ff3b8f:
1413 Include also ext jars in the bootclasspath jar.
1414 + 2579b791c023a78a577e8cb827890139d6fb7534:
1415 Fix toolchain_java9 on --host_javabase=<jdk9> after
1416 7eb9ea150fb889a93908d96896db77d5658e5005
1417 + faaff7fa440939d4367f284ee268225a6f40b826:
1418 Release notes: fix markdown
1419 + b073a18e3fac05e647ddc6b45128a6158b34de2c:
1420 Fix NestHost length computation Fixes #5987
1421 + bf6a63d64a010f4c363d218e3ec54dc4dc9d8f34:
1422 Fixes #6219. Don't rethrow any remote cache failures on either
1423 download or upload, only warn. Added more tests.
1424 + c1a7b4c574f956c385de5c531383bcab2e01cadd:
1425 Fix broken IdlClassTest on Bazel's CI.
1426 + 71926bc25b3b91fcb44471e2739b89511807f96b:
1427 Fix the Xcode version detection which got broken by the upgrade
1428 to Xcode 10.0.
1429 + 86a8217d12263d598e3a1baf2c6aa91b2e0e2eb5:
1430 Temporarily restore processing of workspace-wide tools/bazel.rc
1431 file.
Bazel Release System83870d62018-10-29 10:31:13 -04001432 + 914b4ce14624171a97ff8b41f9202058f10d15b2:
1433 Windows: Fix Precondition check for addDynamicInputLinkOptions
Bazel Release System83870d62018-10-29 10:31:13 -04001434 + e025726006236520f7e91e196b9e7f139e0af5f4:
1435 Update turbine
Bazel Release System36177972018-10-15 10:29:10 +02001436```
1437
Bazel Release System92849b82018-10-31 15:41:11 +01001438Important changes:
Bazel Release System83870d62018-10-29 10:31:13 -04001439
Bazel Release System92849b82018-10-31 15:41:11 +01001440 - Fix regression #6219, remote cache failures
Bazel Release System36177972018-10-15 10:29:10 +02001441
Klaus Aehlig7b417542018-10-29 15:46:36 +01001442## Release 0.18.0 (2018-10-15)
1443
1444```
1445Baseline: c062b1f1730f3562d5c16a037b374fc07dc8d9a2
1446
1447Cherry picks:
1448
1449 + 2834613f93f74e988c51cf27eac0e59c79ff3b8f:
1450 Include also ext jars in the bootclasspath jar.
1451 + 2579b791c023a78a577e8cb827890139d6fb7534:
1452 Fix toolchain_java9 on --host_javabase=<jdk9> after
1453 7eb9ea150fb889a93908d96896db77d5658e5005
1454 + faaff7fa440939d4367f284ee268225a6f40b826:
1455 Release notes: fix markdown
1456 + b073a18e3fac05e647ddc6b45128a6158b34de2c:
1457 Fix NestHost length computation Fixes #5987
1458 + bf6a63d64a010f4c363d218e3ec54dc4dc9d8f34:
1459 Fixes #6219. Don't rethrow any remote cache failures on either
1460 download or upload, only warn. Added more tests.
1461 + c1a7b4c574f956c385de5c531383bcab2e01cadd:
1462 Fix broken IdlClassTest on Bazel's CI.
1463 + 71926bc25b3b91fcb44471e2739b89511807f96b:
1464 Fix the Xcode version detection which got broken by the upgrade
1465 to Xcode 10.0.
1466 + 86a8217d12263d598e3a1baf2c6aa91b2e0e2eb5:
1467 Temporarily restore processing of workspace-wide tools/bazel.rc
1468 file.
1469```
1470
1471General changes
1472
1473- New [bazelrc file list](https://docs.bazel.build/versions/master/user-manual.html#where-are-the-bazelrc-files).
1474 If you need to keep both the old and new lists of .rc files active
1475 concurrently to support multiple versions of Bazel, you can import the old
1476 file location into the new list using `try-import`. This imports a file if it
1477 exists and silently exits if it does not. You can use this method to account
1478 for a user file that may or may not exist
1479
1480- [.bazelignore](https://docs.bazel.build/versions/master/user-manual.html#.bazelignore)
1481 is now fully functional.
1482
1483- The startup flag `--host_javabase` has been renamed to
1484 `--server_javabase` to avoid confusion with the build flag
1485 `--host_javabase`.
1486
1487Android
1488
1489- The Android resource processing pipeline now supports persistence
1490 via worker processes. Enable it with
1491 `--persistent_android_resource_processor`. We have observed a 50% increase
1492 in build speed for clean local builds and up to 150% increase in build
1493 speed for incremental local builds.
1494
1495C++
1496
1497- In-memory package //tools/defaults has been removed (controlled by
1498 `--incompatible_disable_tools_defaults_package` flag). Please see
1499 [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-inmemory-tools-defaults-package)
1500 and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy
1501 behavior will be removed in Bazel 0.20.
1502
1503- Late bound option defaults (typical example was the `--compiler` flag, when
1504 it was not specified, it’s value was computed using the CROSSTOOL) are removed
1505 (controlled by `--incompatible_disable_late_bound_option_defaults` flag).
1506 Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-late-bound-option-defaults)
1507 and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy
1508 behavior will be removed in Bazel 0.20.
1509
1510- Depsets are no longer accepted in `user_compile_flags` and `user_link_flags`
1511 in the C++ toolchain API (controlled by
1512 `--incompatible_disable_depset_in_cc_user_flags` flag) affects C++ users.
1513 Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-depsets-in-c-toolchain-api-in-user-flags)
1514 and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy
1515 behavior will be removed in Bazel 0.20.
1516
1517- CROSSTOOL is no longer consulted when selecting C++ toolchain (controlled by
1518 `--incompatible_disable_cc_toolchain_label_from_crosstool_proto` flag).
1519 Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disallow-using-crosstool-to-select-the-cc_toolchain-label)
1520 and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20.
1521
1522- You can now use [`toolchain_identifier` attribute](https://github.com/bazelbuild/bazel/commit/857d4664ce939f240b1d10d8d2baca6c6893cfcb)
1523 on `cc_toolchain` to pair it with CROSSTOOL toolchain.
1524
1525- C++ specific Make variables
1526 are no longer passed from the `CppConfiguration`, but from the C++ toolchain
1527 (controlled by `--incompatible_disable_cc_configuration_make_variables` flag).
1528 Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disallow-using-c-specific-make-variables-from-the-configuration)
1529 and migrate soon, the flag will be flipped
1530 in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20.
1531
1532- Skylark api accessing C++
1533 toolchain in `ctx.fragments.cpp` is removed (controlled by
1534 `--incompatible_disable_legacy_cpp_toolchain_skylark_api` flag).
1535 Please migrate soon, the flag will be flipped
1536 in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20.
1537
1538- cc_binary link action no longer hardcodes
1539 `-static-libgcc` for toolchains that support embedded runtimes
1540 (guarded by [`--experimental_dont_emit_static_libgcc`](https://source.bazel.build/bazel/+/2f281960b829e964526a9d292d4c3003e4d19f1c)
1541 temporarily). Proper deprecation using `--incompatible` flags will follow.
1542
1543Java
1544
1545- Future versions of Bazel will require a locally installed JDK
1546 for Java development. Previously Bazel would fall back to using
1547 the embedded `--server_javabase` if no JDK as available. Pass
1548 `--incompatible_never_use_embedded_jdk_for_javabase` to disable the
1549 legacy behaviour.
1550
1551- `--javacopt=` no longer affects compilations of tools that are
1552 executed during the build; use `--host_javacopt=` to change javac
1553 flags in the host configuration.
1554
1555Objective C
1556
1557- `objc_library` now supports the module_name attribute.
1558
1559Skylark
1560
1561- Adds `--incompatible_expand_directories` to automatically expand
1562 directories in skylark command lines. Design doc:
1563 https://docs.google.com/document/d/11agWFiOUiz2htBLj6swPTob5z78TrCxm8DQE4uJLOwM
1564
1565- Support fileset expansion in ctx.actions.args(). Controlled by
1566 `--incompatible_expand_directories`.
1567
1568Windows
1569
1570- `--windows_exe_launcher` is deprecated, this flag will be removed
1571 soon. Please make sure you are not using it.
1572
1573- Bazel now supports the symlink runfiles tree on Windows with
1574 `--experimental_enable_runfiles` flag. For more details, see
1575 [this doc](https://docs.google.com/document/d/1hnYmU1BmtCSJOUvvDAK745DSJQCapToJxb3THXYMrmQ).
1576
1577Other Changes
1578
1579- A new experimental option `--experimental_ui_deduplicate` has been added. It
1580 causes the UI to attempt to deduplicate messages from actions to keep the
1581 console output cleaner.
1582
1583- Add `--modify_execution_info`, a flag to customize action execution
1584 info.
1585
1586- Add ExecutionInfo to aquery output for ExecutionInfoSpecifier
1587 actions.
1588
1589- When computing `--instrumentation_filter`, end filter patterns with
1590 "[/:]" to match non-top-level packages exactly and treat
1591 top-level targets consistently.
1592
1593- Added the `bazel info server_log` command, which obtains the main Bazel
1594 server log file path. This can help debug Bazel issues.
1595
1596- `aapt shrink` resources now properly respect filter configurations.
1597
Bazel Release System50921e62018-09-21 12:27:04 +02001598## Release 0.17.2 (2018-09-21)
1599
1600```
1601Baseline: aa118ca818baf722aede0bc48d0a17584fa45b6e
1602
1603Cherry picks:
1604 + 0e0462589528154cb5160411991075a2000b5452:
1605 Update checker framework dataflow and javacutil versions
1606 + 3987300d6651cf0e6e91b395696afac6913a7d66:
1607 Stop using --release in versioned java_toolchains
1608 + 438b2773b8c019afa46be470b90bcf70ede7f2ef:
1609 make_deb: Add new empty line in the end of conffiles file
1610 + 504401791e0a0e7e3263940e9e127f74956e7806:
1611 Properly mark configuration files in the Debian package.
1612 + 9ed9d8ac4347408d15c8fce7c9c07e5c8e658b30:
1613 Add flag
1614 --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfil
1615 es_tree.
1616 + 22d761ab42dfb1b131f1facbf490ccdb6c17b89c:
1617 Update protobuf to 3.6.1 -- add new files
1618 + 27303d79c38f2bfa3b64ee7cd7a6ef03a9a87842:
1619 Update protobuf to 3.6.1 -- update references
1620 + ddc97ed6b0367eb443e3e09a28d10e65179616ab:
1621 Update protobuf to 3.6.1 -- remove 3.6.0 sources
1622 + ead1002d3803fdfd4ac68b4b4872076b19d511a2:
1623 Fix protobuf in the WORKSPACE
1624 + 12dcd35ef7a26d690589b0fbefb1f20090cbfe15:
1625 Revert "Update to JDK 10 javac"
1626 + 7eb9ea150fb889a93908d96896db77d5658e5005:
1627 Automated rollback of
1628 https://github.com/bazelbuild/bazel/commit/808ec9ff9b5cec14f23a4b
1629 a106bc5249cacc8c54 and
1630 https://github.com/bazelbuild/bazel/commit/4c9149d558161e7d3e363f
1631 b697f5852bc5742a36 and some manual merging.
1632 + 4566a428c5317d87940aeacfd65f1018340e52b6:
1633 Fix tests on JDK 9 and 10
1634 + 1e9f0aa89dad38eeab0bd40e95e689be2ab6e5e5:
1635 Fix more tests on JDK 9 and 10
1636 + a572c1cbc8c26f625cab6716137e2d57d05cfdf3:
1637 Add ubuntu1804_nojava, ubuntu1804_java9, ubuntu1804_java10 to
1638 postsubmit.
1639 + 29f1de099e4f6f0f50986aaa4374fc5fb7744ee8:
1640 Disable Android shell tests on the "nojava" platform.
1641 + b495eafdc2ab380afe533514b3bcd7d5b30c9935:
1642 Update bazel_toolchains to latest release.
1643 + 9323c57607d37f9c949b60e293b573584906da46:
1644 Windows: fix writing java.log
1645 + 1aba9ac4b4f68b69f2d91e88cfa8e5dcc7cb98c2:
1646 Automated rollback of commit
1647 de22ab0582760dc95f33e217e82a7b822378f625.
1648 + 2579b791c023a78a577e8cb827890139d6fb7534:
1649 Fix toolchain_java9 on --host_javabase=<jdk9> after
1650 7eb9ea150fb889a93908d96896db77d5658e5005
1651 + 2834613f93f74e988c51cf27eac0e59c79ff3b8f:
1652 Include also ext jars in the bootclasspath jar.
1653 + fdb09a260dead1e1169f94584edc837349a4f4a5:
1654 Release 0.17.1 (2018-09-14)
1655 + 1d956c707e1c843896ac58a341c335c9c149073d:
1656 Do not fail the build when gcov is not installed
1657 + 2e677fb6b8f309b63558eb13294630a91ee0cd33:
1658 Ignore unrecognized VM options in desugar.sh, such as the JVM 9
1659 flags to silence warnings.
1660```
1661
1662Important changes:
1663
1664 - In the future, Bazel will expand tree artifacts in runfiles, too,
1665 which causes the sandbox to link each file individually into the
1666 sandbox directory, instead of symlinking the entire directory. In
1667 this release, the behavior is not enabled by default yet. Please
1668 try it out via
1669 --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfile
1670 s_tree and let us know if it causes issues. If everything looks
1671 good, this behavior will become the default in a following
1672 release.
1673
Bazel Release Systemfdb09a22018-09-14 12:15:54 +02001674## Release 0.17.1 (2018-09-14)
1675
1676```
1677Baseline: aa118ca818baf722aede0bc48d0a17584fa45b6e
1678
1679Cherry picks:
1680 + 0e0462589528154cb5160411991075a2000b5452:
1681 Update checker framework dataflow and javacutil versions
1682 + 3987300d6651cf0e6e91b395696afac6913a7d66:
1683 Stop using --release in versioned java_toolchains
1684 + 438b2773b8c019afa46be470b90bcf70ede7f2ef:
1685 make_deb: Add new empty line in the end of conffiles file
1686 + 504401791e0a0e7e3263940e9e127f74956e7806:
1687 Properly mark configuration files in the Debian package.
1688 + 9ed9d8ac4347408d15c8fce7c9c07e5c8e658b30:
1689 Add flag
1690 --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfil
1691 es_tree.
1692 + 22d761ab42dfb1b131f1facbf490ccdb6c17b89c:
1693 Update protobuf to 3.6.1 -- add new files
1694 + 27303d79c38f2bfa3b64ee7cd7a6ef03a9a87842:
1695 Update protobuf to 3.6.1 -- update references
1696 + ddc97ed6b0367eb443e3e09a28d10e65179616ab:
1697 Update protobuf to 3.6.1 -- remove 3.6.0 sources
1698 + ead1002d3803fdfd4ac68b4b4872076b19d511a2:
1699 Fix protobuf in the WORKSPACE
1700 + 12dcd35ef7a26d690589b0fbefb1f20090cbfe15:
1701 Revert "Update to JDK 10 javac"
1702 + 7eb9ea150fb889a93908d96896db77d5658e5005:
1703 Automated rollback of
1704 https://github.com/bazelbuild/bazel/commit/808ec9ff9b5cec14f23a4b
1705 a106bc5249cacc8c54 and
1706 https://github.com/bazelbuild/bazel/commit/4c9149d558161e7d3e363f
1707 b697f5852bc5742a36 and some manual merging.
1708 + 4566a428c5317d87940aeacfd65f1018340e52b6:
1709 Fix tests on JDK 9 and 10
1710 + 1e9f0aa89dad38eeab0bd40e95e689be2ab6e5e5:
1711 Fix more tests on JDK 9 and 10
1712 + a572c1cbc8c26f625cab6716137e2d57d05cfdf3:
1713 Add ubuntu1804_nojava, ubuntu1804_java9, ubuntu1804_java10 to
1714 postsubmit.
1715 + 29f1de099e4f6f0f50986aaa4374fc5fb7744ee8:
1716 Disable Android shell tests on the "nojava" platform.
1717 + b495eafdc2ab380afe533514b3bcd7d5b30c9935:
1718 Update bazel_toolchains to latest release.
1719 + 9323c57607d37f9c949b60e293b573584906da46:
1720 Windows: fix writing java.log
1721 + 1aba9ac4b4f68b69f2d91e88cfa8e5dcc7cb98c2:
1722 Automated rollback of commit
1723 de22ab0582760dc95f33e217e82a7b822378f625.
1724 + 2579b791c023a78a577e8cb827890139d6fb7534:
1725 Fix toolchain_java9 on --host_javabase=<jdk9> after
1726 7eb9ea150fb889a93908d96896db77d5658e5005
1727 + 2834613f93f74e988c51cf27eac0e59c79ff3b8f:
1728 Include also ext jars in the bootclasspath jar.
1729```
1730
1731Incompatible changes:
1732
1733 - Loading @bazel_tools//tools/build_defs/repo:git_repositories.bzl
1734 no longer works. Load @bazel_tools//tools/build_defs/repo:git.bzl
1735 instead.
1736 - If the same artifact is generated by two distinct but identical
1737 actions, and a downstream action has both those actions' outputs
1738 in its inputs, the artifact will now appear twice in the
1739 downstream action's inputs. If this causes problems in Skylark
1740 actions, you can use the uniquify=True argument in Args.add_args.
1741 - If the same artifact is generated by two distinct but identical
1742 actions, and a downstream action has both those actions' outputs
1743 in its inputs, the artifact will now appear twice in the
1744 downstream action's inputs. If this causes problems in Skylark
1745 actions, you can use the uniquify=True argument in Args.add_args.
1746 - Labels in C++ rules' linkopts attribute are not expanded anymore
1747 unless they are wrapped, e.g: $(location //foo:bar)
1748 - If the same artifact is generated by two distinct but identical
1749 actions, and a downstream action has both those actions' outputs
1750 in its inputs, the artifact will now appear twice in the
1751 downstream action's inputs. If this causes problems in Skylark
1752 actions, you can use the uniquify=True argument in Args.add_args.
1753 - New bazelrc file list.
1754 - Windows: when BAZEL_SH envvar is not defined and Bazel searches
1755 for a suitable bash.exe, Bazel will no longer look for Git Bash
1756 and no longer recommend installing it as a Bash implementation.
1757 See issue #5751.
1758 - New bazelrc file list.
1759
1760New features:
1761
1762 - The aquery command now supports --output=text.
1763 - Java, runfiles: the Java runfiles library is now in
1764 @bazel_tools//tools/java/runfiles. The old target
1765 (@bazel_tools//tools/runfiles:java-runfiles) is deprecated and
1766 will be removed in Bazel 0.18.0.
1767 - Java, runfiles: the Java runfiles library is now in
1768 @bazel_tools//tools/java/runfiles. The old target
1769 (@bazel_tools//tools/runfiles:java-runfiles) is deprecated and
1770 will be removed in Bazel 0.19.0 (not 0.18.0, as stated earlier).
1771
1772Important changes:
1773
1774 - Allow @ in package names.
1775 - Remove support for java_runtime_suite; use alias() together with
1776 select() instead.
1777 - Python wrapper scripts for MSVC are removed.
1778 - [JavaInfo] Outputs are merged in java_common.merge().
1779 - Faster analysis by improved parallelization.
1780 - --experimental_shortened_obj_file_path is removed.
1781 - Introduce the --remote_cache_proxy flag,
1782 which allows for remote http caching to connect
1783 via a unix domain socket.
1784 - No longer define G3_VERSION_INFO for c++ linkstamp compiles, as
1785 it was a duplicate of G3_TARGET_NAME.
1786 - Added support for Android NDK r17. The default STL is now
1787 `libc++`, and support for targeting `mips`, `mips64` and `ARMv5`
1788 (`armeabi`) has been removed.
1789 - Add aquery command to get analysis time information about the
1790 action graph.
1791 - Fixed compatibility with aar_import when using aapt2. AAPT2 is
1792 now supported for Android app builds without resource shrinking.
1793 To use it, pass the `--android_aapt=aapt2` flag or define
1794 android_binary.aapt_version=aapt2.
1795 - Code coverage is collected for Java binaries invoked from sh_test.
1796 - java_common.compile creates the native headers jar accesible via
1797 JavaInfo.outputs.native_headers.
1798 - Deleting deprecated no-op flag --show_package_location
1799 - The JDK shipped with Bazel was updated to JDK10.
1800 - Rename the startup flag --host_javabase to --server_javabase to
1801 avoid confusion with the build flag --host_javabase
1802 - newly added options --experimental_repository_hash_file and
1803 --experimental_verify_repository_rules allow to verify for
1804 repositories
1805 the directory generated against pre-recorded hashes. See
1806 documentation
1807 for those options.
1808 - Removed the gen_jars output group
1809 - --subcommands can now take a "pretty_print" value
1810 ("--subcommands=pretty_print") to print the
1811 arguments of subcommands as a list for easier reading.
1812 - follow-up to
1813 https://github.com/bazelbuild/bazel/commit/1ac359743176e659e9c7472
1814 645e3142f3c44b9e8
1815 - A rule error is now thrown if a Skylark rule implementation
1816 function returns multiple providers of the same type.
1817 - When using Bazel's remote execution feature and Bazel has to
1818 fallback to local execution for an action, Bazel used
1819 non-sandboxed
1820 local execution until now. From this release on, you can use the
1821 new
1822 flag --remote_local_fallback_strategy=<strategy> to tell Bazel
1823 which
1824 strategy to use in that case.
1825 - Execution Log Parser can now, when printing it out, filter the
1826 log by runner type
1827 - A rule error is now thrown if a Skylark rule implementation
1828 function returns multiple providers of the same type.
1829 - Removed the gen_jars output group
1830 - Removed the gen_jars output group
1831 - Set --defer_param_files to default to true.
1832 - Sort attribute lists in proto-form query output to fix
1833 non-deterministic genquery output.
1834 - Replace 0/1 with False/True for testonly attribute
1835 - bazel now supports a .bazelignore file specifying
1836 directories to be ignored; however, these directories still
1837 have to be well founded and, in particular, may not contain
1838 symlink cycles.
1839 - Add more detailed reporting of the differences between startup
1840 options.
1841 - update data binding to 3.2.0
1842 - For Android incremental dexing actions, Bazel now persists its
1843 DexBuilder process across individual actions. From our
1844 benchmarks, this results in a 1.2x speedup for clean local builds.
1845 - The standard `xcode_VERSION` feature now always uses exactly two
1846 components in the version, even if you specify `--xcode_version`
1847 with
1848 more or fewer than two.
1849 - A rule error will be thrown if a Skylark rule implementation
1850 function returns multiple providers of the same type. Try the
1851 `--incompatible_disallow_conflicting_providers` flag to ensure
1852 your code is forward-compatible.
1853 - Removed notion of FULLY_STATIC linking mode from C++ rules.
1854 - In documentation, we've renamed Skylark into Starlark.
1855 - Execution Log Parser can now, when printing it out, reorder the
1856 actions for easier text diffs
1857 - Linkstamps are no longer recompiled after server restart.
1858 - Use VanillaJavaBuilder and disable header compilation in
1859 toolchain_hostjdk8. The default toolchain will soon drop
1860 compatibility with JDK 8. Using a JDK 8 host_javabase
1861 will only be supported when using 'VanillaJavaBuilder' (which
1862 does not support Error Prone,
1863 Strict Java Deps, or reduced classpaths) and with header
1864 compilation disabled.
1865 - In the future, Bazel will expand tree artifacts in runfiles, too,
1866 which causes the sandbox to link each file individually into the
1867 sandbox directory, instead of symlinking the entire directory. In
1868 this release, the behavior is not enabled by default yet. Please
1869 try it out via
1870 --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfile
1871 s_tree and let us know if it causes issues. If everything looks
1872 good, this behavior will become the default in a following
1873 release.
1874
Bazel Release System1bd58832018-08-13 15:41:26 +02001875## Release 0.16.1 (2018-08-13)
1876
1877```
1878Baseline: 4f64b77a3dd8e4ccdc8077051927985f9578a3a5
1879
1880Cherry picks:
1881 + 4c9a0c82d308d5df5c524e2a26644022ff525f3e:
1882 reduce the size of bazel's embedded jdk
1883 + d3228b61f633cdc5b3f740b641a0836f1bd79abd:
1884 remote: limit number of open tcp connections by default. Fixes
1885 #5491
1886 + 8ff87c164f48dbabe3b20becd00dde90c50d46f5:
1887 Fix autodetection of linker flags
1888 + c4622ac9205d2f1b42dac8c598e83113d39e7f11:
1889 Fix autodetection of -z linker flags
1890 + 10219659f58622d99034288cf9f491865f818218:
1891 blaze_util_posix.cc: fix order of #define
1892 + ab1f269017171223932e0da9bb539e8a17dd99ed:
1893 blaze_util_freebsd.cc: include path.h explicitly
1894 + 68e92b45a37f2142c768a56eb7ecfa484b8b22df:
1895 openjdk: update macOS openjdk image. Fixes #5532
1896 + f45c22407e6b00fcba706eb62141cb9036bd38d7:
1897 Set the start time of binary and JSON profiles to zero correctly.
1898 + bca1912853086b8e9a28a85a1b144ec0dc9717cc:
1899 remote: fix race on download error. Fixes #5047
1900 + 3842bd39e10612c7eef36c6048407e81bcd0a8fb:
1901 jdk: use parallel old gc and disable compact strings
1902 + 6bd0bdf5140525cb33dc2db068b210261d9df271:
1903 Add objc-fully-link to the list of actions that require the
1904 apple_env feature. This fixes apple_static_library functionality.
1905 + f330439fb970cfa17c70fc59c1458bb1c31c9522:
1906 Add the action_names_test_files target to the OSS version of
1907 tools/buils_defs/cc/BUILD.
1908 + d215b64362c4ede61c8ba87b5f3f57bce4785d15:
1909 Fix StackOverflowError on Windows. Fixes #5730
1910 + 366da4cf27b7f957ef39f89206db77fa2ac289df:
1911 In java_rules_skylark depend on the javabase through
1912 //tools/jdk:current_java_runtime
1913 + 30c601dc13d9e1b40a57434c022c888c7578cc56:
1914 Don't use @local_jdk for jni headers
1915 + c56699db5f9173739ba3ac55aa9fa69b6457a99b:
1916 'DumpPlatformClasspath' now dumps the current JDK's default
1917 platform classpath
1918```
1919
1920This release is a patch release that contains fixes for several serious
1921regressions that were found after the release of Bazel 0.16.0.
1922
1923In particular this release resolves the following issues:
1924
1925 - Bazel crashes with a StackOverflowError on Windows (See #5730)
1926 - Bazel requires a locally installed JDK and does not fall back
1927 to the embedded JDK (See #5744)
1928 - Bazel fails to build for Homebrew on macOS El Capitan (See #5777)
1929 - A regression in apple_static_library (See #5683)
1930
1931Please watch our blog for a more detailed release announcement.
1932
Bazel Release Systemb292ad12018-07-31 12:55:37 -04001933## Release 0.16.0 (2018-07-31)
Bazel Release System97564f62018-07-17 14:19:41 +02001934
1935```
Bazel Release Systemb292ad12018-07-31 12:55:37 -04001936Baseline: 4f64b77a3dd8e4ccdc8077051927985f9578a3a5
Bazel Release System97564f62018-07-17 14:19:41 +02001937
1938Cherry picks:
Bazel Release Systemb292ad12018-07-31 12:55:37 -04001939 + 4c9a0c82d308d5df5c524e2a26644022ff525f3e:
1940 reduce the size of bazel's embedded jdk
1941 + d3228b61f633cdc5b3f740b641a0836f1bd79abd:
1942 remote: limit number of open tcp connections by default. Fixes
1943 #5491
Bazel Release System97564f62018-07-17 14:19:41 +02001944 + 8ff87c164f48dbabe3b20becd00dde90c50d46f5:
1945 Fix autodetection of linker flags
1946 + c4622ac9205d2f1b42dac8c598e83113d39e7f11:
1947 Fix autodetection of -z linker flags
Bazel Release Systemb292ad12018-07-31 12:55:37 -04001948 + 10219659f58622d99034288cf9f491865f818218:
1949 blaze_util_posix.cc: fix order of #define
1950 + ab1f269017171223932e0da9bb539e8a17dd99ed:
1951 blaze_util_freebsd.cc: include path.h explicitly
1952 + 68e92b45a37f2142c768a56eb7ecfa484b8b22df:
1953 openjdk: update macOS openjdk image. Fixes #5532
1954 + f45c22407e6b00fcba706eb62141cb9036bd38d7:
1955 Set the start time of binary and JSON profiles to zero correctly.
1956 + bca1912853086b8e9a28a85a1b144ec0dc9717cc:
1957 remote: fix race on download error. Fixes #5047
1958 + 3842bd39e10612c7eef36c6048407e81bcd0a8fb:
1959 jdk: use parallel old gc and disable compact strings
Bazel Release System97564f62018-07-17 14:19:41 +02001960```
1961
Bazel Release Systemb292ad12018-07-31 12:55:37 -04001962Incompatible changes:
1963
1964 - The $(ANDROID_CPU) Make variable is not available anymore. Use
1965 $(TARGET_CPU) after an Android configuration transition instead.
1966 - The $(JAVA_TRANSLATIONS) Make variable is not supported anymore.
1967 - Skylark structs (using struct()) may no longer have to_json and
1968 to_proto overridden.
1969 - The mobile-install --skylark_incremental_res flag is no longer
1970 available, use the --skylark flag instead.
1971
1972New features:
1973
1974 - android_local_test now takes advantage of Robolectric's binary
1975 resource processing which allows for faster tests.
1976 - Allow @ in package names.
1977
Bazel Release System97564f62018-07-17 14:19:41 +02001978Important changes:
1979
Bazel Release Systemb292ad12018-07-31 12:55:37 -04001980 - Option --glibc is removed, toolchain selection relies solely on
1981 --cpu and --compiler options.
1982 - Build support for enabling cross binary FDO optimization.
1983 - The --distdir option is no longer experimental. This
1984 option allows to specify additional directories to look for
1985 files before trying to fetch them from the network. Files from
1986 any of the distdirs are only used if a checksum for the file
1987 is specified and both, the filename and the checksum, match.
1988 - Java coverage works now with multiple jobs.
1989 - Flip default value of --experimental_shortened_obj_file_path to
1990 true, Bazel now generates short object file path by default.
1991 - New rules for importing Android dependencies:
1992 `aar_import_external` and `aar_maven_import_external`.
1993 `aar_import_external` enables specifying external AAR
1994 dependencies using a list of HTTP URLs for the artifact.
1995 `aar_maven_import_external` enables specifying external AAR
1996 dependencies using the artifact coordinate and a list of server
1997 URLs.
1998 - The BAZEL_JAVAC_OPTS environment variable allows arguments, e.g.,
1999 "-J-Xmx2g", may be passed to the javac compiler during bootstrap
2000 build. This is helpful if your system chooses too small of a max
2001 heap size for the Java compiler during the bootstrap build.
2002 - --noexpand_configs_in_place is deprecated.
2003 - A tool to parse the Bazel execution log.
2004 - Support for LIPO has been fully removed.
2005 - Remove support for --discard_actions_after_execution.
2006 - Add --materialize_param_files flag to write parameter files even
2007 when actions are executed remotely.
2008 - Windows default system bazelrc is read from the user's
2009 ProgramData if present.
2010 - --[no]allow_undefined_configs no longer exists, passing undefined
2011 configs is an error.
Bazel Release System1281a022018-07-16 16:13:53 +02002012 - In remote caching we limit the number of open
2013 TCP connections to 100 by default. The number can be adjusted
2014 by specifying the --remote_max_connections flag.
2015
Bazel Release System5013a332018-06-26 14:07:47 +02002016## Release 0.15.0 (2018-06-26)
2017
2018```
2019Baseline: b93ae42e8e693ccbcc387841a17f58259966fa38
2020
2021Cherry picks:
2022 + 4b80f2455e7e49a95f3a4c9102a67a57dad52207:
2023 Add option to enable Docker sandboxing.
2024 + 6b1635279e8b33dc1ac505ac81825e38f8797a14:
2025 Allow disabling the simple blob caches via CLI flag overrides.
2026 + 4ec0a7524913ab2c4641368e3f8c09b347351a08:
2027 Use BUILD.bazel instead of BUILD for external projects
2028```
2029
2030Incompatible changes:
2031
2032 - Bazel now always runs binaries in with "bazel run" in
2033 interactive mode. The "--nodirect_run" command line option is now
2034 a no-op.
2035 - "bazel run --noas_test" is not supported anymore.
2036 - Indentation on the first line of a file was previously ignored.
2037 This is now fixed.
2038
2039New features:
2040
2041 - C++,runfiles: to access data-dependencies (runfiles) in C++
2042 programs, use the runfiles library built into Bazel. For usage
2043 info, see
2044 https://github.com/bazelbuild/bazel/blob/master/tools/cpp/runfiles
2045 /runfiles.h
2046
2047Important changes:
2048
2049 - Bazel now allows almost all 7-bit ASCII characters in labels.
2050 - Remove vestigial java_plugin.data attribute
2051 - Bazel supports including select Java 8 APIs into Android apps
2052 targeting pre-Nougat Android devices with
2053 --experimental_desugar_java8_libs
2054 - Flag `--incompatible_disable_glob_tracking` is removed.
2055 - SkyQuery's rbuildfiles now returns targets corresponding to
2056 broken packages.
2057 - Introduce build support for providing cache prefetch hints.
2058 - Update the skylark DefaultInfo documentation to spell out
2059 runfiles, data_runfiles and default_runfiles
2060 - An internal action for symlinking runfiles will use Command
2061 instead of a Spawns. This should have no functional chages; the
2062 only user visible consequence should be that the internal action
2063 is no longer be included in statistics when calculating processes
2064 count.
2065 - --batch is deprecated
2066 - execution strategies line no longer handles differently the case
2067 where all processes have the same strategy.
2068 - The --experimental_remote_spawn_cache flag is now enabled by
2069 default, and remote caching no longer needs --*_strategy=remote
2070 flags (it will fail if they are specified).
2071 - android_binary.aapt_version='aapt2' now supports en_XA and ar_XB
2072 - Added --apple_enable_auto_dsym_dbg flag.
2073 - non_propagated_deps has been removed from objc_library and
2074 apple_binary.
2075 - For Android projects, Bazel now supports building fonts as
2076 resources. See
2077 https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml
2078 for more information on the feature.
2079 - With --incompatible_no_support_tools_in_action_inputs enabled, Skylark
2080 action inputs are no longer scanned for tools. Move any such
2081 inputs to the newly introduced 'tools' attribute.
2082
Bazel Release System513bbf52018-06-08 14:15:20 +02002083## Release 0.14.1 (2018-06-08)
2084
2085```
2086Baseline: 5c3f5c9be7fa40d4fb3c35756891fab8483ca406
2087
2088Cherry picks:
2089 + f96f037f8f77335dc444844abcc31a372a3e1849:
2090 Windows, Java launcher: Support jar files under different drives
2091 + ff8162d01409db34893de98bd840a51c5f13e257:
2092 sh_configure.bzl: FreeBSD is also a known platform
2093 + 7092ed324137f03fcd34856bdb0595a1bdec3069:
2094 Remove unneeded exec_compatible_with from local_sh_toolchain
2095 + 57bc201346e61c62a921c1cbf32ad24f185c10c9:
2096 Do not autodetect C++ toolchain when
2097 BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 is present
2098 + 35a78c09cf2fbfc3de9c124d2142e3d72aac4348:
2099 remote: recursively delete incomplete downloaded output
2100 directory.
2101 + 3c9cd82b847f3ece8ec04b2029bd5e8ad0eb7502:
2102 distfile: pack the archives needed later in the build
2103 + 27487c77387e457df18be3b6833697096d074eab:
2104 Slightly refactor SpawnAction to improve env handling
2105 + 1b333a2c37add9d04fe5bc5258ee4f73c93115e2:
2106 Fix Cpp{Compile,Link}Action environment and cache key computation
2107 + 3da8929963e9c70dff5d8859d6e988e6e7f4f9d7:
2108 Make SymlinkTreeAction properly use the configuration's
2109 environment
2110 + eca7b81cf8cc51e1fe56e5ed7d4ad5cd1668a17a:
2111 Add a missing dependency from checker framework dataflow to
2112 javacutils
2113 + 10a4de954c2061258d8222961fc3bd39516db49d:
2114 Release 0.14.0 (2018-06-01)
2115 + 4b80f2455e7e49a95f3a4c9102a67a57dad52207:
2116 Add option to enable Docker sandboxing.
2117 + 6b1635279e8b33dc1ac505ac81825e38f8797a14:
2118 Allow disabling the simple blob caches via CLI flag overrides.
2119```
2120
2121Bug fix for [#5336](https://github.com/bazelbuild/bazel/issues/5336)
2122Bug fix fot [#5308](https://github.com/bazelbuild/bazel/issues/5308)
2123
Bazel Release System3a592f62018-06-01 15:04:31 +02002124## Release 0.14.0 (2018-06-01)
2125
2126```
2127Baseline: 5c3f5c9be7fa40d4fb3c35756891fab8483ca406
2128
2129Cherry picks:
2130 + f96f037f8f77335dc444844abcc31a372a3e1849:
2131 Windows, Java launcher: Support jar files under different drives
2132 + ff8162d01409db34893de98bd840a51c5f13e257:
2133 sh_configure.bzl: FreeBSD is also a known platform
2134 + 7092ed324137f03fcd34856bdb0595a1bdec3069:
2135 Remove unneeded exec_compatible_with from local_sh_toolchain
2136 + 57bc201346e61c62a921c1cbf32ad24f185c10c9:
2137 Do not autodetect C++ toolchain when
2138 BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 is present
2139 + 35a78c09cf2fbfc3de9c124d2142e3d72aac4348:
2140 remote: recursively delete incomplete downloaded output
2141 directory.
2142 + 3c9cd82b847f3ece8ec04b2029bd5e8ad0eb7502:
2143 distfile: pack the archives needed later in the build
2144 + 27487c77387e457df18be3b6833697096d074eab:
2145 Slightly refactor SpawnAction to improve env handling
2146 + 1b333a2c37add9d04fe5bc5258ee4f73c93115e2:
2147 Fix Cpp{Compile,Link}Action environment and cache key computation
2148 + 3da8929963e9c70dff5d8859d6e988e6e7f4f9d7:
2149 Make SymlinkTreeAction properly use the configuration's
2150 environment
2151 + eca7b81cf8cc51e1fe56e5ed7d4ad5cd1668a17a:
2152 Add a missing dependency from checker framework dataflow to
2153 javacutils
2154```
2155
2156Incompatible changes:
2157
2158 - Add --incompatible_disallow_legacy_javainfo flag.
2159 - Added flag --incompatible_disallow_old_style_args_add to help
2160 migrate from args.add() to args.add_all() / args.add_joined()
2161 where appropriate.
2162
2163New features:
2164
2165 - Bash,runfiles: use the new platform-independent library in
2166 `@bazel_tools//tools/bash/runfiles` to access runfiles
2167 (data-dependencies). See
2168 https://github.com/bazelbuild/bazel/blob/master/tools/bash/runfile
2169 s/runfiles.bash for usage information.
2170 - TemplateVariableInfo can now be constructed from Skylark.
2171 - The java_host_runtime_alias rule is now implemented in Java.
2172
2173Important changes:
2174
2175 - Flip default value of --experimental_shortened_obj_file_path to
2176 true, Bazel now generates short object file path by default.
2177 - Introduce fdo_profile rule that allows architecture-sensitive
2178 specification of fdo profiles.
2179 - canonicalize-flags no longer reorders the flags
2180 - CppRules: optional_compiler_flag was removed from CROSSTOOL, use
2181 features instead.
2182 - Labels of the form ////foo are disallowed.
2183 - The `/` operator is deprecated in favor of `//` (floor integer
2184 division).
2185 Try the `--incompatible_disallow_slash_operator` flag to ensure
2186 your code
2187 is forward-compatible.
2188 - Flip default value of --experimental_shortened_obj_file_path to
2189 true, Bazel now generates short object file path by default.
2190 - Exposed "mnemonic" and "env" fields on skylark "Action" objects.
2191 - Removed flag `--incompatible_disallow_toplevel_if_statement`.
2192 - Remove vestigial 'deps' and 'data' attributes from
2193 proto_lang_toolchain
2194 - Args objects (ctx.actions.args()) have new methods add_all() and
2195 add_joined() for building command lines using depsets.
2196 - `FileType` is deprecated and will be removed soon.
2197 Try the `--incompatible_disallow_filetype` flag to ensure your
2198 code
2199 is forward-compatible.
2200 - Introduce absolute_path_profile attribute that allows fdo_profile
2201 to accept absolute paths.
2202 - Support two-arg overloads for ctx.actions.args (eg.
2203 args.add("--foo", val))
2204 - Introduce 'tools' attribute to ctx.actions.run.
2205 - Fixed error message for proguard_apply_dictionary.
2206 - "bazel run" now lets one run interactive binaries. The
2207 BUILD_WORKSPACE_DIRECTORY and BUILD_WORKING_DIRECTORY environment
2208 variables indicate the working directory and the workspace root
2209 of the Bazel invocation. Tests are provided with an approximation
2210 of the official test environment.
2211 - repository rules are no longer restricted to return None.
2212 - Add --high_priority_workers flag.
2213 - CppRules: Feature configuration can be created from Skylark
2214 - Adds new-style JavaInfo provider constructor.
2215 - Make java_common.compile now uses java_toolchain javacopts by
2216 default; explicitly retrieving them using
2217 java_common.default_javac_opts is unnecessary.
2218 - CppRules: C++ command lines and env variables for C++ actions can
2219 be retrieved from feature configuration.
2220 - Skylark rule definitions may advertise providers that targets of
2221 the rule must propagate.
2222 - Bazel now supports running actions inside Docker containers.
2223 To use this feature, run "bazel build --spawn_strategy=docker
2224 --experimental_docker_image=myimage:latest".
2225 - Remote execution works for Windows binaries with launchers.
2226 - Fixing start/end lib expansion for linking. There were many cases
2227 where archive files were still being used with toolchains that
2228 support start/end lib. This change consolidates the places that
2229 make that decision so they can be more consistent.
2230 - Add support for reporting an error if
2231 android_test.binary_under_test contains incompatible versions of
2232 deps
2233 - We replaced the --experimental_local_disk_cache and
2234 --experimental_local_disk_cache_path flags into a single
2235 --disk_cache flag. Additionally, Bazel now tries to create the disk cache
2236 directory if it doesn't exist.
2237 - Save Blaze memory by not storing LinkerInput objects in
2238 LinkCommandLine
2239 - In the JavaInfo created by java_common.create_provider now
2240 includes both direct and transitive arguments in
2241 transitive_compile_time_jars and transitive_runtime_jars
2242 - Allow --worker_max_instances to take MnemonicName=value to
2243 specify max for each worker.
2244 - Allow java_toolchain.header_compiler to be an arbitrary executable
2245
Bazel Release System24c68ff2018-05-23 10:59:57 +02002246## Release 0.13.1 (2018-05-23)
2247
2248```
2249Baseline: fdee70e6e39b74bfd9144b1e350d2d8806386e05
2250
2251Cherry picks:
2252 + f083e7623cd03e20ed216117c5ea8c8b4ec61948:
2253 windows: GetOutputRoot() returns GetHomeDir()
2254 + fa36d2f48965b127e8fd397348d16e991135bfb6:
2255 Automated rollback of commit
2256 4465dae23de989f1452e93d0a88ac2a289103dd9.
2257 + 4abd2babcc50900afd0271bf30dc64055f34e100:
2258 Add error message on empty public resources
2259 + 2c957575ff24c183d48ade4345a79ffa5bec3724:
2260 test-setup: remove leading "./" from test name
2261 + e6eaf251acb3b7054c8c5ced58a49c054b5f23b1:
2262 Sort entries by segment when building a parent node to prevent
2263 unordered directory structures.
2264```
2265
2266Important changes:
2267
2268 - Remote Execution: Fixes a regression that produces directories with unsorted file/directory lists
2269
Bazel Release System1d9c6062018-04-30 10:45:38 +02002270## Release 0.13.0 (2018-04-30)
2271
2272```
2273Baseline: fdee70e6e39b74bfd9144b1e350d2d8806386e05
2274
2275Cherry picks:
2276 + f083e7623cd03e20ed216117c5ea8c8b4ec61948:
2277 windows: GetOutputRoot() returns GetHomeDir()
2278 + fa36d2f48965b127e8fd397348d16e991135bfb6:
2279 Automated rollback of commit
2280 4465dae23de989f1452e93d0a88ac2a289103dd9.
2281 + 4abd2babcc50900afd0271bf30dc64055f34e100:
2282 Add error message on empty public resources
2283 + 2c957575ff24c183d48ade4345a79ffa5bec3724:
2284 test-setup: remove leading "./" from test name
2285```
2286
2287Incompatible changes:
2288
2289 - Remove //tools/defaults:android_jar. Use
2290 @bazel_tools//tools/android:android_jar instead.
2291 - The flag --incompatible_show_all_print_messages is removed.
2292 Messages generated by `print` statements from any package will be
2293 displayed as
2294 DEBUG messages.
2295 - The --incompatible_disallow_uncalled_set_constructor flag is no
2296 longer available, the `set` constructor` is completely removed
2297 from Skylark.
2298 Use `depset` instead.
2299 - Variables PACKAGE_NAME and REPOSITORY_NAME are deprecated in
2300 favor of
2301 functions `package_name()` and `repository_name()`.
2302
2303 https://docs.bazel.build/versions/master/skylark/lib/native.html#p
2304 ackage_name
2305 - BUILD_TIMESTAMP now contains seconds (and not milliseconds) since
2306 the epoch.
2307
2308New features:
2309
2310 - Strings have a new .elems() method, that provides an iterator on
2311 the characters of the string.
2312 - Now you can access three functions in windows_cc_configure.bzl by:
2313 load("@bazel_tools/tools/cpp:windows_cc_configure.bzl",
2314 "<function_name>")
2315
2316Important changes:
2317
2318 - CppRules: Unified action_configs for static libraries
2319 - Remove support for blaze dump --vfs. It is no longer meaningful.
2320 - Enable dependency checking for aar_import targets.
2321 - internal_bootstrap_hack has been deprecated and removed.
2322 - Properly handle tree artifacts on the link command line coming
2323 from a cc_library dependency.
2324 - Allow C++ features to make proto_library emit smaller C++ code
2325 - The 'j2objc' configuration fragment is exposed to Skylark.
2326 - Remove the default content of the global bazelrc.
2327 - In int() function, do not auto-detect base if input starts with
2328 '0'.
2329 - Users can now pass --experimental_shortened_obj_file_path=true to
2330 have a shorter object file path, the object file paths (and all
2331 other related paths) will be constructed as following:
2332 If there's no two or more source files with the same base name:
2333
2334 <bazel-bin>/<target_package_path>/_objs/<target_name>/<source_base
2335 _name>.<extension>
2336 otherwise:
2337
2338 <bazel-bin>/<target_package_path>/_objs/<target_name>/N/<source_ba
2339 se_name>.<extension>
2340 N = the file?s order among the source files with the same
2341 basename, starts from 0.
2342 - Move (c/cxx)opts from legacy_compile_flags to user_compile_flags
2343 - CppRules: Remove optional_*_flag fields from CROSSTOOL, they are
2344 not
2345 used, and could be expressed using features.
2346 - Introduce --incompatible_disable_objc_provider_resources to turn
2347 off all resource-related fields of the Objc provider.
2348 - Removed the statement of "What does Bazel support?" as it's
2349 limiting/misleading. Added supported host OSes to
2350 "multi-platform" paragraph.
2351 - android_library AAR output now contains proguard.txt
2352 - Bazel now displays information about remote cache hits and
2353 execution strategies used in its UI after every build and test,
2354 and adds a corresponding line "process stats" to BuildToolLogs in
2355 BEP.
2356 - Print correct build result for builds with --aspects flag.
2357 - android_binary.manifest_merger is no longer supported.
2358
Bazel Release System546976c2018-04-11 17:34:19 +02002359## Release 0.12.0 (2018-04-11)
2360
2361```
2362Baseline: b33e5afa313322a7048044c44d854cbb666b988e
2363
2364Cherry picks:
2365 + 369409995bd75eeb0683fd24f7585d2a90320796:
2366 Automated rollback of commit
2367 c2b332b45e6ea41a14ecbd3c5f30782bcdeec301.
2368 + dbf779869751cc893ba240402d352c6e70be2978:
2369 Emit SJD errors even if we don't know the label of a dependency
2370 + 4c3098cfa6f00f90c7530b6f40d3e93062931c1d:
2371 Android tools: remove mtime-modifications
2372 + a1068c44a700ec2cff84cbd12592e9bfea25d754:
2373 NDK cc_toolchains: include bundled runtime libraries in
2374 cc_toolchain.all_files
2375 + b1be5816ec1bf8e1172c1bed4f29b4e6c6bb7202:
2376 runfiles,Python: remove library from @bazel_tools
2377 + 0a4622012ff796429220fe57d3217f262cc208a8:
2378 Fix visibility of def_parser for remote builds
2379 + 3c5373c50c7c492842f8a468906eda2c0bc90787:
2380 Remove visibility attribute from
2381 //third_party/def_parser:def_parser
2382 + f54d7e5293cc40ce3507a9adef530e46ab817585:
2383 Enable bulk writes in the HttpBlobStore
2384 + 04ce86e8ba96630f89a436167b7f3a195c5e50e7:
2385 remote/http: properly complete user promise
2386```
2387
2388Incompatible changes:
2389
2390 - The order of dict-valued attributes is now the order in the BUILD
2391 file (or in the Skylark dict they were created from) and not
2392 lexicographically sorted.
2393
2394New features:
2395
2396 - The new "--direct_run" flag on "blaze run" lets one run
2397 interactive binaries.
2398 - "blaze run --direct_run" with tests now gives the test an
2399 approximation of the official test environment.
2400 - "blaze run --direct_run" now exports the
2401 BUILD_{WORKSPACE,WORKING}_DIRECTORY variables to tell the binary
2402 about the cwd of the client and the workspace root.
2403 - New Android device test rule: android_instrumentation_test.
2404 - Add option to dump the action graph to a file: 'bazel dump
2405 --action_graph=/path/to/file'.
2406 - Pass `tags` from `java_import_external` rule to the generated
2407 `java_import` rule.
2408 - blaze query: use --proto:output_rule_attrs to filter for given
2409 attributes
2410 - Added Android NDK r15 support, including compatibility with
2411 Unified Headers.
2412 - Adds --ltobackendopt and --per_file_ltobackendopt for passing
2413 options to ThinLTO LTO backend compile actions only.
2414
2415Important changes:
2416
2417 - Fix how libraries to link is specified to archiver actions.
2418 - Fix how libraries_to_link are expanded in the archiver command
2419 line.
2420 - stop using --no-locals in android coverage builds
2421 - apple_binary can now generate dSYM outputs with the
2422 --apple_generate_dsym=true flag.
2423 - Fix FDO_STAMP_MACRO to only be set when fdoBuildStamp is not null.
2424 - Improved clarity of warning message for unsupported NDK revisions.
2425 - Add lint check for discouraging glob(["**/*.java"])
2426 - unifly lint glob(["**/*.java"]) message
2427 - Removed flags `--incompatible_checked_arithmetic`,
2428 `--incompatible_dict_literal_has_no_duplicates`,
2429 `--incompatible_disallow_keyword_only_args`, and `
2430 --incompatible_comprehension_variables_do_not_leak`.
2431 - Add "proto_source_root" flag to proto_library.
2432 - Updated default android_cpu value to armeabi-v7a
2433 - In skylark, print(target) now shows the provider keys of a
2434 target, as debug information.
2435 - The native http_archive rule is deprecated. Use the
2436 Skylark version available via
2437 load("@bazel_tools//tools/build_defs/repo:http.bzl",
2438 "http_archive")
2439 instead.
2440 - flaky_test_attempts supports the regex@attempts syntax, like
2441 runs_per_test.
2442 - Fixed include paths for NDK r13+ llvm-libc++ headers to
2443 `ndk/sources/cxx-stl/llvm-libc++/include` and
2444 `ndk/sources/cxx-stl/llvm-libc++abi/include`
2445 - --config flags now expand in place by default.
2446 - aar_import now sets java.transitive_exports.
2447 - repository_cache is no longer experimental and enabled by default.
2448 - BAZEL_LINKOPTS is now consulted when autoconfiguring c++ toolchain
2449 - The native git_repository rule is deprecated. Use the
2450 Skylark version available via
2451 load("@bazel_tools//tools/build_defs/repo:git.bzl",
2452 "git_repository")
2453 instead.
2454 - Removed flag `--incompatible_load_argument_is_label`.
2455 - CcToolchain: Introduced action_config for
2456 "c++-link-transitive-dynamic-library"
2457 - Use bazel dump --action_graph=/path/to/action.proto
2458 --action_graph:targets://foo:bar,//foo:foo to filter for certain
2459 targets in the action graph dump.
2460 - Added Android NDK r16 support. Use --cxxopt='-std=c++11` compile
2461 with the C++11 standard, and
2462 `--android_crosstool_top=@androidndk//:toolchain-libcpp` to use
2463 the `libc++` STL.
2464 - Add a --build_event_publish_all_actions flag to allow all actions
2465 to be published via the BEP.
2466 - C++: Introduced --experimental_drop_fully_static_linking_mode
2467 - Removed cc_inc_library, please use cc_library instead
2468 - CppRules: cc_binary/cc_test now enable 'static_linking_mode' or
2469 'dynamic_linking_mode'.
2470
Bazel Release Systemc86d6a02018-03-06 19:32:18 +01002471## Release 0.11.1 (2018-03-06)
2472
2473```
2474Baseline: 00d781ae78a8bd51d3c61b621d79f0bb095aff9e
2475
2476Cherry picks:
2477 + ea2d4c475febdbd59ca0e0ba46adc7be759f84e0:
2478 Update stub_finds_runfiles_test to be a real sh_test.
2479 + d855d8133f4efb73ebd5e82c54a9afb4c7565d46:
2480 java,runfiles: fix bugs in runfiles library
2481 + 56aeb04a064218b845ecc193d530c341c6ec854d:
2482 Fixing #4585: broken re-execution of orphaned actions.
2483 + cf3f81aef7c32019d70cbce218a64a03276268f0:
2484 remote: Add support for HTTP Basic Auth
2485 + 28bd997c1c8793973f63dcae4c22bbae49e7d8b7:
2486 Fixing test-setup.sh occasionally missing stdout/stderr, on
2487 systems where "tail --pid" is supported.
2488 + 109e4b4dc9e786e3a2d8d7cb245d18320dbe9216:
2489 Automated rollback of commit
2490 7e6837cc1d1aa4259f5c27ba3606b277b5f6c3e9.
2491 + b3d52b1b6d46a0f23cc91125c1d522e9d13433b4:
2492 Fix incorrect include directories when -no-canonical-prefixes is
2493 passed to clang
2494 + 1001141f0674ff4b611814edcb00a5183680ef4a:
2495 Roll forward of
2496 https://github.com/bazelbuild/bazel/commit/3904ac33a983fd8faebba1
2497 b52bcac5a3ff942029
2498 (https://github.com/bazelbuild/bazel/commit/3904ac33a983fd8faebba
2499 1b52bcac5a3ff942029). Fix #4625 by running the test process in a
2500 sub-shell.
2501 + fc98b44b6181fa4c3efd8613d887970629468d74:
2502 android,windows: bugfix in aar_resources_extractor
2503```
2504
2505Important changes:
2506
2507 - Fixes regression building Android rules on Windows.
2508
Bazel Release System09077a32018-02-23 11:09:18 -05002509## Release 0.11.0 (2018-02-23)
2510
2511```
2512Baseline: 00d781ae78a8bd51d3c61b621d79f0bb095aff9e
2513
2514Cherry picks:
2515 + ea2d4c475febdbd59ca0e0ba46adc7be759f84e0:
2516 Update stub_finds_runfiles_test to be a real sh_test.
2517 + d855d8133f4efb73ebd5e82c54a9afb4c7565d46:
2518 java,runfiles: fix bugs in runfiles library
2519 + 56aeb04a064218b845ecc193d530c341c6ec854d:
2520 Fixing #4585: broken re-execution of orphaned actions.
2521 + cf3f81aef7c32019d70cbce218a64a03276268f0:
2522 remote: Add support for HTTP Basic Auth
2523 + 28bd997c1c8793973f63dcae4c22bbae49e7d8b7:
2524 Fixing test-setup.sh occasionally missing stdout/stderr, on
2525 systems where "tail --pid" is supported.
2526 + 109e4b4dc9e786e3a2d8d7cb245d18320dbe9216:
2527 Automated rollback of commit
2528 7e6837cc1d1aa4259f5c27ba3606b277b5f6c3e9.
2529 + b3d52b1b6d46a0f23cc91125c1d522e9d13433b4:
2530 Fix incorrect include directories when -no-canonical-prefixes is
2531 passed to clang
2532 + 3904ac33a983fd8faebba1b52bcac5a3ff942029:
2533 Automated rollback of commit
2534 28bd997c1c8793973f63dcae4c22bbae49e7d8b7.
2535 + 1001141f0674ff4b611814edcb00a5183680ef4a:
2536 Roll forward of
2537 https://github.com/bazelbuild/bazel/commit/3904ac33a983fd8faebba1
2538 b52bcac5a3ff942029
2539 (https://github.com/bazelbuild/bazel/commit/3904ac33a983fd8faebba
2540 1b52bcac5a3ff942029). Fix #4625 by running the test process in a
2541 sub-shell.
2542```
2543
2544Incompatible changes:
2545
2546 - ctx.fragments.jvm is not available anymore.
2547
2548New features:
2549
2550 - java,runfiles: You can now depend on
2551 `@bazel_tools//tools/runfiles:java-runfiles` to get a
2552 platform-independent runfiles library for Java. See JavaDoc of
2553 https://github.com/bazelbuild/bazel/blob/master/src/tools/runfiles
2554 /java/com/google/devtools/build/runfiles/Runfiles.java for usage
2555 information.
2556
2557Important changes:
2558
2559 - The --[no]experimental_disable_jvm command line option is not
2560 supported anymore.
2561 - Allow expanding TreeArtifacts for libraries_to_link
2562 - Proguarded Android binaries can be built with incremental dexing.
2563 - aar_import now supports assets.
2564 - Crash in OutputJar::Close has been fixed
2565 - generator_* attributes are nonconfigurable.
2566 - Introduces --[no]keep_state_after_build
2567 - Add support for merged object files needed for -flto-unit.
2568 - Fix how libraries to link is specified to archiver actions.
2569 - Replace //tools/defaults:android_jar with
2570 @bazel_tools//tools/android:android_jar.
2571 //tools/defaults:android_jar will be removed in a future release.
2572 - java_common.compile supports neverlink
2573 - Resolved an issue where a failure in the remote cache would not
2574 trigger local re-execution of an action.
2575
Bazel Release Systeme1148362018-02-15 10:02:05 +01002576## Release 0.10.1 (2018-02-15)
2577
2578```
2579Baseline: 22c2f9a7722e8c8b7fdf8f5d30a40f1c4118e993
2580
2581Cherry picks:
2582 + f6ca78808722c8c119affdb33400838ee92d44b6:
2583 isable_presubmit
2584 + 65c13dd5a4c1b4b5a072f7680b8f1cf3c5079b52:
2585 Fix StreamResourceLeak error
2586 + e5436745e1732f5e43fc55f0deb5b19e23ce8524:
2587 windows: fix --symlink_prefix=/ throwing exception
2588 + 22ccdd1ebe1dc495e05d894a3325f6b05e681fb3:
2589 Fix turbine command lines with empty javacopts
2590 + 96c654d43eb2906177325cbc2fc2b1e90dbcc792:
2591 Remove EOL'd Linux flavours, bump CentOS to 6.9.
2592 + f0bec36864f10370cbbda4caa8beac2e0c5ee45b:
2593 Automated rollback of commit
2594 2aeaeba66857c561dd6d63c79a213f1cabc3650d.
2595 + 860af5be10b6bad68144d9d2d34173e86b40268c:
2596 Consolidate Error Prone resource handling
2597 + 2e631c99495f75270d2639542cefb531ec262d67:
2598 sandbox: properly add `tmpDir` to `writablePaths`
2599 + 5bfa5844d0d16d71e88002956e88402bfec88ef7:
2600 actions,temp: respect TMPDIR envvar
2601 + 6cc2ad8676d1ae0542b351a07a05ddbe5efac165:
2602 sandbox: add env[TMPDIR] instead of `tmpDir`
2603 + 40c757f4ab90214f95935672532a495c4551490a:
2604 Change git clone to pull all history, so all needed commits can
2605 be accessed.
2606 + 56aeb04a064218b845ecc193d530c341c6ec854d:
2607 Fixing #4585: broken re-execution of orphaned actions.
2608```
2609
2610Important changes:
2611
2612 - Resolved an issue where a failure in the remote cache would not
2613 trigger local re-execution of an action.
2614
Bazel Release System5bd27482018-02-01 09:43:33 +01002615## Release 0.10.0 (2018-02-01)
2616
2617```
2618Baseline: 22c2f9a7722e8c8b7fdf8f5d30a40f1c4118e993
2619
2620Cherry picks:
2621 + f6ca78808722c8c119affdb33400838ee92d44b6:
2622 isable_presubmit
2623 + 65c13dd5a4c1b4b5a072f7680b8f1cf3c5079b52:
2624 Fix StreamResourceLeak error
2625 + e5436745e1732f5e43fc55f0deb5b19e23ce8524:
2626 windows: fix --symlink_prefix=/ throwing exception
2627 + 22ccdd1ebe1dc495e05d894a3325f6b05e681fb3:
2628 Fix turbine command lines with empty javacopts
2629 + 96c654d43eb2906177325cbc2fc2b1e90dbcc792:
2630 Remove EOL'd Linux flavours, bump CentOS to 6.9.
2631 + f0bec36864f10370cbbda4caa8beac2e0c5ee45b:
2632 Automated rollback of commit
2633 2aeaeba66857c561dd6d63c79a213f1cabc3650d.
2634 + 860af5be10b6bad68144d9d2d34173e86b40268c:
2635 Consolidate Error Prone resource handling
2636 + 2e631c99495f75270d2639542cefb531ec262d67:
2637 sandbox: properly add `tmpDir` to `writablePaths`
2638 + 5bfa5844d0d16d71e88002956e88402bfec88ef7:
2639 actions,temp: respect TMPDIR envvar
2640 + 6cc2ad8676d1ae0542b351a07a05ddbe5efac165:
2641 sandbox: add env[TMPDIR] instead of `tmpDir`
2642 + 40c757f4ab90214f95935672532a495c4551490a:
2643 Change git clone to pull all history, so all needed commits can
2644 be accessed.
2645```
2646
2647Incompatible changes:
2648
2649 - In order to access the template variables $(JAVA) and
2650 $(JAVABASE), @bazel_tools//tools/jdk:current_java_runtime needs
2651 to be added to the toolchains= attribute from now on.
2652 - The ctx.middle_man function is not supported anymore.
2653 - The flag --incompatible_list_plus_equals_inplace is removed, its
2654 default behavior is preserved. += on lists now always mutates the
2655 left hand
2656 side.
2657 - --android_sdk no longer supports filegroup targets.
2658 - android_* rules no longer support legacy_native_support attribute.
2659
2660New features:
2661
2662 - query: Add option --noproto:flatten_selects to turn off
2663 flattening of selector lists in proto output.
2664 - New android test rule, android_local_test.
2665
2666Important changes:
2667
2668 - The --remote_rest_cache flag now respects --remote_timeout.
2669 - --experimental_java_coverage is available for testing.
2670 - The deprecated builtin `set` is no longer allowed even from within
2671 unexecuted code in bzl files. It's temporarily possible to use
2672 --incompatible_disallow_uncalled_set_constructor=false if this
2673 change causes
2674 incompatibility issues.
2675 - Linkstamping is now a separate and full-blown CppCompileAction,
2676 it's
2677 no longer a part of linking command.
2678 - Using `+`, `|` or `.union` on depsets is now deprecated. Please
2679 use the new
2680 constructor instead (see
2681 https://docs.bazel.build/versions/master/skylark/depsets.html).
2682 - config_feature_flag's default_value is optional. It is
2683 only an error to have a config_feature_flag with no default_value
2684 if that config_feature_flag has not been set in the configuration
2685 it is being evaluated in.
2686 - --[no]keep_incrementality_data is gone, replaced by the
2687 enum-valued --incremental_state_retention_strategy
2688 - Linkstamping is now a separate and full-blown CppCompileAction,
2689 it's
2690 no longer a part of linking command.
2691 - Added --checkHashMismatch flag to ZipFilterAction. Valid values
2692 are IGNORE, WARN and ERROR. --errorOnHashMismatch is deprecated,
2693 please use this flag instead.
2694 - Set build jobs equivalent to number of logical processors by
2695 default. Should improve build times significantly.
2696 - Added --(no)expand_test_suites flag.
2697 - Rename --keep_incrementality_data to --track_incremental_state
2698 - --remote_rest_cache was renamed to --remote_http_cache. Both
2699 options keep working in this release, but --remote_rest_cache
2700 will be
2701 removed in the next release.
2702 - Aspects-on-aspect see and propagate over aspect attributes.
2703 - --auth_* flags were renamed to --google_* flags. The old names
2704 will continue to work for this release but will be removed in the
2705 next
2706 release.
2707 - Remote Caching and Execution support output directories.
2708 - Remove defunct flags
2709 --experimental_incremental_dexing_for_lite_proto and
2710 --experimental_incremental_dexing_error_on_missed_jars that have
2711 long been enabled by default
2712 - New version of aapt2 and Resources.proto.
2713 - Make PIC and non PIC outputs for C++ compilation with Tree
2714 Artifacts
2715
Bazel Release System7b423cc2017-12-19 10:31:05 +01002716## Release 0.9.0 (2017-12-19)
Bazel Release System3d53cb02017-12-05 15:28:40 +01002717
2718```
Bazel Release System7b423cc2017-12-19 10:31:05 +01002719Baseline: ddd5ac16aeffa6c4693c348f73e7365240b1abc5
Bazel Release System3d53cb02017-12-05 15:28:40 +01002720
2721Cherry picks:
Bazel Release System7b423cc2017-12-19 10:31:05 +01002722 + 2cf560f83922e6df9626ba3ee063c1caf6797548:
2723 Update version of re2
2724 + a2d2615362c65be98629b39ce39754a325ed1c42:
2725 Check for null build file returned from getBuildFileForPackage.
2726 + 68c577afc2fb33b5e66b820bcc9043fed1071456:
2727 Fix some broken targets and failing tests.
2728 + 766ba8adc4487f17ebfc081aeba6f34b18b53d6c:
Bazel Release System3d53cb02017-12-05 15:28:40 +01002729 Automated rollback of commit
Bazel Release System7b423cc2017-12-19 10:31:05 +01002730 337f19cc54e77c45daa1d5f61bf0a8d3daf8268f.
2731 + a22d0e9c14e58b29d81f5a83bdcc6e5fce52eafe:
2732 Fix: uploading artifacts of failed actions to remote cache
2733 stopped working.
2734 + 03964c8ccb20d673add76c7f37245e837c3899b6:
2735 [java_common.compile] Name output source jar relative to the
2736 output jar name
Bazel Release System3d53cb02017-12-05 15:28:40 +01002737```
2738
Bazel Release System7b423cc2017-12-19 10:31:05 +01002739Incompatible changes:
2740
2741 - The deprecated `set` constructor is removed, along with the
2742 migration flag --incompatible_disallow_set_constructor. It is
2743 still temporarily
2744 allowed to refer to `set` from within unexecuted code.
2745 - The flag --incompatible_disallow_set_constructor is no longer
2746 available, the deprecated `set` constructor is not available
2747 anymore.
2748 - The path to the JVM executable is not accessible anymore as
2749 ctx.{fragments,host_fragments}.jvm.java_executable. Use
2750 JavaRuntimeInfo.java_executable_exec_path instead.
2751 - --clean_style is no longer an option.
2752
2753New features:
2754
2755 - Users can use win_def_file attribute to specify a DEF file for
2756 exporting symbols when build a shared library on Windows.
2757 - Add --experimental_android_resource_cycle_shrinking option to
2758 allow for more aggressive code and resource shrinking.
2759
2760Important changes:
2761
2762 - Late-bound attributes are exposed to skylark. This is a new API
2763 (`configuration_field()`) to depend on certain
2764 configuration-defined targets from skylark rules.
2765 - Document interaction between test_suite and target exclusions
2766 - AAR manifest files will come from the processed resource APK if it
2767 exists.
2768 RELNOTES: None for Blaze users.
2769 - Document interaction between test_suite and target exclusions
2770 - --keep_incrementality_data flag allows Bazel servers to be run in
2771 memory-saving non-incremental mode independent of --batch and
2772 --discard_analysis_cache.
2773 - Add deps attribute to Skylark maven_aar and maven_jar workspace
2774 rules.
2775 - Use --expand_configs_in_place as a startup argument to change the
2776 order in which --config expansions are interpreted.
2777 - SOURCE_DATE_EPOCH
2778 (https://reproducible-builds.org/specs/source-date-epoch/) can
2779 be used to override the timestamp used for stamped target (when
2780 using --stamp).
2781 - Package specifications can now be prefixed with `-` to indicate
2782 negation
2783 - transitive_source_jars is now exposed on JavaInfo.
2784 - Add six to deps of has_services=1 py_proto_librarys.
2785 - java_tests no complain when use_testrunner is explicitly set to 1
2786 and main_class is set.
2787 - transitive_source_jars is now exposed on JavaInfo.
2788 - Debug messages generated by `print()` are not being filtered out
2789 by --output_filter anymore, it's recommended not to use them in
2790 production code.
2791 - in the Label() function, relative_to_caller_repository is now
2792 deprecated.
2793 - java_tests no complain when use_testrunner is explicitly set to 1
2794 and main_class is set.
2795 - Bazel's default hash function was changed from MD5 to SHA256.
2796 In particular, this affects users of remote caching and
2797 execution, as
2798 all hashes will be SHA256 by default.
2799 - Remove redirects for domains be.bazel.build and cr.bazel.build
2800 from the source for docs.bazel.build (because those subdomains
2801 don't resolve here; they resolve to bazel.build, which has the
2802 redirects for them)
2803 - First argument of 'load' must be a label. Path syntax is removed.
2804 (label should start with '//' or ':').
2805 - Document startup option --host_javabase
2806 - The --host_platform and --platform flags are no longer
2807 experimental.
Bazel Release System3d53cb02017-12-05 15:28:40 +01002808
Bazel Release System0838aee2017-11-27 14:16:34 +01002809## Release 0.8.0 (2017-11-27)
2810
2811```
2812Baseline: cff0dc94f6a8e16492adf54c88d0b26abe903d4c
2813
2814Cherry picks:
2815 + 8a49b156c4edf710e3e1e0acfde5a8d27cc3a086:
2816 Fix ImportError on tools.android for junction_lib
2817 + 275ae45b1228bdd0f912c4fbd634b29ba4180383:
2818 Automated rollback of commit
2819 4869c4e17d5b1410070a1570f3244148d8f97b5d.
2820 + d0bf589f2716b3d139c210930371a684c6e158eb:
2821 Add a random number to action temp dir
2822 + 9738f35abddb7ef7a7ef314b5d2a52a3be1b830a:
2823 CcProtoLibrary: Don't add dynamic librarys to filesToBuild on
2824 Windows
2825 + 0d6ff477099fdf6c8c1c7d4e2104f9184afe0a2b:
2826 Automated rollback of commit
2827 0ebb3e54fc890946ae6b3d059ecbd50e4b5ec840.
2828```
2829
2830Incompatible changes:
2831
2832 - ctx.fragments.apple.{xcode_version,ios_minimum_os} is not
2833 supported anymore. The same information is accessible through the
2834 target @bazel_tools//tools/osx:current_xcode_config: point an
2835 implicit attribute to it (i.e.
2836 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
2837 nfig")) then use
2838 ctx.attr._xcode_config[apple_common].XcodeVersionConfig].
2839 - ctx.fragments.apple.minimum_os_for_platform_type is not supported
2840 anymore. The same information is accessible through the target
2841 @bazel_tools//tools/osx:current_xcode_config: point an implicit
2842 attribute to it (i.e.
2843 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
2844 nfig")) then use
2845 ctx.attr._xcode_config[apple_common].XcodeVersionConfig].minimum_o
2846 s_for_platform_type .
2847 - ctx.fragments.apple.sdk_version_for_platform is not supported
2848 anymore. The same information is accessible through the target
2849 @bazel_tools//tools/osx:current_xcode_config: point an implicit
2850 attribute to it (i.e.
2851 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
2852 nfig")) then use
2853 ctx.attr._xcode_config[apple_common].XcodeVersionConfig].sdk_versi
2854 on_for_platform .
2855 - --javabase=<absolute path> and --host_javabase=<absolute path>
2856 are not supported anymore. If you need this functionality
2857 java_runtime_suite(name="suite", default=":runtime")
2858 java_runtime(name="runtime", java_home=<path to the JDK>) is an
2859 alternative.
2860 - The flag --incompatible_descriptive_string_representations is no
2861 longer available, old style string representations of objects are
2862 not supported
2863 anymore.
2864 - The flag --incompatible_disallow_set_constructor is no longer
2865 available, the deprecated `set` constructor is not available
2866 anymore.
2867 - += on lists now mutates them. `list1 += list2` is now equivalent
2868 to `list1.extend(list2)` and not equivalent to `list1 = list1 +
2869 list2` anymore.
2870 - the target_apple_env and apple_host_system_env methods on
2871 ctx.fragments.apple are not supported anymore. The same
2872 information is accessible through apple_common.target_apple_env
2873 and apple_common.apple_host_system_env . They need the Xcode
2874 configuration as an argument, which can be obtained by declaring
2875 an implicit dependency on it (i.e.
2876 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
2877 nfig")) and then calling e.g.
2878 apple_common.apple_host_system_env(ctx.attr._xcode_config[apple_co
2879 mmon.XcodeVersionConfig]).
2880 - C++ toolchain identifiers are not in the name of the output
2881 directory anymore.
2882 - Selecting on "xcode_version" and
2883 "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
2884 What was config_setting(values={"$FOO_version": $VALUE}) is now
2885 config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version_
2886 flag": $VALUE}).
2887 - Selecting on "xcode_version" and
2888 "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
2889 What was config_setting(values={"$FOO_version": $VALUE}) is now
2890 config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version_
2891 flag": $VALUE}).
2892 - The flag --incompatible_disallow_set_constructor is no longer
2893 available, the deprecated `set` constructor is not available
2894 anymore.
2895 - Selecting on "xcode_version" and
2896 "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
2897 What was config_setting(values={"$FOO_version": $VALUE}) is now
2898 config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_versi...
2899
2900New features:
2901
2902 - runfiles, sh: Shell scripts may now depend on
2903 //src/tools/runfiles:runfiles_sh_lib and source runfiles.sh. The
2904 script defines the `rlocation` function which returns runfile
2905 paths on every platform.
2906 - In addition to $(location), Bazel now also supports $(rootpath)
2907 to obtain
2908 the root-relative path (i.e., for runfiles locations), and
2909 $(execpath) to
2910 obtain the exec path (i.e., for build-time locations)
2911
2912Important changes:
2913
2914 - android_binary now supports custom debug keys via the debug_key
2915 attribute.
2916 - Updated Android proguard to 5.3.3. It now works with android-24+.
2917 - --experimental_use_parallel_android_resource_processing and
2918 --experimental_android_use_nocompress_extensions_on_apk are
2919 removed. These features are fully rolled out.
2920 - Fixes #2574
2921 - Fixes #3834
2922 - Enable experimental UI by default.
2923 - .
2924 RELNOTES: None.
2925 RELNOTES: No.
2926 - Add memory profiler.
2927 - [Bazel] {java,cc}_proto_library now look for dependencies in
2928 @com_google_protobuf, instead of in @com_google_protobuf_$LANG
2929 - Improved merge.sh script in cookbook.
2930 - Fixing regression to --experimental_remote_spawn_cache
2931 - Support for linker scripts in NativeDepsHelper (e.g.,
2932 android_binary)
2933 - Skylark semantics flags now affect WORKSPACE files and repository
2934 rules.
2935 - ctx.outputs.executable is deprecated. Use DefaultInfo(executable
2936 = ...) instead.
2937 - Update "mirror.bazel.build" urls to use https.
2938 - Improve --config logging when --announce_rc is present.
2939 - Document interaction between test_suite and target exclusions
2940 - Replace version numbers for Bazel installers with "<version>"
2941 (because this will change often)
2942 - Published command lines should have improved lists of effective
2943 options.
2944 - --incremental_dexing_binary_types has been removed. All builds
2945 are supported by incremental dexing (modulo proguard and some
2946 blacklisted dx flags).
2947 - Document --host_javabase, --host_java_toolchain
2948
Bazel Release System76b6d0a2017-10-18 14:34:11 +02002949## Release 0.7.0 (2017-10-18)
2950
2951```
2952Baseline: 5cc6246d429f7d9119b97ce263b4fd6893222e92
2953
2954Cherry picks:
2955 + e79a1107d90380501102990d82cbfaa8f51a1778:
2956 Windows,bootstrapping: fix build_windows_jni.sh
2957```
2958
2959Incompatible changes:
2960
2961 - The --output=location flag to 'bazel query' cannot be used with
2962 query expressions that involve the 'buildfiles' or 'loadfiles'
2963 operators. This also applies to 'genquery' rules.
2964 - Operators for equality, comparison, 'in' and 'not in' are no
2965 longer associative,
2966 e.g. x < y < z is now a syntax error. Before, it was parsed
2967 as: (x < y) < z.
2968 - In strings, octal sequences greater than \377 are now forbidden
2969 (e.g. "\\600").
2970 Previously, Blaze had the same behavior as Python 2, where
2971 "\\450" == "\050".
2972 - Using tabulation for identation is now fobidden in .bzl files
2973 - `load` is now a language keyword, it cannot be used as an
2974 identifier
2975 - lvalues must have define at least one variable (i.e. we forbid
2976 `[] = f()`).
2977 - Fixed a bug whereby multiple load() statements could appear on
2978 the same line
2979 - -extra_checks:off is no longer supported; use
2980 -XepDisableAllChecks instead
2981 - java_common.java_toolchain_attr is removed. Depend on the
2982 java_toolchain_alias() rule to accomplish the same thing.
2983 - cc_common.cc_toolchain_attr and java_common.java_runtime_attr are
2984 not supported anymore and were replaced with the
2985 cc_toolchain_alias() and java_runtime_alias() rules.
2986 - Noop flag --deprecated_generate_xcode_project deleted.
2987 - Objects in Skylark are converted to strings in a more descriptive
2988 and less harmful way (they don't leak information that shouldn't
2989 be accessed by Skylark code, e.g. nondeterministic memory addresses
2990 of objects).
2991 - `set` is deprecated in BUILD and .bzl files, please use `depset`
2992 instead. Ordering names have also been changed, please use "default",
2993 "postorder", "preorder", and "topological" instead of "stable",
2994 "compile", "naive_link", and "link" correspondingly.
2995 - Integer overflow (on signed 32 bit numbers) in BUILD/bzl files is
2996 an error.
2997 - Keyword-only syntax in a function definition is now forbidden
2998 e.g. `def foo(a, *, b)` or `def foo(a, *b, c)`
2999 - --incompatible_comprehension_variables_do_not_leak defaults to
3000 "true."
3001 Iteration variable becomes inaccessible after a list/dict
3002 comprehension.
3003 - @bazel_tools//tools/build_defs/docker:docker.bzl is no longer
3004 available, please see https://github.com/bazelbuild/rules_docker.
3005
3006New features:
3007
3008 - Zipped LLVM profiles are now supported.
3009 - LIPO maps to ThinLTO for LLVM builds.
3010 - Change to handle LLVM FDO zipped profile contents correctly.
3011 - Do not disable fully dynamic linking with ThinLTO when invoked
3012 via LIPO options.
3013 - There is now a 'siblings' query function. See the query
3014 documentation for more details.
3015 - Added the print_action command, which outputs the
3016 actions needed to build a given target in the form of an
3017 ExtraActionSummary proto in text format.
3018 - android_binary now supports proguard_apply_dictionary to specify
3019 a custom dictionary to use for choosing names to obfuscate
3020 classes and members to.
3021
3022Important changes:
3023
3024 - Windows: bazel clean --expunge works
3025 - First argument of 'load' should be a label. Path syntax is
3026 deprecated (label should start with '//' or ':').
3027 - Octal prefix '0' is deprecated in favor of '0o' (use 0o777
3028 instead of 0777).
3029 - The extension_safe attribute of apple_binary no longer validates
3030 transitive dependencies are compiled against extension_safe APIs.
3031 - Parentheses around the tuple are now mandatory in [a for b in c
3032 if 1, 2]
3033 - Adjust the thresholds for --test_verbose_timeout_warnings so that
3034 it can recommending timeout increases and won't recommend
3035 timeouts that are too close to the actual timeout.
3036 - Iterating on a `depset` object is deprecated. If you need an
3037 iterable, call the `.to_list()` method first.
3038 - Bazel now uses tools from action_configs in Crosstool by default
3039 (as oposed to using top level tools).
3040 - Incremental dexing errors on combination of --multidex=off and
3041 either --main-dex-list or --minimal-main-dex.
3042 - When using the dictionary literal syntax, it is now an error to
3043 have duplicated keys (e.g. {'ab': 3, 'ab': 5}).
3044 - New property on android_sdk: aapt2
3045 Choose the version of aapt on android_binary
3046 - Add idl_preprocessed attribute to android_library, so that
3047 preprocessed aidl files can be passed to android_library for
3048 compiling
3049 - Bazel's remote_worker backend for remote execution supports
3050 sandboxing on Linux now. Check
3051 https://github.com/bazelbuild/bazel/blob/master/src/tools/remote_w
3052 orker/README.md for details.
3053 - Allows flags that expand to take values.
3054 - Make querying attributes formed by selector lists of list types
3055 more efficient by no longer listing every possible combination of
3056 attribute value but by more compactly storing the possible values
3057 of the list.
3058 - writing build events to a file is no longer experimental
3059 - set --rewrite_calls_to_long_compare to false by default.
3060 - ObjC and C++ coverage feature is unified under name 'coverage'
3061 - Enable --incremental_dexing for Android builds by default. Note
3062 that some dexopts are incompatible with incremental dexing,
3063 including --force-jumbo.
3064 - Evaluation will soon use checked arithmetics and throw an error
3065 instead of overflow/underflow.
3066 - Implicit iteration in the CROSSTOOL has been removed, use
3067 explicit 'iterate_over' message.
3068 - Add option for Android specific grte_top
3069 - Crosstool patches are only applied if the toolchain doesn't define
3070 'no_legacy_features' feature.
3071 - 'platform_type' is now a mandatory attribute on apple_binary and
3072 apple_static_library rules.
3073 If this change breaks your build, feel free to add platform_type
3074 = 'ios' to any apple_binary and apple_static_library
3075 targets in your project, as this was the previous default
3076 behavior.
3077 - Remove apple_watch2_extension build rule. Users should be using
3078 the skylark watchos_application and watchos_extension rules.
3079 https://github.com/bazelbuild/rules_apple has details.
3080 - Check stderr to detect if connected to a terminal. Deprecate
3081 --isatty.
3082 - Commands that shut down the server (like "shutdown") now ensure
3083 that the server process has terminated before the client process
3084 terminates.
3085 - Remove apple_watch1_extension and apple_watch_extension_binary
3086 rules. Users should be using the skylark watchos_application and
3087 watchos_extension rules.
3088 https://github.com/bazelbuild/rules_apple has details.
3089 - Windows: Wrapper-less CROSSTOOL becomes default now.
3090 set USE_MSVC_WRAPPER=1 if you still want to use wrapper script.
3091 - Ignore --glibc in the Android transition.
3092 - Remove --experimental_android_use_singlejar_for_multidex.
3093 - nocopts now also filter copts
3094 - 'strip' action is now configured via feature configuration
3095 - The Build Event Service (BES) client now properly supports
3096 Google Applicaton Default Credentials.
3097 - Flags from action_config get added first to the command line
3098 first, before the flags from features.
3099 - update dexing tools to Android SDK 26.0.1
3100 - Bazel Android support now requires build-tools 26.0.1 or later.
3101 - `bazel info output_path` no longer relies on the root directory
3102 filename being equal to the workspace name.
3103 - The `print` function now prints debug messages instead of
3104 warnings.
3105 - speedup of incremental dexing tools
3106 - --announce_rc now controls whether bazelrc startup options are
3107 printed to stderr.
3108 - Removing a few unused objc_provider keys.
3109 - Improved logging when workers have to be restarted due to its
3110 files having changed.
3111 - Top-level `if` statements are now forbidden.
3112 - Java protos are compiled to Java 7 bytecode.
3113 - All Android builds now use the desugar tool to support some Java
3114 8 features by default. To disable, use the --nodesugar_for_android flag.
3115 - Skylark-related options may now appear as "common" command
3116 options in the .bazelrc
3117 - Python is now required to build bazel.
3118 - New --build_runfile_manifests flag controls production of
3119 runfiles manifests.
3120 - Enable debug info for Java builds
3121 - Allow java_lite_proto_library in the deps of android rules.
3122 - .so files in APKs will be memory-page aligned when
3123 android_binary.nocompress_extensions contains ".so" and
3124 --experimental_android_use_nocompress_extensions_on_apk is
3125 specified.
3126 - Skylark providers can specify allowed fields and their
3127 documentation.
3128 - Support ctx.actions.args() for more efficient Skylark command
3129 line construction.
3130 - The remote HTTP/1.1 caching client (--remote_rest_cache) now
3131 distinquishes between action cache and CAS. The request URL for
3132 the action cache is prefixed with 'ac' and the URL for the CAS
3133 is prefixed with 'cas'.
3134 - `JavaInfo` is a preferred alias to `java_common.provider`.
3135 - J2ObjC version updated to 2.0.3.
3136 - A new Java coverage implementation is available. Makes possible
3137 coverage for Skylark JVM rules.
3138 - Make proguard_apply_dictionary also apply to class and package
3139 obfuscation, not just class members.
3140 - android_binary.nocompress_extensions now applies to all files in
3141 the APK, not just resources and assets.
3142 - The apple_genrule rule that is distributed with Bazel has been
3143 deleted. Users who wish to use genrules with Xcode's
3144 DEVELOPER_DIR set should use the rules in
3145 https://github.com/bazelbuild/rules_apple instead.
3146 - The swift_library rule that is distributed with Bazel has been
3147 deleted. Users who wish to compile Swift should use the rules in
3148 https://github.com/bazelbuild/rules_apple instead.
3149 - The Build Event Protocol's File.uri field is now properly
3150 encoded according to RFC2396.
3151 - Deprecated: Using the android_library.deps attribute to
3152 implicitly export targets to dependent rules. If your code is
3153 using this feature, Bazel will raise a warning. To fix, please
3154 use android_library.exports to explicitly specify exported
3155 targets. Run with
3156 --experimental_allow_android_library_deps_without_srcs=false to
3157 ensure forward compatibility when this feature is removed in a
3158 future release.
3159 - java_common.create_provider is now supported with creating ijars
3160 by default. This introduces incompatibilities for existing users.
3161 Please set use_ijar=False if you don't want to use ijars.
3162 - Tests can now write files to TEST_UNDECLARED_OUTPUTS_DIR and
3163 TEST_UNDECLARED_OUTPUTS_ANNOTATIONS_DIR and these will be
3164 reflected under bazel-testlogs.
3165 - remove unused --host_incremental_dexing flag
3166 - Stop using --undefined dynamic_lookup in Apple links. Enables
3167 unresolved symbol errors.
3168 - All test output files included for cached, uncached, and multiple
3169 attempt tests.
3170 - Android rules no longer restrict the manifest file to be named
3171 "AndroidManifest.xml".
3172 - Boolean flag values will now get normalized to 1 or 0 in
3173 canonicalize-flags output.
3174 - added experimental --use_new_category_enum to the help command to
3175 output options grouped by the new type of category.
3176 - Expose output jars and jdeps in java_common.provider, when
3177 available.
3178 - android_library targets are no longer allowed to use deps to
3179 export targets implicitly; please use android_library.exports
3180 instead.
3181 - New depset API
3182 - apple_binary and apple_static_library no longer support
3183 compilation attributes such as 'srcs'. If this breaks any
3184 existing targets, you may migrate all such attributes to a new
3185 objc_library target and depend on that objc_library target via
3186 the 'deps' attribute of apple_binary or apple_static_library.
3187
Bazel Release Systemed0ebc02017-10-05 23:52:25 +02003188## Release 0.6.1 (2017-10-05)
3189
3190```
3191Baseline: 87cc92e5df35d02a7c9bc50b229c513563dc1689
3192
3193Cherry picks:
3194 + a615d288b008c36c659fdc17965207bb62d95d8d:
3195 Rollback context.actions.args() functionality.
3196 + 7b091c1397a82258e26ab5336df6c8dae1d97384:
3197 Add a global failure when a test is interrupted/cancelled.
3198 + 95b0467e3eb42a8ce8d1179c0c7e1aab040e8120:
3199 Cleanups for Skylark tracebacks
3200 + cc9c2f07127a832a88f27f5d72e5508000b53429:
3201 Remove the status xml attribute from AntXmlResultWriter
3202 + 471c0e1678d0471961f1dc467666991e4cce3846:
3203 Release 0.6.0 (2017-09-28)
3204 + 8bdd409f4900d4574667fed83d86b494debef467:
3205 Only compute hostname once per server lifetime
3206 + 0bc9b3e14f305706d72180371f73a98d6bfcdf35:
3207 Fix bug in NetUtil caching.
3208```
3209
3210Important changes:
3211 - Only compute hostname once per server lifetime
3212
Bazel Release System471c0e12017-09-28 16:36:12 +02003213## Release 0.6.0 (2017-09-28)
3214
3215```
3216Baseline: 87cc92e5df35d02a7c9bc50b229c513563dc1689
3217
3218Cherry picks:
3219 + a615d288b008c36c659fdc17965207bb62d95d8d:
3220 Rollback context.actions.args() functionality.
3221 + 7b091c1397a82258e26ab5336df6c8dae1d97384:
3222 Add a global failure when a test is interrupted/cancelled.
3223 + 95b0467e3eb42a8ce8d1179c0c7e1aab040e8120:
3224 Cleanups for Skylark tracebacks
3225 + cc9c2f07127a832a88f27f5d72e5508000b53429:
3226 Remove the status xml attribute from AntXmlResultWriter
3227```
3228
3229Incompatible changes:
3230
3231 - Noop flag --deprecated_generate_xcode_project deleted.
3232 - Objects in Skylark are converted to strings in a more descriptive
3233 and less harmful way (they don't leak information that shouldn't
3234 be accessed by Skylark code, e.g. nondeterministic memory addresses
3235 of objects).
3236 - `set` is deprecated in BUILD and .bzl files, please use `depset`
3237 instead. Ordering names have also been changed, please use
3238 "default", "postorder", "preorder", and "topological" instead of
3239 "stable", "compile", "naive_link", and "link" correspondingly.
3240 - Integer overflow (on signed 32 bit numbers) in BUILD/bzl files is
3241 an error.
3242 - Keyword-only syntax in a function definition is now forbidden
3243 e.g. `def foo(a, *, b)` or `def foo(a, *b, c)`
3244 - --incompatible_comprehension_variables_do_not_leak defaults to
3245 "true."
3246 Iteration variable becomes inaccessible after a list/dict
3247 comprehension.
3248
3249New features:
3250
3251 - There is now a 'siblings' query function. See the query
3252 documentation for more details.
3253 - Added the print_action command, which outputs the
3254 actions needed to build a given target in the form of an
3255 ExtraActionSummary proto in text format.
3256 - android_binary now supports proguard_apply_dictionary to specify
3257 a custom dictionary to use for choosing names to obfuscate
3258 classes and members to.
3259
3260Important changes:
3261
3262 - 'strip' action is now configured via feature configuration
3263 - Flags from action_config get added first to the command line
3264 first,
3265 before the flags from features.
3266 - `bazel info output_path` no longer relies on the root directory
3267 filename being equal to the workspace name.
3268 - The `print` function now prints debug messages instead of
3269 warnings.
3270 - speedup of incremental dexing tools
3271 - --announce_rc now controls whether bazelrc startup options are
3272 printed to stderr.
3273 - Removing a few unused objc_provider keys.
3274 - Improved logging when workers have to be restarted due to its
3275 files having changed.
3276 - Top-level `if` statements are now forbidden.
3277 - Java protos are compiled to Java 7 bytecode.
3278 - All Android builds now use the desugar tool to support some Java
3279 8 features by default. To disable, use the
3280 --nodesugar_for_android flag.
3281 - Skylark-related options may now appear as "common" command
3282 options in the .bazelrc
3283 - Python is now required to build bazel.
3284 - When the lvalue of an augmented assignment is a list, we now
3285 throw an error
3286 before evaluating the code (e.g. `a, b += 2, 3`).
3287 - New --build_runfile_manifests flag controls production of
3288 runfiles manifests.
3289 - Enable debug info for Java builds
3290 - Allow java_lite_proto_library in the deps of android rules.
3291 - .so files in APKs will be memory-page aligned when
3292 android_binary.nocompress_extensions contains ".so" and
3293 --experimental_android_use_nocompress_extensions_on_apk is
3294 specified.
3295 - Skylark providers can specify allowed fields and their
3296 documentation.
3297 - Support ctx.actions.args() for more efficient Skylark command
3298 line construction.
3299 - The remote HTTP/1.1 caching client (--remote_rest_cache) now
3300 distinquishes between action cache and CAS. The request URL for
3301 the action cache is prefixed with 'ac' and the URL for the CAS
3302 is prefixed with 'cas'.
3303 - `JavaInfo` is a preferred alias to `java_common.provider`.
3304 - J2ObjC version updated to 2.0.3.
3305 - A new Java coverage implementation is available. Makes possible
3306 coverage for Skylark JVM rules.
3307 - Make proguard_apply_dictionary also apply to class and package
3308 obfuscation, not just class members.
3309 - When using the dictionary literal syntax, it is now an error to
3310 have duplicated keys (e.g. {'ab': 3, 'ab': 5}).
3311 - android_binary.nocompress_extensions now applies to all files in
3312 the APK, not just resources and assets.
3313 - The apple_genrule rule that is distributed with Bazel has been
3314 deleted. Users who wish to use genrules with Xcode's
3315 DEVELOPER_DIR set should use the rules in
3316 https://github.com/bazelbuild/rules_apple instead.
3317 - The swift_library rule that is distributed with Bazel has been
3318 deleted. Users who wish to compile Swift should use the rules in
3319 https://github.com/bazelbuild/rules_apple instead.
3320
Bazel Release System5371d132017-08-25 11:24:06 +02003321## Release 0.5.4 (2017-08-25)
3322
3323```
3324Baseline: 6563b2d42d29196432d5fcafa0144b8371fbb028
3325
3326Cherry picks:
3327 + d4fa181f8607c35230b7efa1ce94188b51508962:
3328 Use getExecPathString when getting bash_main_file
3329 + 837e1b3d4859140d29aaa6bbab8fbb008e6d701e:
3330 Windows, sh_bin. launcher: export runfiles envvars
3331 + fe9ba893c0ebec19228086356af5fa8d81f2809b:
3332 grpc: Consolidate gRPC code from BES and Remote Execution. Fixes
3333 #3460, #3486
3334 + e8d4366cd374fba92f1425de0d475411c8defda4:
3335 Automated rollback of commit
3336 496d3ded0bce12b7371a93e1183ba30e6aa88032.
3337 + 242a43449dd44a22857f6ce95f7cc6a7e134d298:
3338 bes,remote: update default auth scope.
3339 + 793b409eeae2b42be7fed58251afa87b5733ca4d:
3340 Windows, sh_bin. launcher: fix manifest path
3341 + 7e4fbbe4ab3915a57b2187408c3909e5cd6c6013:
3342 Add --windows_exe_launcher option
3343 + 91fb38e92ace6cf14ce5da6527d71320b4e3f3d2:
3344 remote_worker: Serialize fork() calls. Fixes #3356
3345 + b79a9fcd40f448d3aebb2b93a2ebe80d09b38408:
3346 Quote python_path and launcher in
3347 python_stub_template_windows.txt
3348 + 4a2e17f85fc8450aa084b201c5f24b30010c5987:
3349 Add build_windows_jni.sh back
3350 + ce61d638197251f71ed90db74843b55d9c2e9ae5:
3351 don't use methods and classes removed in upstream dx RELNOTES:
3352 update dexing tools to Android SDK 26.0.1
3353 + 5393a4996d701fa192964a35cbb75e558a0599c0:
3354 Make Bazel enforce requirement on build-tools 26.0.1 or later.
3355 + 5fac03570f80856c063c6019f5beb3bdc1672dee:
3356 Fix --verbose_failures w/ sandboxing to print the full command
3357 line
3358 + f7bd1acf1f96bb7e3e19edb9483d9e07eb5af070:
3359 Only patch in C++ compile features when they are not already
3360 defined in crosstool
3361 + d7f5c120417bc2d2344dfb285322355f225d9153:
3362 Bump python-gflags to 3.1.0, take two
3363 + 3cb136d5451e9d8af58f9a99990cad0592df101a:
3364 Add python to bazel's dockerfiles
3365```
3366
3367New features:
3368
3369 - Do not disable fully dynamic linking with ThinLTO when invoked
3370 via LIPO options.
3371
3372Important changes:
3373
3374 - Ignore --glibc in the Android transition.
3375 - Remove --experimental_android_use_singlejar_for_multidex.
3376 - nocopts now also filter copts
3377 - The Build Event Service (BES) client now properly supports
3378 Google Applicaton Default Credentials.
3379 - update dexing tools to Android SDK 26.0.1
3380 - Bazel Android support now requires build-tools 26.0.1 or later.
3381 - Fix a bug in the remote_worker that would at times make it crash on Linux. See #3356
3382 - The java_proto_library rule now supports generated sources. See #2265
3383
Bazel Release System195a7a82017-07-27 20:27:32 +02003384## Release 0.5.3 (2017-07-27)
3385
3386```
3387Baseline: 88518522a18df5788736be6151fc67992efe2aad
3388
3389Cherry picks:
3390 + 820a46af10808396873c36d0f331e533118cf0c6:
3391 Automated rollback of commit
3392 6d6e87297fe8818e4c374fdfabfbcf538bca898a.
3393 + ccfb2df69ecf4746f5a15e1295af995c3a45aa94:
3394 Allow py_binary to be the executable of a Skylark action or any
3395 SpawnAction on Windows.
3396 + 06534911696838e720c8681f6f568c69d28da65e:
3397 Fix string representation for the Root class
3398 + cd159bcee72a7f377621b45409807231a636f9e2:
3399 sandbox: Allow UNIX sockets on macOS even when block-network is
3400 used.
3401 + ad73cba3caa2e08ad61ea9ca63f9111cde1f48d1:
3402 Fix python_stub_template.txt to be compatible with Python 2.4.
3403 + 9a63aff8bb771af8917903fbbc9df3b708e2c0ed:
3404 Create Windows ZIP release artifact using Bazel
3405 + 5e576637b5705aff0a7bf56b5077463dffcd712f:
3406 Automated rollback of commit
3407 820a46af10808396873c36d0f331e533118cf0c6.
3408 + b6e29ca217b02c3ba499b85479a3830f59c9b9b6:
3409 Use the correct function to generate the release notes
3410 + 0f3481ba6364f24ef76b839bdde06ae7883c9bd9:
3411 Include <cinttypes> instead of <stdint.h>
3412```
3413
3414Incompatible changes:
3415
3416 - The --output=location flag to 'bazel query' cannot be used with
3417 query expressions that involve the 'buildfiles' or 'loadfiles'
3418 operators. This also applies to 'genquery' rules.
3419 - Operators for equality, comparison, 'in' and 'not in' are no
3420 longer associative, e.g. x < y < z is now a syntax error.
3421 Before, it was parsed as: (x < y) < z.
3422 - In strings, octal sequences greater than \377 are now forbidden
3423 (e.g. "\\600"). Previously, Blaze had the same behavior as Python 2,
3424 where "\\450" == "\050".
3425 - Using tabulation for identation is now fobidden in .bzl files
3426 - `load` is now a language keyword, it cannot be used as an
3427 identifier
3428 - lvalues must have define at least one variable (i.e. we forbid
3429 `[] = f()`).
3430 - Fixed a bug whereby multiple load() statements could appear on
3431 the same line
3432 - -extra_checks:off is no longer supported; use
3433 -XepDisableAllChecks instead
3434 - java_common.java_toolchain_attr is removed. Depend on the
3435 java_toolchain_alias() rule to accomplish the same thing.
3436 - cc_common.cc_toolchain_attr and java_common.java_runtime_attr are
3437 not supported anymore and were replaced with the
3438 cc_toolchain_alias() and java_runtime_alias() rules.
3439
3440New features:
3441
3442 - Zipped LLVM profiles are now supported.
3443 - LIPO maps to ThinLTO for LLVM builds.
3444 - Change to handle LLVM FDO zipped profile contents correctly.
3445
3446Important changes:
3447
3448 - Windows: bazel clean --expunge works
3449 - First argument of 'load' should be a label. Path syntax is
3450 deprecated (label should start with '//' or ':').
3451 - Octal prefix '0' is deprecated in favor of '0o' (use 0o777
3452 instead of 0777).
3453 - The extension_safe attribute of apple_binary no longer validates
3454 transitive dependencies are compiled against extension_safe APIs.
3455 - Parentheses around the tuple are now mandatory in [a for b in c
3456 if 1, 2]
3457 - Adjust the thresholds for --test_verbose_timeout_warnings so that
3458 it can recommending timeout increases and won't recommend
3459 timeouts that are too close to the actual timeout.
3460 - Iterating on a `depset` object is deprecated. If you need an
3461 iterable, call the `.to_list()` method first.
3462 - Bazel now uses tools from action_configs in Crosstool by default
3463 (as oposed to using top level tools).
3464 - Incremental dexing errors on combination of --multidex=off and
3465 either --main-dex-list or --minimal-main-dex.
3466 - When using the dictionary literal syntax, it is now an error to
3467 have duplicated keys (e.g. {'ab': 3, 'ab': 5}).
3468 - New property on android_sdk: aapt2
3469 Choose the version of aapt on android_binary
3470 - Add idl_preprocessed attribute to android_library, so that
3471 preprocessed aidl files can be passed to android_library for
3472 compiling
3473 - Bazel's remote_worker backend for remote execution supports
3474 sandboxing on Linux now. Check
3475 https://github.com/bazelbuild/bazel/blob/master/src/tools/remote_w
3476 orker/README.md for details.
3477 - Allows flags that expand to take values.
3478 - Make querying attributes formed by selector lists of list types
3479 more efficient by no longer listing every possible combination of
3480 attribute value but by more compactly storing the possible values
3481 of the list.
3482 - Writing build events to a file is no longer experimental
3483 - set --rewrite_calls_to_long_compare to false by default.
3484 - ObjC and C++ coverage feature is unified under name 'coverage'
3485 - Enable --incremental_dexing for Android builds by default. Note
3486 that some dexopts are incompatible with incremental dexing,
3487 including --force-jumbo.
3488 - Evaluation will soon use checked arithmetics and throw an error
3489 instead of overflow/underflow.
3490 - Implicit iteration in the CROSSTOOL has been removed, use
3491 explicit 'iterate_over' message.
3492 - Add option for Android specific grte_top
3493 - Crosstool patches are only applied if the toolchain doesn't define
3494 'no_legacy_features' feature.
3495 - 'platform_type' is now a mandatory attribute on apple_binary and
3496 apple_static_library rules.
3497 If this change breaks your build, feel free to add platform_type
3498 = 'ios' to any apple_binary and apple_static_library
3499 targets in your project, as this was the previous default
3500 behavior.
3501 - Remove apple_watch2_extension build rule. Users should be using
3502 the skylark watchos_application and watchos_extension rules.
3503 https://github.com/bazelbuild/rules_apple has details.
3504 - Check stderr to detect if connected to a terminal. Deprecate
3505 --isatty.
3506 - Commands that shut down the server (like "shutdown") now ensure
3507 that the server process has terminated before the client process
3508 terminates.
3509 - Remove apple_watch1_extension and apple_watch_extension_binary
3510 rules. Users should be using the skylark watchos_application and
3511 watchos_extension rules.
3512 https://github.com/bazelbuild/rules_apple has details.
3513 - Windows: Wrapper-less CROSSTOOL becomes default now.
3514 set USE_MSVC_WRAPPER=1 if you still want to use wrapper script.
3515
Bazel Release System7b851222017-06-27 15:08:47 +02003516## Release 0.5.2 (2017-06-27)
3517
3518```
3519Baseline: e78ad83ded6e9c6d639793827e27b6570e6e9f65
3520
3521Cherry picks:
3522 + 68028317c1d3d831a24f90e2b25d1410ce045c54:
3523 experimental UI: move stopUpdateThread() out of synchronized,
3524 again
3525 + 019935dfbb61e61d08d1351b0365fb4e2d0df305:
3526 Fix bug in URI computation in RemoteModule
3527 + e9424cf9b9d72b98594966d5ac0f15bb018ec639:
3528 Automated rollback of commit
3529 7dec00574aa91327693f6ba7e90bff5bc834253e.
3530 + 9eea05d068a06ab642dd9d86d46ee5fa2e36b02e:
3531 Switching to Watcher API instead of wait_for_completion, in
3532 preparation for deprecating the wait_for_completion field.
3533 + 89659810e3048782dfb5e308e39aa8a0727e464e:
3534 Set correct execroot for info
3535 + 716b527266f47f59a2b7fb2e5fc52cb45e1691b1:
3536 Only create a single per-build instance of the remote cache /
3537 executor
3538 + 1d82d199f82409f217a42bcefebb96f723f91caa:
3539 protobuf: Update protobuf jars to be binary compatible with Java
3540 6. Fixes #3198
3541 + 524b90d9e5acc4fa568f215c9415eaa902e979f8:
3542 Change CAS URI to use the "bytestream" scheme instead of being
3543 scheme-less
3544 + 4929ad79865f8c13ef3b33c827040f4a037e4afe:
3545 Automated g4 rollback of commit
3546 923d7df521f67d031b288180560848bd35e20976.
3547 + 68b9a7e2dc17e32b194238d287e79bee1ba035b9:
3548 Automated g4 rollback of commit
3549 da56606563ee9df438db93392f681bf2abb4ac97.
3550 + 2ba693ffbe824136a0ca5f47d34710612f6302c3:
3551 Automated rollback of commit
3552 ce7c4deda60a307bba5f0c9421738e2a375cf44e.
3553```
3554
3555Incompatible changes:
3556
3557 - Blaze no longer generates xcode projects. Use tulsi.bazel.build
3558 instead.
3559
3560Important changes:
3561
3562 - Keyword-only syntax in a function definition is deprecated
3563 (e.g. `def foo(a, *, b)` or `def foo(a, *b, c)`) and will be
3564 removed in the future.
3565 - Attempting to build an Android target without setting up
3566 android_sdk_repository will now produce a helpful error message.
3567 - Adds a sha256 attribute to git_repository and new_git_repository.
3568 This can only be used if the remote is a public GitHub
3569 repository. It forces
3570 Bazel to download the repository as a tarball, which will often
3571 be faster and
3572 more robust than cloning it.
3573 - Sandboxing is now enabled by default on FreeBSD (via
3574 processwrapper-sandbox).
3575 - android_test may use manifest placeholders with 'manifest_merger
3576 = "android"'.
3577 - load() statements should be called at the top of .bzl files,
3578 before any
3579 other statement. This convention will be enforced in the future.
3580 - Effectively remove sysroot from CppConfiguration and allow it to
3581 use select statements.
3582 - proto_library.strict_proto_deps no longer exists.
3583 - Flag --explicit_jre_deps is now a noop.
3584 - The 'legacy' Android manifest merger is deprecated. Please
3585 upgrade to the 'android' manifest merger, which is the same
3586 merger used by Gradle.
3587 https://developer.android.com/studio/build/manifest-merge.html
3588 - Using $(CC_FLAGS) in a GenRule adds a dependency to the c++
3589 toolchain
3590 - add one-version enforcement to android_local_test
3591 - Skylark support (apple_common.dotted_version(string)) for
3592 building DottedVersion objects to interface with native apple
3593 rules
3594 - CC_FLAGS can be defined using 'cc-flags-make-variable' action_config in
3595 CROSSTOOL
3596 - ios_framework native rule has been removed. This rule had been
3597 essentially broken for several months now; users should be using
3598 the skylark ios framework rule.
3599 https://github.com/bazelbuild/rules_apple has details.
3600 - Clean command no longer uses boolean values for --async,
3601 --expunge, and --expunge_async options.
3602 - Partially fixes external J2ObjC support.
3603 - '--aspects' can occur more than once on the command line.
3604 - --no_ prefix no longer recognized.
3605 - Use action_config in crosstool for static library archiving,
3606 remove ar_flag.
3607 - Added a new flag --sandbox_writable_path, which asks the sandbox
3608 to
3609 make an existing directory writable when running actions.
3610 - bazel test now also computes a default instrumentation filter if
3611 --collect_code_coverage is enabled
3612 - n/na
3613 - In .bzl files, top-level `if` statements are deprecated and will
3614 be forbidden
3615 in the future. Move them in a function body instead (or use a
3616 conditional
3617 expression instead: `x if condition else y`).
3618 - ios_device and ios_test are deprecated. Please use the new testing
3619 rules in https://github.com/bazelbuild/rules_apple instead.
3620 - bazel query --output package now displays packages from external
3621 repository with the format "@reponame//package". Packages in the
3622 main repository continue to have the format "package".
3623 - ctx.expand_make_variables is deprecated.
3624 - Bazel posts links to the CAS to the BEP if remote caching /
3625 execution is enabled
3626 - `bazel info execution_root` returns the corrrect directory name
3627 for the execution root.
3628
Bazel Release System63222de2017-06-06 11:32:04 +02003629## Release 0.5.1 (2017-06-06)
3630
3631```
3632Baseline: f3ae88ee043846e7acdffd645137075a4e72c573
3633
3634Cherry picks:
3635 + c58ba098526b748f9c73e6229cafd74748205aa1:
3636 Release to GCS: put the final release in its own directory
3637 + 0acead4ea3631240659836ce6ecd6d7f67fd352b:
3638 Update protobuf to latest master at a64497c and apply
3639 @laszlocsomor's latest changes from
3640 https://github.com/google/protobuf/pull/2969 on top of it.
3641 + d0242ce4a87929f2528f4602d0fb09d1ccfcea94:
3642 Make symlinks consistent
3643 + d953ca8b87a46decbce385cebb446ae0dd390881:
3644 Clean VanillaJavaBuilder output directories
3645 + 755669fb5de1f4e762f27c19776cac9f410fcb94:
3646 Pass all the environment variable to Bazel during bootstrapping
3647 + 6f041661ca159903691fcb443d86dc7b6454253d:
3648 Do not mark the JDK7 installer -without-jdk-installer
3649 + 720561113bfa702acfc2ca24ce3cc3fd7ee9c115:
3650 Fix #2958: Installer should not overwrite bazelrc
3651 + 511c35b46cead500d4e76706e0a709e50995ceba:
3652 Bootstrap: move the fail function to the top
3653 + 8470be1122825aae8ad0903dd1e1e2a90cce47d2:
3654 Clean up javac and Error Prone targets
3655 + 4a404de2c6c38735167e17ab41be45ef6fc4713a:
3656 Update javac version to 9-dev-r4023-2
3657 + 36ce4b433e19498a78c34540d5a166d4e0006b22:
3658 Update javac version to 9-dev-r4023-2
3659 + 38949b8526bdb3e6db22f3846aac87162c28c33f:
3660 Migrate off versioned javac and Error Prone targets
3661 + 1a57d298f8aa6ea8136d93223902104f2479cd2a:
3662 Re-enabling passing -sourcepath via javacopts.
3663 + eb565f408e03125e92d42b00756e519795be6593:
3664 Make make sure that msys build actually builds msys version
3665 + 39f328cf392056618d1a3ead4835a138b189a06d:
3666 Fix typo. Also do not override host_cpu for msvc.
3667 + 624802893f4fe72118f00a78452605d41a2e1c6f:
3668 Select correct JDK for windows_msys
3669 + c4f271d1a68366b6fa5ff38ea7d951b6a22af044:
3670 Automated g4 rollback of commit
3671 3e5edafa2a04a71cd3596e929e83222da725f3f9.
3672 + 926180997a0f296a5a009326aead887279ce0a90:
3673 Remove process-tools.cc which I forgot to delete during the last
3674 rollback.
3675 + baca6e4cb023649920871b74810927d304729e59:
3676 Fix #2982: Bazel installer should not check for installed JDK if
3677 using a bundled JDK.
3678 + 866ecc8c3d5e0b899e3f0c9c6b2265f16daae842:
3679 Disable msys path conversion on Windows.
3680 + cc21998c299b4d1f97df37b961552ff8168da17f:
3681 Rollforward #2 of: Basic open-source crosstool to support
3682 targeting apple platform types.
3683 + 0f0ccc4fc8229c1860a9c9b58089d6cfb2ee971f:
3684 Escape % in strings that will appear in Crosstool
3685 + 3b08f774e7938928e3a240a47a0a7554cdc8d50b:
3686 Adding feature for linking C Run-Time library on Windows
3687 + 3566474202d1978acfdcb7e5ff73ee03ea6f3df9:
3688 Do not use sed -E in bootstrap/compile.sh
3689 + c3cf7d917afd02d71de3800cd46ad8d14f1ddf55:
3690 Reverts non-xcode-available darwin crosstool generation.
3691```
3692
3693Important changes:
3694
3695 - Fixes regression in 0.5.0 requiring Xcode to build C++ on OSX.
3696
Bazel Release Systema3e26832017-05-26 14:11:07 +02003697## Release 0.5.0 (2017-05-26)
3698
3699```
3700Baseline: f3ae88ee043846e7acdffd645137075a4e72c573
3701
3702Cherry picks:
3703 + c58ba098526b748f9c73e6229cafd74748205aa1:
3704 Release to GCS: put the final release in its own directory
3705 + 0acead4ea3631240659836ce6ecd6d7f67fd352b:
3706 Update protobuf to latest master at a64497c and apply
3707 @laszlocsomor's latest changes from
3708 https://github.com/google/protobuf/pull/2969 on top of it.
3709 + d0242ce4a87929f2528f4602d0fb09d1ccfcea94:
3710 Make symlinks consistent
3711 + d953ca8b87a46decbce385cebb446ae0dd390881:
3712 Clean VanillaJavaBuilder output directories
3713 + 755669fb5de1f4e762f27c19776cac9f410fcb94:
3714 Pass all the environment variable to Bazel during bootstrapping
3715 + 6f041661ca159903691fcb443d86dc7b6454253d:
3716 Do not mark the JDK7 installer -without-jdk-installer
3717 + 720561113bfa702acfc2ca24ce3cc3fd7ee9c115:
3718 Fix #2958: Installer should not overwrite bazelrc
3719 + 511c35b46cead500d4e76706e0a709e50995ceba:
3720 Bootstrap: move the fail function to the top
3721 + 8470be1122825aae8ad0903dd1e1e2a90cce47d2:
3722 Clean up javac and Error Prone targets
3723 + 4a404de2c6c38735167e17ab41be45ef6fc4713a:
3724 Update javac version to 9-dev-r4023-2
3725 + 36ce4b433e19498a78c34540d5a166d4e0006b22:
3726 Update javac version to 9-dev-r4023-2
3727 + 38949b8526bdb3e6db22f3846aac87162c28c33f:
3728 Migrate off versioned javac and Error Prone targets
3729 + 1a57d298f8aa6ea8136d93223902104f2479cd2a:
3730 Re-enabling passing -sourcepath via javacopts.
3731 + eb565f408e03125e92d42b00756e519795be6593:
3732 Make make sure that msys build actually builds msys version
3733 + 39f328cf392056618d1a3ead4835a138b189a06d:
3734 Fix typo. Also do not override host_cpu for msvc.
3735 + 624802893f4fe72118f00a78452605d41a2e1c6f:
3736 Select correct JDK for windows_msys
3737 + c4f271d1a68366b6fa5ff38ea7d951b6a22af044:
3738 Automated g4 rollback of commit
3739 3e5edafa2a04a71cd3596e929e83222da725f3f9.
3740 + 926180997a0f296a5a009326aead887279ce0a90:
3741 Remove process-tools.cc which I forgot to delete during the last
3742 rollback.
3743 + baca6e4cb023649920871b74810927d304729e59:
3744 Fix #2982: Bazel installer should not check for installed JDK if
3745 using a bundled JDK.
3746 + 866ecc8c3d5e0b899e3f0c9c6b2265f16daae842:
3747 Disable msys path conversion on Windows.
3748 + cc21998c299b4d1f97df37b961552ff8168da17f:
3749 Rollforward #2 of: Basic open-source crosstool to support
3750 targeting apple platform types.
3751 + 0f0ccc4fc8229c1860a9c9b58089d6cfb2ee971f:
3752 Escape % in strings that will appear in Crosstool
3753 + 3b08f774e7938928e3a240a47a0a7554cdc8d50b:
3754 Adding feature for linking C Run-Time library on Windows
3755```
3756
3757Incompatible changes:
3758
3759 - Bazel's Linux sandbox no longer mounts an empty tmpfs on /tmp,
3760 instead the existing /tmp is mounted read-write. If you prefer
3761 to have a tmpfs on /tmp for sandboxed actions for increased
3762 hermeticity, please use the flag --sandbox_tmpfs_path=/tmp.
3763 - Converting artifacts to strings and printing them now return
3764 "File" instead of "Artifact" to be consistent with the type name.
3765 - The return type of depset.to_list() is now a list rather than a
3766 frozen list. (Modifying the list has no effect on the depset.)
3767 - Bazel now prints logs in single lines to java.log
3768 - --use_dash, --dash_url and --dash_secret are removed.
3769 - Remote repositories must define any remote repositories they
3770 themselves use (e.g., if @x//:foo depends on @y//:bar, @y must be
3771 defined
3772 in @x's WORKSPACE file).
3773 - Remote repositories must define any remote repositories they
3774 themselves use (e.g., if @x//:foo depends on @y//:bar, @y must be
3775 defined
3776 in @x's WORKSPACE file).
3777 - objc_xcodeproj has been removed, use tulsi.bazel.build instead.
3778
3779New features:
3780
3781 - If grte_top is a label, it can now follow non-configurable
3782 redirects.
3783 - Optional coverage_files attribute to cc_toolchain
3784 - "query --output=build" now includes select()s
3785 - Raw LLVM profiles are now supported.
3786
3787Important changes:
3788
3789 - Automatically generate Proguard mapping when resource shrinking
3790 and Proguard are enabled.
3791 - New rules in Bazel: proto_library, java_lite_proto_library,
3792 java_proto_library and cc_proto_library
3793 - Activate the "dead_strip" feature if objc binary stripping is
3794 enabled.
3795 - More stable naming scheme for lambda classes in desugared android
3796 code
3797 - Convert --use_action_cache to a regular option
3798 - Per-architecture dSYM binaries are now propagated by
3799 apple_binary's AppleDebugOutputsProvider.
3800 - Avoid factory methods when desugaring stateless lambdas for
3801 Android
3802 - desugar calls to Objects.requireNonNull(Object o) with
3803 o.getClass() for android
3804 - Add an --copy_bridges_from_classpath argument to android
3805 desugaring tool
3806 - Change how desugar finds desugared classes to have it working on
3807 Windows
3808 - Evaluation of commands on TargetsBelowDirectory patterns
3809 (e.g. //foo/...) matching packages that fail to load now report
3810 more
3811 detailed error messages in keep_going mode.
3812 - Allow to have several inputs and outputs
3813 - Repository context's execute() function can print stdout/stderr
3814 while running. To enable, pass quiet=False.
3815 - Bazel can now be built with a bundled version of the OpenJDK.
3816 This makes it possible to use Bazel on systems without a JDK, or
3817 where
3818 the installed JDK is too old.
3819 - The --jobs flag now defaults to "auto", which causes Bazel to
3820 use a reasonable degree of parallelism based on the local
3821 machine's
3822 capacity.
3823 - Bazel benchmark (perf.bazel.build) supports Java and Cpp targets.
3824 - no factory methods generated for lambda expressions on android
3825 - The Linux sandbox no longer changes the user to 'nobody' by
3826 default, instead the current user is used as is. The old behavior
3827 can be
3828 restored via the --sandbox_fake_username flag.
3829 - /tmp and /dev/shm are now writable by default inside the
3830 Linux sandbox.
3831 - Bazel can now use the process-wrapper + symlink tree based
3832 sandbox implementation in FreeBSD.
3833 - turn on --experimental_incremental_dexing_error_on_missed_jars by
3834 default.
3835 - All android_binarys are now signed with both Apk Signature V1 and
3836 V2. See https://source.android.com/security/apksigning/v2.html
3837 for more details.
3838 - Windows MSVC wrappers: Not filtering warning messages anymore,
3839 use --copt=-w and --host_copt=-w to suppress them.
3840 - A downloader bug was fixed that prevented RFC 7233 Range
3841 connection resumes from working with certain HTTP servers
3842 - Introduces experimental android_device rule for configuring and
3843 launching Android emulators.
3844 - For boolean flags, setting them to false using --no_<flag_name>
3845 is deprecated. Use --no<flag_name> without the underscore, or
3846 --<flag_name>=false instead.
3847 - Add --experimental_android_compress_java_resources flag to store
3848 java
3849 resources as compressed inside the APK.
3850 - Removed --experimental_use_jack_for_dexing and libname.jack
3851 output of
3852 android_library.
3853 - blaze canonicalize-flags now takes a --show_warnings flag
3854 - Changing --invocation_policy will no longer force a server
3855 restart.
3856 - Bazel now supports Android NDK14.
3857 - android_binary multidex should now work without additional flags.
3858 - Use action_config in crosstool for static library archiving,
3859 remove ar_flag.
3860 - new option for bazel canonicalize-flags, --canonicalize_policy
3861 - Use action_config in crosstool for static library archiving,
3862 remove ar_flag.
3863 - android_library exports_manifest now defaults to True.
3864 - Fix select condition intersections.
3865 - Adds a --override_repository option that takes a repository
3866 name and path. This forces Bazel to use the directory at that path
3867 for the repository. Example usage:
3868 `--override_repository=foo=/home/user/gitroot/foo`.
3869 - fix idempotency issue with desugaring lambdas in interface
3870 initializers for android
3871 - --experimental_android_use_singlejar_for_multidex is now a no-op
3872 and will eventually be removed.
3873 - Every local_repository now requires a WORKSPACE file.
3874 - Remove jack and jill attributes of the android_sdk rule.
3875 - Add Skylark stubs needed to remove sysroot from CppConfiguration.
3876 - Desugar try-with-resources so that this language feature is
3877 available
3878 to deveces with API level under 19.
3879 - The flag --worker_max_retries was removed. The
3880 WorkerSpawnStrategy no longer retries execution of failed Spawns,
3881 the reason being that this just masks compiler bugs and isn't
3882 done for any other execution strategy either.
3883 - Bazel will no longer gracefully restart workers that crashed /
3884 quit, instead this triggers a build failure.
3885 - All java resources are now compressed in android_binary APKs by
3886 default.
3887 - All java resources are now compressed in android_binary APKs by
3888 default.
3889 - android_ndk_repository now creates a cc_library
3890 (@androidndk//:cpufeatures) for the cpufeatures library that is
3891 bundled in the Android NDK. See
3892 https://developer.android.com/ndk/guides/cpu-features.html for
3893 more details.
3894 - 'output_groups' and 'instrumented_files' cannot be specified in
3895 DefaultInfo.
3896 - You can increase the CPU reservation for tests by adding a
3897 "cpu:<n>" (e.g. "cpu:4" for four cores) tag to their rule in a
3898 BUILD file. This can be used if tests would otherwise overwhelm
3899 your system if there's too much parallelism.
3900 - Deprecate use_singlejar_for_proguard_libraryjars and force
3901 behavior to always on.
3902
Bazel Release System8d635fc2017-03-16 13:18:30 +01003903## Release 0.4.5 (2017-03-16)
3904
3905```
3906Baseline: 2e689c29d5fc8a747216563235e905b1b62d63b0
3907
3908Cherry picks:
3909 + a28b54033227d930672ec7f2714de52e5e0a67eb:
3910 Fix Cpp action caching
3911 + 6d1d424b4c0da724e20e14235de8012f05c470f8:
3912 Fix paths of binaries in .deb packages.
3913 + 0785cbb672357d950e0c045770c4567df9fbdc43:
3914 Update to guava 21.0 and Error Prone version 2.0.18-20160224
3915 + 30490512eb0e48a3774cc4e4ef78680e77dd4e47:
3916 Update to latest javac and Error Prone
3917 + 867d16eab3bfabae070567ecd878c291978ff338:
3918 Allow ' ', '(', ')' and '$' in labels
3919 + 7b295d34f3a4f42c13aafc1cc8afba3cb4aa2985:
3920 Pass through -sourcepath to the JavaBuilder
3921 + 14e4755ce554cdfc685fc9cc2bfb5b699a3b48f4:
3922 PathFragment comparisons are now platform-aware
3923 + ed7795234ca7ccd2567007f2c502f853cd947e50:
3924 Flag to import external repositories in python import path
3925 + 81ae08bbc13f5f4a04f18caae339ca77ae2699c1:
3926 Suppress error for non-exhaustive switches
3927 + e8d1177eef9a9798d2b971630b8cea59471eec33:
3928 Correctly returns null if an environment variables is missing
3929 + 869d52f145c077e3499b88df752cebc60af51d66:
3930 Fix NPE in Android{S,N}dkRepositoryFunction.
3931 + d72bc57b60b26245e64f5ccafe023a5ede81cc7f:
3932 Select the good guava jars for JDK7 build
3933 + 92ecbaeaf6fa11dff161254df38d743d48be8c61:
3934 Windows: Assist JNI builds with a target for jni_md.h.
3935 + 36958806f2cd38dc51e64cd7bcc557bd143bbdb6:
3936 Add java_common.create_provider to allow creating a
3937 java_common.provider
3938 + 8c00f398d7be863c4f502bde3f5d282b1e18f504:
3939 Improve handling of unknown NDK revisions in
3940 android_ndk_repository.
3941 + b6ea0d33d3ab72922c8fb3ec1ff0e437af09584d:
3942 Add the appropriate cxx_builtin_include_directory entries for
3943 clang to the Android NDK crosstool created by
3944 android_ndk_repository.
3945```
3946
3947Incompatible changes:
3948
3949 - Depsets (former sets) are converted to strings as "depset(...)"
3950 instead of
3951 "set(...)".
3952 - Using --symlink_prefix is now applied to the output
3953 symlink (e.g. bazel-out) and the exec root symlink (e.g.
3954 bazel-workspace).
3955 - Bazel now uses the test's PATH for commands specified as
3956 --run_under; this can affect users who explicitly set PATH to
3957 a more
3958 restrictive value than the default, which is to forward the
3959 local PATH
3960 - It's not allowed anymore to compare objects of different types
3961 (i.e. a string to an integer) and objects for which comparison
3962 rules are not
3963 defined (i.e. a dict to another dict) using order operators.
3964
3965New features:
3966
3967 - environ parameter to the repository_rule function let
3968 defines a list of environment variables for which a change of
3969 value
3970 will trigger a repository refetching.
3971
3972Important changes:
3973
3974 - android_ndk_repository now supports Android NDK R13.
3975 - Android resource shrinking is now available for android_binary
3976 rules. To enable, set the attribute 'shrink_resources = 1'. See
3977 https://bazel.build/versions/master/docs/be/android.html#android_b
3978 inary.shrink_resources.
3979 - resolve_command/action's input_manifest return/parameter is now
3980 list
3981 - For increased compatibility with environments where UTS
3982 namespaces are not available, the Linux sandbox no longer hides
3983 the hostname of the local machine by default. Use
3984 --sandbox_fake_hostname to re-enable this feature.
3985 - proto_library: alias libraries produce empty files for descriptor
3986 sets.
3987 - Adds pkg_rpm rule for generating RPM packages.
3988 - Allow CROSSTOOL files to have linker flags specific to static
3989 shared libraries.
3990 - Make it mandatory for Java test suites in bazel codebase, to
3991 contain at least one test.
3992 - Support for Java 8 lambdas, method references, type annotations
3993 and repeated annotations in Android builds with
3994 --experimental_desugar_for_android.
3995 - Removed .xcodeproj automatic output from objc rules. It can still
3996 be generated by requesting it explicitly on the command line.
3997 - Flips --explicit_jre_deps flag on by default.
3998 - Activate the "dbg", "fastbuild", and "opt" features in the objc
3999 CROSSTOOL.
4000 - Remove support for configuring JDKs with filegroups; use
4001 java_runtime and java_runtime_suite instead
4002 - android_ndk_repository api_level attribute is now optional. If not
4003 specified, the highest api level in the ndk/platforms directory
4004 is used.
4005
Bazel Release System6712cac2017-02-01 19:53:37 +01004006## Release 0.4.4 (2017-02-01)
4007
4008```
4009Baseline: 4bf8cc30a
4010
4011Cherry picks:
4012 + ef1c6fd33: msvc_tools.py.tpl: Change default runtime library to
4013 static
4014```
4015
4016Incompatible changes:
4017
4018 - Only targets with public visibility can be bound to something in
4019 //external: .
4020 - The deprecated -x startup option has been removed.
4021 - docker_build: change the repository names embedded by
4022 docker_build. You can revert to the old behavior by setting
4023 legacy_repository_naming=True.
4024 - The string methods strip(), lstrip(), and rstrip() now
4025 by default remove the same whitespace characters as Python 3
4026 does, and accept
4027 None as an argument.
4028 - Deprecated globals HOST_CFG and DATA_CFG are removed. Use strings
4029 "host" and "data" instead.
4030 - repository_ctx environment is now affected by --action_env flag
4031 (value from the
4032 client environment will be replaced by value given on the command
4033 line through --action_env).
4034 - All executable labels must also have a cfg parameter specified.
4035 - Removed the cmd_helper.template function.
4036 The function was equivalent to:
4037 def template(items, template):
4038 return [template.format(path = i.path, short_path =
4039 i.short_path)
4040 for i in items]
4041 - Tuples that end with a trailing comma must now be inside parens,
4042 e.g. (1,) instead of 1,
4043 - The traversal orders for depsets have been renamed. The old names
4044 are deprecated and will be removed in the future. New names:
4045 "stable" -> "default", "compile" -> "postorder", "link" ->
4046 "topological", "naive_link" -> "preorder".
4047
4048New features:
4049
4050 - Skylark: you can now multiply a list by an integer to get the
4051 concatenation of N copies of this list, e.g. [a,b] * 3 =
4052 [a,b,a,b,a,b]
4053 - Allow Android aidl tool to add a jar to the program's classpath,
4054 such as if needed to support generated sources.
4055 - Add transitive proguard_specs when android_sdk.aidl_lib is
4056 specified
4057 - Windows: "/dev/null" is now a supported path, e.g.
4058 --bazelrc=/dev/null now works
4059
4060Important changes:
4061
4062 - Bazel Android builds use the apksigner tool from the Android SDK
4063 build-tools. Bazel Android builds now require build-tools version
4064 24.0.3 or
4065 later.
4066 - Android SDK external bindings for support libraries, e.g.
4067 //external:android/appcompat_v4, are removed because the support
4068 library JARs that they referenced no longer ship with the Android
4069 SDK.
4070 - aar_import rule is now documented.
4071 - An IE bug was fixed in repository_ctx.download_and_extract
4072 - Update "-I" to "-isystem" in documentation to reflect current
4073 behavior.
4074 - android_sdk_repository build_tools_version is now optional. The
4075 highest installed build-tools will be used if none is specified.
4076 - New flag --sandbox_add_mount_pair to specify customized
4077 source:target path pairs to bind mount inside the sandbox.
4078 - expose proto_library descriptor set to skylark via
4079 <dep>.proto.descriptor_set
4080 - The `set` constructor is deprecated in favor of `depset`
4081 - Autodetect gold linker in cc_configure.bzl
4082 - Remove build flag --experimental_j2objc_annotation_processing. It
4083 is on by default now.
4084 - Set clang's -mwatchos-version-min correctly using the value of
4085 --watchos_minimum_os, not --watchos_sdk_version.
4086 - singlejar can now create jar files larger than 4GB.
4087 - android_sdk_repository and android_ndk_repository now read
4088 $ANDROID_HOME and $ANDROID_NDK_HOME if the path attribute is not
4089 set.
4090 - Removed broken api levels 3, 4 and 5 from Android NDK 12.
4091 - Default --android_dynamic_mode to off.
4092 - android_sdk_repository no longer requires api_level. If one is
4093 not specified, the highest android platform installed will be
4094 used. Furthermore, android_sdk's are created for all android
4095 platforms installed and can be specified with the --android_sdk
4096 flag.
4097 - To iterate over or test for membership in a set, prefer using the
4098 new to_list() method. E.g., "for x in myset.to_list():", or
4099 "print(x in myset.to_list())". Iteration/membership-test on the
4100 raw set itself is deprecated.
4101 - Remove support for --javawarn; use e.g. --javacopt=-Xlint:all
4102 instead
4103
Bazel Release Systemd3b23642016-12-22 13:30:47 +01004104## Release 0.4.3 (2016-12-22)
Bazel Release System80865ff2016-11-30 13:18:54 +01004105
Damien Martin-Guillerez961e54f2016-12-22 13:33:36 +01004106```
Bazel Release Systemd3b23642016-12-22 13:30:47 +01004107Baseline: c645a45
Bazel Release System80865ff2016-11-30 13:18:54 +01004108
4109Cherry picks:
Bazel Release Systemd3b23642016-12-22 13:30:47 +01004110 + af878d0: Add coverage support for java test. (series 4/4 of
4111 open-sourcing coverage command for java test)
4112 + 09b92a8: Rollback of commit
4113 67b4d5250edcefa7220e928e529b1f385e2dc464.
4114 + b11dd48: Fix bad bug with the parallel implementation of
4115 BinaryOperatorExpression. Turns out that
4116 ForkJoinTask#adapt(Callable) returns a ForkJoinTask
4117 whose Future#get on error throws a ExecutionException
4118 wrapping a RuntimeException wrapping the thrown checked
4119 exception from the callable. This is documented
4120 behavior [1] that I incorrectly didn't know about.
4121 + 9012bf1: Fix scripts/packages/convert_changelog to read the
4122 changelog correctly
4123 + 55c97bc: Release script: if master branch does not exist, fall
4124 back on origin/master
4125 + 4fb378c: Debian repository: override section and priority fields
4126 + acbcbc2: Fix release notes in emails
4127 + 4975760: Fix PathFragment to not use Java8-only static hashCode
4128 methods.
4129 + 05fd076: Disable sandboxing for XibCompile actions.
Damien Martin-Guillerez961e54f2016-12-22 13:33:36 +01004130```
Bazel Release System80865ff2016-11-30 13:18:54 +01004131
4132Incompatible changes:
4133
Bazel Release Systemd3b23642016-12-22 13:30:47 +01004134 - Skylark maven_jar and maven_aar settings attribute is now a label
4135 so it can be checked into your workspace.
4136 - --{no}experimental_use_rclass_generator is now a nop.
4137
4138New features:
4139
4140 - Coverage support (*experimental*) for pure Java target.
4141 Use `bazel coverage //my:target` to generate coverage information
4142 from a `java_test`.
Bazel Release System80865ff2016-11-30 13:18:54 +01004143
4144Important changes:
4145
Bazel Release Systemd3b23642016-12-22 13:30:47 +01004146 - Enable fallback URLs in Skylark http rules.
4147 - cc_proto_library generates C++ code from proto_library rules.
4148 - cc_library now supports the strip_prefix and strip_include_prefix
4149 attributes for control of include paths.
4150 - Skylark dicts internally don't rely on keys order anymore and
4151 accept any hashable values (i.e. structs with immutable values)
4152 as keys. Iteration order of dictionaries is no longer specified.
Damien Martin-Guillerez961e54f2016-12-22 13:33:36 +01004153
4154## Release 0.4.2 (2016-12-02)
4155
4156```
4157Baseline: 6331a94
4158
4159Cherry picks:
4160 + 7b835d9: Do not patch WORKSPACE in the release process
4161```
4162
4163Incompatible changes:
4164
4165 - Callback functions in Skylark no longer support the cfg
4166 parameter. This is a cleanup and only affects the signatures of
4167 callbacks, since the parameter hasn't been set since September
4168 2016.
4169
4170Important changes:
4171
4172 - Alias proto_library's produce a descriptor set that contains all
4173 srcs of its dependencies.
4174 - proto_library supports strict proto deps.
4175 - Top level @androidsdk support library targets have been replaced
4176 by @androidsdk//<group id>:<artifact id>-<version> for Android
4177 SDK Support and Google Play Services libraries.
4178
Bazel Release System15402a92016-11-30 10:12:30 +01004179## Release 0.4.1 (2016-11-21)
4180
4181```
4182Baseline: 9a796de
4183
4184Cherry picks:
4185 + 88bfe85: Description redacted. -- MOS_MIGRATED_REVID=139219934
4186 + b09ea94: Rollback of commit
4187 a3f5f576cd35798140ba3e81d03d919dd4ecb847.
4188```
4189
4190New features:
4191
4192 - android_library now has a "exported_plugins" attribute just like
4193 java_library
4194 - Use --strict_system_includes to apply hdrs_check=strict also to
4195 cc_library.includes, even if sandboxing is disabled.
4196 - Bazel on Windows: java_binary can now be the executable of
4197 Skylark rule actions (ctx.action's executable argument)
4198 - Packages are defined in BUILD.bazel as well as BUILD files.
4199
4200Important changes:
4201
4202 - getattr()'s 3-arg form no longer raises an error when the
4203 retrieved field is a built-in method.
4204 - --apk_signing_method default changed to v1. Android APKs are now
4205 signed with the new ApkSignerTool by default.
4206 - New rule: proto_lang_toolchain(), to support LANG_proto_library
4207 rules on multiple platforms.
4208 - Fix for Android clang++ std::stack segfault on 32bit x86. See
4209 https://code.google.com/p/android/issues/detail?id=220159
4210 - Default android_manifest_merger is now "android" which uses the
4211 official Android manifest merger.
4212 http://tools.android.com/tech-docs/new-build-system/user-guide/man
4213 ifest-merger
4214 - Do not propagate aspect to its own attributes when using '*'.
4215 - Comparing sets (`if set1 < set2:`) is not allowed anymore in
4216 Skylark because it didn't work correctly anyway.
4217 - When --experimental_extra_action_top_level_only, Bazel reports
4218 extra-actions for actions registered by Aspects injected by a
4219 top-level rule (approximately).
4220 - Blacklists for proto_lang_toolchain() no longer have to be
4221 proto_library's.
4222 - Extra actions now contain aspect-related information.
4223 - Fix slicing bug where "abc"[:-4:-1] would give wrong answer
4224
Bazel Release Systemd0761e62016-11-02 13:36:35 -04004225## Release 0.4.0 (2016-10-26)
4226
4227```
4228Baseline: 088bbc6
4229
4230Cherry picks:
4231 + b01160c: Stamp Windows release.
4232 + 2d6736e: Add --no-tty for gpg signing
4233 + 9b1dfb8: Remove .sig file before gpg signing
4234 + 81aede1: Reimplement whole archive on Windows
4235```
4236
4237Incompatible changes:
4238
4239 - Skylark: updating list/dicts while they are being looped over is not
4240 allowed. Use an explicit copy if needed ("for x in list(mylist):").
4241 - Bazel now uses the --cpu flag to look up Jvms; it falls back
4242 to "default" if it can't find a Jvm matching the CPU value.
4243 - --command_port=-1 to use AF_UNIX for client/server communications
4244 is not supported anymore.
4245 - Sandboxed actions can access the network by default, unless their
4246 target has a "block-network" tag.
4247
4248New features:
4249
4250 - Files now have an "extension" property in Skylark.
4251
4252Important changes:
4253
4254 - Added a new flag --sandbox_tmpfs_path, which asks the sandbox to
4255 mount an empty, writable directory at a specified path when
4256 running actions. (Supported on Linux only for now.)
4257 - Update protoc-3.0.0-mingw.exe to a working (statically linked)
4258 binary
4259 - apple_static_library rule to create multi-architecture static
4260 archive files from Objc/C++/Swift dependencies on apple platforms
4261 - JS: Add support for localization with closure managed rules.
4262 - Create a flag --android_dynamic_mode to turn off dynamic mode
4263 during the Android split transition.
4264 - Darwin sandboxing is default.
4265 - Remove flag --experimental_zip_tree_artifact from j2objc Java
4266 annotation processing support.
4267 - A few functions are added to BUILD files for consistency (hash,
4268 dir,
4269 hasattr, getattr) with .bzl files, although they are not very
4270 useful.
4271 - --watchfs is now a command option; the startup option of the same
4272 name is deprecated. I.e., use bazel build --watchfs, not
4273 blaze --watchfs
4274 build.
4275
Bazel Release System33579a42016-10-07 13:05:11 -04004276## Release 0.3.2 (2016-10-07)
4277
4278```
4279Baseline: 023a7bd
4280
4281Cherry picks:
4282 + bebbbe5: Fix dependency on libtool's helper script
4283 make_hashed_objlist.py.
4284 + 8a0d45f: Add the version information to the bazel.exe file
4285 + 2bc0939: Allow new_ rules to overwrited BUILD files in
4286 downloaded repos
4287 + c5545fd: Rollback of commit
4288 96d46280bc5a4803ba2242a4ad16939f85a3b212.
4289 + eb87208: Make cc_configure on Windows more robust
4290 + c30432c: Fix cc_configure on Windows
4291 + 95b16a8: sandbox: Replace the error-prone lazy cleanup of
4292 sandbox directories by a simple synchronous cleanup.
4293 + e898023: Fix #1849: Sandboxing on OS X should be turned off by
4294 default for 0.3.2.
4295 + ffdc05d: Add action_config and feature for linking on Windows
4296```
4297
4298Incompatible changes:
4299
4300 - If you maintain a rule that uses persistent workers, you'll have
4301 to specify execution_requirements={"supports-workers": 1} in the
4302 ctx.action that intends to run a tool with workers. The
4303 WorkerSpawnStrategy will alert you with a warning message if you
4304 forget to make this change and fallback to non-worker based
4305 execution.
4306 - It is now an error to include a precompiled library (.a, .lo, .so)
4307 in a cc_library which would generate a library with the same name
4308 (e.g., libfoo.so in cc_library foo) if that library also contains
4309 other linkable
4310 sources.
4311 - The main repository's execution root is under the main
4312 repository's workspace name, not the source directory's basename.
4313 This shouldn't
4314 have any effect on most builds, but it's possible it could break
4315 someone doing
4316 weird things with paths in actions.
4317 - Blaze doesn't support Unix domain sockets for communication
4318 between its client and server anymore. Therefore, the
4319 --command_port command line argument doesn't accept -1 as a valid
4320 value anymore.
4321 - Skylark: It is an error to shadow a global variable with a local
4322 variable after the global has already been accessed in the
4323 function.
4324 - bin_dir and genfiles_dir are now properties of ctx, not
4325 configuration. That is, to access the bin or genfiles directory
4326 from a
4327 Skylark rule, use ctx.bin_dir or ctx.genfiles_dir (not
4328 ctx.configuration.{bin,genfiles}_dir). At the moment, you can
4329 access
4330 {bin,genfiles}_dir from either, but the ctx.configuration version
4331 will
4332 stop working in a future release.
4333 - filegroup-based C++ toolchains are not supported anymore.
4334 --*_crosstool_top options must always point to a
4335 cc_toolchain_suite rule (or an alias of one).
4336 - repository_ctx.{download,download_and_extract,execute} API now use
4337 named parameters for optional parameters and no
4338 longer uses argument
4339 type to distinguished between arguments
4340 (executable attribute name
4341 must be specified when preceding optional
4342 arguments are missing).
4343
4344New features:
4345
4346 - print and fail are now available in BUILD files.
4347
4348Important changes:
4349
4350 - Added @bazel_tools//tools/build_defs/repo/git.bzl as a Skylark
4351 rule for Git repositories.
4352 - Added @bazel_tools//tools/build_defs/repo/maven_rules.bzl as a
4353 Skylark rule for Maven repositories.
4354 - Add global hash() function for strings (only)
4355 - Improve Android split transition handling.
4356 - Removes exports_manifest attribute from android_binary rule.
4357 - java_proto_library: control strict-deps through a rule-level and
4358 a package-level attribute.
4359 - Persistent workers are now used by default for Java compilation
4360 in Bazel, which should speed up your Java builds by ~4x. You can
4361 switch back to the old behavior via --strategy=Javac=standalone.
4362 Check out http://www.bazel.io/blog/2015/12/10/java-workers.html
4363 for more details.
4364 - objc_* rules can now depend on any target that returns an "objc"
4365 provider.
4366 - Adds support for NDK12 to `android_ndk_repository` rule in Bazel.
4367 - Test targets can disable the JUnit4 test security manager via a
4368 property.
4369 - Disable the Android split transition if --android_cpu and
4370 fat_apk_cpu are both empty.
4371 - New sandboxing implementation for Linux in which all actions run
4372 in a separate execroot that contains input files as symlinks back
4373 to the originals in the workspace. The running action now has
4374 read-write access to its execroot and /tmp only and can no longer
4375 write in arbitrary other places in the file system.
4376 - Add worker support to single jar.
4377 - Invoke source jar action as a worker.
4378 - Sandboxed builds allow network access for builds by default.
4379 Tests will still be run without networking, unless
4380 "requires-network" is specified as a tag.
4381 - Add path.realpath() method for Skylark repositories.
4382 - On Mac devices, detect locally installed versions of xcode to:
4383 1. Use a sensible default if xcode is required but
4384 --xcode_version is unspecified.
4385 2. Use sensible default iOS SDK version for the targeted version
4386 of xcode if ios_sdk_version is unspecified.
4387 - Emacs' [C-x `], a.k.a. next-error, works again in emacsen >= 25.1
4388 - swift_library can be used to build watchOS apps.
4389 - Exposes the is_device field on Apple platform objects and adds
4390 the apple_common.platform_type(name) method to retrieve a
4391 platform_type value that can be passed to methods like the Apple
4392 fragment's multi_arch_platform.
4393 - Move Skylark git_repository rules to git.bzl
4394 - Add support for aspects to attr.label() attributes
4395 - Global varaiables HOST_CFG and DATA_CFG are deprecated in favor
4396 of strings "host"
4397 and "data.
4398 Argument `cfg = "host"` or `cfg = "data"` is mandatory if
4399 `executable = True` is provided for a label.
4400 - The deprecation attribute of all rules now causes warnings
4401 to be printed when other targets depend on a target with that
4402 attribute set.
4403 - Change default of --[no]instrument_test_targets to false, change
4404 default --instrumentation_filter (which previously tried to
4405 exclude test targets by heuristic) to only exclude targets in
4406 javatests.
4407 - Remove deprecated absolute paths in blaze IDE artifacts
4408 - When using android_binary.manifest_merger="android" the merger
4409 produces a summary log next to the merged manifest artifact.
4410 - Allow different default mallocs per configuration.
4411
Bazel Release System70c772b2016-07-29 10:28:13 +02004412## Release 0.3.1 (2016-07-29)
4413
4414```
4415Baseline: 792a9d6
4416
4417Cherry picks:
4418 + 25e5995: Rollback of commit
4419 a2770334ea3f3111026eb3e1368586921468710c.
4420 + 2479405: Fix NPE with unset maven_jar sha1
4421 + 3cf2126: Rewrite the extra action info files if the data within
4422 them changes.
4423 + 5a9c6b4: JavaBuilder: Reintroduce the -extra_checks flag.
4424```
4425
4426Incompatible changes:
4427
4428 - Removed predefined Python variable "generic_cpu".
4429 - Skylark rules: if you set "outputs" or an attribute to a
4430 function, this function must now list its required attributes as
4431 parameters (instead of an attribute map).
4432 - The host_platform and target_platform entries are not written to
4433 the master log anymore.
4434 - Bazel requires Hazelcast 3.6 or higher now for remote execution
4435 support, because we upgraded our client library and the protocol
4436 it uses is incompatible with older versions.
4437
4438New features:
4439
4440 - LIPO context (--lipo_context) can now also be a cc_test (in
4441 addition to cc_binary)
4442
4443Important changes:
4444
4445 - If --android_crosstool_top is set, native code compiled for
4446 android will always use --android_compiler and not --compiler in
4447 choosing the crosstool toolchain, and will use --android_cpu if
4448 --fat_apk_cpu is not set.
4449 - Add --instrument_test_targets option.
4450 - apple_binary supports a new platform_type attribute, which, if
4451 set to "watchos", will build dependencies for Apple's watchOS2.
4452 - objc_binary now supports late-loaded dynamic frameworks.
4453 - Native Swift rules no longer pull in module maps unconditionally.
4454 Use --experimental_objc_enable_module_maps for that.
4455 - Merged manifests are guaranteed to have the application element
4456 as the last child of the manifest element as required by Android
4457 N.
4458 - The Android manifest merger is now available as an option for
4459 android_binary rules. The merger will honor tools annotations in
4460 AndroidManifest.xml and will perform placeholder substitutions
4461 using the values specified in android_binary.manifest_values. The
4462 merger may be selected by setting the manifest_merger attribute
4463 on android_binary.
4464 - The progress message would not clear packages that need to be
4465 loaded twice.
4466 - Remove warning for high value of --jobs.
4467 - Use the correct build configuration for shared native deps during
4468 Android split transitions.
4469 - When building ObjectiveC++, pass the flag -std=gnu++11.
4470 - use xcrun simctl instead of iossim to launch the app for "blaze
4471 run".
4472 - Glob arguments 'exclude' and 'exclude_directories' must be named
4473 - Bazel no longer regards an empty file as changed if its mtime has
4474 changed.
4475
Bazel Release Systemccadf8d2016-06-10 13:28:40 +02004476## Release 0.3.0 (2016-06-10)
4477
4478```
4479Baseline: a9301fa
4480
4481Cherry picks:
4482 + ff30a73: Turn --legacy_external_runfiles back on by default
4483 + aeee3b8: Fix delete[] warning on fsevents.cc
4484```
4485
4486Incompatible changes:
4487
4488 - The --cwarn command line option is not supported anymore. Use
4489 --copt instead.
4490
4491New features:
4492
4493 - On OSX, --watchfs now uses FsEvents to be notified of changes
4494 from the filesystem (previously, this flag had no effect on OS X).
4495 - add support for the '-=', '*=', '/=', and'%=' operators to
4496 skylark. Notably, we do not support '|=' because the semantics
4497 of skylark sets are sufficiently different from python sets.
4498
4499Important changes:
4500
4501 - Use singular form when appropriate in blaze's test result summary
4502 message.
4503 - Added supported for Android NDK revision 11
4504 - --objc_generate_debug_symbols is now deprecated.
4505 - swift_library now generates an Objective-C header for its @objc
4506 interfaces.
4507 - new_objc_provider can now set the USES_SWIFT flag.
4508 - objc_framework now supports dynamic frameworks.
4509 - Symlinks in zip files are now unzipped correctly by http_archive,
4510 download_and_extract, etc.
4511 - swift_library is now able to import framework rules such as
4512 objc_framework.
4513 - Adds "jre_deps" attribute to j2objc_library.
4514 - Release apple_binary rule, for creating multi-architecture
4515 ("fat") objc/cc binaries and libraries, targeting ios platforms.
4516 - Aspects documentation added.
4517 - The --ues_isystem_for_includes command line option is not
4518 supported anymore.
4519 - global function 'provider' is removed from .bzl files. Providers
4520 can only be accessed through fields in a 'target' object.
4521
Bazel Release System9fdd6012016-05-17 11:12:31 +02004522## Release 0.2.3 (2016-05-10)
4523
4524```
4525Baseline: 5a2dd7a
4526```
4527
4528Incompatible changes:
4529
4530 - All repositories are now directly under the x.runfiles directory
4531 in the runfiles tree (previously, external repositories were at
4532 x.runfiles/main-repo/external/other-repo. This simplifies
4533 handling remote repository runfiles considerably, but will break
4534 existing references to external repository runfiles.
4535 Furthermore, if a Bazel project does not provide a workspace name
4536 in the WORKSPACE file, Bazel will now default to using __main__
4537 as the workspace name (instead of "", as previously). The
4538 repository's runfiles will appear under x.runfiles/__main__/.
4539 - Bazel does not embed protocol buffer-related rules anymore.
4540 - It is now an error for a cc rule's includes attribute to point to
4541 the workspace root.
4542 - Bazel warns if a cc rule's includes attribute points out of
4543 third_party.
4544 - Removed cc_* attributes: abi / abi_deps. Use select() instead.
4545
4546New features:
4547
4548 - select({"//some:condition": None }) is now possible (this "unsets"
4549 the attribute).
4550
4551Important changes:
4552
4553 - java_import now allows its 'jars' attribute to be empty.
4554 - adds crunch_png attribute to android_binary
4555 - Replace --java_langtools, --javabuilder_top, --singlejar_top,
4556 --genclass_top, and --ijar_top with
4557 java_toolchain.{javac,javabuilder,singlejar,genclass,ijar}
4558 - External repository correctness fix: adding a new file/directory
4559 as a child of a new_local_repository is now noticed.
4560 - iOS apps are signed with get-task-allow=1 unless building with -c
4561 opt.
4562 - Generate debug symbols (-g) is enabled for all dbg builds of
4563 objc_ rules.
4564 - Bazel's workspace name is now io_bazel. If you are using Bazel's
4565 source as an external repository, then you may want to update the
4566 name you're referring to it as or you'll begin seeing warnings
4567 about name mismatches in your code.
4568 - Fixes integer overflow in J2ObjC sources to be Java-compatible.
4569 - A FlagPolicy specified via the --invocation_policy flag will now
4570 match the current command if any of its commands matches any of
4571 the commands the current command inherits from, as opposed to
4572 just the current command.
4573 - The key for the map to cc_toolchain_suite.toolchains is now a
4574 string of the form "cpu|compiler" (previously, it was just "cpu").
4575 - Fix interaction between LIPO builds and C++ header modules.
4576 - Ctrl-C will now interrupt a download, instead of waiting for it to
4577 finish.
4578 - Proxy settings can now be specified in http_proxy and https_proxy
4579 environment variables (not just HTTP_PROXY and HTTPS_PROXY).
4580 - Skylark targets can now read include directories from
4581 ObjcProvider.
4582 - Expose parameterized aspects to Skylark.
4583 - Support alwayslink cc_library dependencies in objc binaries.
4584 - Import cc_library dependencies in generated Xcode project.
4585
Bazel Release System1aedd1f12016-04-25 09:47:50 +02004586## Release 0.2.2b (2016-04-22)
Bazel Release System951cea22016-04-21 14:10:12 +02004587
4588```
4589Baseline: 759bbfe
Bazel Release System1aedd1f12016-04-25 09:47:50 +02004590
4591Cherry picks:
Bazel Release System951cea22016-04-21 14:10:12 +02004592 + 1250fda: Rollback of commit
4593 351475627b9e94e5afdf472cbf465f49c433a25e.
4594 + ba8700e: Correctly set up build variables for the correct pic
4595 mode for fake_binary rules.
4596 + 386f242: Automated [] rollback of commit
4597 525fa71b0d6f096e9bfb180f688a4418c4974eb4.
Bazel Release System1aedd1f12016-04-25 09:47:50 +02004598 + 97e5ab0: Fix cc_configure include path for Frameworks on OS X.
4599 + a20352e: cc_configure: always add -B/usr/bin to the list of gcc
4600 option
4601 + 0b26f44: cc_configure: Add piii to the list of supported
4602 cpu_value
4603 + 3e4e416: cc_configure: uses which on the CC environment variable
4604 + aa3dbd3: cc_configure.bzl: strip end of line when looking for
4605 the cpu
4606 + 810d60a: cc_configure: Add -B to compiler flag too
Bazel Release System951cea22016-04-21 14:10:12 +02004607```
4608
Bazel Release System1aedd1f12016-04-25 09:47:50 +02004609Patch release, only includes fixes to C++ auto-configuration.
Bazel Release System951cea22016-04-21 14:10:12 +02004610
Bazel Release System950c1ab2016-03-31 17:18:55 +02004611## Release 0.2.1 (2016-03-21)
4612
4613```
4614Baseline: 19b5675
4615```
4616
4617Incompatible changes:
4618
4619 - Skylark rules that are available from their own repository will
4620 now issue a warning when accessed through @bazel_tools.
4621 - Set --legacy_bazel_java_test to off by default. java_test will
4622 now have a slightly different behaviour, correctly emitting XML
4623 file but, as a downside, it needs correct declaration of the
4624 test suite (see https://github.com/bazelbuild/bazel/issues/1017).
4625 - Labels in .bzl files in remote repositories will be resolved
4626 relative to their repository (instead of the repository the
4627 Skylark rule is used in).
4628 - Renamed proto_java_library to java_proto_library. The former
4629 is now deprecated and will print out a warning when used.
4630 - android_sdk now compiles android_jack on the fly from
4631 android_jar, which means android_jar must be a jar and
4632 android_jack is now deprecated. The Jack tools (jack, jill,
4633 resource_extractor) must be specified.
4634 - Any project that depended on the objc_options rule will be
4635 broken. Can be fixed by adding attrs (infoplists,copts) directly
4636 to rules depending on the options.
4637 - .aidl files correctly require import statements for types
4638 defined in the same package and the same android_library.
4639
4640New features:
4641
4642 - Experimental Windows support is available.
4643 - Experimental support for writing remote repository rules in
4644 Skylark is available.
4645 - iOS ipa_post_processor attribute allows for user-defined IPA
4646 edits.
4647 - Adds a to_json method to Skylark structs, providing conversion to
4648 JSON format.
4649 - Native python rule can depend on skylark rule as long as skylark
4650 rule provides 'py' provider.
4651 - When using both --verbose_failures and --sandbox_debug, Bazel
4652 prints instructions how to spawn a debugging shell inside the
4653 sandbox.
4654 - add flag --sandbox_add_path, which takes a list of additional
4655 paths as argument and mount these paths to sandbox.
4656
4657Important changes:
4658
4659 - @androidsdk//:org_apache_http_legacy added for the legacy Apache
4660 classes for android sdk version 23 and above.
4661 - Genrules correctly work when used with bazel run.
4662 - When namespace-sandbox is run with the -D (debug) flag and
4663 inside a terminal, it spawns a shell inside the sandbox to aid in
4664 debugging when the sandboxed command fails.
4665 - Added --artifact to workspace generator for generating workspace
4666 and build file rules from artifact coodrinates.
4667 - Specifying --experimental_android_resource_shrinking on the
4668 command line will enable a resource shrinking pass on
4669 android_binary targets that already use Proguard.
4670 - J2ObjC updated to 1.0.1 release.
4671 - Added "root_symlinks" and "symlinks" parameters to Skylark
4672 runfiles() method.
4673 - You can no longer use objc_binary targets for the xctest_app
4674 attribute of an ios_test rule.
4675 - Enable overriding jsonnet binaries and stdlib for Jsonnet rules.
4676 - mount target of /etc/resolv.conf if it is a symlink.
4677 - Tests that failed to build because execution was halted no longer
4678 print their status.
4679 - Bazel warns if a cc rule's includes attribute contains up-level
4680 references that escape its package.
4681 - Add repository_ctx.download and repository_ctx.download_and_extract
4682 function.
4683
Bazel Release Systemf98290d2016-02-23 13:51:16 +01004684## Release 0.2.0 (2016-02-18)
4685
4686```
4687Baseline: 9e100ac
4688```
4689
4690Incompatible changes:
4691
4692 - ObjC compile actions for J2ObjC-translated code now only has
4693 access to headers from the java deps of the associated original
4694 java rule.
4695 These compile actions no longer takes the compiler options
4696 specified in "copts" attribute on objc_binary/ios_test rules.
4697 J2ObjC dead code removal (enabled through flag
4698 "--j2objc_dead_code_removal") now happens *after* ObjC
4699 compilation.
4700 - maven_jar no longer supports separate artifact_id, group_id, and
4701 verison fields. This information should be provided in the
4702 artifact field,
4703 instead.
4704
4705New features:
4706
4707 - Better support for toolchains that don't have a dynamic linker.
4708 - build_file_content attribute added to new_git_repository,
4709 new_http_archive, and new_local_repository.
4710 - Add support for .tar.bz2 archives to http_archive rules.
4711
4712Important changes:
4713
4714 - The --skyframe flag is no longer available for the build command.
4715 - The --artifacts flag was removed from the dump command.
4716 - The sha256 attribute is now optional (although recommended!) for
4717 remote repository rules.
4718 - Add instrumented file provider support to Skylark rules.
4719 - Add imports attribute to native Python rules.
4720 - Allow overriding -gsplit-dwarf from copts.
4721 - Improved sandbox performance on XFS filesystems.
4722
Bazel Release System00cf25d2016-02-09 18:36:51 +01004723## Release 0.1.5 (2016-02-05)
4724
4725```
4726Baseline: 3a95f35
4727 + 8378cd8: Rollback of commit
4728 a9b84575a32476a5faf991da22b44661d75c19b6.
4729```
4730
4731Incompatible changes:
4732
4733 - Set stamping to false by default (i.e., --nostamp)
4734 - Removed --objc_dump_syms_binary.
4735 - Removes --objc_gcov_binary flag.
4736 - Remove JAVAC "Make" variable
4737 - The startup flag --blaze_cpu is removed,
4738
4739New features:
4740
4741 - A new java test runner that support XML output and test filtering
4742 is supported. It can be used by specifying --nolegacy_bazel_java_test
4743 or by specifying the test_class attribute on a java_test.
4744 - Skylark aspects can now specify configuration fragment
4745 dependencies with fragments and host_fragments like rules can.
4746
4747Important changes:
4748
4749 - Support for downloading remote resources through proxies by
4750 setting HTTP_PROXY (or HTTPS_PROXY).
4751 - Timestamps within Android apks are removed to make apks
4752 deterministic.
4753 - Support aggregation over existing rules in Skylark extensions
4754 through native.rules and native.rule.
4755 - A tools/bazel script in the workspace will be executed
4756 as an opportunity to use a fixed version of Bazel (not
4757 implemented for the homebrew recipe yet).
4758 - --noimplicit_deps and --nohost_deps work correctly for Aspect
4759 attributes.
4760 - JDK-related targets are now available via @local_jdk (instead of
4761 @local-jdk).
4762 - j2objc tools can now be accessed via @bazel_j2objc, not
4763 @bazel-j2objc.
4764 - Repository rules must use names that are valid workspace names.
4765 - [rust] Update to Rust 1.6
4766 - Add support for .tar.xz archives to http_archive rules.
4767 - Make C++ modules compatible with tools using
4768 --compilation_prerequisites_only
4769 - [d] Update to DMD 2.070.0
4770
Bazel Release System446d9922016-01-21 10:59:31 +01004771## Release 0.1.4 (2016-01-15)
4772
4773```
4774Baseline: e933d5e
4775 + 3d796fe: Rollback of commit
4776 ac6ed79e1a3fa6b0ca91657b28e2a35f7e49758c.
4777 + 7a02e5d: Fix installer under OS X
4778 + 848740c: Fix bazel version for debian package
4779 + 7751d43: Add a method for getting the root of a rule workspace
4780 to the Label method
4781```
4782
4783Important changes:
4784
4785 - add loadfiles() query operator, to find skylark files loaded by
4786 targets.
4787 - Added ability to declare and use aspects in Skylark.
4788 - Skylark load statements may now reference .bzl files via build
4789 labels, in addition to paths. In particular, such labels can be
4790 used to reference Skylark files in external repositories; e.g.,
4791 load("@my_external_repo//some_pkg:some_file.bzl", ...).
4792 Path-based loads are now deprecated and may be disabled in the
4793 future. Caveats: Skylark files currently do not respect package
4794 visibility; i.e., all Skylark files are effectively public. Also,
4795 loads may not reference the special //external package.
4796 - Relative paths can now be used for 'path' with
4797 new_local_repository and local_repository.
4798
Bazel Release System1518253e2016-01-11 10:10:19 +01004799## Release 0.1.3 (2016-01-07)
4800
4801```
4802Baseline: 23ad8f6
4803 + de2183d: Only depend on the WORKSPACE file for external files
4804 that are under the external/ directory, i.e. were
4805 created by Bazel.
4806 + f8f855c: Rollback of commit
4807 12bad3af0eade9c4b79d76f9e1c950ad2e3214c2.
4808 + f627562: Stop parsing the WORKSPACE file when a parse error is
4809 detected
4810 + 763f139: Add -fno-canonical-system-headers to CROSSTOOL files so
4811 that gcc doesn't resolve symlinks in .d files, which
4812 would confuse Blaze.
4813 + b95995b: Use openjdk7 as dependency for debian package of jdk7
4814 flavor
4815```
4816
4817New features:
4818
4819 - Skylark macros are now enabled in WORKSPACE file.
4820 - .bazelrc allows workspace-relative imports as "import
4821 %workspace%/path/to/rcfile"
4822 - Evaluate the query expression in a file by passing
4823 --query_file=<file> to query
4824
4825Important changes:
4826
4827 - Remove obsolete --objc_per_proto_includes flag.
4828 - iOS apps and extensions now have launch_storyboard
4829 - Passing multiple JVM options via a single --host_jvm_args flag is
4830 now deprecated. Pass each JVM option behind its own
4831 --host_jvm_args flag.
4832 - Resources defined locally on an android_library rule will respect
4833 the neverlink attribute.
4834 - Update Rust to 1.4
4835 - Fix resource handling for exported android_library rules
4836 - Files in external repositories are now treated as mutable, which
4837 will make the correctness guarantees of using external
4838 repositories stronger (existent), but may cause performance
4839 penalties.
4840
Bazel Release System0d2e4092015-12-04 23:31:41 +01004841## Release 0.1.2 (2015-11-20)
4842
4843```
4844Baseline: ee0ade3
4845 + 1e66ccd: RELNOTES: Symlink dirents of directories containing a
4846 file named
4847 "DONT_FOLLOW_SYMLINKS_WHEN_TRAVERSING_THIS_DIRECTORY_VIA
4848 _A_RECURSIVE_TARGET_PATTERN" will *not* be traversed
4849 for transitive target patterns. The motivation here is
4850 to allow directories that intentionally contain wonky
4851 symlinks (e.g. foo/bar -> foo) to opt out of being
4852 consumed by Blaze. For example, given
4853 + f5773fc: Set the ijar MAX_BUFFER_SIZE to 256 MB
4854```
4855
4856New features:
4857
4858 - java_library now supports the proguard_specs attribute for
4859 passing Proguard configuration up to Android (not Java) binaries.
4860 - http_file can specify "executable" to make the downloaded file
4861 runnable.
4862 - Debian and tar packaging is now supported
4863 (see tools/build_defs/pkg/README.md).
4864 - cpxx_builtin_include_directory specifications allow more
4865 flexibility.
4866 - accept %crosstool_top% in cxx_builtin_include_directory
4867 - android_binary now supports proguard_apply_mapping to re-use a
4868 previously generated proguard mapping.
4869
4870Important changes:
4871
4872 - remove webstatusserver (--use_webstatusserver).
4873 - Add support for objc textual headers, which will not be compiled
4874 when modules are enabled.
4875 - actoolzip, momczip and swiftstdlibtoolzip have all been made into
4876 bash scripts and have been renamed to actoolwrapper, momcwrapper
4877 and swiftstdlibtoolwrapper respectively. The old versions will be
4878 deleted in a later change.
4879 - [rust] Add rust_bench_test and rust_doc_test rules and improve
4880 usability of rust_test tule.
4881 - Java rules now support a resource_strip_prefix attribute that
4882 allows the removal of path prefixes from Java resources.
4883 - [docker_build] incremental loading is default now.
4884 Specify explicitly //package:target.tar (with the .tar extension)
4885 to obtain the full image.
4886 - --ios_signing_cert_name allows specifying a cert for iOS app
4887 signing
4888 - Go rules for Bazel.
4889 - [jsonnet] Update to Jsonnet 0.8.1.
4890 - [jsonnet] Add vars and code_vars attributes to jsonnet_to_json to
4891 allow passing external variables to Jsonnet via --var and
4892 --code_var.
4893 - Adds --override_workspace_root blaze flag to hand-set
4894 workspace_root and mainGroup in xcodeproj.
4895 - Allow dots in package names.
4896 - When used as a forwarding rule (i.e., has no sources),
4897 android_library
4898 will also forward any exported_plugins in its dependencies.
4899 - Add support for Windows-created zip files with non-posix
4900 permissions.
4901 - [jsonnet] Add jsonnet_to_json_test rule for testing Jsonnet code.
4902 - C++ compile actions run in a sandbox now on systems that support
4903 sandboxed execution.
4904 - The names of the clang compilers in the Android NDK crosstool no
4905 longer reference gcc.
4906 - 420 dpi is now a valid density for andoid_binary.densities.
4907 - Bazel does strict validation of include files now to ensure
4908 correct incremental builds. If you see compilation errors when
4909 building C++ code, please make sure that you explicitly declare
4910 all header files in the srcs or hdrs attribute of your cc_*
4911 targets and that your cc_* targets have correct "deps" on
4912 cc_library's that they use.
4913 - [jsonnet] Fix jsonnet_to_json rule to read code_vars from
4914 code_vars instead of vars.
4915 - Tests, genrules, and Skylark actions without the
4916 "requires-network" tag will no longer be able to access the
4917 network.
4918 - C++ libraries no longer need includes = ["."] (or similar copts)
4919 to include paths relative to a remote repository's root.
4920 - Support exports attribute for android_library
4921 - Symlink dirents of directories containing a file named
4922 "DONT_FOLLOW_SYMLINKS_WHEN_TRAVERSING_THIS_DIRECTORY_VIA_A_RECURSI
4923 VE_TARGET_PATTERN" will *not* be traversed for transitive target
4924 patterns. The motivation here is to allow directories that
4925 intentionally contain wonky symlinks (e.g. foo/bar -> foo) to opt
4926 out of being consumed by Blaze.
4927
Bazel Release Systemfa35b182015-10-14 12:11:51 -04004928## Release 0.1.1 (2015-10-05)
4929
4930```
4931Baseline: 22616ae
4932 + 1ef338f: Rollback of "Propagates cc_library linkopts attribute
4933 to dependent objc_libraries.": breaks certain
4934 objc_binary build targets.
4935 + 5fb1073: Reintroduce an inconsistency check (albeit, in a weaker
4936 form) removed by a previous change that was trying to
4937 optimize away a filesystem call.
4938 + 6d00468b2eb976866cfb814d562e0d53a580a46f: Add IdlClass to the embedded default android tools
4939 repository and rearrange BuildJar's JarHelper so that
4940 it too can be embedded.
4941 + a5199039934a2e399a7201adc0d74e2f2d2b0ff3: Fixes Android integration tests by wiring up idlclass
4942 rules in integration environment.
4943```
4944
4945Incompatible changes:
4946
4947 - Bazel requires JDK 8 to run.
4948 - Attribute "copts" is removed from j2objc_library.
4949
4950New features:
4951
4952 - a cc_binary rule may list '.s' and '.asm' files in the srcs
4953 - Support for build with libsass.
4954 - labels in "linkopts" may match any label in either "deps" or
4955 "srcs" to be considered valid.
4956 - Maven servers that require username & password authentication are
4957 now supported (see maven_server documentation).
4958
4959Important changes:
4960
4961 - Support empty plist files
4962 - The <compatible-screens> section of the AndroidManifest.xml will
4963 not be overwritten if it already contains a <screen> tag for each
4964 of the densities specified on the android_binary rule.
4965 - Add Jsonnet rules to Bazel
4966 - Remove deprecated xcode_options flag.
4967 - Workspace names are now restricted to being in their base
4968 directory
4969 (that is, the names cannot contain up-level references or /./).
4970 - j2objc_library on Bazel now transpiles transitive proto_library
4971 dependencies. (Note that java_* rules in Bazel do not yet support
4972 protos; currently they ignore proto dependencies.)
4973 - new_http_archive can specify a root directory.
4974 - Adds support for dylibs on devices for Xcode 7.
4975 - [d] d_docs rules now depend on a d_binary, a d_library or
4976 d_source_library.
4977 - [docker] docker_build now set the permission to 0555 to files
4978 added to the layer, use `mode = "0644"` to use the legacy behavior.
4979 - android_binary now has a main_dex_proguard_specs attribute to
4980 specify which classes should be in the main dex.
4981 - [rust] Add rust_docs rule for generating rustdoc.
Bazel Release System79e40ac2015-09-08 23:38:00 +02004982## Release 0.1.0 (2015-09-08)
4983
4984```
4985Baseline: a0881e8
4986 + 87374e6: Make android_binary use a constant, hard-coded,
4987 checked-in debug key.
4988 + 2984f1c: Adds some safety checks in the Bazel installer
4989 + 4e21d90: Remove BUILD.glob and incorporate the necessary
4990 filegroups into the android_{ndk,sdk}_repository rules
4991 themselves.
4992 + 1ee813e: Fix Groovy rules to work with sandboxing
4993 + 8741978: Add initial D rules to Bazel.
4994 + 2c2e70d: Fix the installer and fixing the package shiped into
4995 binary version of Bazel.
4996```
4997
4998Initial release.
Bazel Release System6712cac2017-02-01 19:53:37 +01004999
Bazel Release System8d635fc2017-03-16 13:18:30 +01005000
Bazel Release Systema3e26832017-05-26 14:11:07 +02005001
Bazel Release System63222de2017-06-06 11:32:04 +02005002
Bazel Release System7b851222017-06-27 15:08:47 +02005003
Bazel Release System195a7a82017-07-27 20:27:32 +02005004
Bazel Release System5371d132017-08-25 11:24:06 +02005005
Bazel Release System471c0e12017-09-28 16:36:12 +02005006
Bazel Release Systemed0ebc02017-10-05 23:52:25 +02005007
Bazel Release System76b6d0a2017-10-18 14:34:11 +02005008
Bazel Release System0838aee2017-11-27 14:16:34 +01005009
Bazel Release System3d53cb02017-12-05 15:28:40 +01005010
Bazel Release System5bd27482018-02-01 09:43:33 +01005011
Bazel Release Systeme1148362018-02-15 10:02:05 +01005012
Bazel Release System09077a32018-02-23 11:09:18 -05005013
Bazel Release Systemc86d6a02018-03-06 19:32:18 +01005014
Bazel Release System546976c2018-04-11 17:34:19 +02005015
Bazel Release System1d9c6062018-04-30 10:45:38 +02005016
Bazel Release System24c68ff2018-05-23 10:59:57 +02005017
Bazel Release System3a592f62018-06-01 15:04:31 +02005018
Bazel Release System513bbf52018-06-08 14:15:20 +02005019
Bazel Release System5013a332018-06-26 14:07:47 +02005020
Bazel Release System1281a022018-07-16 16:13:53 +02005021
Bazel Release System1bd58832018-08-13 15:41:26 +02005022
Bazel Release Systemfdb09a22018-09-14 12:15:54 +02005023
Bazel Release System50921e62018-09-21 12:27:04 +02005024
Bazel Release System36177972018-10-15 10:29:10 +02005025
Bazel Release System92849b82018-10-31 15:41:11 +01005026
Bazel Release System684f1092018-11-12 10:26:58 -05005027
Bazel Release Systemcb3e2982018-11-19 11:19:38 -05005028
Bazel Release System85378562018-11-30 15:34:16 +01005029