blob: 37b7eb9f8f7c397b2aeb336946dee13f64ed4acf [file] [log] [blame] [view]
Bazel Release System513bbf52018-06-08 14:15:20 +02001## Release 0.14.1 (2018-06-08)
2
3```
4Baseline: 5c3f5c9be7fa40d4fb3c35756891fab8483ca406
5
6Cherry picks:
7 + f96f037f8f77335dc444844abcc31a372a3e1849:
8 Windows, Java launcher: Support jar files under different drives
9 + ff8162d01409db34893de98bd840a51c5f13e257:
10 sh_configure.bzl: FreeBSD is also a known platform
11 + 7092ed324137f03fcd34856bdb0595a1bdec3069:
12 Remove unneeded exec_compatible_with from local_sh_toolchain
13 + 57bc201346e61c62a921c1cbf32ad24f185c10c9:
14 Do not autodetect C++ toolchain when
15 BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 is present
16 + 35a78c09cf2fbfc3de9c124d2142e3d72aac4348:
17 remote: recursively delete incomplete downloaded output
18 directory.
19 + 3c9cd82b847f3ece8ec04b2029bd5e8ad0eb7502:
20 distfile: pack the archives needed later in the build
21 + 27487c77387e457df18be3b6833697096d074eab:
22 Slightly refactor SpawnAction to improve env handling
23 + 1b333a2c37add9d04fe5bc5258ee4f73c93115e2:
24 Fix Cpp{Compile,Link}Action environment and cache key computation
25 + 3da8929963e9c70dff5d8859d6e988e6e7f4f9d7:
26 Make SymlinkTreeAction properly use the configuration's
27 environment
28 + eca7b81cf8cc51e1fe56e5ed7d4ad5cd1668a17a:
29 Add a missing dependency from checker framework dataflow to
30 javacutils
31 + 10a4de954c2061258d8222961fc3bd39516db49d:
32 Release 0.14.0 (2018-06-01)
33 + 4b80f2455e7e49a95f3a4c9102a67a57dad52207:
34 Add option to enable Docker sandboxing.
35 + 6b1635279e8b33dc1ac505ac81825e38f8797a14:
36 Allow disabling the simple blob caches via CLI flag overrides.
37```
38
39Bug fix for [#5336](https://github.com/bazelbuild/bazel/issues/5336)
40Bug fix fot [#5308](https://github.com/bazelbuild/bazel/issues/5308)
41
Bazel Release System3a592f62018-06-01 15:04:31 +020042## Release 0.14.0 (2018-06-01)
43
44```
45Baseline: 5c3f5c9be7fa40d4fb3c35756891fab8483ca406
46
47Cherry picks:
48 + f96f037f8f77335dc444844abcc31a372a3e1849:
49 Windows, Java launcher: Support jar files under different drives
50 + ff8162d01409db34893de98bd840a51c5f13e257:
51 sh_configure.bzl: FreeBSD is also a known platform
52 + 7092ed324137f03fcd34856bdb0595a1bdec3069:
53 Remove unneeded exec_compatible_with from local_sh_toolchain
54 + 57bc201346e61c62a921c1cbf32ad24f185c10c9:
55 Do not autodetect C++ toolchain when
56 BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 is present
57 + 35a78c09cf2fbfc3de9c124d2142e3d72aac4348:
58 remote: recursively delete incomplete downloaded output
59 directory.
60 + 3c9cd82b847f3ece8ec04b2029bd5e8ad0eb7502:
61 distfile: pack the archives needed later in the build
62 + 27487c77387e457df18be3b6833697096d074eab:
63 Slightly refactor SpawnAction to improve env handling
64 + 1b333a2c37add9d04fe5bc5258ee4f73c93115e2:
65 Fix Cpp{Compile,Link}Action environment and cache key computation
66 + 3da8929963e9c70dff5d8859d6e988e6e7f4f9d7:
67 Make SymlinkTreeAction properly use the configuration's
68 environment
69 + eca7b81cf8cc51e1fe56e5ed7d4ad5cd1668a17a:
70 Add a missing dependency from checker framework dataflow to
71 javacutils
72```
73
74Incompatible changes:
75
76 - Add --incompatible_disallow_legacy_javainfo flag.
77 - Added flag --incompatible_disallow_old_style_args_add to help
78 migrate from args.add() to args.add_all() / args.add_joined()
79 where appropriate.
80
81New features:
82
83 - Bash,runfiles: use the new platform-independent library in
84 `@bazel_tools//tools/bash/runfiles` to access runfiles
85 (data-dependencies). See
86 https://github.com/bazelbuild/bazel/blob/master/tools/bash/runfile
87 s/runfiles.bash for usage information.
88 - TemplateVariableInfo can now be constructed from Skylark.
89 - The java_host_runtime_alias rule is now implemented in Java.
90
91Important changes:
92
93 - Flip default value of --experimental_shortened_obj_file_path to
94 true, Bazel now generates short object file path by default.
95 - Introduce fdo_profile rule that allows architecture-sensitive
96 specification of fdo profiles.
97 - canonicalize-flags no longer reorders the flags
98 - CppRules: optional_compiler_flag was removed from CROSSTOOL, use
99 features instead.
100 - Labels of the form ////foo are disallowed.
101 - The `/` operator is deprecated in favor of `//` (floor integer
102 division).
103 Try the `--incompatible_disallow_slash_operator` flag to ensure
104 your code
105 is forward-compatible.
106 - Flip default value of --experimental_shortened_obj_file_path to
107 true, Bazel now generates short object file path by default.
108 - Exposed "mnemonic" and "env" fields on skylark "Action" objects.
109 - Removed flag `--incompatible_disallow_toplevel_if_statement`.
110 - Remove vestigial 'deps' and 'data' attributes from
111 proto_lang_toolchain
112 - Args objects (ctx.actions.args()) have new methods add_all() and
113 add_joined() for building command lines using depsets.
114 - `FileType` is deprecated and will be removed soon.
115 Try the `--incompatible_disallow_filetype` flag to ensure your
116 code
117 is forward-compatible.
118 - Introduce absolute_path_profile attribute that allows fdo_profile
119 to accept absolute paths.
120 - Support two-arg overloads for ctx.actions.args (eg.
121 args.add("--foo", val))
122 - Introduce 'tools' attribute to ctx.actions.run.
123 - Fixed error message for proguard_apply_dictionary.
124 - "bazel run" now lets one run interactive binaries. The
125 BUILD_WORKSPACE_DIRECTORY and BUILD_WORKING_DIRECTORY environment
126 variables indicate the working directory and the workspace root
127 of the Bazel invocation. Tests are provided with an approximation
128 of the official test environment.
129 - repository rules are no longer restricted to return None.
130 - Add --high_priority_workers flag.
131 - CppRules: Feature configuration can be created from Skylark
132 - Adds new-style JavaInfo provider constructor.
133 - Make java_common.compile now uses java_toolchain javacopts by
134 default; explicitly retrieving them using
135 java_common.default_javac_opts is unnecessary.
136 - CppRules: C++ command lines and env variables for C++ actions can
137 be retrieved from feature configuration.
138 - Skylark rule definitions may advertise providers that targets of
139 the rule must propagate.
140 - Bazel now supports running actions inside Docker containers.
141 To use this feature, run "bazel build --spawn_strategy=docker
142 --experimental_docker_image=myimage:latest".
143 - Remote execution works for Windows binaries with launchers.
144 - Fixing start/end lib expansion for linking. There were many cases
145 where archive files were still being used with toolchains that
146 support start/end lib. This change consolidates the places that
147 make that decision so they can be more consistent.
148 - Add support for reporting an error if
149 android_test.binary_under_test contains incompatible versions of
150 deps
151 - We replaced the --experimental_local_disk_cache and
152 --experimental_local_disk_cache_path flags into a single
153 --disk_cache flag. Additionally, Bazel now tries to create the disk cache
154 directory if it doesn't exist.
155 - Save Blaze memory by not storing LinkerInput objects in
156 LinkCommandLine
157 - In the JavaInfo created by java_common.create_provider now
158 includes both direct and transitive arguments in
159 transitive_compile_time_jars and transitive_runtime_jars
160 - Allow --worker_max_instances to take MnemonicName=value to
161 specify max for each worker.
162 - Allow java_toolchain.header_compiler to be an arbitrary executable
163
Bazel Release System24c68ff2018-05-23 10:59:57 +0200164## Release 0.13.1 (2018-05-23)
165
166```
167Baseline: fdee70e6e39b74bfd9144b1e350d2d8806386e05
168
169Cherry picks:
170 + f083e7623cd03e20ed216117c5ea8c8b4ec61948:
171 windows: GetOutputRoot() returns GetHomeDir()
172 + fa36d2f48965b127e8fd397348d16e991135bfb6:
173 Automated rollback of commit
174 4465dae23de989f1452e93d0a88ac2a289103dd9.
175 + 4abd2babcc50900afd0271bf30dc64055f34e100:
176 Add error message on empty public resources
177 + 2c957575ff24c183d48ade4345a79ffa5bec3724:
178 test-setup: remove leading "./" from test name
179 + e6eaf251acb3b7054c8c5ced58a49c054b5f23b1:
180 Sort entries by segment when building a parent node to prevent
181 unordered directory structures.
182```
183
184Important changes:
185
186 - Remote Execution: Fixes a regression that produces directories with unsorted file/directory lists
187
Bazel Release System1d9c6062018-04-30 10:45:38 +0200188## Release 0.13.0 (2018-04-30)
189
190```
191Baseline: fdee70e6e39b74bfd9144b1e350d2d8806386e05
192
193Cherry picks:
194 + f083e7623cd03e20ed216117c5ea8c8b4ec61948:
195 windows: GetOutputRoot() returns GetHomeDir()
196 + fa36d2f48965b127e8fd397348d16e991135bfb6:
197 Automated rollback of commit
198 4465dae23de989f1452e93d0a88ac2a289103dd9.
199 + 4abd2babcc50900afd0271bf30dc64055f34e100:
200 Add error message on empty public resources
201 + 2c957575ff24c183d48ade4345a79ffa5bec3724:
202 test-setup: remove leading "./" from test name
203```
204
205Incompatible changes:
206
207 - Remove //tools/defaults:android_jar. Use
208 @bazel_tools//tools/android:android_jar instead.
209 - The flag --incompatible_show_all_print_messages is removed.
210 Messages generated by `print` statements from any package will be
211 displayed as
212 DEBUG messages.
213 - The --incompatible_disallow_uncalled_set_constructor flag is no
214 longer available, the `set` constructor` is completely removed
215 from Skylark.
216 Use `depset` instead.
217 - Variables PACKAGE_NAME and REPOSITORY_NAME are deprecated in
218 favor of
219 functions `package_name()` and `repository_name()`.
220
221 https://docs.bazel.build/versions/master/skylark/lib/native.html#p
222 ackage_name
223 - BUILD_TIMESTAMP now contains seconds (and not milliseconds) since
224 the epoch.
225
226New features:
227
228 - Strings have a new .elems() method, that provides an iterator on
229 the characters of the string.
230 - Now you can access three functions in windows_cc_configure.bzl by:
231 load("@bazel_tools/tools/cpp:windows_cc_configure.bzl",
232 "<function_name>")
233
234Important changes:
235
236 - CppRules: Unified action_configs for static libraries
237 - Remove support for blaze dump --vfs. It is no longer meaningful.
238 - Enable dependency checking for aar_import targets.
239 - internal_bootstrap_hack has been deprecated and removed.
240 - Properly handle tree artifacts on the link command line coming
241 from a cc_library dependency.
242 - Allow C++ features to make proto_library emit smaller C++ code
243 - The 'j2objc' configuration fragment is exposed to Skylark.
244 - Remove the default content of the global bazelrc.
245 - In int() function, do not auto-detect base if input starts with
246 '0'.
247 - Users can now pass --experimental_shortened_obj_file_path=true to
248 have a shorter object file path, the object file paths (and all
249 other related paths) will be constructed as following:
250 If there's no two or more source files with the same base name:
251
252 <bazel-bin>/<target_package_path>/_objs/<target_name>/<source_base
253 _name>.<extension>
254 otherwise:
255
256 <bazel-bin>/<target_package_path>/_objs/<target_name>/N/<source_ba
257 se_name>.<extension>
258 N = the file?s order among the source files with the same
259 basename, starts from 0.
260 - Move (c/cxx)opts from legacy_compile_flags to user_compile_flags
261 - CppRules: Remove optional_*_flag fields from CROSSTOOL, they are
262 not
263 used, and could be expressed using features.
264 - Introduce --incompatible_disable_objc_provider_resources to turn
265 off all resource-related fields of the Objc provider.
266 - Removed the statement of "What does Bazel support?" as it's
267 limiting/misleading. Added supported host OSes to
268 "multi-platform" paragraph.
269 - android_library AAR output now contains proguard.txt
270 - Bazel now displays information about remote cache hits and
271 execution strategies used in its UI after every build and test,
272 and adds a corresponding line "process stats" to BuildToolLogs in
273 BEP.
274 - Print correct build result for builds with --aspects flag.
275 - android_binary.manifest_merger is no longer supported.
276
Bazel Release System546976c2018-04-11 17:34:19 +0200277## Release 0.12.0 (2018-04-11)
278
279```
280Baseline: b33e5afa313322a7048044c44d854cbb666b988e
281
282Cherry picks:
283 + 369409995bd75eeb0683fd24f7585d2a90320796:
284 Automated rollback of commit
285 c2b332b45e6ea41a14ecbd3c5f30782bcdeec301.
286 + dbf779869751cc893ba240402d352c6e70be2978:
287 Emit SJD errors even if we don't know the label of a dependency
288 + 4c3098cfa6f00f90c7530b6f40d3e93062931c1d:
289 Android tools: remove mtime-modifications
290 + a1068c44a700ec2cff84cbd12592e9bfea25d754:
291 NDK cc_toolchains: include bundled runtime libraries in
292 cc_toolchain.all_files
293 + b1be5816ec1bf8e1172c1bed4f29b4e6c6bb7202:
294 runfiles,Python: remove library from @bazel_tools
295 + 0a4622012ff796429220fe57d3217f262cc208a8:
296 Fix visibility of def_parser for remote builds
297 + 3c5373c50c7c492842f8a468906eda2c0bc90787:
298 Remove visibility attribute from
299 //third_party/def_parser:def_parser
300 + f54d7e5293cc40ce3507a9adef530e46ab817585:
301 Enable bulk writes in the HttpBlobStore
302 + 04ce86e8ba96630f89a436167b7f3a195c5e50e7:
303 remote/http: properly complete user promise
304```
305
306Incompatible changes:
307
308 - The order of dict-valued attributes is now the order in the BUILD
309 file (or in the Skylark dict they were created from) and not
310 lexicographically sorted.
311
312New features:
313
314 - The new "--direct_run" flag on "blaze run" lets one run
315 interactive binaries.
316 - "blaze run --direct_run" with tests now gives the test an
317 approximation of the official test environment.
318 - "blaze run --direct_run" now exports the
319 BUILD_{WORKSPACE,WORKING}_DIRECTORY variables to tell the binary
320 about the cwd of the client and the workspace root.
321 - New Android device test rule: android_instrumentation_test.
322 - Add option to dump the action graph to a file: 'bazel dump
323 --action_graph=/path/to/file'.
324 - Pass `tags` from `java_import_external` rule to the generated
325 `java_import` rule.
326 - blaze query: use --proto:output_rule_attrs to filter for given
327 attributes
328 - Added Android NDK r15 support, including compatibility with
329 Unified Headers.
330 - Adds --ltobackendopt and --per_file_ltobackendopt for passing
331 options to ThinLTO LTO backend compile actions only.
332
333Important changes:
334
335 - Fix how libraries to link is specified to archiver actions.
336 - Fix how libraries_to_link are expanded in the archiver command
337 line.
338 - stop using --no-locals in android coverage builds
339 - apple_binary can now generate dSYM outputs with the
340 --apple_generate_dsym=true flag.
341 - Fix FDO_STAMP_MACRO to only be set when fdoBuildStamp is not null.
342 - Improved clarity of warning message for unsupported NDK revisions.
343 - Add lint check for discouraging glob(["**/*.java"])
344 - unifly lint glob(["**/*.java"]) message
345 - Removed flags `--incompatible_checked_arithmetic`,
346 `--incompatible_dict_literal_has_no_duplicates`,
347 `--incompatible_disallow_keyword_only_args`, and `
348 --incompatible_comprehension_variables_do_not_leak`.
349 - Add "proto_source_root" flag to proto_library.
350 - Updated default android_cpu value to armeabi-v7a
351 - In skylark, print(target) now shows the provider keys of a
352 target, as debug information.
353 - The native http_archive rule is deprecated. Use the
354 Skylark version available via
355 load("@bazel_tools//tools/build_defs/repo:http.bzl",
356 "http_archive")
357 instead.
358 - flaky_test_attempts supports the regex@attempts syntax, like
359 runs_per_test.
360 - Fixed include paths for NDK r13+ llvm-libc++ headers to
361 `ndk/sources/cxx-stl/llvm-libc++/include` and
362 `ndk/sources/cxx-stl/llvm-libc++abi/include`
363 - --config flags now expand in place by default.
364 - aar_import now sets java.transitive_exports.
365 - repository_cache is no longer experimental and enabled by default.
366 - BAZEL_LINKOPTS is now consulted when autoconfiguring c++ toolchain
367 - The native git_repository rule is deprecated. Use the
368 Skylark version available via
369 load("@bazel_tools//tools/build_defs/repo:git.bzl",
370 "git_repository")
371 instead.
372 - Removed flag `--incompatible_load_argument_is_label`.
373 - CcToolchain: Introduced action_config for
374 "c++-link-transitive-dynamic-library"
375 - Use bazel dump --action_graph=/path/to/action.proto
376 --action_graph:targets://foo:bar,//foo:foo to filter for certain
377 targets in the action graph dump.
378 - Added Android NDK r16 support. Use --cxxopt='-std=c++11` compile
379 with the C++11 standard, and
380 `--android_crosstool_top=@androidndk//:toolchain-libcpp` to use
381 the `libc++` STL.
382 - Add a --build_event_publish_all_actions flag to allow all actions
383 to be published via the BEP.
384 - C++: Introduced --experimental_drop_fully_static_linking_mode
385 - Removed cc_inc_library, please use cc_library instead
386 - CppRules: cc_binary/cc_test now enable 'static_linking_mode' or
387 'dynamic_linking_mode'.
388
Bazel Release Systemc86d6a02018-03-06 19:32:18 +0100389## Release 0.11.1 (2018-03-06)
390
391```
392Baseline: 00d781ae78a8bd51d3c61b621d79f0bb095aff9e
393
394Cherry picks:
395 + ea2d4c475febdbd59ca0e0ba46adc7be759f84e0:
396 Update stub_finds_runfiles_test to be a real sh_test.
397 + d855d8133f4efb73ebd5e82c54a9afb4c7565d46:
398 java,runfiles: fix bugs in runfiles library
399 + 56aeb04a064218b845ecc193d530c341c6ec854d:
400 Fixing #4585: broken re-execution of orphaned actions.
401 + cf3f81aef7c32019d70cbce218a64a03276268f0:
402 remote: Add support for HTTP Basic Auth
403 + 28bd997c1c8793973f63dcae4c22bbae49e7d8b7:
404 Fixing test-setup.sh occasionally missing stdout/stderr, on
405 systems where "tail --pid" is supported.
406 + 109e4b4dc9e786e3a2d8d7cb245d18320dbe9216:
407 Automated rollback of commit
408 7e6837cc1d1aa4259f5c27ba3606b277b5f6c3e9.
409 + b3d52b1b6d46a0f23cc91125c1d522e9d13433b4:
410 Fix incorrect include directories when -no-canonical-prefixes is
411 passed to clang
412 + 1001141f0674ff4b611814edcb00a5183680ef4a:
413 Roll forward of
414 https://github.com/bazelbuild/bazel/commit/3904ac33a983fd8faebba1
415 b52bcac5a3ff942029
416 (https://github.com/bazelbuild/bazel/commit/3904ac33a983fd8faebba
417 1b52bcac5a3ff942029). Fix #4625 by running the test process in a
418 sub-shell.
419 + fc98b44b6181fa4c3efd8613d887970629468d74:
420 android,windows: bugfix in aar_resources_extractor
421```
422
423Important changes:
424
425 - Fixes regression building Android rules on Windows.
426
Bazel Release System09077a32018-02-23 11:09:18 -0500427## Release 0.11.0 (2018-02-23)
428
429```
430Baseline: 00d781ae78a8bd51d3c61b621d79f0bb095aff9e
431
432Cherry picks:
433 + ea2d4c475febdbd59ca0e0ba46adc7be759f84e0:
434 Update stub_finds_runfiles_test to be a real sh_test.
435 + d855d8133f4efb73ebd5e82c54a9afb4c7565d46:
436 java,runfiles: fix bugs in runfiles library
437 + 56aeb04a064218b845ecc193d530c341c6ec854d:
438 Fixing #4585: broken re-execution of orphaned actions.
439 + cf3f81aef7c32019d70cbce218a64a03276268f0:
440 remote: Add support for HTTP Basic Auth
441 + 28bd997c1c8793973f63dcae4c22bbae49e7d8b7:
442 Fixing test-setup.sh occasionally missing stdout/stderr, on
443 systems where "tail --pid" is supported.
444 + 109e4b4dc9e786e3a2d8d7cb245d18320dbe9216:
445 Automated rollback of commit
446 7e6837cc1d1aa4259f5c27ba3606b277b5f6c3e9.
447 + b3d52b1b6d46a0f23cc91125c1d522e9d13433b4:
448 Fix incorrect include directories when -no-canonical-prefixes is
449 passed to clang
450 + 3904ac33a983fd8faebba1b52bcac5a3ff942029:
451 Automated rollback of commit
452 28bd997c1c8793973f63dcae4c22bbae49e7d8b7.
453 + 1001141f0674ff4b611814edcb00a5183680ef4a:
454 Roll forward of
455 https://github.com/bazelbuild/bazel/commit/3904ac33a983fd8faebba1
456 b52bcac5a3ff942029
457 (https://github.com/bazelbuild/bazel/commit/3904ac33a983fd8faebba
458 1b52bcac5a3ff942029). Fix #4625 by running the test process in a
459 sub-shell.
460```
461
462Incompatible changes:
463
464 - ctx.fragments.jvm is not available anymore.
465
466New features:
467
468 - java,runfiles: You can now depend on
469 `@bazel_tools//tools/runfiles:java-runfiles` to get a
470 platform-independent runfiles library for Java. See JavaDoc of
471 https://github.com/bazelbuild/bazel/blob/master/src/tools/runfiles
472 /java/com/google/devtools/build/runfiles/Runfiles.java for usage
473 information.
474
475Important changes:
476
477 - The --[no]experimental_disable_jvm command line option is not
478 supported anymore.
479 - Allow expanding TreeArtifacts for libraries_to_link
480 - Proguarded Android binaries can be built with incremental dexing.
481 - aar_import now supports assets.
482 - Crash in OutputJar::Close has been fixed
483 - generator_* attributes are nonconfigurable.
484 - Introduces --[no]keep_state_after_build
485 - Add support for merged object files needed for -flto-unit.
486 - Fix how libraries to link is specified to archiver actions.
487 - Replace //tools/defaults:android_jar with
488 @bazel_tools//tools/android:android_jar.
489 //tools/defaults:android_jar will be removed in a future release.
490 - java_common.compile supports neverlink
491 - Resolved an issue where a failure in the remote cache would not
492 trigger local re-execution of an action.
493
Bazel Release Systeme1148362018-02-15 10:02:05 +0100494## Release 0.10.1 (2018-02-15)
495
496```
497Baseline: 22c2f9a7722e8c8b7fdf8f5d30a40f1c4118e993
498
499Cherry picks:
500 + f6ca78808722c8c119affdb33400838ee92d44b6:
501 isable_presubmit
502 + 65c13dd5a4c1b4b5a072f7680b8f1cf3c5079b52:
503 Fix StreamResourceLeak error
504 + e5436745e1732f5e43fc55f0deb5b19e23ce8524:
505 windows: fix --symlink_prefix=/ throwing exception
506 + 22ccdd1ebe1dc495e05d894a3325f6b05e681fb3:
507 Fix turbine command lines with empty javacopts
508 + 96c654d43eb2906177325cbc2fc2b1e90dbcc792:
509 Remove EOL'd Linux flavours, bump CentOS to 6.9.
510 + f0bec36864f10370cbbda4caa8beac2e0c5ee45b:
511 Automated rollback of commit
512 2aeaeba66857c561dd6d63c79a213f1cabc3650d.
513 + 860af5be10b6bad68144d9d2d34173e86b40268c:
514 Consolidate Error Prone resource handling
515 + 2e631c99495f75270d2639542cefb531ec262d67:
516 sandbox: properly add `tmpDir` to `writablePaths`
517 + 5bfa5844d0d16d71e88002956e88402bfec88ef7:
518 actions,temp: respect TMPDIR envvar
519 + 6cc2ad8676d1ae0542b351a07a05ddbe5efac165:
520 sandbox: add env[TMPDIR] instead of `tmpDir`
521 + 40c757f4ab90214f95935672532a495c4551490a:
522 Change git clone to pull all history, so all needed commits can
523 be accessed.
524 + 56aeb04a064218b845ecc193d530c341c6ec854d:
525 Fixing #4585: broken re-execution of orphaned actions.
526```
527
528Important changes:
529
530 - Resolved an issue where a failure in the remote cache would not
531 trigger local re-execution of an action.
532
Bazel Release System5bd27482018-02-01 09:43:33 +0100533## Release 0.10.0 (2018-02-01)
534
535```
536Baseline: 22c2f9a7722e8c8b7fdf8f5d30a40f1c4118e993
537
538Cherry picks:
539 + f6ca78808722c8c119affdb33400838ee92d44b6:
540 isable_presubmit
541 + 65c13dd5a4c1b4b5a072f7680b8f1cf3c5079b52:
542 Fix StreamResourceLeak error
543 + e5436745e1732f5e43fc55f0deb5b19e23ce8524:
544 windows: fix --symlink_prefix=/ throwing exception
545 + 22ccdd1ebe1dc495e05d894a3325f6b05e681fb3:
546 Fix turbine command lines with empty javacopts
547 + 96c654d43eb2906177325cbc2fc2b1e90dbcc792:
548 Remove EOL'd Linux flavours, bump CentOS to 6.9.
549 + f0bec36864f10370cbbda4caa8beac2e0c5ee45b:
550 Automated rollback of commit
551 2aeaeba66857c561dd6d63c79a213f1cabc3650d.
552 + 860af5be10b6bad68144d9d2d34173e86b40268c:
553 Consolidate Error Prone resource handling
554 + 2e631c99495f75270d2639542cefb531ec262d67:
555 sandbox: properly add `tmpDir` to `writablePaths`
556 + 5bfa5844d0d16d71e88002956e88402bfec88ef7:
557 actions,temp: respect TMPDIR envvar
558 + 6cc2ad8676d1ae0542b351a07a05ddbe5efac165:
559 sandbox: add env[TMPDIR] instead of `tmpDir`
560 + 40c757f4ab90214f95935672532a495c4551490a:
561 Change git clone to pull all history, so all needed commits can
562 be accessed.
563```
564
565Incompatible changes:
566
567 - In order to access the template variables $(JAVA) and
568 $(JAVABASE), @bazel_tools//tools/jdk:current_java_runtime needs
569 to be added to the toolchains= attribute from now on.
570 - The ctx.middle_man function is not supported anymore.
571 - The flag --incompatible_list_plus_equals_inplace is removed, its
572 default behavior is preserved. += on lists now always mutates the
573 left hand
574 side.
575 - --android_sdk no longer supports filegroup targets.
576 - android_* rules no longer support legacy_native_support attribute.
577
578New features:
579
580 - query: Add option --noproto:flatten_selects to turn off
581 flattening of selector lists in proto output.
582 - New android test rule, android_local_test.
583
584Important changes:
585
586 - The --remote_rest_cache flag now respects --remote_timeout.
587 - --experimental_java_coverage is available for testing.
588 - The deprecated builtin `set` is no longer allowed even from within
589 unexecuted code in bzl files. It's temporarily possible to use
590 --incompatible_disallow_uncalled_set_constructor=false if this
591 change causes
592 incompatibility issues.
593 - Linkstamping is now a separate and full-blown CppCompileAction,
594 it's
595 no longer a part of linking command.
596 - Using `+`, `|` or `.union` on depsets is now deprecated. Please
597 use the new
598 constructor instead (see
599 https://docs.bazel.build/versions/master/skylark/depsets.html).
600 - config_feature_flag's default_value is optional. It is
601 only an error to have a config_feature_flag with no default_value
602 if that config_feature_flag has not been set in the configuration
603 it is being evaluated in.
604 - --[no]keep_incrementality_data is gone, replaced by the
605 enum-valued --incremental_state_retention_strategy
606 - Linkstamping is now a separate and full-blown CppCompileAction,
607 it's
608 no longer a part of linking command.
609 - Added --checkHashMismatch flag to ZipFilterAction. Valid values
610 are IGNORE, WARN and ERROR. --errorOnHashMismatch is deprecated,
611 please use this flag instead.
612 - Set build jobs equivalent to number of logical processors by
613 default. Should improve build times significantly.
614 - Added --(no)expand_test_suites flag.
615 - Rename --keep_incrementality_data to --track_incremental_state
616 - --remote_rest_cache was renamed to --remote_http_cache. Both
617 options keep working in this release, but --remote_rest_cache
618 will be
619 removed in the next release.
620 - Aspects-on-aspect see and propagate over aspect attributes.
621 - --auth_* flags were renamed to --google_* flags. The old names
622 will continue to work for this release but will be removed in the
623 next
624 release.
625 - Remote Caching and Execution support output directories.
626 - Remove defunct flags
627 --experimental_incremental_dexing_for_lite_proto and
628 --experimental_incremental_dexing_error_on_missed_jars that have
629 long been enabled by default
630 - New version of aapt2 and Resources.proto.
631 - Make PIC and non PIC outputs for C++ compilation with Tree
632 Artifacts
633
Bazel Release System7b423cc2017-12-19 10:31:05 +0100634## Release 0.9.0 (2017-12-19)
Bazel Release System3d53cb02017-12-05 15:28:40 +0100635
636```
Bazel Release System7b423cc2017-12-19 10:31:05 +0100637Baseline: ddd5ac16aeffa6c4693c348f73e7365240b1abc5
Bazel Release System3d53cb02017-12-05 15:28:40 +0100638
639Cherry picks:
Bazel Release System7b423cc2017-12-19 10:31:05 +0100640 + 2cf560f83922e6df9626ba3ee063c1caf6797548:
641 Update version of re2
642 + a2d2615362c65be98629b39ce39754a325ed1c42:
643 Check for null build file returned from getBuildFileForPackage.
644 + 68c577afc2fb33b5e66b820bcc9043fed1071456:
645 Fix some broken targets and failing tests.
646 + 766ba8adc4487f17ebfc081aeba6f34b18b53d6c:
Bazel Release System3d53cb02017-12-05 15:28:40 +0100647 Automated rollback of commit
Bazel Release System7b423cc2017-12-19 10:31:05 +0100648 337f19cc54e77c45daa1d5f61bf0a8d3daf8268f.
649 + a22d0e9c14e58b29d81f5a83bdcc6e5fce52eafe:
650 Fix: uploading artifacts of failed actions to remote cache
651 stopped working.
652 + 03964c8ccb20d673add76c7f37245e837c3899b6:
653 [java_common.compile] Name output source jar relative to the
654 output jar name
Bazel Release System3d53cb02017-12-05 15:28:40 +0100655```
656
Bazel Release System7b423cc2017-12-19 10:31:05 +0100657Incompatible changes:
658
659 - The deprecated `set` constructor is removed, along with the
660 migration flag --incompatible_disallow_set_constructor. It is
661 still temporarily
662 allowed to refer to `set` from within unexecuted code.
663 - The flag --incompatible_disallow_set_constructor is no longer
664 available, the deprecated `set` constructor is not available
665 anymore.
666 - The path to the JVM executable is not accessible anymore as
667 ctx.{fragments,host_fragments}.jvm.java_executable. Use
668 JavaRuntimeInfo.java_executable_exec_path instead.
669 - --clean_style is no longer an option.
670
671New features:
672
673 - Users can use win_def_file attribute to specify a DEF file for
674 exporting symbols when build a shared library on Windows.
675 - Add --experimental_android_resource_cycle_shrinking option to
676 allow for more aggressive code and resource shrinking.
677
678Important changes:
679
680 - Late-bound attributes are exposed to skylark. This is a new API
681 (`configuration_field()`) to depend on certain
682 configuration-defined targets from skylark rules.
683 - Document interaction between test_suite and target exclusions
684 - AAR manifest files will come from the processed resource APK if it
685 exists.
686 RELNOTES: None for Blaze users.
687 - Document interaction between test_suite and target exclusions
688 - --keep_incrementality_data flag allows Bazel servers to be run in
689 memory-saving non-incremental mode independent of --batch and
690 --discard_analysis_cache.
691 - Add deps attribute to Skylark maven_aar and maven_jar workspace
692 rules.
693 - Use --expand_configs_in_place as a startup argument to change the
694 order in which --config expansions are interpreted.
695 - SOURCE_DATE_EPOCH
696 (https://reproducible-builds.org/specs/source-date-epoch/) can
697 be used to override the timestamp used for stamped target (when
698 using --stamp).
699 - Package specifications can now be prefixed with `-` to indicate
700 negation
701 - transitive_source_jars is now exposed on JavaInfo.
702 - Add six to deps of has_services=1 py_proto_librarys.
703 - java_tests no complain when use_testrunner is explicitly set to 1
704 and main_class is set.
705 - transitive_source_jars is now exposed on JavaInfo.
706 - Debug messages generated by `print()` are not being filtered out
707 by --output_filter anymore, it's recommended not to use them in
708 production code.
709 - in the Label() function, relative_to_caller_repository is now
710 deprecated.
711 - java_tests no complain when use_testrunner is explicitly set to 1
712 and main_class is set.
713 - Bazel's default hash function was changed from MD5 to SHA256.
714 In particular, this affects users of remote caching and
715 execution, as
716 all hashes will be SHA256 by default.
717 - Remove redirects for domains be.bazel.build and cr.bazel.build
718 from the source for docs.bazel.build (because those subdomains
719 don't resolve here; they resolve to bazel.build, which has the
720 redirects for them)
721 - First argument of 'load' must be a label. Path syntax is removed.
722 (label should start with '//' or ':').
723 - Document startup option --host_javabase
724 - The --host_platform and --platform flags are no longer
725 experimental.
Bazel Release System3d53cb02017-12-05 15:28:40 +0100726
Bazel Release System0838aee2017-11-27 14:16:34 +0100727## Release 0.8.0 (2017-11-27)
728
729```
730Baseline: cff0dc94f6a8e16492adf54c88d0b26abe903d4c
731
732Cherry picks:
733 + 8a49b156c4edf710e3e1e0acfde5a8d27cc3a086:
734 Fix ImportError on tools.android for junction_lib
735 + 275ae45b1228bdd0f912c4fbd634b29ba4180383:
736 Automated rollback of commit
737 4869c4e17d5b1410070a1570f3244148d8f97b5d.
738 + d0bf589f2716b3d139c210930371a684c6e158eb:
739 Add a random number to action temp dir
740 + 9738f35abddb7ef7a7ef314b5d2a52a3be1b830a:
741 CcProtoLibrary: Don't add dynamic librarys to filesToBuild on
742 Windows
743 + 0d6ff477099fdf6c8c1c7d4e2104f9184afe0a2b:
744 Automated rollback of commit
745 0ebb3e54fc890946ae6b3d059ecbd50e4b5ec840.
746```
747
748Incompatible changes:
749
750 - ctx.fragments.apple.{xcode_version,ios_minimum_os} is not
751 supported anymore. The same information is accessible through the
752 target @bazel_tools//tools/osx:current_xcode_config: point an
753 implicit attribute to it (i.e.
754 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
755 nfig")) then use
756 ctx.attr._xcode_config[apple_common].XcodeVersionConfig].
757 - ctx.fragments.apple.minimum_os_for_platform_type is not supported
758 anymore. The same information is accessible through the target
759 @bazel_tools//tools/osx:current_xcode_config: point an implicit
760 attribute to it (i.e.
761 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
762 nfig")) then use
763 ctx.attr._xcode_config[apple_common].XcodeVersionConfig].minimum_o
764 s_for_platform_type .
765 - ctx.fragments.apple.sdk_version_for_platform is not supported
766 anymore. The same information is accessible through the target
767 @bazel_tools//tools/osx:current_xcode_config: point an implicit
768 attribute to it (i.e.
769 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
770 nfig")) then use
771 ctx.attr._xcode_config[apple_common].XcodeVersionConfig].sdk_versi
772 on_for_platform .
773 - --javabase=<absolute path> and --host_javabase=<absolute path>
774 are not supported anymore. If you need this functionality
775 java_runtime_suite(name="suite", default=":runtime")
776 java_runtime(name="runtime", java_home=<path to the JDK>) is an
777 alternative.
778 - The flag --incompatible_descriptive_string_representations is no
779 longer available, old style string representations of objects are
780 not supported
781 anymore.
782 - The flag --incompatible_disallow_set_constructor is no longer
783 available, the deprecated `set` constructor is not available
784 anymore.
785 - += on lists now mutates them. `list1 += list2` is now equivalent
786 to `list1.extend(list2)` and not equivalent to `list1 = list1 +
787 list2` anymore.
788 - the target_apple_env and apple_host_system_env methods on
789 ctx.fragments.apple are not supported anymore. The same
790 information is accessible through apple_common.target_apple_env
791 and apple_common.apple_host_system_env . They need the Xcode
792 configuration as an argument, which can be obtained by declaring
793 an implicit dependency on it (i.e.
794 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
795 nfig")) and then calling e.g.
796 apple_common.apple_host_system_env(ctx.attr._xcode_config[apple_co
797 mmon.XcodeVersionConfig]).
798 - C++ toolchain identifiers are not in the name of the output
799 directory anymore.
800 - Selecting on "xcode_version" and
801 "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
802 What was config_setting(values={"$FOO_version": $VALUE}) is now
803 config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version_
804 flag": $VALUE}).
805 - Selecting on "xcode_version" and
806 "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
807 What was config_setting(values={"$FOO_version": $VALUE}) is now
808 config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version_
809 flag": $VALUE}).
810 - The flag --incompatible_disallow_set_constructor is no longer
811 available, the deprecated `set` constructor is not available
812 anymore.
813 - Selecting on "xcode_version" and
814 "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
815 What was config_setting(values={"$FOO_version": $VALUE}) is now
816 config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_versi...
817
818New features:
819
820 - runfiles, sh: Shell scripts may now depend on
821 //src/tools/runfiles:runfiles_sh_lib and source runfiles.sh. The
822 script defines the `rlocation` function which returns runfile
823 paths on every platform.
824 - In addition to $(location), Bazel now also supports $(rootpath)
825 to obtain
826 the root-relative path (i.e., for runfiles locations), and
827 $(execpath) to
828 obtain the exec path (i.e., for build-time locations)
829
830Important changes:
831
832 - android_binary now supports custom debug keys via the debug_key
833 attribute.
834 - Updated Android proguard to 5.3.3. It now works with android-24+.
835 - --experimental_use_parallel_android_resource_processing and
836 --experimental_android_use_nocompress_extensions_on_apk are
837 removed. These features are fully rolled out.
838 - Fixes #2574
839 - Fixes #3834
840 - Enable experimental UI by default.
841 - .
842 RELNOTES: None.
843 RELNOTES: No.
844 - Add memory profiler.
845 - [Bazel] {java,cc}_proto_library now look for dependencies in
846 @com_google_protobuf, instead of in @com_google_protobuf_$LANG
847 - Improved merge.sh script in cookbook.
848 - Fixing regression to --experimental_remote_spawn_cache
849 - Support for linker scripts in NativeDepsHelper (e.g.,
850 android_binary)
851 - Skylark semantics flags now affect WORKSPACE files and repository
852 rules.
853 - ctx.outputs.executable is deprecated. Use DefaultInfo(executable
854 = ...) instead.
855 - Update "mirror.bazel.build" urls to use https.
856 - Improve --config logging when --announce_rc is present.
857 - Document interaction between test_suite and target exclusions
858 - Replace version numbers for Bazel installers with "<version>"
859 (because this will change often)
860 - Published command lines should have improved lists of effective
861 options.
862 - --incremental_dexing_binary_types has been removed. All builds
863 are supported by incremental dexing (modulo proguard and some
864 blacklisted dx flags).
865 - Document --host_javabase, --host_java_toolchain
866
Bazel Release System76b6d0a2017-10-18 14:34:11 +0200867## Release 0.7.0 (2017-10-18)
868
869```
870Baseline: 5cc6246d429f7d9119b97ce263b4fd6893222e92
871
872Cherry picks:
873 + e79a1107d90380501102990d82cbfaa8f51a1778:
874 Windows,bootstrapping: fix build_windows_jni.sh
875```
876
877Incompatible changes:
878
879 - The --output=location flag to 'bazel query' cannot be used with
880 query expressions that involve the 'buildfiles' or 'loadfiles'
881 operators. This also applies to 'genquery' rules.
882 - Operators for equality, comparison, 'in' and 'not in' are no
883 longer associative,
884 e.g. x < y < z is now a syntax error. Before, it was parsed
885 as: (x < y) < z.
886 - In strings, octal sequences greater than \377 are now forbidden
887 (e.g. "\\600").
888 Previously, Blaze had the same behavior as Python 2, where
889 "\\450" == "\050".
890 - Using tabulation for identation is now fobidden in .bzl files
891 - `load` is now a language keyword, it cannot be used as an
892 identifier
893 - lvalues must have define at least one variable (i.e. we forbid
894 `[] = f()`).
895 - Fixed a bug whereby multiple load() statements could appear on
896 the same line
897 - -extra_checks:off is no longer supported; use
898 -XepDisableAllChecks instead
899 - java_common.java_toolchain_attr is removed. Depend on the
900 java_toolchain_alias() rule to accomplish the same thing.
901 - cc_common.cc_toolchain_attr and java_common.java_runtime_attr are
902 not supported anymore and were replaced with the
903 cc_toolchain_alias() and java_runtime_alias() rules.
904 - Noop flag --deprecated_generate_xcode_project deleted.
905 - Objects in Skylark are converted to strings in a more descriptive
906 and less harmful way (they don't leak information that shouldn't
907 be accessed by Skylark code, e.g. nondeterministic memory addresses
908 of objects).
909 - `set` is deprecated in BUILD and .bzl files, please use `depset`
910 instead. Ordering names have also been changed, please use "default",
911 "postorder", "preorder", and "topological" instead of "stable",
912 "compile", "naive_link", and "link" correspondingly.
913 - Integer overflow (on signed 32 bit numbers) in BUILD/bzl files is
914 an error.
915 - Keyword-only syntax in a function definition is now forbidden
916 e.g. `def foo(a, *, b)` or `def foo(a, *b, c)`
917 - --incompatible_comprehension_variables_do_not_leak defaults to
918 "true."
919 Iteration variable becomes inaccessible after a list/dict
920 comprehension.
921 - @bazel_tools//tools/build_defs/docker:docker.bzl is no longer
922 available, please see https://github.com/bazelbuild/rules_docker.
923
924New features:
925
926 - Zipped LLVM profiles are now supported.
927 - LIPO maps to ThinLTO for LLVM builds.
928 - Change to handle LLVM FDO zipped profile contents correctly.
929 - Do not disable fully dynamic linking with ThinLTO when invoked
930 via LIPO options.
931 - There is now a 'siblings' query function. See the query
932 documentation for more details.
933 - Added the print_action command, which outputs the
934 actions needed to build a given target in the form of an
935 ExtraActionSummary proto in text format.
936 - android_binary now supports proguard_apply_dictionary to specify
937 a custom dictionary to use for choosing names to obfuscate
938 classes and members to.
939
940Important changes:
941
942 - Windows: bazel clean --expunge works
943 - First argument of 'load' should be a label. Path syntax is
944 deprecated (label should start with '//' or ':').
945 - Octal prefix '0' is deprecated in favor of '0o' (use 0o777
946 instead of 0777).
947 - The extension_safe attribute of apple_binary no longer validates
948 transitive dependencies are compiled against extension_safe APIs.
949 - Parentheses around the tuple are now mandatory in [a for b in c
950 if 1, 2]
951 - Adjust the thresholds for --test_verbose_timeout_warnings so that
952 it can recommending timeout increases and won't recommend
953 timeouts that are too close to the actual timeout.
954 - Iterating on a `depset` object is deprecated. If you need an
955 iterable, call the `.to_list()` method first.
956 - Bazel now uses tools from action_configs in Crosstool by default
957 (as oposed to using top level tools).
958 - Incremental dexing errors on combination of --multidex=off and
959 either --main-dex-list or --minimal-main-dex.
960 - When using the dictionary literal syntax, it is now an error to
961 have duplicated keys (e.g. {'ab': 3, 'ab': 5}).
962 - New property on android_sdk: aapt2
963 Choose the version of aapt on android_binary
964 - Add idl_preprocessed attribute to android_library, so that
965 preprocessed aidl files can be passed to android_library for
966 compiling
967 - Bazel's remote_worker backend for remote execution supports
968 sandboxing on Linux now. Check
969 https://github.com/bazelbuild/bazel/blob/master/src/tools/remote_w
970 orker/README.md for details.
971 - Allows flags that expand to take values.
972 - Make querying attributes formed by selector lists of list types
973 more efficient by no longer listing every possible combination of
974 attribute value but by more compactly storing the possible values
975 of the list.
976 - writing build events to a file is no longer experimental
977 - set --rewrite_calls_to_long_compare to false by default.
978 - ObjC and C++ coverage feature is unified under name 'coverage'
979 - Enable --incremental_dexing for Android builds by default. Note
980 that some dexopts are incompatible with incremental dexing,
981 including --force-jumbo.
982 - Evaluation will soon use checked arithmetics and throw an error
983 instead of overflow/underflow.
984 - Implicit iteration in the CROSSTOOL has been removed, use
985 explicit 'iterate_over' message.
986 - Add option for Android specific grte_top
987 - Crosstool patches are only applied if the toolchain doesn't define
988 'no_legacy_features' feature.
989 - 'platform_type' is now a mandatory attribute on apple_binary and
990 apple_static_library rules.
991 If this change breaks your build, feel free to add platform_type
992 = 'ios' to any apple_binary and apple_static_library
993 targets in your project, as this was the previous default
994 behavior.
995 - Remove apple_watch2_extension build rule. Users should be using
996 the skylark watchos_application and watchos_extension rules.
997 https://github.com/bazelbuild/rules_apple has details.
998 - Check stderr to detect if connected to a terminal. Deprecate
999 --isatty.
1000 - Commands that shut down the server (like "shutdown") now ensure
1001 that the server process has terminated before the client process
1002 terminates.
1003 - Remove apple_watch1_extension and apple_watch_extension_binary
1004 rules. Users should be using the skylark watchos_application and
1005 watchos_extension rules.
1006 https://github.com/bazelbuild/rules_apple has details.
1007 - Windows: Wrapper-less CROSSTOOL becomes default now.
1008 set USE_MSVC_WRAPPER=1 if you still want to use wrapper script.
1009 - Ignore --glibc in the Android transition.
1010 - Remove --experimental_android_use_singlejar_for_multidex.
1011 - nocopts now also filter copts
1012 - 'strip' action is now configured via feature configuration
1013 - The Build Event Service (BES) client now properly supports
1014 Google Applicaton Default Credentials.
1015 - Flags from action_config get added first to the command line
1016 first, before the flags from features.
1017 - update dexing tools to Android SDK 26.0.1
1018 - Bazel Android support now requires build-tools 26.0.1 or later.
1019 - `bazel info output_path` no longer relies on the root directory
1020 filename being equal to the workspace name.
1021 - The `print` function now prints debug messages instead of
1022 warnings.
1023 - speedup of incremental dexing tools
1024 - --announce_rc now controls whether bazelrc startup options are
1025 printed to stderr.
1026 - Removing a few unused objc_provider keys.
1027 - Improved logging when workers have to be restarted due to its
1028 files having changed.
1029 - Top-level `if` statements are now forbidden.
1030 - Java protos are compiled to Java 7 bytecode.
1031 - All Android builds now use the desugar tool to support some Java
1032 8 features by default. To disable, use the --nodesugar_for_android flag.
1033 - Skylark-related options may now appear as "common" command
1034 options in the .bazelrc
1035 - Python is now required to build bazel.
1036 - New --build_runfile_manifests flag controls production of
1037 runfiles manifests.
1038 - Enable debug info for Java builds
1039 - Allow java_lite_proto_library in the deps of android rules.
1040 - .so files in APKs will be memory-page aligned when
1041 android_binary.nocompress_extensions contains ".so" and
1042 --experimental_android_use_nocompress_extensions_on_apk is
1043 specified.
1044 - Skylark providers can specify allowed fields and their
1045 documentation.
1046 - Support ctx.actions.args() for more efficient Skylark command
1047 line construction.
1048 - The remote HTTP/1.1 caching client (--remote_rest_cache) now
1049 distinquishes between action cache and CAS. The request URL for
1050 the action cache is prefixed with 'ac' and the URL for the CAS
1051 is prefixed with 'cas'.
1052 - `JavaInfo` is a preferred alias to `java_common.provider`.
1053 - J2ObjC version updated to 2.0.3.
1054 - A new Java coverage implementation is available. Makes possible
1055 coverage for Skylark JVM rules.
1056 - Make proguard_apply_dictionary also apply to class and package
1057 obfuscation, not just class members.
1058 - android_binary.nocompress_extensions now applies to all files in
1059 the APK, not just resources and assets.
1060 - The apple_genrule rule that is distributed with Bazel has been
1061 deleted. Users who wish to use genrules with Xcode's
1062 DEVELOPER_DIR set should use the rules in
1063 https://github.com/bazelbuild/rules_apple instead.
1064 - The swift_library rule that is distributed with Bazel has been
1065 deleted. Users who wish to compile Swift should use the rules in
1066 https://github.com/bazelbuild/rules_apple instead.
1067 - The Build Event Protocol's File.uri field is now properly
1068 encoded according to RFC2396.
1069 - Deprecated: Using the android_library.deps attribute to
1070 implicitly export targets to dependent rules. If your code is
1071 using this feature, Bazel will raise a warning. To fix, please
1072 use android_library.exports to explicitly specify exported
1073 targets. Run with
1074 --experimental_allow_android_library_deps_without_srcs=false to
1075 ensure forward compatibility when this feature is removed in a
1076 future release.
1077 - java_common.create_provider is now supported with creating ijars
1078 by default. This introduces incompatibilities for existing users.
1079 Please set use_ijar=False if you don't want to use ijars.
1080 - Tests can now write files to TEST_UNDECLARED_OUTPUTS_DIR and
1081 TEST_UNDECLARED_OUTPUTS_ANNOTATIONS_DIR and these will be
1082 reflected under bazel-testlogs.
1083 - remove unused --host_incremental_dexing flag
1084 - Stop using --undefined dynamic_lookup in Apple links. Enables
1085 unresolved symbol errors.
1086 - All test output files included for cached, uncached, and multiple
1087 attempt tests.
1088 - Android rules no longer restrict the manifest file to be named
1089 "AndroidManifest.xml".
1090 - Boolean flag values will now get normalized to 1 or 0 in
1091 canonicalize-flags output.
1092 - added experimental --use_new_category_enum to the help command to
1093 output options grouped by the new type of category.
1094 - Expose output jars and jdeps in java_common.provider, when
1095 available.
1096 - android_library targets are no longer allowed to use deps to
1097 export targets implicitly; please use android_library.exports
1098 instead.
1099 - New depset API
1100 - apple_binary and apple_static_library no longer support
1101 compilation attributes such as 'srcs'. If this breaks any
1102 existing targets, you may migrate all such attributes to a new
1103 objc_library target and depend on that objc_library target via
1104 the 'deps' attribute of apple_binary or apple_static_library.
1105
Bazel Release Systemed0ebc02017-10-05 23:52:25 +02001106## Release 0.6.1 (2017-10-05)
1107
1108```
1109Baseline: 87cc92e5df35d02a7c9bc50b229c513563dc1689
1110
1111Cherry picks:
1112 + a615d288b008c36c659fdc17965207bb62d95d8d:
1113 Rollback context.actions.args() functionality.
1114 + 7b091c1397a82258e26ab5336df6c8dae1d97384:
1115 Add a global failure when a test is interrupted/cancelled.
1116 + 95b0467e3eb42a8ce8d1179c0c7e1aab040e8120:
1117 Cleanups for Skylark tracebacks
1118 + cc9c2f07127a832a88f27f5d72e5508000b53429:
1119 Remove the status xml attribute from AntXmlResultWriter
1120 + 471c0e1678d0471961f1dc467666991e4cce3846:
1121 Release 0.6.0 (2017-09-28)
1122 + 8bdd409f4900d4574667fed83d86b494debef467:
1123 Only compute hostname once per server lifetime
1124 + 0bc9b3e14f305706d72180371f73a98d6bfcdf35:
1125 Fix bug in NetUtil caching.
1126```
1127
1128Important changes:
1129 - Only compute hostname once per server lifetime
1130
Bazel Release System471c0e12017-09-28 16:36:12 +02001131## Release 0.6.0 (2017-09-28)
1132
1133```
1134Baseline: 87cc92e5df35d02a7c9bc50b229c513563dc1689
1135
1136Cherry picks:
1137 + a615d288b008c36c659fdc17965207bb62d95d8d:
1138 Rollback context.actions.args() functionality.
1139 + 7b091c1397a82258e26ab5336df6c8dae1d97384:
1140 Add a global failure when a test is interrupted/cancelled.
1141 + 95b0467e3eb42a8ce8d1179c0c7e1aab040e8120:
1142 Cleanups for Skylark tracebacks
1143 + cc9c2f07127a832a88f27f5d72e5508000b53429:
1144 Remove the status xml attribute from AntXmlResultWriter
1145```
1146
1147Incompatible changes:
1148
1149 - Noop flag --deprecated_generate_xcode_project deleted.
1150 - Objects in Skylark are converted to strings in a more descriptive
1151 and less harmful way (they don't leak information that shouldn't
1152 be accessed by Skylark code, e.g. nondeterministic memory addresses
1153 of objects).
1154 - `set` is deprecated in BUILD and .bzl files, please use `depset`
1155 instead. Ordering names have also been changed, please use
1156 "default", "postorder", "preorder", and "topological" instead of
1157 "stable", "compile", "naive_link", and "link" correspondingly.
1158 - Integer overflow (on signed 32 bit numbers) in BUILD/bzl files is
1159 an error.
1160 - Keyword-only syntax in a function definition is now forbidden
1161 e.g. `def foo(a, *, b)` or `def foo(a, *b, c)`
1162 - --incompatible_comprehension_variables_do_not_leak defaults to
1163 "true."
1164 Iteration variable becomes inaccessible after a list/dict
1165 comprehension.
1166
1167New features:
1168
1169 - There is now a 'siblings' query function. See the query
1170 documentation for more details.
1171 - Added the print_action command, which outputs the
1172 actions needed to build a given target in the form of an
1173 ExtraActionSummary proto in text format.
1174 - android_binary now supports proguard_apply_dictionary to specify
1175 a custom dictionary to use for choosing names to obfuscate
1176 classes and members to.
1177
1178Important changes:
1179
1180 - 'strip' action is now configured via feature configuration
1181 - Flags from action_config get added first to the command line
1182 first,
1183 before the flags from features.
1184 - `bazel info output_path` no longer relies on the root directory
1185 filename being equal to the workspace name.
1186 - The `print` function now prints debug messages instead of
1187 warnings.
1188 - speedup of incremental dexing tools
1189 - --announce_rc now controls whether bazelrc startup options are
1190 printed to stderr.
1191 - Removing a few unused objc_provider keys.
1192 - Improved logging when workers have to be restarted due to its
1193 files having changed.
1194 - Top-level `if` statements are now forbidden.
1195 - Java protos are compiled to Java 7 bytecode.
1196 - All Android builds now use the desugar tool to support some Java
1197 8 features by default. To disable, use the
1198 --nodesugar_for_android flag.
1199 - Skylark-related options may now appear as "common" command
1200 options in the .bazelrc
1201 - Python is now required to build bazel.
1202 - When the lvalue of an augmented assignment is a list, we now
1203 throw an error
1204 before evaluating the code (e.g. `a, b += 2, 3`).
1205 - New --build_runfile_manifests flag controls production of
1206 runfiles manifests.
1207 - Enable debug info for Java builds
1208 - Allow java_lite_proto_library in the deps of android rules.
1209 - .so files in APKs will be memory-page aligned when
1210 android_binary.nocompress_extensions contains ".so" and
1211 --experimental_android_use_nocompress_extensions_on_apk is
1212 specified.
1213 - Skylark providers can specify allowed fields and their
1214 documentation.
1215 - Support ctx.actions.args() for more efficient Skylark command
1216 line construction.
1217 - The remote HTTP/1.1 caching client (--remote_rest_cache) now
1218 distinquishes between action cache and CAS. The request URL for
1219 the action cache is prefixed with 'ac' and the URL for the CAS
1220 is prefixed with 'cas'.
1221 - `JavaInfo` is a preferred alias to `java_common.provider`.
1222 - J2ObjC version updated to 2.0.3.
1223 - A new Java coverage implementation is available. Makes possible
1224 coverage for Skylark JVM rules.
1225 - Make proguard_apply_dictionary also apply to class and package
1226 obfuscation, not just class members.
1227 - When using the dictionary literal syntax, it is now an error to
1228 have duplicated keys (e.g. {'ab': 3, 'ab': 5}).
1229 - android_binary.nocompress_extensions now applies to all files in
1230 the APK, not just resources and assets.
1231 - The apple_genrule rule that is distributed with Bazel has been
1232 deleted. Users who wish to use genrules with Xcode's
1233 DEVELOPER_DIR set should use the rules in
1234 https://github.com/bazelbuild/rules_apple instead.
1235 - The swift_library rule that is distributed with Bazel has been
1236 deleted. Users who wish to compile Swift should use the rules in
1237 https://github.com/bazelbuild/rules_apple instead.
1238
Bazel Release System5371d132017-08-25 11:24:06 +02001239## Release 0.5.4 (2017-08-25)
1240
1241```
1242Baseline: 6563b2d42d29196432d5fcafa0144b8371fbb028
1243
1244Cherry picks:
1245 + d4fa181f8607c35230b7efa1ce94188b51508962:
1246 Use getExecPathString when getting bash_main_file
1247 + 837e1b3d4859140d29aaa6bbab8fbb008e6d701e:
1248 Windows, sh_bin. launcher: export runfiles envvars
1249 + fe9ba893c0ebec19228086356af5fa8d81f2809b:
1250 grpc: Consolidate gRPC code from BES and Remote Execution. Fixes
1251 #3460, #3486
1252 + e8d4366cd374fba92f1425de0d475411c8defda4:
1253 Automated rollback of commit
1254 496d3ded0bce12b7371a93e1183ba30e6aa88032.
1255 + 242a43449dd44a22857f6ce95f7cc6a7e134d298:
1256 bes,remote: update default auth scope.
1257 + 793b409eeae2b42be7fed58251afa87b5733ca4d:
1258 Windows, sh_bin. launcher: fix manifest path
1259 + 7e4fbbe4ab3915a57b2187408c3909e5cd6c6013:
1260 Add --windows_exe_launcher option
1261 + 91fb38e92ace6cf14ce5da6527d71320b4e3f3d2:
1262 remote_worker: Serialize fork() calls. Fixes #3356
1263 + b79a9fcd40f448d3aebb2b93a2ebe80d09b38408:
1264 Quote python_path and launcher in
1265 python_stub_template_windows.txt
1266 + 4a2e17f85fc8450aa084b201c5f24b30010c5987:
1267 Add build_windows_jni.sh back
1268 + ce61d638197251f71ed90db74843b55d9c2e9ae5:
1269 don't use methods and classes removed in upstream dx RELNOTES:
1270 update dexing tools to Android SDK 26.0.1
1271 + 5393a4996d701fa192964a35cbb75e558a0599c0:
1272 Make Bazel enforce requirement on build-tools 26.0.1 or later.
1273 + 5fac03570f80856c063c6019f5beb3bdc1672dee:
1274 Fix --verbose_failures w/ sandboxing to print the full command
1275 line
1276 + f7bd1acf1f96bb7e3e19edb9483d9e07eb5af070:
1277 Only patch in C++ compile features when they are not already
1278 defined in crosstool
1279 + d7f5c120417bc2d2344dfb285322355f225d9153:
1280 Bump python-gflags to 3.1.0, take two
1281 + 3cb136d5451e9d8af58f9a99990cad0592df101a:
1282 Add python to bazel's dockerfiles
1283```
1284
1285New features:
1286
1287 - Do not disable fully dynamic linking with ThinLTO when invoked
1288 via LIPO options.
1289
1290Important changes:
1291
1292 - Ignore --glibc in the Android transition.
1293 - Remove --experimental_android_use_singlejar_for_multidex.
1294 - nocopts now also filter copts
1295 - The Build Event Service (BES) client now properly supports
1296 Google Applicaton Default Credentials.
1297 - update dexing tools to Android SDK 26.0.1
1298 - Bazel Android support now requires build-tools 26.0.1 or later.
1299 - Fix a bug in the remote_worker that would at times make it crash on Linux. See #3356
1300 - The java_proto_library rule now supports generated sources. See #2265
1301
Bazel Release System195a7a82017-07-27 20:27:32 +02001302## Release 0.5.3 (2017-07-27)
1303
1304```
1305Baseline: 88518522a18df5788736be6151fc67992efe2aad
1306
1307Cherry picks:
1308 + 820a46af10808396873c36d0f331e533118cf0c6:
1309 Automated rollback of commit
1310 6d6e87297fe8818e4c374fdfabfbcf538bca898a.
1311 + ccfb2df69ecf4746f5a15e1295af995c3a45aa94:
1312 Allow py_binary to be the executable of a Skylark action or any
1313 SpawnAction on Windows.
1314 + 06534911696838e720c8681f6f568c69d28da65e:
1315 Fix string representation for the Root class
1316 + cd159bcee72a7f377621b45409807231a636f9e2:
1317 sandbox: Allow UNIX sockets on macOS even when block-network is
1318 used.
1319 + ad73cba3caa2e08ad61ea9ca63f9111cde1f48d1:
1320 Fix python_stub_template.txt to be compatible with Python 2.4.
1321 + 9a63aff8bb771af8917903fbbc9df3b708e2c0ed:
1322 Create Windows ZIP release artifact using Bazel
1323 + 5e576637b5705aff0a7bf56b5077463dffcd712f:
1324 Automated rollback of commit
1325 820a46af10808396873c36d0f331e533118cf0c6.
1326 + b6e29ca217b02c3ba499b85479a3830f59c9b9b6:
1327 Use the correct function to generate the release notes
1328 + 0f3481ba6364f24ef76b839bdde06ae7883c9bd9:
1329 Include <cinttypes> instead of <stdint.h>
1330```
1331
1332Incompatible changes:
1333
1334 - The --output=location flag to 'bazel query' cannot be used with
1335 query expressions that involve the 'buildfiles' or 'loadfiles'
1336 operators. This also applies to 'genquery' rules.
1337 - Operators for equality, comparison, 'in' and 'not in' are no
1338 longer associative, e.g. x < y < z is now a syntax error.
1339 Before, it was parsed as: (x < y) < z.
1340 - In strings, octal sequences greater than \377 are now forbidden
1341 (e.g. "\\600"). Previously, Blaze had the same behavior as Python 2,
1342 where "\\450" == "\050".
1343 - Using tabulation for identation is now fobidden in .bzl files
1344 - `load` is now a language keyword, it cannot be used as an
1345 identifier
1346 - lvalues must have define at least one variable (i.e. we forbid
1347 `[] = f()`).
1348 - Fixed a bug whereby multiple load() statements could appear on
1349 the same line
1350 - -extra_checks:off is no longer supported; use
1351 -XepDisableAllChecks instead
1352 - java_common.java_toolchain_attr is removed. Depend on the
1353 java_toolchain_alias() rule to accomplish the same thing.
1354 - cc_common.cc_toolchain_attr and java_common.java_runtime_attr are
1355 not supported anymore and were replaced with the
1356 cc_toolchain_alias() and java_runtime_alias() rules.
1357
1358New features:
1359
1360 - Zipped LLVM profiles are now supported.
1361 - LIPO maps to ThinLTO for LLVM builds.
1362 - Change to handle LLVM FDO zipped profile contents correctly.
1363
1364Important changes:
1365
1366 - Windows: bazel clean --expunge works
1367 - First argument of 'load' should be a label. Path syntax is
1368 deprecated (label should start with '//' or ':').
1369 - Octal prefix '0' is deprecated in favor of '0o' (use 0o777
1370 instead of 0777).
1371 - The extension_safe attribute of apple_binary no longer validates
1372 transitive dependencies are compiled against extension_safe APIs.
1373 - Parentheses around the tuple are now mandatory in [a for b in c
1374 if 1, 2]
1375 - Adjust the thresholds for --test_verbose_timeout_warnings so that
1376 it can recommending timeout increases and won't recommend
1377 timeouts that are too close to the actual timeout.
1378 - Iterating on a `depset` object is deprecated. If you need an
1379 iterable, call the `.to_list()` method first.
1380 - Bazel now uses tools from action_configs in Crosstool by default
1381 (as oposed to using top level tools).
1382 - Incremental dexing errors on combination of --multidex=off and
1383 either --main-dex-list or --minimal-main-dex.
1384 - When using the dictionary literal syntax, it is now an error to
1385 have duplicated keys (e.g. {'ab': 3, 'ab': 5}).
1386 - New property on android_sdk: aapt2
1387 Choose the version of aapt on android_binary
1388 - Add idl_preprocessed attribute to android_library, so that
1389 preprocessed aidl files can be passed to android_library for
1390 compiling
1391 - Bazel's remote_worker backend for remote execution supports
1392 sandboxing on Linux now. Check
1393 https://github.com/bazelbuild/bazel/blob/master/src/tools/remote_w
1394 orker/README.md for details.
1395 - Allows flags that expand to take values.
1396 - Make querying attributes formed by selector lists of list types
1397 more efficient by no longer listing every possible combination of
1398 attribute value but by more compactly storing the possible values
1399 of the list.
1400 - Writing build events to a file is no longer experimental
1401 - set --rewrite_calls_to_long_compare to false by default.
1402 - ObjC and C++ coverage feature is unified under name 'coverage'
1403 - Enable --incremental_dexing for Android builds by default. Note
1404 that some dexopts are incompatible with incremental dexing,
1405 including --force-jumbo.
1406 - Evaluation will soon use checked arithmetics and throw an error
1407 instead of overflow/underflow.
1408 - Implicit iteration in the CROSSTOOL has been removed, use
1409 explicit 'iterate_over' message.
1410 - Add option for Android specific grte_top
1411 - Crosstool patches are only applied if the toolchain doesn't define
1412 'no_legacy_features' feature.
1413 - 'platform_type' is now a mandatory attribute on apple_binary and
1414 apple_static_library rules.
1415 If this change breaks your build, feel free to add platform_type
1416 = 'ios' to any apple_binary and apple_static_library
1417 targets in your project, as this was the previous default
1418 behavior.
1419 - Remove apple_watch2_extension build rule. Users should be using
1420 the skylark watchos_application and watchos_extension rules.
1421 https://github.com/bazelbuild/rules_apple has details.
1422 - Check stderr to detect if connected to a terminal. Deprecate
1423 --isatty.
1424 - Commands that shut down the server (like "shutdown") now ensure
1425 that the server process has terminated before the client process
1426 terminates.
1427 - Remove apple_watch1_extension and apple_watch_extension_binary
1428 rules. Users should be using the skylark watchos_application and
1429 watchos_extension rules.
1430 https://github.com/bazelbuild/rules_apple has details.
1431 - Windows: Wrapper-less CROSSTOOL becomes default now.
1432 set USE_MSVC_WRAPPER=1 if you still want to use wrapper script.
1433
Bazel Release System7b851222017-06-27 15:08:47 +02001434## Release 0.5.2 (2017-06-27)
1435
1436```
1437Baseline: e78ad83ded6e9c6d639793827e27b6570e6e9f65
1438
1439Cherry picks:
1440 + 68028317c1d3d831a24f90e2b25d1410ce045c54:
1441 experimental UI: move stopUpdateThread() out of synchronized,
1442 again
1443 + 019935dfbb61e61d08d1351b0365fb4e2d0df305:
1444 Fix bug in URI computation in RemoteModule
1445 + e9424cf9b9d72b98594966d5ac0f15bb018ec639:
1446 Automated rollback of commit
1447 7dec00574aa91327693f6ba7e90bff5bc834253e.
1448 + 9eea05d068a06ab642dd9d86d46ee5fa2e36b02e:
1449 Switching to Watcher API instead of wait_for_completion, in
1450 preparation for deprecating the wait_for_completion field.
1451 + 89659810e3048782dfb5e308e39aa8a0727e464e:
1452 Set correct execroot for info
1453 + 716b527266f47f59a2b7fb2e5fc52cb45e1691b1:
1454 Only create a single per-build instance of the remote cache /
1455 executor
1456 + 1d82d199f82409f217a42bcefebb96f723f91caa:
1457 protobuf: Update protobuf jars to be binary compatible with Java
1458 6. Fixes #3198
1459 + 524b90d9e5acc4fa568f215c9415eaa902e979f8:
1460 Change CAS URI to use the "bytestream" scheme instead of being
1461 scheme-less
1462 + 4929ad79865f8c13ef3b33c827040f4a037e4afe:
1463 Automated g4 rollback of commit
1464 923d7df521f67d031b288180560848bd35e20976.
1465 + 68b9a7e2dc17e32b194238d287e79bee1ba035b9:
1466 Automated g4 rollback of commit
1467 da56606563ee9df438db93392f681bf2abb4ac97.
1468 + 2ba693ffbe824136a0ca5f47d34710612f6302c3:
1469 Automated rollback of commit
1470 ce7c4deda60a307bba5f0c9421738e2a375cf44e.
1471```
1472
1473Incompatible changes:
1474
1475 - Blaze no longer generates xcode projects. Use tulsi.bazel.build
1476 instead.
1477
1478Important changes:
1479
1480 - Keyword-only syntax in a function definition is deprecated
1481 (e.g. `def foo(a, *, b)` or `def foo(a, *b, c)`) and will be
1482 removed in the future.
1483 - Attempting to build an Android target without setting up
1484 android_sdk_repository will now produce a helpful error message.
1485 - Adds a sha256 attribute to git_repository and new_git_repository.
1486 This can only be used if the remote is a public GitHub
1487 repository. It forces
1488 Bazel to download the repository as a tarball, which will often
1489 be faster and
1490 more robust than cloning it.
1491 - Sandboxing is now enabled by default on FreeBSD (via
1492 processwrapper-sandbox).
1493 - android_test may use manifest placeholders with 'manifest_merger
1494 = "android"'.
1495 - load() statements should be called at the top of .bzl files,
1496 before any
1497 other statement. This convention will be enforced in the future.
1498 - Effectively remove sysroot from CppConfiguration and allow it to
1499 use select statements.
1500 - proto_library.strict_proto_deps no longer exists.
1501 - Flag --explicit_jre_deps is now a noop.
1502 - The 'legacy' Android manifest merger is deprecated. Please
1503 upgrade to the 'android' manifest merger, which is the same
1504 merger used by Gradle.
1505 https://developer.android.com/studio/build/manifest-merge.html
1506 - Using $(CC_FLAGS) in a GenRule adds a dependency to the c++
1507 toolchain
1508 - add one-version enforcement to android_local_test
1509 - Skylark support (apple_common.dotted_version(string)) for
1510 building DottedVersion objects to interface with native apple
1511 rules
1512 - CC_FLAGS can be defined using 'cc-flags-make-variable' action_config in
1513 CROSSTOOL
1514 - ios_framework native rule has been removed. This rule had been
1515 essentially broken for several months now; users should be using
1516 the skylark ios framework rule.
1517 https://github.com/bazelbuild/rules_apple has details.
1518 - Clean command no longer uses boolean values for --async,
1519 --expunge, and --expunge_async options.
1520 - Partially fixes external J2ObjC support.
1521 - '--aspects' can occur more than once on the command line.
1522 - --no_ prefix no longer recognized.
1523 - Use action_config in crosstool for static library archiving,
1524 remove ar_flag.
1525 - Added a new flag --sandbox_writable_path, which asks the sandbox
1526 to
1527 make an existing directory writable when running actions.
1528 - bazel test now also computes a default instrumentation filter if
1529 --collect_code_coverage is enabled
1530 - n/na
1531 - In .bzl files, top-level `if` statements are deprecated and will
1532 be forbidden
1533 in the future. Move them in a function body instead (or use a
1534 conditional
1535 expression instead: `x if condition else y`).
1536 - ios_device and ios_test are deprecated. Please use the new testing
1537 rules in https://github.com/bazelbuild/rules_apple instead.
1538 - bazel query --output package now displays packages from external
1539 repository with the format "@reponame//package". Packages in the
1540 main repository continue to have the format "package".
1541 - ctx.expand_make_variables is deprecated.
1542 - Bazel posts links to the CAS to the BEP if remote caching /
1543 execution is enabled
1544 - `bazel info execution_root` returns the corrrect directory name
1545 for the execution root.
1546
Bazel Release System63222de2017-06-06 11:32:04 +02001547## Release 0.5.1 (2017-06-06)
1548
1549```
1550Baseline: f3ae88ee043846e7acdffd645137075a4e72c573
1551
1552Cherry picks:
1553 + c58ba098526b748f9c73e6229cafd74748205aa1:
1554 Release to GCS: put the final release in its own directory
1555 + 0acead4ea3631240659836ce6ecd6d7f67fd352b:
1556 Update protobuf to latest master at a64497c and apply
1557 @laszlocsomor's latest changes from
1558 https://github.com/google/protobuf/pull/2969 on top of it.
1559 + d0242ce4a87929f2528f4602d0fb09d1ccfcea94:
1560 Make symlinks consistent
1561 + d953ca8b87a46decbce385cebb446ae0dd390881:
1562 Clean VanillaJavaBuilder output directories
1563 + 755669fb5de1f4e762f27c19776cac9f410fcb94:
1564 Pass all the environment variable to Bazel during bootstrapping
1565 + 6f041661ca159903691fcb443d86dc7b6454253d:
1566 Do not mark the JDK7 installer -without-jdk-installer
1567 + 720561113bfa702acfc2ca24ce3cc3fd7ee9c115:
1568 Fix #2958: Installer should not overwrite bazelrc
1569 + 511c35b46cead500d4e76706e0a709e50995ceba:
1570 Bootstrap: move the fail function to the top
1571 + 8470be1122825aae8ad0903dd1e1e2a90cce47d2:
1572 Clean up javac and Error Prone targets
1573 + 4a404de2c6c38735167e17ab41be45ef6fc4713a:
1574 Update javac version to 9-dev-r4023-2
1575 + 36ce4b433e19498a78c34540d5a166d4e0006b22:
1576 Update javac version to 9-dev-r4023-2
1577 + 38949b8526bdb3e6db22f3846aac87162c28c33f:
1578 Migrate off versioned javac and Error Prone targets
1579 + 1a57d298f8aa6ea8136d93223902104f2479cd2a:
1580 Re-enabling passing -sourcepath via javacopts.
1581 + eb565f408e03125e92d42b00756e519795be6593:
1582 Make make sure that msys build actually builds msys version
1583 + 39f328cf392056618d1a3ead4835a138b189a06d:
1584 Fix typo. Also do not override host_cpu for msvc.
1585 + 624802893f4fe72118f00a78452605d41a2e1c6f:
1586 Select correct JDK for windows_msys
1587 + c4f271d1a68366b6fa5ff38ea7d951b6a22af044:
1588 Automated g4 rollback of commit
1589 3e5edafa2a04a71cd3596e929e83222da725f3f9.
1590 + 926180997a0f296a5a009326aead887279ce0a90:
1591 Remove process-tools.cc which I forgot to delete during the last
1592 rollback.
1593 + baca6e4cb023649920871b74810927d304729e59:
1594 Fix #2982: Bazel installer should not check for installed JDK if
1595 using a bundled JDK.
1596 + 866ecc8c3d5e0b899e3f0c9c6b2265f16daae842:
1597 Disable msys path conversion on Windows.
1598 + cc21998c299b4d1f97df37b961552ff8168da17f:
1599 Rollforward #2 of: Basic open-source crosstool to support
1600 targeting apple platform types.
1601 + 0f0ccc4fc8229c1860a9c9b58089d6cfb2ee971f:
1602 Escape % in strings that will appear in Crosstool
1603 + 3b08f774e7938928e3a240a47a0a7554cdc8d50b:
1604 Adding feature for linking C Run-Time library on Windows
1605 + 3566474202d1978acfdcb7e5ff73ee03ea6f3df9:
1606 Do not use sed -E in bootstrap/compile.sh
1607 + c3cf7d917afd02d71de3800cd46ad8d14f1ddf55:
1608 Reverts non-xcode-available darwin crosstool generation.
1609```
1610
1611Important changes:
1612
1613 - Fixes regression in 0.5.0 requiring Xcode to build C++ on OSX.
1614
Bazel Release Systema3e26832017-05-26 14:11:07 +02001615## Release 0.5.0 (2017-05-26)
1616
1617```
1618Baseline: f3ae88ee043846e7acdffd645137075a4e72c573
1619
1620Cherry picks:
1621 + c58ba098526b748f9c73e6229cafd74748205aa1:
1622 Release to GCS: put the final release in its own directory
1623 + 0acead4ea3631240659836ce6ecd6d7f67fd352b:
1624 Update protobuf to latest master at a64497c and apply
1625 @laszlocsomor's latest changes from
1626 https://github.com/google/protobuf/pull/2969 on top of it.
1627 + d0242ce4a87929f2528f4602d0fb09d1ccfcea94:
1628 Make symlinks consistent
1629 + d953ca8b87a46decbce385cebb446ae0dd390881:
1630 Clean VanillaJavaBuilder output directories
1631 + 755669fb5de1f4e762f27c19776cac9f410fcb94:
1632 Pass all the environment variable to Bazel during bootstrapping
1633 + 6f041661ca159903691fcb443d86dc7b6454253d:
1634 Do not mark the JDK7 installer -without-jdk-installer
1635 + 720561113bfa702acfc2ca24ce3cc3fd7ee9c115:
1636 Fix #2958: Installer should not overwrite bazelrc
1637 + 511c35b46cead500d4e76706e0a709e50995ceba:
1638 Bootstrap: move the fail function to the top
1639 + 8470be1122825aae8ad0903dd1e1e2a90cce47d2:
1640 Clean up javac and Error Prone targets
1641 + 4a404de2c6c38735167e17ab41be45ef6fc4713a:
1642 Update javac version to 9-dev-r4023-2
1643 + 36ce4b433e19498a78c34540d5a166d4e0006b22:
1644 Update javac version to 9-dev-r4023-2
1645 + 38949b8526bdb3e6db22f3846aac87162c28c33f:
1646 Migrate off versioned javac and Error Prone targets
1647 + 1a57d298f8aa6ea8136d93223902104f2479cd2a:
1648 Re-enabling passing -sourcepath via javacopts.
1649 + eb565f408e03125e92d42b00756e519795be6593:
1650 Make make sure that msys build actually builds msys version
1651 + 39f328cf392056618d1a3ead4835a138b189a06d:
1652 Fix typo. Also do not override host_cpu for msvc.
1653 + 624802893f4fe72118f00a78452605d41a2e1c6f:
1654 Select correct JDK for windows_msys
1655 + c4f271d1a68366b6fa5ff38ea7d951b6a22af044:
1656 Automated g4 rollback of commit
1657 3e5edafa2a04a71cd3596e929e83222da725f3f9.
1658 + 926180997a0f296a5a009326aead887279ce0a90:
1659 Remove process-tools.cc which I forgot to delete during the last
1660 rollback.
1661 + baca6e4cb023649920871b74810927d304729e59:
1662 Fix #2982: Bazel installer should not check for installed JDK if
1663 using a bundled JDK.
1664 + 866ecc8c3d5e0b899e3f0c9c6b2265f16daae842:
1665 Disable msys path conversion on Windows.
1666 + cc21998c299b4d1f97df37b961552ff8168da17f:
1667 Rollforward #2 of: Basic open-source crosstool to support
1668 targeting apple platform types.
1669 + 0f0ccc4fc8229c1860a9c9b58089d6cfb2ee971f:
1670 Escape % in strings that will appear in Crosstool
1671 + 3b08f774e7938928e3a240a47a0a7554cdc8d50b:
1672 Adding feature for linking C Run-Time library on Windows
1673```
1674
1675Incompatible changes:
1676
1677 - Bazel's Linux sandbox no longer mounts an empty tmpfs on /tmp,
1678 instead the existing /tmp is mounted read-write. If you prefer
1679 to have a tmpfs on /tmp for sandboxed actions for increased
1680 hermeticity, please use the flag --sandbox_tmpfs_path=/tmp.
1681 - Converting artifacts to strings and printing them now return
1682 "File" instead of "Artifact" to be consistent with the type name.
1683 - The return type of depset.to_list() is now a list rather than a
1684 frozen list. (Modifying the list has no effect on the depset.)
1685 - Bazel now prints logs in single lines to java.log
1686 - --use_dash, --dash_url and --dash_secret are removed.
1687 - Remote repositories must define any remote repositories they
1688 themselves use (e.g., if @x//:foo depends on @y//:bar, @y must be
1689 defined
1690 in @x's WORKSPACE file).
1691 - Remote repositories must define any remote repositories they
1692 themselves use (e.g., if @x//:foo depends on @y//:bar, @y must be
1693 defined
1694 in @x's WORKSPACE file).
1695 - objc_xcodeproj has been removed, use tulsi.bazel.build instead.
1696
1697New features:
1698
1699 - If grte_top is a label, it can now follow non-configurable
1700 redirects.
1701 - Optional coverage_files attribute to cc_toolchain
1702 - "query --output=build" now includes select()s
1703 - Raw LLVM profiles are now supported.
1704
1705Important changes:
1706
1707 - Automatically generate Proguard mapping when resource shrinking
1708 and Proguard are enabled.
1709 - New rules in Bazel: proto_library, java_lite_proto_library,
1710 java_proto_library and cc_proto_library
1711 - Activate the "dead_strip" feature if objc binary stripping is
1712 enabled.
1713 - More stable naming scheme for lambda classes in desugared android
1714 code
1715 - Convert --use_action_cache to a regular option
1716 - Per-architecture dSYM binaries are now propagated by
1717 apple_binary's AppleDebugOutputsProvider.
1718 - Avoid factory methods when desugaring stateless lambdas for
1719 Android
1720 - desugar calls to Objects.requireNonNull(Object o) with
1721 o.getClass() for android
1722 - Add an --copy_bridges_from_classpath argument to android
1723 desugaring tool
1724 - Change how desugar finds desugared classes to have it working on
1725 Windows
1726 - Evaluation of commands on TargetsBelowDirectory patterns
1727 (e.g. //foo/...) matching packages that fail to load now report
1728 more
1729 detailed error messages in keep_going mode.
1730 - Allow to have several inputs and outputs
1731 - Repository context's execute() function can print stdout/stderr
1732 while running. To enable, pass quiet=False.
1733 - Bazel can now be built with a bundled version of the OpenJDK.
1734 This makes it possible to use Bazel on systems without a JDK, or
1735 where
1736 the installed JDK is too old.
1737 - The --jobs flag now defaults to "auto", which causes Bazel to
1738 use a reasonable degree of parallelism based on the local
1739 machine's
1740 capacity.
1741 - Bazel benchmark (perf.bazel.build) supports Java and Cpp targets.
1742 - no factory methods generated for lambda expressions on android
1743 - The Linux sandbox no longer changes the user to 'nobody' by
1744 default, instead the current user is used as is. The old behavior
1745 can be
1746 restored via the --sandbox_fake_username flag.
1747 - /tmp and /dev/shm are now writable by default inside the
1748 Linux sandbox.
1749 - Bazel can now use the process-wrapper + symlink tree based
1750 sandbox implementation in FreeBSD.
1751 - turn on --experimental_incremental_dexing_error_on_missed_jars by
1752 default.
1753 - All android_binarys are now signed with both Apk Signature V1 and
1754 V2. See https://source.android.com/security/apksigning/v2.html
1755 for more details.
1756 - Windows MSVC wrappers: Not filtering warning messages anymore,
1757 use --copt=-w and --host_copt=-w to suppress them.
1758 - A downloader bug was fixed that prevented RFC 7233 Range
1759 connection resumes from working with certain HTTP servers
1760 - Introduces experimental android_device rule for configuring and
1761 launching Android emulators.
1762 - For boolean flags, setting them to false using --no_<flag_name>
1763 is deprecated. Use --no<flag_name> without the underscore, or
1764 --<flag_name>=false instead.
1765 - Add --experimental_android_compress_java_resources flag to store
1766 java
1767 resources as compressed inside the APK.
1768 - Removed --experimental_use_jack_for_dexing and libname.jack
1769 output of
1770 android_library.
1771 - blaze canonicalize-flags now takes a --show_warnings flag
1772 - Changing --invocation_policy will no longer force a server
1773 restart.
1774 - Bazel now supports Android NDK14.
1775 - android_binary multidex should now work without additional flags.
1776 - Use action_config in crosstool for static library archiving,
1777 remove ar_flag.
1778 - new option for bazel canonicalize-flags, --canonicalize_policy
1779 - Use action_config in crosstool for static library archiving,
1780 remove ar_flag.
1781 - android_library exports_manifest now defaults to True.
1782 - Fix select condition intersections.
1783 - Adds a --override_repository option that takes a repository
1784 name and path. This forces Bazel to use the directory at that path
1785 for the repository. Example usage:
1786 `--override_repository=foo=/home/user/gitroot/foo`.
1787 - fix idempotency issue with desugaring lambdas in interface
1788 initializers for android
1789 - --experimental_android_use_singlejar_for_multidex is now a no-op
1790 and will eventually be removed.
1791 - Every local_repository now requires a WORKSPACE file.
1792 - Remove jack and jill attributes of the android_sdk rule.
1793 - Add Skylark stubs needed to remove sysroot from CppConfiguration.
1794 - Desugar try-with-resources so that this language feature is
1795 available
1796 to deveces with API level under 19.
1797 - The flag --worker_max_retries was removed. The
1798 WorkerSpawnStrategy no longer retries execution of failed Spawns,
1799 the reason being that this just masks compiler bugs and isn't
1800 done for any other execution strategy either.
1801 - Bazel will no longer gracefully restart workers that crashed /
1802 quit, instead this triggers a build failure.
1803 - All java resources are now compressed in android_binary APKs by
1804 default.
1805 - All java resources are now compressed in android_binary APKs by
1806 default.
1807 - android_ndk_repository now creates a cc_library
1808 (@androidndk//:cpufeatures) for the cpufeatures library that is
1809 bundled in the Android NDK. See
1810 https://developer.android.com/ndk/guides/cpu-features.html for
1811 more details.
1812 - 'output_groups' and 'instrumented_files' cannot be specified in
1813 DefaultInfo.
1814 - You can increase the CPU reservation for tests by adding a
1815 "cpu:<n>" (e.g. "cpu:4" for four cores) tag to their rule in a
1816 BUILD file. This can be used if tests would otherwise overwhelm
1817 your system if there's too much parallelism.
1818 - Deprecate use_singlejar_for_proguard_libraryjars and force
1819 behavior to always on.
1820
Bazel Release System8d635fc2017-03-16 13:18:30 +01001821## Release 0.4.5 (2017-03-16)
1822
1823```
1824Baseline: 2e689c29d5fc8a747216563235e905b1b62d63b0
1825
1826Cherry picks:
1827 + a28b54033227d930672ec7f2714de52e5e0a67eb:
1828 Fix Cpp action caching
1829 + 6d1d424b4c0da724e20e14235de8012f05c470f8:
1830 Fix paths of binaries in .deb packages.
1831 + 0785cbb672357d950e0c045770c4567df9fbdc43:
1832 Update to guava 21.0 and Error Prone version 2.0.18-20160224
1833 + 30490512eb0e48a3774cc4e4ef78680e77dd4e47:
1834 Update to latest javac and Error Prone
1835 + 867d16eab3bfabae070567ecd878c291978ff338:
1836 Allow ' ', '(', ')' and '$' in labels
1837 + 7b295d34f3a4f42c13aafc1cc8afba3cb4aa2985:
1838 Pass through -sourcepath to the JavaBuilder
1839 + 14e4755ce554cdfc685fc9cc2bfb5b699a3b48f4:
1840 PathFragment comparisons are now platform-aware
1841 + ed7795234ca7ccd2567007f2c502f853cd947e50:
1842 Flag to import external repositories in python import path
1843 + 81ae08bbc13f5f4a04f18caae339ca77ae2699c1:
1844 Suppress error for non-exhaustive switches
1845 + e8d1177eef9a9798d2b971630b8cea59471eec33:
1846 Correctly returns null if an environment variables is missing
1847 + 869d52f145c077e3499b88df752cebc60af51d66:
1848 Fix NPE in Android{S,N}dkRepositoryFunction.
1849 + d72bc57b60b26245e64f5ccafe023a5ede81cc7f:
1850 Select the good guava jars for JDK7 build
1851 + 92ecbaeaf6fa11dff161254df38d743d48be8c61:
1852 Windows: Assist JNI builds with a target for jni_md.h.
1853 + 36958806f2cd38dc51e64cd7bcc557bd143bbdb6:
1854 Add java_common.create_provider to allow creating a
1855 java_common.provider
1856 + 8c00f398d7be863c4f502bde3f5d282b1e18f504:
1857 Improve handling of unknown NDK revisions in
1858 android_ndk_repository.
1859 + b6ea0d33d3ab72922c8fb3ec1ff0e437af09584d:
1860 Add the appropriate cxx_builtin_include_directory entries for
1861 clang to the Android NDK crosstool created by
1862 android_ndk_repository.
1863```
1864
1865Incompatible changes:
1866
1867 - Depsets (former sets) are converted to strings as "depset(...)"
1868 instead of
1869 "set(...)".
1870 - Using --symlink_prefix is now applied to the output
1871 symlink (e.g. bazel-out) and the exec root symlink (e.g.
1872 bazel-workspace).
1873 - Bazel now uses the test's PATH for commands specified as
1874 --run_under; this can affect users who explicitly set PATH to
1875 a more
1876 restrictive value than the default, which is to forward the
1877 local PATH
1878 - It's not allowed anymore to compare objects of different types
1879 (i.e. a string to an integer) and objects for which comparison
1880 rules are not
1881 defined (i.e. a dict to another dict) using order operators.
1882
1883New features:
1884
1885 - environ parameter to the repository_rule function let
1886 defines a list of environment variables for which a change of
1887 value
1888 will trigger a repository refetching.
1889
1890Important changes:
1891
1892 - android_ndk_repository now supports Android NDK R13.
1893 - Android resource shrinking is now available for android_binary
1894 rules. To enable, set the attribute 'shrink_resources = 1'. See
1895 https://bazel.build/versions/master/docs/be/android.html#android_b
1896 inary.shrink_resources.
1897 - resolve_command/action's input_manifest return/parameter is now
1898 list
1899 - For increased compatibility with environments where UTS
1900 namespaces are not available, the Linux sandbox no longer hides
1901 the hostname of the local machine by default. Use
1902 --sandbox_fake_hostname to re-enable this feature.
1903 - proto_library: alias libraries produce empty files for descriptor
1904 sets.
1905 - Adds pkg_rpm rule for generating RPM packages.
1906 - Allow CROSSTOOL files to have linker flags specific to static
1907 shared libraries.
1908 - Make it mandatory for Java test suites in bazel codebase, to
1909 contain at least one test.
1910 - Support for Java 8 lambdas, method references, type annotations
1911 and repeated annotations in Android builds with
1912 --experimental_desugar_for_android.
1913 - Removed .xcodeproj automatic output from objc rules. It can still
1914 be generated by requesting it explicitly on the command line.
1915 - Flips --explicit_jre_deps flag on by default.
1916 - Activate the "dbg", "fastbuild", and "opt" features in the objc
1917 CROSSTOOL.
1918 - Remove support for configuring JDKs with filegroups; use
1919 java_runtime and java_runtime_suite instead
1920 - android_ndk_repository api_level attribute is now optional. If not
1921 specified, the highest api level in the ndk/platforms directory
1922 is used.
1923
Bazel Release System6712cac2017-02-01 19:53:37 +01001924## Release 0.4.4 (2017-02-01)
1925
1926```
1927Baseline: 4bf8cc30a
1928
1929Cherry picks:
1930 + ef1c6fd33: msvc_tools.py.tpl: Change default runtime library to
1931 static
1932```
1933
1934Incompatible changes:
1935
1936 - Only targets with public visibility can be bound to something in
1937 //external: .
1938 - The deprecated -x startup option has been removed.
1939 - docker_build: change the repository names embedded by
1940 docker_build. You can revert to the old behavior by setting
1941 legacy_repository_naming=True.
1942 - The string methods strip(), lstrip(), and rstrip() now
1943 by default remove the same whitespace characters as Python 3
1944 does, and accept
1945 None as an argument.
1946 - Deprecated globals HOST_CFG and DATA_CFG are removed. Use strings
1947 "host" and "data" instead.
1948 - repository_ctx environment is now affected by --action_env flag
1949 (value from the
1950 client environment will be replaced by value given on the command
1951 line through --action_env).
1952 - All executable labels must also have a cfg parameter specified.
1953 - Removed the cmd_helper.template function.
1954 The function was equivalent to:
1955 def template(items, template):
1956 return [template.format(path = i.path, short_path =
1957 i.short_path)
1958 for i in items]
1959 - Tuples that end with a trailing comma must now be inside parens,
1960 e.g. (1,) instead of 1,
1961 - The traversal orders for depsets have been renamed. The old names
1962 are deprecated and will be removed in the future. New names:
1963 "stable" -> "default", "compile" -> "postorder", "link" ->
1964 "topological", "naive_link" -> "preorder".
1965
1966New features:
1967
1968 - Skylark: you can now multiply a list by an integer to get the
1969 concatenation of N copies of this list, e.g. [a,b] * 3 =
1970 [a,b,a,b,a,b]
1971 - Allow Android aidl tool to add a jar to the program's classpath,
1972 such as if needed to support generated sources.
1973 - Add transitive proguard_specs when android_sdk.aidl_lib is
1974 specified
1975 - Windows: "/dev/null" is now a supported path, e.g.
1976 --bazelrc=/dev/null now works
1977
1978Important changes:
1979
1980 - Bazel Android builds use the apksigner tool from the Android SDK
1981 build-tools. Bazel Android builds now require build-tools version
1982 24.0.3 or
1983 later.
1984 - Android SDK external bindings for support libraries, e.g.
1985 //external:android/appcompat_v4, are removed because the support
1986 library JARs that they referenced no longer ship with the Android
1987 SDK.
1988 - aar_import rule is now documented.
1989 - An IE bug was fixed in repository_ctx.download_and_extract
1990 - Update "-I" to "-isystem" in documentation to reflect current
1991 behavior.
1992 - android_sdk_repository build_tools_version is now optional. The
1993 highest installed build-tools will be used if none is specified.
1994 - New flag --sandbox_add_mount_pair to specify customized
1995 source:target path pairs to bind mount inside the sandbox.
1996 - expose proto_library descriptor set to skylark via
1997 <dep>.proto.descriptor_set
1998 - The `set` constructor is deprecated in favor of `depset`
1999 - Autodetect gold linker in cc_configure.bzl
2000 - Remove build flag --experimental_j2objc_annotation_processing. It
2001 is on by default now.
2002 - Set clang's -mwatchos-version-min correctly using the value of
2003 --watchos_minimum_os, not --watchos_sdk_version.
2004 - singlejar can now create jar files larger than 4GB.
2005 - android_sdk_repository and android_ndk_repository now read
2006 $ANDROID_HOME and $ANDROID_NDK_HOME if the path attribute is not
2007 set.
2008 - Removed broken api levels 3, 4 and 5 from Android NDK 12.
2009 - Default --android_dynamic_mode to off.
2010 - android_sdk_repository no longer requires api_level. If one is
2011 not specified, the highest android platform installed will be
2012 used. Furthermore, android_sdk's are created for all android
2013 platforms installed and can be specified with the --android_sdk
2014 flag.
2015 - To iterate over or test for membership in a set, prefer using the
2016 new to_list() method. E.g., "for x in myset.to_list():", or
2017 "print(x in myset.to_list())". Iteration/membership-test on the
2018 raw set itself is deprecated.
2019 - Remove support for --javawarn; use e.g. --javacopt=-Xlint:all
2020 instead
2021
Bazel Release Systemd3b23642016-12-22 13:30:47 +01002022## Release 0.4.3 (2016-12-22)
Bazel Release System80865ff2016-11-30 13:18:54 +01002023
Damien Martin-Guillerez961e54f2016-12-22 13:33:36 +01002024```
Bazel Release Systemd3b23642016-12-22 13:30:47 +01002025Baseline: c645a45
Bazel Release System80865ff2016-11-30 13:18:54 +01002026
2027Cherry picks:
Bazel Release Systemd3b23642016-12-22 13:30:47 +01002028 + af878d0: Add coverage support for java test. (series 4/4 of
2029 open-sourcing coverage command for java test)
2030 + 09b92a8: Rollback of commit
2031 67b4d5250edcefa7220e928e529b1f385e2dc464.
2032 + b11dd48: Fix bad bug with the parallel implementation of
2033 BinaryOperatorExpression. Turns out that
2034 ForkJoinTask#adapt(Callable) returns a ForkJoinTask
2035 whose Future#get on error throws a ExecutionException
2036 wrapping a RuntimeException wrapping the thrown checked
2037 exception from the callable. This is documented
2038 behavior [1] that I incorrectly didn't know about.
2039 + 9012bf1: Fix scripts/packages/convert_changelog to read the
2040 changelog correctly
2041 + 55c97bc: Release script: if master branch does not exist, fall
2042 back on origin/master
2043 + 4fb378c: Debian repository: override section and priority fields
2044 + acbcbc2: Fix release notes in emails
2045 + 4975760: Fix PathFragment to not use Java8-only static hashCode
2046 methods.
2047 + 05fd076: Disable sandboxing for XibCompile actions.
Damien Martin-Guillerez961e54f2016-12-22 13:33:36 +01002048```
Bazel Release System80865ff2016-11-30 13:18:54 +01002049
2050Incompatible changes:
2051
Bazel Release Systemd3b23642016-12-22 13:30:47 +01002052 - Skylark maven_jar and maven_aar settings attribute is now a label
2053 so it can be checked into your workspace.
2054 - --{no}experimental_use_rclass_generator is now a nop.
2055
2056New features:
2057
2058 - Coverage support (*experimental*) for pure Java target.
2059 Use `bazel coverage //my:target` to generate coverage information
2060 from a `java_test`.
Bazel Release System80865ff2016-11-30 13:18:54 +01002061
2062Important changes:
2063
Bazel Release Systemd3b23642016-12-22 13:30:47 +01002064 - Enable fallback URLs in Skylark http rules.
2065 - cc_proto_library generates C++ code from proto_library rules.
2066 - cc_library now supports the strip_prefix and strip_include_prefix
2067 attributes for control of include paths.
2068 - Skylark dicts internally don't rely on keys order anymore and
2069 accept any hashable values (i.e. structs with immutable values)
2070 as keys. Iteration order of dictionaries is no longer specified.
Damien Martin-Guillerez961e54f2016-12-22 13:33:36 +01002071
2072## Release 0.4.2 (2016-12-02)
2073
2074```
2075Baseline: 6331a94
2076
2077Cherry picks:
2078 + 7b835d9: Do not patch WORKSPACE in the release process
2079```
2080
2081Incompatible changes:
2082
2083 - Callback functions in Skylark no longer support the cfg
2084 parameter. This is a cleanup and only affects the signatures of
2085 callbacks, since the parameter hasn't been set since September
2086 2016.
2087
2088Important changes:
2089
2090 - Alias proto_library's produce a descriptor set that contains all
2091 srcs of its dependencies.
2092 - proto_library supports strict proto deps.
2093 - Top level @androidsdk support library targets have been replaced
2094 by @androidsdk//<group id>:<artifact id>-<version> for Android
2095 SDK Support and Google Play Services libraries.
2096
Bazel Release System15402a92016-11-30 10:12:30 +01002097## Release 0.4.1 (2016-11-21)
2098
2099```
2100Baseline: 9a796de
2101
2102Cherry picks:
2103 + 88bfe85: Description redacted. -- MOS_MIGRATED_REVID=139219934
2104 + b09ea94: Rollback of commit
2105 a3f5f576cd35798140ba3e81d03d919dd4ecb847.
2106```
2107
2108New features:
2109
2110 - android_library now has a "exported_plugins" attribute just like
2111 java_library
2112 - Use --strict_system_includes to apply hdrs_check=strict also to
2113 cc_library.includes, even if sandboxing is disabled.
2114 - Bazel on Windows: java_binary can now be the executable of
2115 Skylark rule actions (ctx.action's executable argument)
2116 - Packages are defined in BUILD.bazel as well as BUILD files.
2117
2118Important changes:
2119
2120 - getattr()'s 3-arg form no longer raises an error when the
2121 retrieved field is a built-in method.
2122 - --apk_signing_method default changed to v1. Android APKs are now
2123 signed with the new ApkSignerTool by default.
2124 - New rule: proto_lang_toolchain(), to support LANG_proto_library
2125 rules on multiple platforms.
2126 - Fix for Android clang++ std::stack segfault on 32bit x86. See
2127 https://code.google.com/p/android/issues/detail?id=220159
2128 - Default android_manifest_merger is now "android" which uses the
2129 official Android manifest merger.
2130 http://tools.android.com/tech-docs/new-build-system/user-guide/man
2131 ifest-merger
2132 - Do not propagate aspect to its own attributes when using '*'.
2133 - Comparing sets (`if set1 < set2:`) is not allowed anymore in
2134 Skylark because it didn't work correctly anyway.
2135 - When --experimental_extra_action_top_level_only, Bazel reports
2136 extra-actions for actions registered by Aspects injected by a
2137 top-level rule (approximately).
2138 - Blacklists for proto_lang_toolchain() no longer have to be
2139 proto_library's.
2140 - Extra actions now contain aspect-related information.
2141 - Fix slicing bug where "abc"[:-4:-1] would give wrong answer
2142
Bazel Release Systemd0761e62016-11-02 13:36:35 -04002143## Release 0.4.0 (2016-10-26)
2144
2145```
2146Baseline: 088bbc6
2147
2148Cherry picks:
2149 + b01160c: Stamp Windows release.
2150 + 2d6736e: Add --no-tty for gpg signing
2151 + 9b1dfb8: Remove .sig file before gpg signing
2152 + 81aede1: Reimplement whole archive on Windows
2153```
2154
2155Incompatible changes:
2156
2157 - Skylark: updating list/dicts while they are being looped over is not
2158 allowed. Use an explicit copy if needed ("for x in list(mylist):").
2159 - Bazel now uses the --cpu flag to look up Jvms; it falls back
2160 to "default" if it can't find a Jvm matching the CPU value.
2161 - --command_port=-1 to use AF_UNIX for client/server communications
2162 is not supported anymore.
2163 - Sandboxed actions can access the network by default, unless their
2164 target has a "block-network" tag.
2165
2166New features:
2167
2168 - Files now have an "extension" property in Skylark.
2169
2170Important changes:
2171
2172 - Added a new flag --sandbox_tmpfs_path, which asks the sandbox to
2173 mount an empty, writable directory at a specified path when
2174 running actions. (Supported on Linux only for now.)
2175 - Update protoc-3.0.0-mingw.exe to a working (statically linked)
2176 binary
2177 - apple_static_library rule to create multi-architecture static
2178 archive files from Objc/C++/Swift dependencies on apple platforms
2179 - JS: Add support for localization with closure managed rules.
2180 - Create a flag --android_dynamic_mode to turn off dynamic mode
2181 during the Android split transition.
2182 - Darwin sandboxing is default.
2183 - Remove flag --experimental_zip_tree_artifact from j2objc Java
2184 annotation processing support.
2185 - A few functions are added to BUILD files for consistency (hash,
2186 dir,
2187 hasattr, getattr) with .bzl files, although they are not very
2188 useful.
2189 - --watchfs is now a command option; the startup option of the same
2190 name is deprecated. I.e., use bazel build --watchfs, not
2191 blaze --watchfs
2192 build.
2193
Bazel Release System33579a42016-10-07 13:05:11 -04002194## Release 0.3.2 (2016-10-07)
2195
2196```
2197Baseline: 023a7bd
2198
2199Cherry picks:
2200 + bebbbe5: Fix dependency on libtool's helper script
2201 make_hashed_objlist.py.
2202 + 8a0d45f: Add the version information to the bazel.exe file
2203 + 2bc0939: Allow new_ rules to overwrited BUILD files in
2204 downloaded repos
2205 + c5545fd: Rollback of commit
2206 96d46280bc5a4803ba2242a4ad16939f85a3b212.
2207 + eb87208: Make cc_configure on Windows more robust
2208 + c30432c: Fix cc_configure on Windows
2209 + 95b16a8: sandbox: Replace the error-prone lazy cleanup of
2210 sandbox directories by a simple synchronous cleanup.
2211 + e898023: Fix #1849: Sandboxing on OS X should be turned off by
2212 default for 0.3.2.
2213 + ffdc05d: Add action_config and feature for linking on Windows
2214```
2215
2216Incompatible changes:
2217
2218 - If you maintain a rule that uses persistent workers, you'll have
2219 to specify execution_requirements={"supports-workers": 1} in the
2220 ctx.action that intends to run a tool with workers. The
2221 WorkerSpawnStrategy will alert you with a warning message if you
2222 forget to make this change and fallback to non-worker based
2223 execution.
2224 - It is now an error to include a precompiled library (.a, .lo, .so)
2225 in a cc_library which would generate a library with the same name
2226 (e.g., libfoo.so in cc_library foo) if that library also contains
2227 other linkable
2228 sources.
2229 - The main repository's execution root is under the main
2230 repository's workspace name, not the source directory's basename.
2231 This shouldn't
2232 have any effect on most builds, but it's possible it could break
2233 someone doing
2234 weird things with paths in actions.
2235 - Blaze doesn't support Unix domain sockets for communication
2236 between its client and server anymore. Therefore, the
2237 --command_port command line argument doesn't accept -1 as a valid
2238 value anymore.
2239 - Skylark: It is an error to shadow a global variable with a local
2240 variable after the global has already been accessed in the
2241 function.
2242 - bin_dir and genfiles_dir are now properties of ctx, not
2243 configuration. That is, to access the bin or genfiles directory
2244 from a
2245 Skylark rule, use ctx.bin_dir or ctx.genfiles_dir (not
2246 ctx.configuration.{bin,genfiles}_dir). At the moment, you can
2247 access
2248 {bin,genfiles}_dir from either, but the ctx.configuration version
2249 will
2250 stop working in a future release.
2251 - filegroup-based C++ toolchains are not supported anymore.
2252 --*_crosstool_top options must always point to a
2253 cc_toolchain_suite rule (or an alias of one).
2254 - repository_ctx.{download,download_and_extract,execute} API now use
2255 named parameters for optional parameters and no
2256 longer uses argument
2257 type to distinguished between arguments
2258 (executable attribute name
2259 must be specified when preceding optional
2260 arguments are missing).
2261
2262New features:
2263
2264 - print and fail are now available in BUILD files.
2265
2266Important changes:
2267
2268 - Added @bazel_tools//tools/build_defs/repo/git.bzl as a Skylark
2269 rule for Git repositories.
2270 - Added @bazel_tools//tools/build_defs/repo/maven_rules.bzl as a
2271 Skylark rule for Maven repositories.
2272 - Add global hash() function for strings (only)
2273 - Improve Android split transition handling.
2274 - Removes exports_manifest attribute from android_binary rule.
2275 - java_proto_library: control strict-deps through a rule-level and
2276 a package-level attribute.
2277 - Persistent workers are now used by default for Java compilation
2278 in Bazel, which should speed up your Java builds by ~4x. You can
2279 switch back to the old behavior via --strategy=Javac=standalone.
2280 Check out http://www.bazel.io/blog/2015/12/10/java-workers.html
2281 for more details.
2282 - objc_* rules can now depend on any target that returns an "objc"
2283 provider.
2284 - Adds support for NDK12 to `android_ndk_repository` rule in Bazel.
2285 - Test targets can disable the JUnit4 test security manager via a
2286 property.
2287 - Disable the Android split transition if --android_cpu and
2288 fat_apk_cpu are both empty.
2289 - New sandboxing implementation for Linux in which all actions run
2290 in a separate execroot that contains input files as symlinks back
2291 to the originals in the workspace. The running action now has
2292 read-write access to its execroot and /tmp only and can no longer
2293 write in arbitrary other places in the file system.
2294 - Add worker support to single jar.
2295 - Invoke source jar action as a worker.
2296 - Sandboxed builds allow network access for builds by default.
2297 Tests will still be run without networking, unless
2298 "requires-network" is specified as a tag.
2299 - Add path.realpath() method for Skylark repositories.
2300 - On Mac devices, detect locally installed versions of xcode to:
2301 1. Use a sensible default if xcode is required but
2302 --xcode_version is unspecified.
2303 2. Use sensible default iOS SDK version for the targeted version
2304 of xcode if ios_sdk_version is unspecified.
2305 - Emacs' [C-x `], a.k.a. next-error, works again in emacsen >= 25.1
2306 - swift_library can be used to build watchOS apps.
2307 - Exposes the is_device field on Apple platform objects and adds
2308 the apple_common.platform_type(name) method to retrieve a
2309 platform_type value that can be passed to methods like the Apple
2310 fragment's multi_arch_platform.
2311 - Move Skylark git_repository rules to git.bzl
2312 - Add support for aspects to attr.label() attributes
2313 - Global varaiables HOST_CFG and DATA_CFG are deprecated in favor
2314 of strings "host"
2315 and "data.
2316 Argument `cfg = "host"` or `cfg = "data"` is mandatory if
2317 `executable = True` is provided for a label.
2318 - The deprecation attribute of all rules now causes warnings
2319 to be printed when other targets depend on a target with that
2320 attribute set.
2321 - Change default of --[no]instrument_test_targets to false, change
2322 default --instrumentation_filter (which previously tried to
2323 exclude test targets by heuristic) to only exclude targets in
2324 javatests.
2325 - Remove deprecated absolute paths in blaze IDE artifacts
2326 - When using android_binary.manifest_merger="android" the merger
2327 produces a summary log next to the merged manifest artifact.
2328 - Allow different default mallocs per configuration.
2329
Bazel Release System70c772b2016-07-29 10:28:13 +02002330## Release 0.3.1 (2016-07-29)
2331
2332```
2333Baseline: 792a9d6
2334
2335Cherry picks:
2336 + 25e5995: Rollback of commit
2337 a2770334ea3f3111026eb3e1368586921468710c.
2338 + 2479405: Fix NPE with unset maven_jar sha1
2339 + 3cf2126: Rewrite the extra action info files if the data within
2340 them changes.
2341 + 5a9c6b4: JavaBuilder: Reintroduce the -extra_checks flag.
2342```
2343
2344Incompatible changes:
2345
2346 - Removed predefined Python variable "generic_cpu".
2347 - Skylark rules: if you set "outputs" or an attribute to a
2348 function, this function must now list its required attributes as
2349 parameters (instead of an attribute map).
2350 - The host_platform and target_platform entries are not written to
2351 the master log anymore.
2352 - Bazel requires Hazelcast 3.6 or higher now for remote execution
2353 support, because we upgraded our client library and the protocol
2354 it uses is incompatible with older versions.
2355
2356New features:
2357
2358 - LIPO context (--lipo_context) can now also be a cc_test (in
2359 addition to cc_binary)
2360
2361Important changes:
2362
2363 - If --android_crosstool_top is set, native code compiled for
2364 android will always use --android_compiler and not --compiler in
2365 choosing the crosstool toolchain, and will use --android_cpu if
2366 --fat_apk_cpu is not set.
2367 - Add --instrument_test_targets option.
2368 - apple_binary supports a new platform_type attribute, which, if
2369 set to "watchos", will build dependencies for Apple's watchOS2.
2370 - objc_binary now supports late-loaded dynamic frameworks.
2371 - Native Swift rules no longer pull in module maps unconditionally.
2372 Use --experimental_objc_enable_module_maps for that.
2373 - Merged manifests are guaranteed to have the application element
2374 as the last child of the manifest element as required by Android
2375 N.
2376 - The Android manifest merger is now available as an option for
2377 android_binary rules. The merger will honor tools annotations in
2378 AndroidManifest.xml and will perform placeholder substitutions
2379 using the values specified in android_binary.manifest_values. The
2380 merger may be selected by setting the manifest_merger attribute
2381 on android_binary.
2382 - The progress message would not clear packages that need to be
2383 loaded twice.
2384 - Remove warning for high value of --jobs.
2385 - Use the correct build configuration for shared native deps during
2386 Android split transitions.
2387 - When building ObjectiveC++, pass the flag -std=gnu++11.
2388 - use xcrun simctl instead of iossim to launch the app for "blaze
2389 run".
2390 - Glob arguments 'exclude' and 'exclude_directories' must be named
2391 - Bazel no longer regards an empty file as changed if its mtime has
2392 changed.
2393
Bazel Release Systemccadf8d2016-06-10 13:28:40 +02002394## Release 0.3.0 (2016-06-10)
2395
2396```
2397Baseline: a9301fa
2398
2399Cherry picks:
2400 + ff30a73: Turn --legacy_external_runfiles back on by default
2401 + aeee3b8: Fix delete[] warning on fsevents.cc
2402```
2403
2404Incompatible changes:
2405
2406 - The --cwarn command line option is not supported anymore. Use
2407 --copt instead.
2408
2409New features:
2410
2411 - On OSX, --watchfs now uses FsEvents to be notified of changes
2412 from the filesystem (previously, this flag had no effect on OS X).
2413 - add support for the '-=', '*=', '/=', and'%=' operators to
2414 skylark. Notably, we do not support '|=' because the semantics
2415 of skylark sets are sufficiently different from python sets.
2416
2417Important changes:
2418
2419 - Use singular form when appropriate in blaze's test result summary
2420 message.
2421 - Added supported for Android NDK revision 11
2422 - --objc_generate_debug_symbols is now deprecated.
2423 - swift_library now generates an Objective-C header for its @objc
2424 interfaces.
2425 - new_objc_provider can now set the USES_SWIFT flag.
2426 - objc_framework now supports dynamic frameworks.
2427 - Symlinks in zip files are now unzipped correctly by http_archive,
2428 download_and_extract, etc.
2429 - swift_library is now able to import framework rules such as
2430 objc_framework.
2431 - Adds "jre_deps" attribute to j2objc_library.
2432 - Release apple_binary rule, for creating multi-architecture
2433 ("fat") objc/cc binaries and libraries, targeting ios platforms.
2434 - Aspects documentation added.
2435 - The --ues_isystem_for_includes command line option is not
2436 supported anymore.
2437 - global function 'provider' is removed from .bzl files. Providers
2438 can only be accessed through fields in a 'target' object.
2439
Bazel Release System9fdd6012016-05-17 11:12:31 +02002440## Release 0.2.3 (2016-05-10)
2441
2442```
2443Baseline: 5a2dd7a
2444```
2445
2446Incompatible changes:
2447
2448 - All repositories are now directly under the x.runfiles directory
2449 in the runfiles tree (previously, external repositories were at
2450 x.runfiles/main-repo/external/other-repo. This simplifies
2451 handling remote repository runfiles considerably, but will break
2452 existing references to external repository runfiles.
2453 Furthermore, if a Bazel project does not provide a workspace name
2454 in the WORKSPACE file, Bazel will now default to using __main__
2455 as the workspace name (instead of "", as previously). The
2456 repository's runfiles will appear under x.runfiles/__main__/.
2457 - Bazel does not embed protocol buffer-related rules anymore.
2458 - It is now an error for a cc rule's includes attribute to point to
2459 the workspace root.
2460 - Bazel warns if a cc rule's includes attribute points out of
2461 third_party.
2462 - Removed cc_* attributes: abi / abi_deps. Use select() instead.
2463
2464New features:
2465
2466 - select({"//some:condition": None }) is now possible (this "unsets"
2467 the attribute).
2468
2469Important changes:
2470
2471 - java_import now allows its 'jars' attribute to be empty.
2472 - adds crunch_png attribute to android_binary
2473 - Replace --java_langtools, --javabuilder_top, --singlejar_top,
2474 --genclass_top, and --ijar_top with
2475 java_toolchain.{javac,javabuilder,singlejar,genclass,ijar}
2476 - External repository correctness fix: adding a new file/directory
2477 as a child of a new_local_repository is now noticed.
2478 - iOS apps are signed with get-task-allow=1 unless building with -c
2479 opt.
2480 - Generate debug symbols (-g) is enabled for all dbg builds of
2481 objc_ rules.
2482 - Bazel's workspace name is now io_bazel. If you are using Bazel's
2483 source as an external repository, then you may want to update the
2484 name you're referring to it as or you'll begin seeing warnings
2485 about name mismatches in your code.
2486 - Fixes integer overflow in J2ObjC sources to be Java-compatible.
2487 - A FlagPolicy specified via the --invocation_policy flag will now
2488 match the current command if any of its commands matches any of
2489 the commands the current command inherits from, as opposed to
2490 just the current command.
2491 - The key for the map to cc_toolchain_suite.toolchains is now a
2492 string of the form "cpu|compiler" (previously, it was just "cpu").
2493 - Fix interaction between LIPO builds and C++ header modules.
2494 - Ctrl-C will now interrupt a download, instead of waiting for it to
2495 finish.
2496 - Proxy settings can now be specified in http_proxy and https_proxy
2497 environment variables (not just HTTP_PROXY and HTTPS_PROXY).
2498 - Skylark targets can now read include directories from
2499 ObjcProvider.
2500 - Expose parameterized aspects to Skylark.
2501 - Support alwayslink cc_library dependencies in objc binaries.
2502 - Import cc_library dependencies in generated Xcode project.
2503
Bazel Release System1aedd1f12016-04-25 09:47:50 +02002504## Release 0.2.2b (2016-04-22)
Bazel Release System951cea22016-04-21 14:10:12 +02002505
2506```
2507Baseline: 759bbfe
Bazel Release System1aedd1f12016-04-25 09:47:50 +02002508
2509Cherry picks:
Bazel Release System951cea22016-04-21 14:10:12 +02002510 + 1250fda: Rollback of commit
2511 351475627b9e94e5afdf472cbf465f49c433a25e.
2512 + ba8700e: Correctly set up build variables for the correct pic
2513 mode for fake_binary rules.
2514 + 386f242: Automated [] rollback of commit
2515 525fa71b0d6f096e9bfb180f688a4418c4974eb4.
Bazel Release System1aedd1f12016-04-25 09:47:50 +02002516 + 97e5ab0: Fix cc_configure include path for Frameworks on OS X.
2517 + a20352e: cc_configure: always add -B/usr/bin to the list of gcc
2518 option
2519 + 0b26f44: cc_configure: Add piii to the list of supported
2520 cpu_value
2521 + 3e4e416: cc_configure: uses which on the CC environment variable
2522 + aa3dbd3: cc_configure.bzl: strip end of line when looking for
2523 the cpu
2524 + 810d60a: cc_configure: Add -B to compiler flag too
Bazel Release System951cea22016-04-21 14:10:12 +02002525```
2526
Bazel Release System1aedd1f12016-04-25 09:47:50 +02002527Patch release, only includes fixes to C++ auto-configuration.
Bazel Release System951cea22016-04-21 14:10:12 +02002528
Bazel Release System950c1ab2016-03-31 17:18:55 +02002529## Release 0.2.1 (2016-03-21)
2530
2531```
2532Baseline: 19b5675
2533```
2534
2535Incompatible changes:
2536
2537 - Skylark rules that are available from their own repository will
2538 now issue a warning when accessed through @bazel_tools.
2539 - Set --legacy_bazel_java_test to off by default. java_test will
2540 now have a slightly different behaviour, correctly emitting XML
2541 file but, as a downside, it needs correct declaration of the
2542 test suite (see https://github.com/bazelbuild/bazel/issues/1017).
2543 - Labels in .bzl files in remote repositories will be resolved
2544 relative to their repository (instead of the repository the
2545 Skylark rule is used in).
2546 - Renamed proto_java_library to java_proto_library. The former
2547 is now deprecated and will print out a warning when used.
2548 - android_sdk now compiles android_jack on the fly from
2549 android_jar, which means android_jar must be a jar and
2550 android_jack is now deprecated. The Jack tools (jack, jill,
2551 resource_extractor) must be specified.
2552 - Any project that depended on the objc_options rule will be
2553 broken. Can be fixed by adding attrs (infoplists,copts) directly
2554 to rules depending on the options.
2555 - .aidl files correctly require import statements for types
2556 defined in the same package and the same android_library.
2557
2558New features:
2559
2560 - Experimental Windows support is available.
2561 - Experimental support for writing remote repository rules in
2562 Skylark is available.
2563 - iOS ipa_post_processor attribute allows for user-defined IPA
2564 edits.
2565 - Adds a to_json method to Skylark structs, providing conversion to
2566 JSON format.
2567 - Native python rule can depend on skylark rule as long as skylark
2568 rule provides 'py' provider.
2569 - When using both --verbose_failures and --sandbox_debug, Bazel
2570 prints instructions how to spawn a debugging shell inside the
2571 sandbox.
2572 - add flag --sandbox_add_path, which takes a list of additional
2573 paths as argument and mount these paths to sandbox.
2574
2575Important changes:
2576
2577 - @androidsdk//:org_apache_http_legacy added for the legacy Apache
2578 classes for android sdk version 23 and above.
2579 - Genrules correctly work when used with bazel run.
2580 - When namespace-sandbox is run with the -D (debug) flag and
2581 inside a terminal, it spawns a shell inside the sandbox to aid in
2582 debugging when the sandboxed command fails.
2583 - Added --artifact to workspace generator for generating workspace
2584 and build file rules from artifact coodrinates.
2585 - Specifying --experimental_android_resource_shrinking on the
2586 command line will enable a resource shrinking pass on
2587 android_binary targets that already use Proguard.
2588 - J2ObjC updated to 1.0.1 release.
2589 - Added "root_symlinks" and "symlinks" parameters to Skylark
2590 runfiles() method.
2591 - You can no longer use objc_binary targets for the xctest_app
2592 attribute of an ios_test rule.
2593 - Enable overriding jsonnet binaries and stdlib for Jsonnet rules.
2594 - mount target of /etc/resolv.conf if it is a symlink.
2595 - Tests that failed to build because execution was halted no longer
2596 print their status.
2597 - Bazel warns if a cc rule's includes attribute contains up-level
2598 references that escape its package.
2599 - Add repository_ctx.download and repository_ctx.download_and_extract
2600 function.
2601
Bazel Release Systemf98290d2016-02-23 13:51:16 +01002602## Release 0.2.0 (2016-02-18)
2603
2604```
2605Baseline: 9e100ac
2606```
2607
2608Incompatible changes:
2609
2610 - ObjC compile actions for J2ObjC-translated code now only has
2611 access to headers from the java deps of the associated original
2612 java rule.
2613 These compile actions no longer takes the compiler options
2614 specified in "copts" attribute on objc_binary/ios_test rules.
2615 J2ObjC dead code removal (enabled through flag
2616 "--j2objc_dead_code_removal") now happens *after* ObjC
2617 compilation.
2618 - maven_jar no longer supports separate artifact_id, group_id, and
2619 verison fields. This information should be provided in the
2620 artifact field,
2621 instead.
2622
2623New features:
2624
2625 - Better support for toolchains that don't have a dynamic linker.
2626 - build_file_content attribute added to new_git_repository,
2627 new_http_archive, and new_local_repository.
2628 - Add support for .tar.bz2 archives to http_archive rules.
2629
2630Important changes:
2631
2632 - The --skyframe flag is no longer available for the build command.
2633 - The --artifacts flag was removed from the dump command.
2634 - The sha256 attribute is now optional (although recommended!) for
2635 remote repository rules.
2636 - Add instrumented file provider support to Skylark rules.
2637 - Add imports attribute to native Python rules.
2638 - Allow overriding -gsplit-dwarf from copts.
2639 - Improved sandbox performance on XFS filesystems.
2640
Bazel Release System00cf25d2016-02-09 18:36:51 +01002641## Release 0.1.5 (2016-02-05)
2642
2643```
2644Baseline: 3a95f35
2645 + 8378cd8: Rollback of commit
2646 a9b84575a32476a5faf991da22b44661d75c19b6.
2647```
2648
2649Incompatible changes:
2650
2651 - Set stamping to false by default (i.e., --nostamp)
2652 - Removed --objc_dump_syms_binary.
2653 - Removes --objc_gcov_binary flag.
2654 - Remove JAVAC "Make" variable
2655 - The startup flag --blaze_cpu is removed,
2656
2657New features:
2658
2659 - A new java test runner that support XML output and test filtering
2660 is supported. It can be used by specifying --nolegacy_bazel_java_test
2661 or by specifying the test_class attribute on a java_test.
2662 - Skylark aspects can now specify configuration fragment
2663 dependencies with fragments and host_fragments like rules can.
2664
2665Important changes:
2666
2667 - Support for downloading remote resources through proxies by
2668 setting HTTP_PROXY (or HTTPS_PROXY).
2669 - Timestamps within Android apks are removed to make apks
2670 deterministic.
2671 - Support aggregation over existing rules in Skylark extensions
2672 through native.rules and native.rule.
2673 - A tools/bazel script in the workspace will be executed
2674 as an opportunity to use a fixed version of Bazel (not
2675 implemented for the homebrew recipe yet).
2676 - --noimplicit_deps and --nohost_deps work correctly for Aspect
2677 attributes.
2678 - JDK-related targets are now available via @local_jdk (instead of
2679 @local-jdk).
2680 - j2objc tools can now be accessed via @bazel_j2objc, not
2681 @bazel-j2objc.
2682 - Repository rules must use names that are valid workspace names.
2683 - [rust] Update to Rust 1.6
2684 - Add support for .tar.xz archives to http_archive rules.
2685 - Make C++ modules compatible with tools using
2686 --compilation_prerequisites_only
2687 - [d] Update to DMD 2.070.0
2688
Bazel Release System446d9922016-01-21 10:59:31 +01002689## Release 0.1.4 (2016-01-15)
2690
2691```
2692Baseline: e933d5e
2693 + 3d796fe: Rollback of commit
2694 ac6ed79e1a3fa6b0ca91657b28e2a35f7e49758c.
2695 + 7a02e5d: Fix installer under OS X
2696 + 848740c: Fix bazel version for debian package
2697 + 7751d43: Add a method for getting the root of a rule workspace
2698 to the Label method
2699```
2700
2701Important changes:
2702
2703 - add loadfiles() query operator, to find skylark files loaded by
2704 targets.
2705 - Added ability to declare and use aspects in Skylark.
2706 - Skylark load statements may now reference .bzl files via build
2707 labels, in addition to paths. In particular, such labels can be
2708 used to reference Skylark files in external repositories; e.g.,
2709 load("@my_external_repo//some_pkg:some_file.bzl", ...).
2710 Path-based loads are now deprecated and may be disabled in the
2711 future. Caveats: Skylark files currently do not respect package
2712 visibility; i.e., all Skylark files are effectively public. Also,
2713 loads may not reference the special //external package.
2714 - Relative paths can now be used for 'path' with
2715 new_local_repository and local_repository.
2716
Bazel Release System1518253e2016-01-11 10:10:19 +01002717## Release 0.1.3 (2016-01-07)
2718
2719```
2720Baseline: 23ad8f6
2721 + de2183d: Only depend on the WORKSPACE file for external files
2722 that are under the external/ directory, i.e. were
2723 created by Bazel.
2724 + f8f855c: Rollback of commit
2725 12bad3af0eade9c4b79d76f9e1c950ad2e3214c2.
2726 + f627562: Stop parsing the WORKSPACE file when a parse error is
2727 detected
2728 + 763f139: Add -fno-canonical-system-headers to CROSSTOOL files so
2729 that gcc doesn't resolve symlinks in .d files, which
2730 would confuse Blaze.
2731 + b95995b: Use openjdk7 as dependency for debian package of jdk7
2732 flavor
2733```
2734
2735New features:
2736
2737 - Skylark macros are now enabled in WORKSPACE file.
2738 - .bazelrc allows workspace-relative imports as "import
2739 %workspace%/path/to/rcfile"
2740 - Evaluate the query expression in a file by passing
2741 --query_file=<file> to query
2742
2743Important changes:
2744
2745 - Remove obsolete --objc_per_proto_includes flag.
2746 - iOS apps and extensions now have launch_storyboard
2747 - Passing multiple JVM options via a single --host_jvm_args flag is
2748 now deprecated. Pass each JVM option behind its own
2749 --host_jvm_args flag.
2750 - Resources defined locally on an android_library rule will respect
2751 the neverlink attribute.
2752 - Update Rust to 1.4
2753 - Fix resource handling for exported android_library rules
2754 - Files in external repositories are now treated as mutable, which
2755 will make the correctness guarantees of using external
2756 repositories stronger (existent), but may cause performance
2757 penalties.
2758
Bazel Release System0d2e4092015-12-04 23:31:41 +01002759## Release 0.1.2 (2015-11-20)
2760
2761```
2762Baseline: ee0ade3
2763 + 1e66ccd: RELNOTES: Symlink dirents of directories containing a
2764 file named
2765 "DONT_FOLLOW_SYMLINKS_WHEN_TRAVERSING_THIS_DIRECTORY_VIA
2766 _A_RECURSIVE_TARGET_PATTERN" will *not* be traversed
2767 for transitive target patterns. The motivation here is
2768 to allow directories that intentionally contain wonky
2769 symlinks (e.g. foo/bar -> foo) to opt out of being
2770 consumed by Blaze. For example, given
2771 + f5773fc: Set the ijar MAX_BUFFER_SIZE to 256 MB
2772```
2773
2774New features:
2775
2776 - java_library now supports the proguard_specs attribute for
2777 passing Proguard configuration up to Android (not Java) binaries.
2778 - http_file can specify "executable" to make the downloaded file
2779 runnable.
2780 - Debian and tar packaging is now supported
2781 (see tools/build_defs/pkg/README.md).
2782 - cpxx_builtin_include_directory specifications allow more
2783 flexibility.
2784 - accept %crosstool_top% in cxx_builtin_include_directory
2785 - android_binary now supports proguard_apply_mapping to re-use a
2786 previously generated proguard mapping.
2787
2788Important changes:
2789
2790 - remove webstatusserver (--use_webstatusserver).
2791 - Add support for objc textual headers, which will not be compiled
2792 when modules are enabled.
2793 - actoolzip, momczip and swiftstdlibtoolzip have all been made into
2794 bash scripts and have been renamed to actoolwrapper, momcwrapper
2795 and swiftstdlibtoolwrapper respectively. The old versions will be
2796 deleted in a later change.
2797 - [rust] Add rust_bench_test and rust_doc_test rules and improve
2798 usability of rust_test tule.
2799 - Java rules now support a resource_strip_prefix attribute that
2800 allows the removal of path prefixes from Java resources.
2801 - [docker_build] incremental loading is default now.
2802 Specify explicitly //package:target.tar (with the .tar extension)
2803 to obtain the full image.
2804 - --ios_signing_cert_name allows specifying a cert for iOS app
2805 signing
2806 - Go rules for Bazel.
2807 - [jsonnet] Update to Jsonnet 0.8.1.
2808 - [jsonnet] Add vars and code_vars attributes to jsonnet_to_json to
2809 allow passing external variables to Jsonnet via --var and
2810 --code_var.
2811 - Adds --override_workspace_root blaze flag to hand-set
2812 workspace_root and mainGroup in xcodeproj.
2813 - Allow dots in package names.
2814 - When used as a forwarding rule (i.e., has no sources),
2815 android_library
2816 will also forward any exported_plugins in its dependencies.
2817 - Add support for Windows-created zip files with non-posix
2818 permissions.
2819 - [jsonnet] Add jsonnet_to_json_test rule for testing Jsonnet code.
2820 - C++ compile actions run in a sandbox now on systems that support
2821 sandboxed execution.
2822 - The names of the clang compilers in the Android NDK crosstool no
2823 longer reference gcc.
2824 - 420 dpi is now a valid density for andoid_binary.densities.
2825 - Bazel does strict validation of include files now to ensure
2826 correct incremental builds. If you see compilation errors when
2827 building C++ code, please make sure that you explicitly declare
2828 all header files in the srcs or hdrs attribute of your cc_*
2829 targets and that your cc_* targets have correct "deps" on
2830 cc_library's that they use.
2831 - [jsonnet] Fix jsonnet_to_json rule to read code_vars from
2832 code_vars instead of vars.
2833 - Tests, genrules, and Skylark actions without the
2834 "requires-network" tag will no longer be able to access the
2835 network.
2836 - C++ libraries no longer need includes = ["."] (or similar copts)
2837 to include paths relative to a remote repository's root.
2838 - Support exports attribute for android_library
2839 - Symlink dirents of directories containing a file named
2840 "DONT_FOLLOW_SYMLINKS_WHEN_TRAVERSING_THIS_DIRECTORY_VIA_A_RECURSI
2841 VE_TARGET_PATTERN" will *not* be traversed for transitive target
2842 patterns. The motivation here is to allow directories that
2843 intentionally contain wonky symlinks (e.g. foo/bar -> foo) to opt
2844 out of being consumed by Blaze.
2845
Bazel Release Systemfa35b182015-10-14 12:11:51 -04002846## Release 0.1.1 (2015-10-05)
2847
2848```
2849Baseline: 22616ae
2850 + 1ef338f: Rollback of "Propagates cc_library linkopts attribute
2851 to dependent objc_libraries.": breaks certain
2852 objc_binary build targets.
2853 + 5fb1073: Reintroduce an inconsistency check (albeit, in a weaker
2854 form) removed by a previous change that was trying to
2855 optimize away a filesystem call.
2856 + 6d00468b2eb976866cfb814d562e0d53a580a46f: Add IdlClass to the embedded default android tools
2857 repository and rearrange BuildJar's JarHelper so that
2858 it too can be embedded.
2859 + a5199039934a2e399a7201adc0d74e2f2d2b0ff3: Fixes Android integration tests by wiring up idlclass
2860 rules in integration environment.
2861```
2862
2863Incompatible changes:
2864
2865 - Bazel requires JDK 8 to run.
2866 - Attribute "copts" is removed from j2objc_library.
2867
2868New features:
2869
2870 - a cc_binary rule may list '.s' and '.asm' files in the srcs
2871 - Support for build with libsass.
2872 - labels in "linkopts" may match any label in either "deps" or
2873 "srcs" to be considered valid.
2874 - Maven servers that require username & password authentication are
2875 now supported (see maven_server documentation).
2876
2877Important changes:
2878
2879 - Support empty plist files
2880 - The <compatible-screens> section of the AndroidManifest.xml will
2881 not be overwritten if it already contains a <screen> tag for each
2882 of the densities specified on the android_binary rule.
2883 - Add Jsonnet rules to Bazel
2884 - Remove deprecated xcode_options flag.
2885 - Workspace names are now restricted to being in their base
2886 directory
2887 (that is, the names cannot contain up-level references or /./).
2888 - j2objc_library on Bazel now transpiles transitive proto_library
2889 dependencies. (Note that java_* rules in Bazel do not yet support
2890 protos; currently they ignore proto dependencies.)
2891 - new_http_archive can specify a root directory.
2892 - Adds support for dylibs on devices for Xcode 7.
2893 - [d] d_docs rules now depend on a d_binary, a d_library or
2894 d_source_library.
2895 - [docker] docker_build now set the permission to 0555 to files
2896 added to the layer, use `mode = "0644"` to use the legacy behavior.
2897 - android_binary now has a main_dex_proguard_specs attribute to
2898 specify which classes should be in the main dex.
2899 - [rust] Add rust_docs rule for generating rustdoc.
Bazel Release System79e40ac2015-09-08 23:38:00 +02002900## Release 0.1.0 (2015-09-08)
2901
2902```
2903Baseline: a0881e8
2904 + 87374e6: Make android_binary use a constant, hard-coded,
2905 checked-in debug key.
2906 + 2984f1c: Adds some safety checks in the Bazel installer
2907 + 4e21d90: Remove BUILD.glob and incorporate the necessary
2908 filegroups into the android_{ndk,sdk}_repository rules
2909 themselves.
2910 + 1ee813e: Fix Groovy rules to work with sandboxing
2911 + 8741978: Add initial D rules to Bazel.
2912 + 2c2e70d: Fix the installer and fixing the package shiped into
2913 binary version of Bazel.
2914```
2915
2916Initial release.
Bazel Release System6712cac2017-02-01 19:53:37 +01002917
Bazel Release System8d635fc2017-03-16 13:18:30 +01002918
Bazel Release Systema3e26832017-05-26 14:11:07 +02002919
Bazel Release System63222de2017-06-06 11:32:04 +02002920
Bazel Release System7b851222017-06-27 15:08:47 +02002921
Bazel Release System195a7a82017-07-27 20:27:32 +02002922
Bazel Release System5371d132017-08-25 11:24:06 +02002923
Bazel Release System471c0e12017-09-28 16:36:12 +02002924
Bazel Release Systemed0ebc02017-10-05 23:52:25 +02002925
Bazel Release System76b6d0a2017-10-18 14:34:11 +02002926
Bazel Release System0838aee2017-11-27 14:16:34 +01002927
Bazel Release System3d53cb02017-12-05 15:28:40 +01002928
Bazel Release System5bd27482018-02-01 09:43:33 +01002929
Bazel Release Systeme1148362018-02-15 10:02:05 +01002930
Bazel Release System09077a32018-02-23 11:09:18 -05002931
Bazel Release Systemc86d6a02018-03-06 19:32:18 +01002932
Bazel Release System546976c2018-04-11 17:34:19 +02002933
Bazel Release System1d9c6062018-04-30 10:45:38 +02002934
Bazel Release System24c68ff2018-05-23 10:59:57 +02002935
Bazel Release System3a592f62018-06-01 15:04:31 +02002936
Bazel Release System513bbf52018-06-08 14:15:20 +02002937