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