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