blob: 603c8fed59b4a14eea1ce9aaa5eb5cba9d3295e9 [file] [log] [blame] [view]
Bazel Release System0838aee2017-11-27 14:16:34 +01001## Release 0.8.0 (2017-11-27)
2
3```
4Baseline: cff0dc94f6a8e16492adf54c88d0b26abe903d4c
5
6Cherry picks:
7 + 8a49b156c4edf710e3e1e0acfde5a8d27cc3a086:
8 Fix ImportError on tools.android for junction_lib
9 + 275ae45b1228bdd0f912c4fbd634b29ba4180383:
10 Automated rollback of commit
11 4869c4e17d5b1410070a1570f3244148d8f97b5d.
12 + d0bf589f2716b3d139c210930371a684c6e158eb:
13 Add a random number to action temp dir
14 + 9738f35abddb7ef7a7ef314b5d2a52a3be1b830a:
15 CcProtoLibrary: Don't add dynamic librarys to filesToBuild on
16 Windows
17 + 0d6ff477099fdf6c8c1c7d4e2104f9184afe0a2b:
18 Automated rollback of commit
19 0ebb3e54fc890946ae6b3d059ecbd50e4b5ec840.
20```
21
22Incompatible changes:
23
24 - ctx.fragments.apple.{xcode_version,ios_minimum_os} is not
25 supported anymore. The same information is accessible through the
26 target @bazel_tools//tools/osx:current_xcode_config: point an
27 implicit attribute to it (i.e.
28 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
29 nfig")) then use
30 ctx.attr._xcode_config[apple_common].XcodeVersionConfig].
31 - ctx.fragments.apple.minimum_os_for_platform_type is not supported
32 anymore. The same information is accessible through the target
33 @bazel_tools//tools/osx:current_xcode_config: point an implicit
34 attribute to it (i.e.
35 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
36 nfig")) then use
37 ctx.attr._xcode_config[apple_common].XcodeVersionConfig].minimum_o
38 s_for_platform_type .
39 - ctx.fragments.apple.sdk_version_for_platform is not supported
40 anymore. The same information is accessible through the target
41 @bazel_tools//tools/osx:current_xcode_config: point an implicit
42 attribute to it (i.e.
43 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
44 nfig")) then use
45 ctx.attr._xcode_config[apple_common].XcodeVersionConfig].sdk_versi
46 on_for_platform .
47 - --javabase=<absolute path> and --host_javabase=<absolute path>
48 are not supported anymore. If you need this functionality
49 java_runtime_suite(name="suite", default=":runtime")
50 java_runtime(name="runtime", java_home=<path to the JDK>) is an
51 alternative.
52 - The flag --incompatible_descriptive_string_representations is no
53 longer available, old style string representations of objects are
54 not supported
55 anymore.
56 - The flag --incompatible_disallow_set_constructor is no longer
57 available, the deprecated `set` constructor is not available
58 anymore.
59 - += on lists now mutates them. `list1 += list2` is now equivalent
60 to `list1.extend(list2)` and not equivalent to `list1 = list1 +
61 list2` anymore.
62 - the target_apple_env and apple_host_system_env methods on
63 ctx.fragments.apple are not supported anymore. The same
64 information is accessible through apple_common.target_apple_env
65 and apple_common.apple_host_system_env . They need the Xcode
66 configuration as an argument, which can be obtained by declaring
67 an implicit dependency on it (i.e.
68 attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
69 nfig")) and then calling e.g.
70 apple_common.apple_host_system_env(ctx.attr._xcode_config[apple_co
71 mmon.XcodeVersionConfig]).
72 - C++ toolchain identifiers are not in the name of the output
73 directory anymore.
74 - Selecting on "xcode_version" and
75 "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
76 What was config_setting(values={"$FOO_version": $VALUE}) is now
77 config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version_
78 flag": $VALUE}).
79 - Selecting on "xcode_version" and
80 "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
81 What was config_setting(values={"$FOO_version": $VALUE}) is now
82 config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version_
83 flag": $VALUE}).
84 - The flag --incompatible_disallow_set_constructor is no longer
85 available, the deprecated `set` constructor is not available
86 anymore.
87 - Selecting on "xcode_version" and
88 "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
89 What was config_setting(values={"$FOO_version": $VALUE}) is now
90 config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_versi...
91
92New features:
93
94 - runfiles, sh: Shell scripts may now depend on
95 //src/tools/runfiles:runfiles_sh_lib and source runfiles.sh. The
96 script defines the `rlocation` function which returns runfile
97 paths on every platform.
98 - In addition to $(location), Bazel now also supports $(rootpath)
99 to obtain
100 the root-relative path (i.e., for runfiles locations), and
101 $(execpath) to
102 obtain the exec path (i.e., for build-time locations)
103
104Important changes:
105
106 - android_binary now supports custom debug keys via the debug_key
107 attribute.
108 - Updated Android proguard to 5.3.3. It now works with android-24+.
109 - --experimental_use_parallel_android_resource_processing and
110 --experimental_android_use_nocompress_extensions_on_apk are
111 removed. These features are fully rolled out.
112 - Fixes #2574
113 - Fixes #3834
114 - Enable experimental UI by default.
115 - .
116 RELNOTES: None.
117 RELNOTES: No.
118 - Add memory profiler.
119 - [Bazel] {java,cc}_proto_library now look for dependencies in
120 @com_google_protobuf, instead of in @com_google_protobuf_$LANG
121 - Improved merge.sh script in cookbook.
122 - Fixing regression to --experimental_remote_spawn_cache
123 - Support for linker scripts in NativeDepsHelper (e.g.,
124 android_binary)
125 - Skylark semantics flags now affect WORKSPACE files and repository
126 rules.
127 - ctx.outputs.executable is deprecated. Use DefaultInfo(executable
128 = ...) instead.
129 - Update "mirror.bazel.build" urls to use https.
130 - Improve --config logging when --announce_rc is present.
131 - Document interaction between test_suite and target exclusions
132 - Replace version numbers for Bazel installers with "<version>"
133 (because this will change often)
134 - Published command lines should have improved lists of effective
135 options.
136 - --incremental_dexing_binary_types has been removed. All builds
137 are supported by incremental dexing (modulo proguard and some
138 blacklisted dx flags).
139 - Document --host_javabase, --host_java_toolchain
140
Bazel Release System76b6d0a2017-10-18 14:34:11 +0200141## Release 0.7.0 (2017-10-18)
142
143```
144Baseline: 5cc6246d429f7d9119b97ce263b4fd6893222e92
145
146Cherry picks:
147 + e79a1107d90380501102990d82cbfaa8f51a1778:
148 Windows,bootstrapping: fix build_windows_jni.sh
149```
150
151Incompatible changes:
152
153 - The --output=location flag to 'bazel query' cannot be used with
154 query expressions that involve the 'buildfiles' or 'loadfiles'
155 operators. This also applies to 'genquery' rules.
156 - Operators for equality, comparison, 'in' and 'not in' are no
157 longer associative,
158 e.g. x < y < z is now a syntax error. Before, it was parsed
159 as: (x < y) < z.
160 - In strings, octal sequences greater than \377 are now forbidden
161 (e.g. "\\600").
162 Previously, Blaze had the same behavior as Python 2, where
163 "\\450" == "\050".
164 - Using tabulation for identation is now fobidden in .bzl files
165 - `load` is now a language keyword, it cannot be used as an
166 identifier
167 - lvalues must have define at least one variable (i.e. we forbid
168 `[] = f()`).
169 - Fixed a bug whereby multiple load() statements could appear on
170 the same line
171 - -extra_checks:off is no longer supported; use
172 -XepDisableAllChecks instead
173 - java_common.java_toolchain_attr is removed. Depend on the
174 java_toolchain_alias() rule to accomplish the same thing.
175 - cc_common.cc_toolchain_attr and java_common.java_runtime_attr are
176 not supported anymore and were replaced with the
177 cc_toolchain_alias() and java_runtime_alias() rules.
178 - Noop flag --deprecated_generate_xcode_project deleted.
179 - Objects in Skylark are converted to strings in a more descriptive
180 and less harmful way (they don't leak information that shouldn't
181 be accessed by Skylark code, e.g. nondeterministic memory addresses
182 of objects).
183 - `set` is deprecated in BUILD and .bzl files, please use `depset`
184 instead. Ordering names have also been changed, please use "default",
185 "postorder", "preorder", and "topological" instead of "stable",
186 "compile", "naive_link", and "link" correspondingly.
187 - Integer overflow (on signed 32 bit numbers) in BUILD/bzl files is
188 an error.
189 - Keyword-only syntax in a function definition is now forbidden
190 e.g. `def foo(a, *, b)` or `def foo(a, *b, c)`
191 - --incompatible_comprehension_variables_do_not_leak defaults to
192 "true."
193 Iteration variable becomes inaccessible after a list/dict
194 comprehension.
195 - @bazel_tools//tools/build_defs/docker:docker.bzl is no longer
196 available, please see https://github.com/bazelbuild/rules_docker.
197
198New features:
199
200 - Zipped LLVM profiles are now supported.
201 - LIPO maps to ThinLTO for LLVM builds.
202 - Change to handle LLVM FDO zipped profile contents correctly.
203 - Do not disable fully dynamic linking with ThinLTO when invoked
204 via LIPO options.
205 - There is now a 'siblings' query function. See the query
206 documentation for more details.
207 - Added the print_action command, which outputs the
208 actions needed to build a given target in the form of an
209 ExtraActionSummary proto in text format.
210 - android_binary now supports proguard_apply_dictionary to specify
211 a custom dictionary to use for choosing names to obfuscate
212 classes and members to.
213
214Important changes:
215
216 - Windows: bazel clean --expunge works
217 - First argument of 'load' should be a label. Path syntax is
218 deprecated (label should start with '//' or ':').
219 - Octal prefix '0' is deprecated in favor of '0o' (use 0o777
220 instead of 0777).
221 - The extension_safe attribute of apple_binary no longer validates
222 transitive dependencies are compiled against extension_safe APIs.
223 - Parentheses around the tuple are now mandatory in [a for b in c
224 if 1, 2]
225 - Adjust the thresholds for --test_verbose_timeout_warnings so that
226 it can recommending timeout increases and won't recommend
227 timeouts that are too close to the actual timeout.
228 - Iterating on a `depset` object is deprecated. If you need an
229 iterable, call the `.to_list()` method first.
230 - Bazel now uses tools from action_configs in Crosstool by default
231 (as oposed to using top level tools).
232 - Incremental dexing errors on combination of --multidex=off and
233 either --main-dex-list or --minimal-main-dex.
234 - When using the dictionary literal syntax, it is now an error to
235 have duplicated keys (e.g. {'ab': 3, 'ab': 5}).
236 - New property on android_sdk: aapt2
237 Choose the version of aapt on android_binary
238 - Add idl_preprocessed attribute to android_library, so that
239 preprocessed aidl files can be passed to android_library for
240 compiling
241 - Bazel's remote_worker backend for remote execution supports
242 sandboxing on Linux now. Check
243 https://github.com/bazelbuild/bazel/blob/master/src/tools/remote_w
244 orker/README.md for details.
245 - Allows flags that expand to take values.
246 - Make querying attributes formed by selector lists of list types
247 more efficient by no longer listing every possible combination of
248 attribute value but by more compactly storing the possible values
249 of the list.
250 - writing build events to a file is no longer experimental
251 - set --rewrite_calls_to_long_compare to false by default.
252 - ObjC and C++ coverage feature is unified under name 'coverage'
253 - Enable --incremental_dexing for Android builds by default. Note
254 that some dexopts are incompatible with incremental dexing,
255 including --force-jumbo.
256 - Evaluation will soon use checked arithmetics and throw an error
257 instead of overflow/underflow.
258 - Implicit iteration in the CROSSTOOL has been removed, use
259 explicit 'iterate_over' message.
260 - Add option for Android specific grte_top
261 - Crosstool patches are only applied if the toolchain doesn't define
262 'no_legacy_features' feature.
263 - 'platform_type' is now a mandatory attribute on apple_binary and
264 apple_static_library rules.
265 If this change breaks your build, feel free to add platform_type
266 = 'ios' to any apple_binary and apple_static_library
267 targets in your project, as this was the previous default
268 behavior.
269 - Remove apple_watch2_extension build rule. Users should be using
270 the skylark watchos_application and watchos_extension rules.
271 https://github.com/bazelbuild/rules_apple has details.
272 - Check stderr to detect if connected to a terminal. Deprecate
273 --isatty.
274 - Commands that shut down the server (like "shutdown") now ensure
275 that the server process has terminated before the client process
276 terminates.
277 - Remove apple_watch1_extension and apple_watch_extension_binary
278 rules. Users should be using the skylark watchos_application and
279 watchos_extension rules.
280 https://github.com/bazelbuild/rules_apple has details.
281 - Windows: Wrapper-less CROSSTOOL becomes default now.
282 set USE_MSVC_WRAPPER=1 if you still want to use wrapper script.
283 - Ignore --glibc in the Android transition.
284 - Remove --experimental_android_use_singlejar_for_multidex.
285 - nocopts now also filter copts
286 - 'strip' action is now configured via feature configuration
287 - The Build Event Service (BES) client now properly supports
288 Google Applicaton Default Credentials.
289 - Flags from action_config get added first to the command line
290 first, before the flags from features.
291 - update dexing tools to Android SDK 26.0.1
292 - Bazel Android support now requires build-tools 26.0.1 or later.
293 - `bazel info output_path` no longer relies on the root directory
294 filename being equal to the workspace name.
295 - The `print` function now prints debug messages instead of
296 warnings.
297 - speedup of incremental dexing tools
298 - --announce_rc now controls whether bazelrc startup options are
299 printed to stderr.
300 - Removing a few unused objc_provider keys.
301 - Improved logging when workers have to be restarted due to its
302 files having changed.
303 - Top-level `if` statements are now forbidden.
304 - Java protos are compiled to Java 7 bytecode.
305 - All Android builds now use the desugar tool to support some Java
306 8 features by default. To disable, use the --nodesugar_for_android flag.
307 - Skylark-related options may now appear as "common" command
308 options in the .bazelrc
309 - Python is now required to build bazel.
310 - New --build_runfile_manifests flag controls production of
311 runfiles manifests.
312 - Enable debug info for Java builds
313 - Allow java_lite_proto_library in the deps of android rules.
314 - .so files in APKs will be memory-page aligned when
315 android_binary.nocompress_extensions contains ".so" and
316 --experimental_android_use_nocompress_extensions_on_apk is
317 specified.
318 - Skylark providers can specify allowed fields and their
319 documentation.
320 - Support ctx.actions.args() for more efficient Skylark command
321 line construction.
322 - The remote HTTP/1.1 caching client (--remote_rest_cache) now
323 distinquishes between action cache and CAS. The request URL for
324 the action cache is prefixed with 'ac' and the URL for the CAS
325 is prefixed with 'cas'.
326 - `JavaInfo` is a preferred alias to `java_common.provider`.
327 - J2ObjC version updated to 2.0.3.
328 - A new Java coverage implementation is available. Makes possible
329 coverage for Skylark JVM rules.
330 - Make proguard_apply_dictionary also apply to class and package
331 obfuscation, not just class members.
332 - android_binary.nocompress_extensions now applies to all files in
333 the APK, not just resources and assets.
334 - The apple_genrule rule that is distributed with Bazel has been
335 deleted. Users who wish to use genrules with Xcode's
336 DEVELOPER_DIR set should use the rules in
337 https://github.com/bazelbuild/rules_apple instead.
338 - The swift_library rule that is distributed with Bazel has been
339 deleted. Users who wish to compile Swift should use the rules in
340 https://github.com/bazelbuild/rules_apple instead.
341 - The Build Event Protocol's File.uri field is now properly
342 encoded according to RFC2396.
343 - Deprecated: Using the android_library.deps attribute to
344 implicitly export targets to dependent rules. If your code is
345 using this feature, Bazel will raise a warning. To fix, please
346 use android_library.exports to explicitly specify exported
347 targets. Run with
348 --experimental_allow_android_library_deps_without_srcs=false to
349 ensure forward compatibility when this feature is removed in a
350 future release.
351 - java_common.create_provider is now supported with creating ijars
352 by default. This introduces incompatibilities for existing users.
353 Please set use_ijar=False if you don't want to use ijars.
354 - Tests can now write files to TEST_UNDECLARED_OUTPUTS_DIR and
355 TEST_UNDECLARED_OUTPUTS_ANNOTATIONS_DIR and these will be
356 reflected under bazel-testlogs.
357 - remove unused --host_incremental_dexing flag
358 - Stop using --undefined dynamic_lookup in Apple links. Enables
359 unresolved symbol errors.
360 - All test output files included for cached, uncached, and multiple
361 attempt tests.
362 - Android rules no longer restrict the manifest file to be named
363 "AndroidManifest.xml".
364 - Boolean flag values will now get normalized to 1 or 0 in
365 canonicalize-flags output.
366 - added experimental --use_new_category_enum to the help command to
367 output options grouped by the new type of category.
368 - Expose output jars and jdeps in java_common.provider, when
369 available.
370 - android_library targets are no longer allowed to use deps to
371 export targets implicitly; please use android_library.exports
372 instead.
373 - New depset API
374 - apple_binary and apple_static_library no longer support
375 compilation attributes such as 'srcs'. If this breaks any
376 existing targets, you may migrate all such attributes to a new
377 objc_library target and depend on that objc_library target via
378 the 'deps' attribute of apple_binary or apple_static_library.
379
Bazel Release Systemed0ebc02017-10-05 23:52:25 +0200380## Release 0.6.1 (2017-10-05)
381
382```
383Baseline: 87cc92e5df35d02a7c9bc50b229c513563dc1689
384
385Cherry picks:
386 + a615d288b008c36c659fdc17965207bb62d95d8d:
387 Rollback context.actions.args() functionality.
388 + 7b091c1397a82258e26ab5336df6c8dae1d97384:
389 Add a global failure when a test is interrupted/cancelled.
390 + 95b0467e3eb42a8ce8d1179c0c7e1aab040e8120:
391 Cleanups for Skylark tracebacks
392 + cc9c2f07127a832a88f27f5d72e5508000b53429:
393 Remove the status xml attribute from AntXmlResultWriter
394 + 471c0e1678d0471961f1dc467666991e4cce3846:
395 Release 0.6.0 (2017-09-28)
396 + 8bdd409f4900d4574667fed83d86b494debef467:
397 Only compute hostname once per server lifetime
398 + 0bc9b3e14f305706d72180371f73a98d6bfcdf35:
399 Fix bug in NetUtil caching.
400```
401
402Important changes:
403 - Only compute hostname once per server lifetime
404
Bazel Release System471c0e12017-09-28 16:36:12 +0200405## Release 0.6.0 (2017-09-28)
406
407```
408Baseline: 87cc92e5df35d02a7c9bc50b229c513563dc1689
409
410Cherry picks:
411 + a615d288b008c36c659fdc17965207bb62d95d8d:
412 Rollback context.actions.args() functionality.
413 + 7b091c1397a82258e26ab5336df6c8dae1d97384:
414 Add a global failure when a test is interrupted/cancelled.
415 + 95b0467e3eb42a8ce8d1179c0c7e1aab040e8120:
416 Cleanups for Skylark tracebacks
417 + cc9c2f07127a832a88f27f5d72e5508000b53429:
418 Remove the status xml attribute from AntXmlResultWriter
419```
420
421Incompatible changes:
422
423 - Noop flag --deprecated_generate_xcode_project deleted.
424 - Objects in Skylark are converted to strings in a more descriptive
425 and less harmful way (they don't leak information that shouldn't
426 be accessed by Skylark code, e.g. nondeterministic memory addresses
427 of objects).
428 - `set` is deprecated in BUILD and .bzl files, please use `depset`
429 instead. Ordering names have also been changed, please use
430 "default", "postorder", "preorder", and "topological" instead of
431 "stable", "compile", "naive_link", and "link" correspondingly.
432 - Integer overflow (on signed 32 bit numbers) in BUILD/bzl files is
433 an error.
434 - Keyword-only syntax in a function definition is now forbidden
435 e.g. `def foo(a, *, b)` or `def foo(a, *b, c)`
436 - --incompatible_comprehension_variables_do_not_leak defaults to
437 "true."
438 Iteration variable becomes inaccessible after a list/dict
439 comprehension.
440
441New features:
442
443 - There is now a 'siblings' query function. See the query
444 documentation for more details.
445 - Added the print_action command, which outputs the
446 actions needed to build a given target in the form of an
447 ExtraActionSummary proto in text format.
448 - android_binary now supports proguard_apply_dictionary to specify
449 a custom dictionary to use for choosing names to obfuscate
450 classes and members to.
451
452Important changes:
453
454 - 'strip' action is now configured via feature configuration
455 - Flags from action_config get added first to the command line
456 first,
457 before the flags from features.
458 - `bazel info output_path` no longer relies on the root directory
459 filename being equal to the workspace name.
460 - The `print` function now prints debug messages instead of
461 warnings.
462 - speedup of incremental dexing tools
463 - --announce_rc now controls whether bazelrc startup options are
464 printed to stderr.
465 - Removing a few unused objc_provider keys.
466 - Improved logging when workers have to be restarted due to its
467 files having changed.
468 - Top-level `if` statements are now forbidden.
469 - Java protos are compiled to Java 7 bytecode.
470 - All Android builds now use the desugar tool to support some Java
471 8 features by default. To disable, use the
472 --nodesugar_for_android flag.
473 - Skylark-related options may now appear as "common" command
474 options in the .bazelrc
475 - Python is now required to build bazel.
476 - When the lvalue of an augmented assignment is a list, we now
477 throw an error
478 before evaluating the code (e.g. `a, b += 2, 3`).
479 - New --build_runfile_manifests flag controls production of
480 runfiles manifests.
481 - Enable debug info for Java builds
482 - Allow java_lite_proto_library in the deps of android rules.
483 - .so files in APKs will be memory-page aligned when
484 android_binary.nocompress_extensions contains ".so" and
485 --experimental_android_use_nocompress_extensions_on_apk is
486 specified.
487 - Skylark providers can specify allowed fields and their
488 documentation.
489 - Support ctx.actions.args() for more efficient Skylark command
490 line construction.
491 - The remote HTTP/1.1 caching client (--remote_rest_cache) now
492 distinquishes between action cache and CAS. The request URL for
493 the action cache is prefixed with 'ac' and the URL for the CAS
494 is prefixed with 'cas'.
495 - `JavaInfo` is a preferred alias to `java_common.provider`.
496 - J2ObjC version updated to 2.0.3.
497 - A new Java coverage implementation is available. Makes possible
498 coverage for Skylark JVM rules.
499 - Make proguard_apply_dictionary also apply to class and package
500 obfuscation, not just class members.
501 - When using the dictionary literal syntax, it is now an error to
502 have duplicated keys (e.g. {'ab': 3, 'ab': 5}).
503 - android_binary.nocompress_extensions now applies to all files in
504 the APK, not just resources and assets.
505 - The apple_genrule rule that is distributed with Bazel has been
506 deleted. Users who wish to use genrules with Xcode's
507 DEVELOPER_DIR set should use the rules in
508 https://github.com/bazelbuild/rules_apple instead.
509 - The swift_library rule that is distributed with Bazel has been
510 deleted. Users who wish to compile Swift should use the rules in
511 https://github.com/bazelbuild/rules_apple instead.
512
Bazel Release System5371d132017-08-25 11:24:06 +0200513## Release 0.5.4 (2017-08-25)
514
515```
516Baseline: 6563b2d42d29196432d5fcafa0144b8371fbb028
517
518Cherry picks:
519 + d4fa181f8607c35230b7efa1ce94188b51508962:
520 Use getExecPathString when getting bash_main_file
521 + 837e1b3d4859140d29aaa6bbab8fbb008e6d701e:
522 Windows, sh_bin. launcher: export runfiles envvars
523 + fe9ba893c0ebec19228086356af5fa8d81f2809b:
524 grpc: Consolidate gRPC code from BES and Remote Execution. Fixes
525 #3460, #3486
526 + e8d4366cd374fba92f1425de0d475411c8defda4:
527 Automated rollback of commit
528 496d3ded0bce12b7371a93e1183ba30e6aa88032.
529 + 242a43449dd44a22857f6ce95f7cc6a7e134d298:
530 bes,remote: update default auth scope.
531 + 793b409eeae2b42be7fed58251afa87b5733ca4d:
532 Windows, sh_bin. launcher: fix manifest path
533 + 7e4fbbe4ab3915a57b2187408c3909e5cd6c6013:
534 Add --windows_exe_launcher option
535 + 91fb38e92ace6cf14ce5da6527d71320b4e3f3d2:
536 remote_worker: Serialize fork() calls. Fixes #3356
537 + b79a9fcd40f448d3aebb2b93a2ebe80d09b38408:
538 Quote python_path and launcher in
539 python_stub_template_windows.txt
540 + 4a2e17f85fc8450aa084b201c5f24b30010c5987:
541 Add build_windows_jni.sh back
542 + ce61d638197251f71ed90db74843b55d9c2e9ae5:
543 don't use methods and classes removed in upstream dx RELNOTES:
544 update dexing tools to Android SDK 26.0.1
545 + 5393a4996d701fa192964a35cbb75e558a0599c0:
546 Make Bazel enforce requirement on build-tools 26.0.1 or later.
547 + 5fac03570f80856c063c6019f5beb3bdc1672dee:
548 Fix --verbose_failures w/ sandboxing to print the full command
549 line
550 + f7bd1acf1f96bb7e3e19edb9483d9e07eb5af070:
551 Only patch in C++ compile features when they are not already
552 defined in crosstool
553 + d7f5c120417bc2d2344dfb285322355f225d9153:
554 Bump python-gflags to 3.1.0, take two
555 + 3cb136d5451e9d8af58f9a99990cad0592df101a:
556 Add python to bazel's dockerfiles
557```
558
559New features:
560
561 - Do not disable fully dynamic linking with ThinLTO when invoked
562 via LIPO options.
563
564Important changes:
565
566 - Ignore --glibc in the Android transition.
567 - Remove --experimental_android_use_singlejar_for_multidex.
568 - nocopts now also filter copts
569 - The Build Event Service (BES) client now properly supports
570 Google Applicaton Default Credentials.
571 - update dexing tools to Android SDK 26.0.1
572 - Bazel Android support now requires build-tools 26.0.1 or later.
573 - Fix a bug in the remote_worker that would at times make it crash on Linux. See #3356
574 - The java_proto_library rule now supports generated sources. See #2265
575
Bazel Release System195a7a82017-07-27 20:27:32 +0200576## Release 0.5.3 (2017-07-27)
577
578```
579Baseline: 88518522a18df5788736be6151fc67992efe2aad
580
581Cherry picks:
582 + 820a46af10808396873c36d0f331e533118cf0c6:
583 Automated rollback of commit
584 6d6e87297fe8818e4c374fdfabfbcf538bca898a.
585 + ccfb2df69ecf4746f5a15e1295af995c3a45aa94:
586 Allow py_binary to be the executable of a Skylark action or any
587 SpawnAction on Windows.
588 + 06534911696838e720c8681f6f568c69d28da65e:
589 Fix string representation for the Root class
590 + cd159bcee72a7f377621b45409807231a636f9e2:
591 sandbox: Allow UNIX sockets on macOS even when block-network is
592 used.
593 + ad73cba3caa2e08ad61ea9ca63f9111cde1f48d1:
594 Fix python_stub_template.txt to be compatible with Python 2.4.
595 + 9a63aff8bb771af8917903fbbc9df3b708e2c0ed:
596 Create Windows ZIP release artifact using Bazel
597 + 5e576637b5705aff0a7bf56b5077463dffcd712f:
598 Automated rollback of commit
599 820a46af10808396873c36d0f331e533118cf0c6.
600 + b6e29ca217b02c3ba499b85479a3830f59c9b9b6:
601 Use the correct function to generate the release notes
602 + 0f3481ba6364f24ef76b839bdde06ae7883c9bd9:
603 Include <cinttypes> instead of <stdint.h>
604```
605
606Incompatible changes:
607
608 - The --output=location flag to 'bazel query' cannot be used with
609 query expressions that involve the 'buildfiles' or 'loadfiles'
610 operators. This also applies to 'genquery' rules.
611 - Operators for equality, comparison, 'in' and 'not in' are no
612 longer associative, e.g. x < y < z is now a syntax error.
613 Before, it was parsed as: (x < y) < z.
614 - In strings, octal sequences greater than \377 are now forbidden
615 (e.g. "\\600"). Previously, Blaze had the same behavior as Python 2,
616 where "\\450" == "\050".
617 - Using tabulation for identation is now fobidden in .bzl files
618 - `load` is now a language keyword, it cannot be used as an
619 identifier
620 - lvalues must have define at least one variable (i.e. we forbid
621 `[] = f()`).
622 - Fixed a bug whereby multiple load() statements could appear on
623 the same line
624 - -extra_checks:off is no longer supported; use
625 -XepDisableAllChecks instead
626 - java_common.java_toolchain_attr is removed. Depend on the
627 java_toolchain_alias() rule to accomplish the same thing.
628 - cc_common.cc_toolchain_attr and java_common.java_runtime_attr are
629 not supported anymore and were replaced with the
630 cc_toolchain_alias() and java_runtime_alias() rules.
631
632New features:
633
634 - Zipped LLVM profiles are now supported.
635 - LIPO maps to ThinLTO for LLVM builds.
636 - Change to handle LLVM FDO zipped profile contents correctly.
637
638Important changes:
639
640 - Windows: bazel clean --expunge works
641 - First argument of 'load' should be a label. Path syntax is
642 deprecated (label should start with '//' or ':').
643 - Octal prefix '0' is deprecated in favor of '0o' (use 0o777
644 instead of 0777).
645 - The extension_safe attribute of apple_binary no longer validates
646 transitive dependencies are compiled against extension_safe APIs.
647 - Parentheses around the tuple are now mandatory in [a for b in c
648 if 1, 2]
649 - Adjust the thresholds for --test_verbose_timeout_warnings so that
650 it can recommending timeout increases and won't recommend
651 timeouts that are too close to the actual timeout.
652 - Iterating on a `depset` object is deprecated. If you need an
653 iterable, call the `.to_list()` method first.
654 - Bazel now uses tools from action_configs in Crosstool by default
655 (as oposed to using top level tools).
656 - Incremental dexing errors on combination of --multidex=off and
657 either --main-dex-list or --minimal-main-dex.
658 - When using the dictionary literal syntax, it is now an error to
659 have duplicated keys (e.g. {'ab': 3, 'ab': 5}).
660 - New property on android_sdk: aapt2
661 Choose the version of aapt on android_binary
662 - Add idl_preprocessed attribute to android_library, so that
663 preprocessed aidl files can be passed to android_library for
664 compiling
665 - Bazel's remote_worker backend for remote execution supports
666 sandboxing on Linux now. Check
667 https://github.com/bazelbuild/bazel/blob/master/src/tools/remote_w
668 orker/README.md for details.
669 - Allows flags that expand to take values.
670 - Make querying attributes formed by selector lists of list types
671 more efficient by no longer listing every possible combination of
672 attribute value but by more compactly storing the possible values
673 of the list.
674 - Writing build events to a file is no longer experimental
675 - set --rewrite_calls_to_long_compare to false by default.
676 - ObjC and C++ coverage feature is unified under name 'coverage'
677 - Enable --incremental_dexing for Android builds by default. Note
678 that some dexopts are incompatible with incremental dexing,
679 including --force-jumbo.
680 - Evaluation will soon use checked arithmetics and throw an error
681 instead of overflow/underflow.
682 - Implicit iteration in the CROSSTOOL has been removed, use
683 explicit 'iterate_over' message.
684 - Add option for Android specific grte_top
685 - Crosstool patches are only applied if the toolchain doesn't define
686 'no_legacy_features' feature.
687 - 'platform_type' is now a mandatory attribute on apple_binary and
688 apple_static_library rules.
689 If this change breaks your build, feel free to add platform_type
690 = 'ios' to any apple_binary and apple_static_library
691 targets in your project, as this was the previous default
692 behavior.
693 - Remove apple_watch2_extension build rule. Users should be using
694 the skylark watchos_application and watchos_extension rules.
695 https://github.com/bazelbuild/rules_apple has details.
696 - Check stderr to detect if connected to a terminal. Deprecate
697 --isatty.
698 - Commands that shut down the server (like "shutdown") now ensure
699 that the server process has terminated before the client process
700 terminates.
701 - Remove apple_watch1_extension and apple_watch_extension_binary
702 rules. Users should be using the skylark watchos_application and
703 watchos_extension rules.
704 https://github.com/bazelbuild/rules_apple has details.
705 - Windows: Wrapper-less CROSSTOOL becomes default now.
706 set USE_MSVC_WRAPPER=1 if you still want to use wrapper script.
707
Bazel Release System7b851222017-06-27 15:08:47 +0200708## Release 0.5.2 (2017-06-27)
709
710```
711Baseline: e78ad83ded6e9c6d639793827e27b6570e6e9f65
712
713Cherry picks:
714 + 68028317c1d3d831a24f90e2b25d1410ce045c54:
715 experimental UI: move stopUpdateThread() out of synchronized,
716 again
717 + 019935dfbb61e61d08d1351b0365fb4e2d0df305:
718 Fix bug in URI computation in RemoteModule
719 + e9424cf9b9d72b98594966d5ac0f15bb018ec639:
720 Automated rollback of commit
721 7dec00574aa91327693f6ba7e90bff5bc834253e.
722 + 9eea05d068a06ab642dd9d86d46ee5fa2e36b02e:
723 Switching to Watcher API instead of wait_for_completion, in
724 preparation for deprecating the wait_for_completion field.
725 + 89659810e3048782dfb5e308e39aa8a0727e464e:
726 Set correct execroot for info
727 + 716b527266f47f59a2b7fb2e5fc52cb45e1691b1:
728 Only create a single per-build instance of the remote cache /
729 executor
730 + 1d82d199f82409f217a42bcefebb96f723f91caa:
731 protobuf: Update protobuf jars to be binary compatible with Java
732 6. Fixes #3198
733 + 524b90d9e5acc4fa568f215c9415eaa902e979f8:
734 Change CAS URI to use the "bytestream" scheme instead of being
735 scheme-less
736 + 4929ad79865f8c13ef3b33c827040f4a037e4afe:
737 Automated g4 rollback of commit
738 923d7df521f67d031b288180560848bd35e20976.
739 + 68b9a7e2dc17e32b194238d287e79bee1ba035b9:
740 Automated g4 rollback of commit
741 da56606563ee9df438db93392f681bf2abb4ac97.
742 + 2ba693ffbe824136a0ca5f47d34710612f6302c3:
743 Automated rollback of commit
744 ce7c4deda60a307bba5f0c9421738e2a375cf44e.
745```
746
747Incompatible changes:
748
749 - Blaze no longer generates xcode projects. Use tulsi.bazel.build
750 instead.
751
752Important changes:
753
754 - Keyword-only syntax in a function definition is deprecated
755 (e.g. `def foo(a, *, b)` or `def foo(a, *b, c)`) and will be
756 removed in the future.
757 - Attempting to build an Android target without setting up
758 android_sdk_repository will now produce a helpful error message.
759 - Adds a sha256 attribute to git_repository and new_git_repository.
760 This can only be used if the remote is a public GitHub
761 repository. It forces
762 Bazel to download the repository as a tarball, which will often
763 be faster and
764 more robust than cloning it.
765 - Sandboxing is now enabled by default on FreeBSD (via
766 processwrapper-sandbox).
767 - android_test may use manifest placeholders with 'manifest_merger
768 = "android"'.
769 - load() statements should be called at the top of .bzl files,
770 before any
771 other statement. This convention will be enforced in the future.
772 - Effectively remove sysroot from CppConfiguration and allow it to
773 use select statements.
774 - proto_library.strict_proto_deps no longer exists.
775 - Flag --explicit_jre_deps is now a noop.
776 - The 'legacy' Android manifest merger is deprecated. Please
777 upgrade to the 'android' manifest merger, which is the same
778 merger used by Gradle.
779 https://developer.android.com/studio/build/manifest-merge.html
780 - Using $(CC_FLAGS) in a GenRule adds a dependency to the c++
781 toolchain
782 - add one-version enforcement to android_local_test
783 - Skylark support (apple_common.dotted_version(string)) for
784 building DottedVersion objects to interface with native apple
785 rules
786 - CC_FLAGS can be defined using 'cc-flags-make-variable' action_config in
787 CROSSTOOL
788 - ios_framework native rule has been removed. This rule had been
789 essentially broken for several months now; users should be using
790 the skylark ios framework rule.
791 https://github.com/bazelbuild/rules_apple has details.
792 - Clean command no longer uses boolean values for --async,
793 --expunge, and --expunge_async options.
794 - Partially fixes external J2ObjC support.
795 - '--aspects' can occur more than once on the command line.
796 - --no_ prefix no longer recognized.
797 - Use action_config in crosstool for static library archiving,
798 remove ar_flag.
799 - Added a new flag --sandbox_writable_path, which asks the sandbox
800 to
801 make an existing directory writable when running actions.
802 - bazel test now also computes a default instrumentation filter if
803 --collect_code_coverage is enabled
804 - n/na
805 - In .bzl files, top-level `if` statements are deprecated and will
806 be forbidden
807 in the future. Move them in a function body instead (or use a
808 conditional
809 expression instead: `x if condition else y`).
810 - ios_device and ios_test are deprecated. Please use the new testing
811 rules in https://github.com/bazelbuild/rules_apple instead.
812 - bazel query --output package now displays packages from external
813 repository with the format "@reponame//package". Packages in the
814 main repository continue to have the format "package".
815 - ctx.expand_make_variables is deprecated.
816 - Bazel posts links to the CAS to the BEP if remote caching /
817 execution is enabled
818 - `bazel info execution_root` returns the corrrect directory name
819 for the execution root.
820
Bazel Release System63222de2017-06-06 11:32:04 +0200821## Release 0.5.1 (2017-06-06)
822
823```
824Baseline: f3ae88ee043846e7acdffd645137075a4e72c573
825
826Cherry picks:
827 + c58ba098526b748f9c73e6229cafd74748205aa1:
828 Release to GCS: put the final release in its own directory
829 + 0acead4ea3631240659836ce6ecd6d7f67fd352b:
830 Update protobuf to latest master at a64497c and apply
831 @laszlocsomor's latest changes from
832 https://github.com/google/protobuf/pull/2969 on top of it.
833 + d0242ce4a87929f2528f4602d0fb09d1ccfcea94:
834 Make symlinks consistent
835 + d953ca8b87a46decbce385cebb446ae0dd390881:
836 Clean VanillaJavaBuilder output directories
837 + 755669fb5de1f4e762f27c19776cac9f410fcb94:
838 Pass all the environment variable to Bazel during bootstrapping
839 + 6f041661ca159903691fcb443d86dc7b6454253d:
840 Do not mark the JDK7 installer -without-jdk-installer
841 + 720561113bfa702acfc2ca24ce3cc3fd7ee9c115:
842 Fix #2958: Installer should not overwrite bazelrc
843 + 511c35b46cead500d4e76706e0a709e50995ceba:
844 Bootstrap: move the fail function to the top
845 + 8470be1122825aae8ad0903dd1e1e2a90cce47d2:
846 Clean up javac and Error Prone targets
847 + 4a404de2c6c38735167e17ab41be45ef6fc4713a:
848 Update javac version to 9-dev-r4023-2
849 + 36ce4b433e19498a78c34540d5a166d4e0006b22:
850 Update javac version to 9-dev-r4023-2
851 + 38949b8526bdb3e6db22f3846aac87162c28c33f:
852 Migrate off versioned javac and Error Prone targets
853 + 1a57d298f8aa6ea8136d93223902104f2479cd2a:
854 Re-enabling passing -sourcepath via javacopts.
855 + eb565f408e03125e92d42b00756e519795be6593:
856 Make make sure that msys build actually builds msys version
857 + 39f328cf392056618d1a3ead4835a138b189a06d:
858 Fix typo. Also do not override host_cpu for msvc.
859 + 624802893f4fe72118f00a78452605d41a2e1c6f:
860 Select correct JDK for windows_msys
861 + c4f271d1a68366b6fa5ff38ea7d951b6a22af044:
862 Automated g4 rollback of commit
863 3e5edafa2a04a71cd3596e929e83222da725f3f9.
864 + 926180997a0f296a5a009326aead887279ce0a90:
865 Remove process-tools.cc which I forgot to delete during the last
866 rollback.
867 + baca6e4cb023649920871b74810927d304729e59:
868 Fix #2982: Bazel installer should not check for installed JDK if
869 using a bundled JDK.
870 + 866ecc8c3d5e0b899e3f0c9c6b2265f16daae842:
871 Disable msys path conversion on Windows.
872 + cc21998c299b4d1f97df37b961552ff8168da17f:
873 Rollforward #2 of: Basic open-source crosstool to support
874 targeting apple platform types.
875 + 0f0ccc4fc8229c1860a9c9b58089d6cfb2ee971f:
876 Escape % in strings that will appear in Crosstool
877 + 3b08f774e7938928e3a240a47a0a7554cdc8d50b:
878 Adding feature for linking C Run-Time library on Windows
879 + 3566474202d1978acfdcb7e5ff73ee03ea6f3df9:
880 Do not use sed -E in bootstrap/compile.sh
881 + c3cf7d917afd02d71de3800cd46ad8d14f1ddf55:
882 Reverts non-xcode-available darwin crosstool generation.
883```
884
885Important changes:
886
887 - Fixes regression in 0.5.0 requiring Xcode to build C++ on OSX.
888
Bazel Release Systema3e26832017-05-26 14:11:07 +0200889## Release 0.5.0 (2017-05-26)
890
891```
892Baseline: f3ae88ee043846e7acdffd645137075a4e72c573
893
894Cherry picks:
895 + c58ba098526b748f9c73e6229cafd74748205aa1:
896 Release to GCS: put the final release in its own directory
897 + 0acead4ea3631240659836ce6ecd6d7f67fd352b:
898 Update protobuf to latest master at a64497c and apply
899 @laszlocsomor's latest changes from
900 https://github.com/google/protobuf/pull/2969 on top of it.
901 + d0242ce4a87929f2528f4602d0fb09d1ccfcea94:
902 Make symlinks consistent
903 + d953ca8b87a46decbce385cebb446ae0dd390881:
904 Clean VanillaJavaBuilder output directories
905 + 755669fb5de1f4e762f27c19776cac9f410fcb94:
906 Pass all the environment variable to Bazel during bootstrapping
907 + 6f041661ca159903691fcb443d86dc7b6454253d:
908 Do not mark the JDK7 installer -without-jdk-installer
909 + 720561113bfa702acfc2ca24ce3cc3fd7ee9c115:
910 Fix #2958: Installer should not overwrite bazelrc
911 + 511c35b46cead500d4e76706e0a709e50995ceba:
912 Bootstrap: move the fail function to the top
913 + 8470be1122825aae8ad0903dd1e1e2a90cce47d2:
914 Clean up javac and Error Prone targets
915 + 4a404de2c6c38735167e17ab41be45ef6fc4713a:
916 Update javac version to 9-dev-r4023-2
917 + 36ce4b433e19498a78c34540d5a166d4e0006b22:
918 Update javac version to 9-dev-r4023-2
919 + 38949b8526bdb3e6db22f3846aac87162c28c33f:
920 Migrate off versioned javac and Error Prone targets
921 + 1a57d298f8aa6ea8136d93223902104f2479cd2a:
922 Re-enabling passing -sourcepath via javacopts.
923 + eb565f408e03125e92d42b00756e519795be6593:
924 Make make sure that msys build actually builds msys version
925 + 39f328cf392056618d1a3ead4835a138b189a06d:
926 Fix typo. Also do not override host_cpu for msvc.
927 + 624802893f4fe72118f00a78452605d41a2e1c6f:
928 Select correct JDK for windows_msys
929 + c4f271d1a68366b6fa5ff38ea7d951b6a22af044:
930 Automated g4 rollback of commit
931 3e5edafa2a04a71cd3596e929e83222da725f3f9.
932 + 926180997a0f296a5a009326aead887279ce0a90:
933 Remove process-tools.cc which I forgot to delete during the last
934 rollback.
935 + baca6e4cb023649920871b74810927d304729e59:
936 Fix #2982: Bazel installer should not check for installed JDK if
937 using a bundled JDK.
938 + 866ecc8c3d5e0b899e3f0c9c6b2265f16daae842:
939 Disable msys path conversion on Windows.
940 + cc21998c299b4d1f97df37b961552ff8168da17f:
941 Rollforward #2 of: Basic open-source crosstool to support
942 targeting apple platform types.
943 + 0f0ccc4fc8229c1860a9c9b58089d6cfb2ee971f:
944 Escape % in strings that will appear in Crosstool
945 + 3b08f774e7938928e3a240a47a0a7554cdc8d50b:
946 Adding feature for linking C Run-Time library on Windows
947```
948
949Incompatible changes:
950
951 - Bazel's Linux sandbox no longer mounts an empty tmpfs on /tmp,
952 instead the existing /tmp is mounted read-write. If you prefer
953 to have a tmpfs on /tmp for sandboxed actions for increased
954 hermeticity, please use the flag --sandbox_tmpfs_path=/tmp.
955 - Converting artifacts to strings and printing them now return
956 "File" instead of "Artifact" to be consistent with the type name.
957 - The return type of depset.to_list() is now a list rather than a
958 frozen list. (Modifying the list has no effect on the depset.)
959 - Bazel now prints logs in single lines to java.log
960 - --use_dash, --dash_url and --dash_secret are removed.
961 - Remote repositories must define any remote repositories they
962 themselves use (e.g., if @x//:foo depends on @y//:bar, @y must be
963 defined
964 in @x's WORKSPACE file).
965 - Remote repositories must define any remote repositories they
966 themselves use (e.g., if @x//:foo depends on @y//:bar, @y must be
967 defined
968 in @x's WORKSPACE file).
969 - objc_xcodeproj has been removed, use tulsi.bazel.build instead.
970
971New features:
972
973 - If grte_top is a label, it can now follow non-configurable
974 redirects.
975 - Optional coverage_files attribute to cc_toolchain
976 - "query --output=build" now includes select()s
977 - Raw LLVM profiles are now supported.
978
979Important changes:
980
981 - Automatically generate Proguard mapping when resource shrinking
982 and Proguard are enabled.
983 - New rules in Bazel: proto_library, java_lite_proto_library,
984 java_proto_library and cc_proto_library
985 - Activate the "dead_strip" feature if objc binary stripping is
986 enabled.
987 - More stable naming scheme for lambda classes in desugared android
988 code
989 - Convert --use_action_cache to a regular option
990 - Per-architecture dSYM binaries are now propagated by
991 apple_binary's AppleDebugOutputsProvider.
992 - Avoid factory methods when desugaring stateless lambdas for
993 Android
994 - desugar calls to Objects.requireNonNull(Object o) with
995 o.getClass() for android
996 - Add an --copy_bridges_from_classpath argument to android
997 desugaring tool
998 - Change how desugar finds desugared classes to have it working on
999 Windows
1000 - Evaluation of commands on TargetsBelowDirectory patterns
1001 (e.g. //foo/...) matching packages that fail to load now report
1002 more
1003 detailed error messages in keep_going mode.
1004 - Allow to have several inputs and outputs
1005 - Repository context's execute() function can print stdout/stderr
1006 while running. To enable, pass quiet=False.
1007 - Bazel can now be built with a bundled version of the OpenJDK.
1008 This makes it possible to use Bazel on systems without a JDK, or
1009 where
1010 the installed JDK is too old.
1011 - The --jobs flag now defaults to "auto", which causes Bazel to
1012 use a reasonable degree of parallelism based on the local
1013 machine's
1014 capacity.
1015 - Bazel benchmark (perf.bazel.build) supports Java and Cpp targets.
1016 - no factory methods generated for lambda expressions on android
1017 - The Linux sandbox no longer changes the user to 'nobody' by
1018 default, instead the current user is used as is. The old behavior
1019 can be
1020 restored via the --sandbox_fake_username flag.
1021 - /tmp and /dev/shm are now writable by default inside the
1022 Linux sandbox.
1023 - Bazel can now use the process-wrapper + symlink tree based
1024 sandbox implementation in FreeBSD.
1025 - turn on --experimental_incremental_dexing_error_on_missed_jars by
1026 default.
1027 - All android_binarys are now signed with both Apk Signature V1 and
1028 V2. See https://source.android.com/security/apksigning/v2.html
1029 for more details.
1030 - Windows MSVC wrappers: Not filtering warning messages anymore,
1031 use --copt=-w and --host_copt=-w to suppress them.
1032 - A downloader bug was fixed that prevented RFC 7233 Range
1033 connection resumes from working with certain HTTP servers
1034 - Introduces experimental android_device rule for configuring and
1035 launching Android emulators.
1036 - For boolean flags, setting them to false using --no_<flag_name>
1037 is deprecated. Use --no<flag_name> without the underscore, or
1038 --<flag_name>=false instead.
1039 - Add --experimental_android_compress_java_resources flag to store
1040 java
1041 resources as compressed inside the APK.
1042 - Removed --experimental_use_jack_for_dexing and libname.jack
1043 output of
1044 android_library.
1045 - blaze canonicalize-flags now takes a --show_warnings flag
1046 - Changing --invocation_policy will no longer force a server
1047 restart.
1048 - Bazel now supports Android NDK14.
1049 - android_binary multidex should now work without additional flags.
1050 - Use action_config in crosstool for static library archiving,
1051 remove ar_flag.
1052 - new option for bazel canonicalize-flags, --canonicalize_policy
1053 - Use action_config in crosstool for static library archiving,
1054 remove ar_flag.
1055 - android_library exports_manifest now defaults to True.
1056 - Fix select condition intersections.
1057 - Adds a --override_repository option that takes a repository
1058 name and path. This forces Bazel to use the directory at that path
1059 for the repository. Example usage:
1060 `--override_repository=foo=/home/user/gitroot/foo`.
1061 - fix idempotency issue with desugaring lambdas in interface
1062 initializers for android
1063 - --experimental_android_use_singlejar_for_multidex is now a no-op
1064 and will eventually be removed.
1065 - Every local_repository now requires a WORKSPACE file.
1066 - Remove jack and jill attributes of the android_sdk rule.
1067 - Add Skylark stubs needed to remove sysroot from CppConfiguration.
1068 - Desugar try-with-resources so that this language feature is
1069 available
1070 to deveces with API level under 19.
1071 - The flag --worker_max_retries was removed. The
1072 WorkerSpawnStrategy no longer retries execution of failed Spawns,
1073 the reason being that this just masks compiler bugs and isn't
1074 done for any other execution strategy either.
1075 - Bazel will no longer gracefully restart workers that crashed /
1076 quit, instead this triggers a build failure.
1077 - All java resources are now compressed in android_binary APKs by
1078 default.
1079 - All java resources are now compressed in android_binary APKs by
1080 default.
1081 - android_ndk_repository now creates a cc_library
1082 (@androidndk//:cpufeatures) for the cpufeatures library that is
1083 bundled in the Android NDK. See
1084 https://developer.android.com/ndk/guides/cpu-features.html for
1085 more details.
1086 - 'output_groups' and 'instrumented_files' cannot be specified in
1087 DefaultInfo.
1088 - You can increase the CPU reservation for tests by adding a
1089 "cpu:<n>" (e.g. "cpu:4" for four cores) tag to their rule in a
1090 BUILD file. This can be used if tests would otherwise overwhelm
1091 your system if there's too much parallelism.
1092 - Deprecate use_singlejar_for_proguard_libraryjars and force
1093 behavior to always on.
1094
Bazel Release System8d635fc2017-03-16 13:18:30 +01001095## Release 0.4.5 (2017-03-16)
1096
1097```
1098Baseline: 2e689c29d5fc8a747216563235e905b1b62d63b0
1099
1100Cherry picks:
1101 + a28b54033227d930672ec7f2714de52e5e0a67eb:
1102 Fix Cpp action caching
1103 + 6d1d424b4c0da724e20e14235de8012f05c470f8:
1104 Fix paths of binaries in .deb packages.
1105 + 0785cbb672357d950e0c045770c4567df9fbdc43:
1106 Update to guava 21.0 and Error Prone version 2.0.18-20160224
1107 + 30490512eb0e48a3774cc4e4ef78680e77dd4e47:
1108 Update to latest javac and Error Prone
1109 + 867d16eab3bfabae070567ecd878c291978ff338:
1110 Allow ' ', '(', ')' and '$' in labels
1111 + 7b295d34f3a4f42c13aafc1cc8afba3cb4aa2985:
1112 Pass through -sourcepath to the JavaBuilder
1113 + 14e4755ce554cdfc685fc9cc2bfb5b699a3b48f4:
1114 PathFragment comparisons are now platform-aware
1115 + ed7795234ca7ccd2567007f2c502f853cd947e50:
1116 Flag to import external repositories in python import path
1117 + 81ae08bbc13f5f4a04f18caae339ca77ae2699c1:
1118 Suppress error for non-exhaustive switches
1119 + e8d1177eef9a9798d2b971630b8cea59471eec33:
1120 Correctly returns null if an environment variables is missing
1121 + 869d52f145c077e3499b88df752cebc60af51d66:
1122 Fix NPE in Android{S,N}dkRepositoryFunction.
1123 + d72bc57b60b26245e64f5ccafe023a5ede81cc7f:
1124 Select the good guava jars for JDK7 build
1125 + 92ecbaeaf6fa11dff161254df38d743d48be8c61:
1126 Windows: Assist JNI builds with a target for jni_md.h.
1127 + 36958806f2cd38dc51e64cd7bcc557bd143bbdb6:
1128 Add java_common.create_provider to allow creating a
1129 java_common.provider
1130 + 8c00f398d7be863c4f502bde3f5d282b1e18f504:
1131 Improve handling of unknown NDK revisions in
1132 android_ndk_repository.
1133 + b6ea0d33d3ab72922c8fb3ec1ff0e437af09584d:
1134 Add the appropriate cxx_builtin_include_directory entries for
1135 clang to the Android NDK crosstool created by
1136 android_ndk_repository.
1137```
1138
1139Incompatible changes:
1140
1141 - Depsets (former sets) are converted to strings as "depset(...)"
1142 instead of
1143 "set(...)".
1144 - Using --symlink_prefix is now applied to the output
1145 symlink (e.g. bazel-out) and the exec root symlink (e.g.
1146 bazel-workspace).
1147 - Bazel now uses the test's PATH for commands specified as
1148 --run_under; this can affect users who explicitly set PATH to
1149 a more
1150 restrictive value than the default, which is to forward the
1151 local PATH
1152 - It's not allowed anymore to compare objects of different types
1153 (i.e. a string to an integer) and objects for which comparison
1154 rules are not
1155 defined (i.e. a dict to another dict) using order operators.
1156
1157New features:
1158
1159 - environ parameter to the repository_rule function let
1160 defines a list of environment variables for which a change of
1161 value
1162 will trigger a repository refetching.
1163
1164Important changes:
1165
1166 - android_ndk_repository now supports Android NDK R13.
1167 - Android resource shrinking is now available for android_binary
1168 rules. To enable, set the attribute 'shrink_resources = 1'. See
1169 https://bazel.build/versions/master/docs/be/android.html#android_b
1170 inary.shrink_resources.
1171 - resolve_command/action's input_manifest return/parameter is now
1172 list
1173 - For increased compatibility with environments where UTS
1174 namespaces are not available, the Linux sandbox no longer hides
1175 the hostname of the local machine by default. Use
1176 --sandbox_fake_hostname to re-enable this feature.
1177 - proto_library: alias libraries produce empty files for descriptor
1178 sets.
1179 - Adds pkg_rpm rule for generating RPM packages.
1180 - Allow CROSSTOOL files to have linker flags specific to static
1181 shared libraries.
1182 - Make it mandatory for Java test suites in bazel codebase, to
1183 contain at least one test.
1184 - Support for Java 8 lambdas, method references, type annotations
1185 and repeated annotations in Android builds with
1186 --experimental_desugar_for_android.
1187 - Removed .xcodeproj automatic output from objc rules. It can still
1188 be generated by requesting it explicitly on the command line.
1189 - Flips --explicit_jre_deps flag on by default.
1190 - Activate the "dbg", "fastbuild", and "opt" features in the objc
1191 CROSSTOOL.
1192 - Remove support for configuring JDKs with filegroups; use
1193 java_runtime and java_runtime_suite instead
1194 - android_ndk_repository api_level attribute is now optional. If not
1195 specified, the highest api level in the ndk/platforms directory
1196 is used.
1197
Bazel Release System6712cac2017-02-01 19:53:37 +01001198## Release 0.4.4 (2017-02-01)
1199
1200```
1201Baseline: 4bf8cc30a
1202
1203Cherry picks:
1204 + ef1c6fd33: msvc_tools.py.tpl: Change default runtime library to
1205 static
1206```
1207
1208Incompatible changes:
1209
1210 - Only targets with public visibility can be bound to something in
1211 //external: .
1212 - The deprecated -x startup option has been removed.
1213 - docker_build: change the repository names embedded by
1214 docker_build. You can revert to the old behavior by setting
1215 legacy_repository_naming=True.
1216 - The string methods strip(), lstrip(), and rstrip() now
1217 by default remove the same whitespace characters as Python 3
1218 does, and accept
1219 None as an argument.
1220 - Deprecated globals HOST_CFG and DATA_CFG are removed. Use strings
1221 "host" and "data" instead.
1222 - repository_ctx environment is now affected by --action_env flag
1223 (value from the
1224 client environment will be replaced by value given on the command
1225 line through --action_env).
1226 - All executable labels must also have a cfg parameter specified.
1227 - Removed the cmd_helper.template function.
1228 The function was equivalent to:
1229 def template(items, template):
1230 return [template.format(path = i.path, short_path =
1231 i.short_path)
1232 for i in items]
1233 - Tuples that end with a trailing comma must now be inside parens,
1234 e.g. (1,) instead of 1,
1235 - The traversal orders for depsets have been renamed. The old names
1236 are deprecated and will be removed in the future. New names:
1237 "stable" -> "default", "compile" -> "postorder", "link" ->
1238 "topological", "naive_link" -> "preorder".
1239
1240New features:
1241
1242 - Skylark: you can now multiply a list by an integer to get the
1243 concatenation of N copies of this list, e.g. [a,b] * 3 =
1244 [a,b,a,b,a,b]
1245 - Allow Android aidl tool to add a jar to the program's classpath,
1246 such as if needed to support generated sources.
1247 - Add transitive proguard_specs when android_sdk.aidl_lib is
1248 specified
1249 - Windows: "/dev/null" is now a supported path, e.g.
1250 --bazelrc=/dev/null now works
1251
1252Important changes:
1253
1254 - Bazel Android builds use the apksigner tool from the Android SDK
1255 build-tools. Bazel Android builds now require build-tools version
1256 24.0.3 or
1257 later.
1258 - Android SDK external bindings for support libraries, e.g.
1259 //external:android/appcompat_v4, are removed because the support
1260 library JARs that they referenced no longer ship with the Android
1261 SDK.
1262 - aar_import rule is now documented.
1263 - An IE bug was fixed in repository_ctx.download_and_extract
1264 - Update "-I" to "-isystem" in documentation to reflect current
1265 behavior.
1266 - android_sdk_repository build_tools_version is now optional. The
1267 highest installed build-tools will be used if none is specified.
1268 - New flag --sandbox_add_mount_pair to specify customized
1269 source:target path pairs to bind mount inside the sandbox.
1270 - expose proto_library descriptor set to skylark via
1271 <dep>.proto.descriptor_set
1272 - The `set` constructor is deprecated in favor of `depset`
1273 - Autodetect gold linker in cc_configure.bzl
1274 - Remove build flag --experimental_j2objc_annotation_processing. It
1275 is on by default now.
1276 - Set clang's -mwatchos-version-min correctly using the value of
1277 --watchos_minimum_os, not --watchos_sdk_version.
1278 - singlejar can now create jar files larger than 4GB.
1279 - android_sdk_repository and android_ndk_repository now read
1280 $ANDROID_HOME and $ANDROID_NDK_HOME if the path attribute is not
1281 set.
1282 - Removed broken api levels 3, 4 and 5 from Android NDK 12.
1283 - Default --android_dynamic_mode to off.
1284 - android_sdk_repository no longer requires api_level. If one is
1285 not specified, the highest android platform installed will be
1286 used. Furthermore, android_sdk's are created for all android
1287 platforms installed and can be specified with the --android_sdk
1288 flag.
1289 - To iterate over or test for membership in a set, prefer using the
1290 new to_list() method. E.g., "for x in myset.to_list():", or
1291 "print(x in myset.to_list())". Iteration/membership-test on the
1292 raw set itself is deprecated.
1293 - Remove support for --javawarn; use e.g. --javacopt=-Xlint:all
1294 instead
1295
Bazel Release Systemd3b23642016-12-22 13:30:47 +01001296## Release 0.4.3 (2016-12-22)
Bazel Release System80865ff2016-11-30 13:18:54 +01001297
Damien Martin-Guillerez961e54f2016-12-22 13:33:36 +01001298```
Bazel Release Systemd3b23642016-12-22 13:30:47 +01001299Baseline: c645a45
Bazel Release System80865ff2016-11-30 13:18:54 +01001300
1301Cherry picks:
Bazel Release Systemd3b23642016-12-22 13:30:47 +01001302 + af878d0: Add coverage support for java test. (series 4/4 of
1303 open-sourcing coverage command for java test)
1304 + 09b92a8: Rollback of commit
1305 67b4d5250edcefa7220e928e529b1f385e2dc464.
1306 + b11dd48: Fix bad bug with the parallel implementation of
1307 BinaryOperatorExpression. Turns out that
1308 ForkJoinTask#adapt(Callable) returns a ForkJoinTask
1309 whose Future#get on error throws a ExecutionException
1310 wrapping a RuntimeException wrapping the thrown checked
1311 exception from the callable. This is documented
1312 behavior [1] that I incorrectly didn't know about.
1313 + 9012bf1: Fix scripts/packages/convert_changelog to read the
1314 changelog correctly
1315 + 55c97bc: Release script: if master branch does not exist, fall
1316 back on origin/master
1317 + 4fb378c: Debian repository: override section and priority fields
1318 + acbcbc2: Fix release notes in emails
1319 + 4975760: Fix PathFragment to not use Java8-only static hashCode
1320 methods.
1321 + 05fd076: Disable sandboxing for XibCompile actions.
Damien Martin-Guillerez961e54f2016-12-22 13:33:36 +01001322```
Bazel Release System80865ff2016-11-30 13:18:54 +01001323
1324Incompatible changes:
1325
Bazel Release Systemd3b23642016-12-22 13:30:47 +01001326 - Skylark maven_jar and maven_aar settings attribute is now a label
1327 so it can be checked into your workspace.
1328 - --{no}experimental_use_rclass_generator is now a nop.
1329
1330New features:
1331
1332 - Coverage support (*experimental*) for pure Java target.
1333 Use `bazel coverage //my:target` to generate coverage information
1334 from a `java_test`.
Bazel Release System80865ff2016-11-30 13:18:54 +01001335
1336Important changes:
1337
Bazel Release Systemd3b23642016-12-22 13:30:47 +01001338 - Enable fallback URLs in Skylark http rules.
1339 - cc_proto_library generates C++ code from proto_library rules.
1340 - cc_library now supports the strip_prefix and strip_include_prefix
1341 attributes for control of include paths.
1342 - Skylark dicts internally don't rely on keys order anymore and
1343 accept any hashable values (i.e. structs with immutable values)
1344 as keys. Iteration order of dictionaries is no longer specified.
Damien Martin-Guillerez961e54f2016-12-22 13:33:36 +01001345
1346## Release 0.4.2 (2016-12-02)
1347
1348```
1349Baseline: 6331a94
1350
1351Cherry picks:
1352 + 7b835d9: Do not patch WORKSPACE in the release process
1353```
1354
1355Incompatible changes:
1356
1357 - Callback functions in Skylark no longer support the cfg
1358 parameter. This is a cleanup and only affects the signatures of
1359 callbacks, since the parameter hasn't been set since September
1360 2016.
1361
1362Important changes:
1363
1364 - Alias proto_library's produce a descriptor set that contains all
1365 srcs of its dependencies.
1366 - proto_library supports strict proto deps.
1367 - Top level @androidsdk support library targets have been replaced
1368 by @androidsdk//<group id>:<artifact id>-<version> for Android
1369 SDK Support and Google Play Services libraries.
1370
Bazel Release System15402a92016-11-30 10:12:30 +01001371## Release 0.4.1 (2016-11-21)
1372
1373```
1374Baseline: 9a796de
1375
1376Cherry picks:
1377 + 88bfe85: Description redacted. -- MOS_MIGRATED_REVID=139219934
1378 + b09ea94: Rollback of commit
1379 a3f5f576cd35798140ba3e81d03d919dd4ecb847.
1380```
1381
1382New features:
1383
1384 - android_library now has a "exported_plugins" attribute just like
1385 java_library
1386 - Use --strict_system_includes to apply hdrs_check=strict also to
1387 cc_library.includes, even if sandboxing is disabled.
1388 - Bazel on Windows: java_binary can now be the executable of
1389 Skylark rule actions (ctx.action's executable argument)
1390 - Packages are defined in BUILD.bazel as well as BUILD files.
1391
1392Important changes:
1393
1394 - getattr()'s 3-arg form no longer raises an error when the
1395 retrieved field is a built-in method.
1396 - --apk_signing_method default changed to v1. Android APKs are now
1397 signed with the new ApkSignerTool by default.
1398 - New rule: proto_lang_toolchain(), to support LANG_proto_library
1399 rules on multiple platforms.
1400 - Fix for Android clang++ std::stack segfault on 32bit x86. See
1401 https://code.google.com/p/android/issues/detail?id=220159
1402 - Default android_manifest_merger is now "android" which uses the
1403 official Android manifest merger.
1404 http://tools.android.com/tech-docs/new-build-system/user-guide/man
1405 ifest-merger
1406 - Do not propagate aspect to its own attributes when using '*'.
1407 - Comparing sets (`if set1 < set2:`) is not allowed anymore in
1408 Skylark because it didn't work correctly anyway.
1409 - When --experimental_extra_action_top_level_only, Bazel reports
1410 extra-actions for actions registered by Aspects injected by a
1411 top-level rule (approximately).
1412 - Blacklists for proto_lang_toolchain() no longer have to be
1413 proto_library's.
1414 - Extra actions now contain aspect-related information.
1415 - Fix slicing bug where "abc"[:-4:-1] would give wrong answer
1416
Bazel Release Systemd0761e62016-11-02 13:36:35 -04001417## Release 0.4.0 (2016-10-26)
1418
1419```
1420Baseline: 088bbc6
1421
1422Cherry picks:
1423 + b01160c: Stamp Windows release.
1424 + 2d6736e: Add --no-tty for gpg signing
1425 + 9b1dfb8: Remove .sig file before gpg signing
1426 + 81aede1: Reimplement whole archive on Windows
1427```
1428
1429Incompatible changes:
1430
1431 - Skylark: updating list/dicts while they are being looped over is not
1432 allowed. Use an explicit copy if needed ("for x in list(mylist):").
1433 - Bazel now uses the --cpu flag to look up Jvms; it falls back
1434 to "default" if it can't find a Jvm matching the CPU value.
1435 - --command_port=-1 to use AF_UNIX for client/server communications
1436 is not supported anymore.
1437 - Sandboxed actions can access the network by default, unless their
1438 target has a "block-network" tag.
1439
1440New features:
1441
1442 - Files now have an "extension" property in Skylark.
1443
1444Important changes:
1445
1446 - Added a new flag --sandbox_tmpfs_path, which asks the sandbox to
1447 mount an empty, writable directory at a specified path when
1448 running actions. (Supported on Linux only for now.)
1449 - Update protoc-3.0.0-mingw.exe to a working (statically linked)
1450 binary
1451 - apple_static_library rule to create multi-architecture static
1452 archive files from Objc/C++/Swift dependencies on apple platforms
1453 - JS: Add support for localization with closure managed rules.
1454 - Create a flag --android_dynamic_mode to turn off dynamic mode
1455 during the Android split transition.
1456 - Darwin sandboxing is default.
1457 - Remove flag --experimental_zip_tree_artifact from j2objc Java
1458 annotation processing support.
1459 - A few functions are added to BUILD files for consistency (hash,
1460 dir,
1461 hasattr, getattr) with .bzl files, although they are not very
1462 useful.
1463 - --watchfs is now a command option; the startup option of the same
1464 name is deprecated. I.e., use bazel build --watchfs, not
1465 blaze --watchfs
1466 build.
1467
Bazel Release System33579a42016-10-07 13:05:11 -04001468## Release 0.3.2 (2016-10-07)
1469
1470```
1471Baseline: 023a7bd
1472
1473Cherry picks:
1474 + bebbbe5: Fix dependency on libtool's helper script
1475 make_hashed_objlist.py.
1476 + 8a0d45f: Add the version information to the bazel.exe file
1477 + 2bc0939: Allow new_ rules to overwrited BUILD files in
1478 downloaded repos
1479 + c5545fd: Rollback of commit
1480 96d46280bc5a4803ba2242a4ad16939f85a3b212.
1481 + eb87208: Make cc_configure on Windows more robust
1482 + c30432c: Fix cc_configure on Windows
1483 + 95b16a8: sandbox: Replace the error-prone lazy cleanup of
1484 sandbox directories by a simple synchronous cleanup.
1485 + e898023: Fix #1849: Sandboxing on OS X should be turned off by
1486 default for 0.3.2.
1487 + ffdc05d: Add action_config and feature for linking on Windows
1488```
1489
1490Incompatible changes:
1491
1492 - If you maintain a rule that uses persistent workers, you'll have
1493 to specify execution_requirements={"supports-workers": 1} in the
1494 ctx.action that intends to run a tool with workers. The
1495 WorkerSpawnStrategy will alert you with a warning message if you
1496 forget to make this change and fallback to non-worker based
1497 execution.
1498 - It is now an error to include a precompiled library (.a, .lo, .so)
1499 in a cc_library which would generate a library with the same name
1500 (e.g., libfoo.so in cc_library foo) if that library also contains
1501 other linkable
1502 sources.
1503 - The main repository's execution root is under the main
1504 repository's workspace name, not the source directory's basename.
1505 This shouldn't
1506 have any effect on most builds, but it's possible it could break
1507 someone doing
1508 weird things with paths in actions.
1509 - Blaze doesn't support Unix domain sockets for communication
1510 between its client and server anymore. Therefore, the
1511 --command_port command line argument doesn't accept -1 as a valid
1512 value anymore.
1513 - Skylark: It is an error to shadow a global variable with a local
1514 variable after the global has already been accessed in the
1515 function.
1516 - bin_dir and genfiles_dir are now properties of ctx, not
1517 configuration. That is, to access the bin or genfiles directory
1518 from a
1519 Skylark rule, use ctx.bin_dir or ctx.genfiles_dir (not
1520 ctx.configuration.{bin,genfiles}_dir). At the moment, you can
1521 access
1522 {bin,genfiles}_dir from either, but the ctx.configuration version
1523 will
1524 stop working in a future release.
1525 - filegroup-based C++ toolchains are not supported anymore.
1526 --*_crosstool_top options must always point to a
1527 cc_toolchain_suite rule (or an alias of one).
1528 - repository_ctx.{download,download_and_extract,execute} API now use
1529 named parameters for optional parameters and no
1530 longer uses argument
1531 type to distinguished between arguments
1532 (executable attribute name
1533 must be specified when preceding optional
1534 arguments are missing).
1535
1536New features:
1537
1538 - print and fail are now available in BUILD files.
1539
1540Important changes:
1541
1542 - Added @bazel_tools//tools/build_defs/repo/git.bzl as a Skylark
1543 rule for Git repositories.
1544 - Added @bazel_tools//tools/build_defs/repo/maven_rules.bzl as a
1545 Skylark rule for Maven repositories.
1546 - Add global hash() function for strings (only)
1547 - Improve Android split transition handling.
1548 - Removes exports_manifest attribute from android_binary rule.
1549 - java_proto_library: control strict-deps through a rule-level and
1550 a package-level attribute.
1551 - Persistent workers are now used by default for Java compilation
1552 in Bazel, which should speed up your Java builds by ~4x. You can
1553 switch back to the old behavior via --strategy=Javac=standalone.
1554 Check out http://www.bazel.io/blog/2015/12/10/java-workers.html
1555 for more details.
1556 - objc_* rules can now depend on any target that returns an "objc"
1557 provider.
1558 - Adds support for NDK12 to `android_ndk_repository` rule in Bazel.
1559 - Test targets can disable the JUnit4 test security manager via a
1560 property.
1561 - Disable the Android split transition if --android_cpu and
1562 fat_apk_cpu are both empty.
1563 - New sandboxing implementation for Linux in which all actions run
1564 in a separate execroot that contains input files as symlinks back
1565 to the originals in the workspace. The running action now has
1566 read-write access to its execroot and /tmp only and can no longer
1567 write in arbitrary other places in the file system.
1568 - Add worker support to single jar.
1569 - Invoke source jar action as a worker.
1570 - Sandboxed builds allow network access for builds by default.
1571 Tests will still be run without networking, unless
1572 "requires-network" is specified as a tag.
1573 - Add path.realpath() method for Skylark repositories.
1574 - On Mac devices, detect locally installed versions of xcode to:
1575 1. Use a sensible default if xcode is required but
1576 --xcode_version is unspecified.
1577 2. Use sensible default iOS SDK version for the targeted version
1578 of xcode if ios_sdk_version is unspecified.
1579 - Emacs' [C-x `], a.k.a. next-error, works again in emacsen >= 25.1
1580 - swift_library can be used to build watchOS apps.
1581 - Exposes the is_device field on Apple platform objects and adds
1582 the apple_common.platform_type(name) method to retrieve a
1583 platform_type value that can be passed to methods like the Apple
1584 fragment's multi_arch_platform.
1585 - Move Skylark git_repository rules to git.bzl
1586 - Add support for aspects to attr.label() attributes
1587 - Global varaiables HOST_CFG and DATA_CFG are deprecated in favor
1588 of strings "host"
1589 and "data.
1590 Argument `cfg = "host"` or `cfg = "data"` is mandatory if
1591 `executable = True` is provided for a label.
1592 - The deprecation attribute of all rules now causes warnings
1593 to be printed when other targets depend on a target with that
1594 attribute set.
1595 - Change default of --[no]instrument_test_targets to false, change
1596 default --instrumentation_filter (which previously tried to
1597 exclude test targets by heuristic) to only exclude targets in
1598 javatests.
1599 - Remove deprecated absolute paths in blaze IDE artifacts
1600 - When using android_binary.manifest_merger="android" the merger
1601 produces a summary log next to the merged manifest artifact.
1602 - Allow different default mallocs per configuration.
1603
Bazel Release System70c772b2016-07-29 10:28:13 +02001604## Release 0.3.1 (2016-07-29)
1605
1606```
1607Baseline: 792a9d6
1608
1609Cherry picks:
1610 + 25e5995: Rollback of commit
1611 a2770334ea3f3111026eb3e1368586921468710c.
1612 + 2479405: Fix NPE with unset maven_jar sha1
1613 + 3cf2126: Rewrite the extra action info files if the data within
1614 them changes.
1615 + 5a9c6b4: JavaBuilder: Reintroduce the -extra_checks flag.
1616```
1617
1618Incompatible changes:
1619
1620 - Removed predefined Python variable "generic_cpu".
1621 - Skylark rules: if you set "outputs" or an attribute to a
1622 function, this function must now list its required attributes as
1623 parameters (instead of an attribute map).
1624 - The host_platform and target_platform entries are not written to
1625 the master log anymore.
1626 - Bazel requires Hazelcast 3.6 or higher now for remote execution
1627 support, because we upgraded our client library and the protocol
1628 it uses is incompatible with older versions.
1629
1630New features:
1631
1632 - LIPO context (--lipo_context) can now also be a cc_test (in
1633 addition to cc_binary)
1634
1635Important changes:
1636
1637 - If --android_crosstool_top is set, native code compiled for
1638 android will always use --android_compiler and not --compiler in
1639 choosing the crosstool toolchain, and will use --android_cpu if
1640 --fat_apk_cpu is not set.
1641 - Add --instrument_test_targets option.
1642 - apple_binary supports a new platform_type attribute, which, if
1643 set to "watchos", will build dependencies for Apple's watchOS2.
1644 - objc_binary now supports late-loaded dynamic frameworks.
1645 - Native Swift rules no longer pull in module maps unconditionally.
1646 Use --experimental_objc_enable_module_maps for that.
1647 - Merged manifests are guaranteed to have the application element
1648 as the last child of the manifest element as required by Android
1649 N.
1650 - The Android manifest merger is now available as an option for
1651 android_binary rules. The merger will honor tools annotations in
1652 AndroidManifest.xml and will perform placeholder substitutions
1653 using the values specified in android_binary.manifest_values. The
1654 merger may be selected by setting the manifest_merger attribute
1655 on android_binary.
1656 - The progress message would not clear packages that need to be
1657 loaded twice.
1658 - Remove warning for high value of --jobs.
1659 - Use the correct build configuration for shared native deps during
1660 Android split transitions.
1661 - When building ObjectiveC++, pass the flag -std=gnu++11.
1662 - use xcrun simctl instead of iossim to launch the app for "blaze
1663 run".
1664 - Glob arguments 'exclude' and 'exclude_directories' must be named
1665 - Bazel no longer regards an empty file as changed if its mtime has
1666 changed.
1667
Bazel Release Systemccadf8d2016-06-10 13:28:40 +02001668## Release 0.3.0 (2016-06-10)
1669
1670```
1671Baseline: a9301fa
1672
1673Cherry picks:
1674 + ff30a73: Turn --legacy_external_runfiles back on by default
1675 + aeee3b8: Fix delete[] warning on fsevents.cc
1676```
1677
1678Incompatible changes:
1679
1680 - The --cwarn command line option is not supported anymore. Use
1681 --copt instead.
1682
1683New features:
1684
1685 - On OSX, --watchfs now uses FsEvents to be notified of changes
1686 from the filesystem (previously, this flag had no effect on OS X).
1687 - add support for the '-=', '*=', '/=', and'%=' operators to
1688 skylark. Notably, we do not support '|=' because the semantics
1689 of skylark sets are sufficiently different from python sets.
1690
1691Important changes:
1692
1693 - Use singular form when appropriate in blaze's test result summary
1694 message.
1695 - Added supported for Android NDK revision 11
1696 - --objc_generate_debug_symbols is now deprecated.
1697 - swift_library now generates an Objective-C header for its @objc
1698 interfaces.
1699 - new_objc_provider can now set the USES_SWIFT flag.
1700 - objc_framework now supports dynamic frameworks.
1701 - Symlinks in zip files are now unzipped correctly by http_archive,
1702 download_and_extract, etc.
1703 - swift_library is now able to import framework rules such as
1704 objc_framework.
1705 - Adds "jre_deps" attribute to j2objc_library.
1706 - Release apple_binary rule, for creating multi-architecture
1707 ("fat") objc/cc binaries and libraries, targeting ios platforms.
1708 - Aspects documentation added.
1709 - The --ues_isystem_for_includes command line option is not
1710 supported anymore.
1711 - global function 'provider' is removed from .bzl files. Providers
1712 can only be accessed through fields in a 'target' object.
1713
Bazel Release System9fdd6012016-05-17 11:12:31 +02001714## Release 0.2.3 (2016-05-10)
1715
1716```
1717Baseline: 5a2dd7a
1718```
1719
1720Incompatible changes:
1721
1722 - All repositories are now directly under the x.runfiles directory
1723 in the runfiles tree (previously, external repositories were at
1724 x.runfiles/main-repo/external/other-repo. This simplifies
1725 handling remote repository runfiles considerably, but will break
1726 existing references to external repository runfiles.
1727 Furthermore, if a Bazel project does not provide a workspace name
1728 in the WORKSPACE file, Bazel will now default to using __main__
1729 as the workspace name (instead of "", as previously). The
1730 repository's runfiles will appear under x.runfiles/__main__/.
1731 - Bazel does not embed protocol buffer-related rules anymore.
1732 - It is now an error for a cc rule's includes attribute to point to
1733 the workspace root.
1734 - Bazel warns if a cc rule's includes attribute points out of
1735 third_party.
1736 - Removed cc_* attributes: abi / abi_deps. Use select() instead.
1737
1738New features:
1739
1740 - select({"//some:condition": None }) is now possible (this "unsets"
1741 the attribute).
1742
1743Important changes:
1744
1745 - java_import now allows its 'jars' attribute to be empty.
1746 - adds crunch_png attribute to android_binary
1747 - Replace --java_langtools, --javabuilder_top, --singlejar_top,
1748 --genclass_top, and --ijar_top with
1749 java_toolchain.{javac,javabuilder,singlejar,genclass,ijar}
1750 - External repository correctness fix: adding a new file/directory
1751 as a child of a new_local_repository is now noticed.
1752 - iOS apps are signed with get-task-allow=1 unless building with -c
1753 opt.
1754 - Generate debug symbols (-g) is enabled for all dbg builds of
1755 objc_ rules.
1756 - Bazel's workspace name is now io_bazel. If you are using Bazel's
1757 source as an external repository, then you may want to update the
1758 name you're referring to it as or you'll begin seeing warnings
1759 about name mismatches in your code.
1760 - Fixes integer overflow in J2ObjC sources to be Java-compatible.
1761 - A FlagPolicy specified via the --invocation_policy flag will now
1762 match the current command if any of its commands matches any of
1763 the commands the current command inherits from, as opposed to
1764 just the current command.
1765 - The key for the map to cc_toolchain_suite.toolchains is now a
1766 string of the form "cpu|compiler" (previously, it was just "cpu").
1767 - Fix interaction between LIPO builds and C++ header modules.
1768 - Ctrl-C will now interrupt a download, instead of waiting for it to
1769 finish.
1770 - Proxy settings can now be specified in http_proxy and https_proxy
1771 environment variables (not just HTTP_PROXY and HTTPS_PROXY).
1772 - Skylark targets can now read include directories from
1773 ObjcProvider.
1774 - Expose parameterized aspects to Skylark.
1775 - Support alwayslink cc_library dependencies in objc binaries.
1776 - Import cc_library dependencies in generated Xcode project.
1777
Bazel Release System1aedd1f12016-04-25 09:47:50 +02001778## Release 0.2.2b (2016-04-22)
Bazel Release System951cea22016-04-21 14:10:12 +02001779
1780```
1781Baseline: 759bbfe
Bazel Release System1aedd1f12016-04-25 09:47:50 +02001782
1783Cherry picks:
Bazel Release System951cea22016-04-21 14:10:12 +02001784 + 1250fda: Rollback of commit
1785 351475627b9e94e5afdf472cbf465f49c433a25e.
1786 + ba8700e: Correctly set up build variables for the correct pic
1787 mode for fake_binary rules.
1788 + 386f242: Automated [] rollback of commit
1789 525fa71b0d6f096e9bfb180f688a4418c4974eb4.
Bazel Release System1aedd1f12016-04-25 09:47:50 +02001790 + 97e5ab0: Fix cc_configure include path for Frameworks on OS X.
1791 + a20352e: cc_configure: always add -B/usr/bin to the list of gcc
1792 option
1793 + 0b26f44: cc_configure: Add piii to the list of supported
1794 cpu_value
1795 + 3e4e416: cc_configure: uses which on the CC environment variable
1796 + aa3dbd3: cc_configure.bzl: strip end of line when looking for
1797 the cpu
1798 + 810d60a: cc_configure: Add -B to compiler flag too
Bazel Release System951cea22016-04-21 14:10:12 +02001799```
1800
Bazel Release System1aedd1f12016-04-25 09:47:50 +02001801Patch release, only includes fixes to C++ auto-configuration.
Bazel Release System951cea22016-04-21 14:10:12 +02001802
Bazel Release System950c1ab2016-03-31 17:18:55 +02001803## Release 0.2.1 (2016-03-21)
1804
1805```
1806Baseline: 19b5675
1807```
1808
1809Incompatible changes:
1810
1811 - Skylark rules that are available from their own repository will
1812 now issue a warning when accessed through @bazel_tools.
1813 - Set --legacy_bazel_java_test to off by default. java_test will
1814 now have a slightly different behaviour, correctly emitting XML
1815 file but, as a downside, it needs correct declaration of the
1816 test suite (see https://github.com/bazelbuild/bazel/issues/1017).
1817 - Labels in .bzl files in remote repositories will be resolved
1818 relative to their repository (instead of the repository the
1819 Skylark rule is used in).
1820 - Renamed proto_java_library to java_proto_library. The former
1821 is now deprecated and will print out a warning when used.
1822 - android_sdk now compiles android_jack on the fly from
1823 android_jar, which means android_jar must be a jar and
1824 android_jack is now deprecated. The Jack tools (jack, jill,
1825 resource_extractor) must be specified.
1826 - Any project that depended on the objc_options rule will be
1827 broken. Can be fixed by adding attrs (infoplists,copts) directly
1828 to rules depending on the options.
1829 - .aidl files correctly require import statements for types
1830 defined in the same package and the same android_library.
1831
1832New features:
1833
1834 - Experimental Windows support is available.
1835 - Experimental support for writing remote repository rules in
1836 Skylark is available.
1837 - iOS ipa_post_processor attribute allows for user-defined IPA
1838 edits.
1839 - Adds a to_json method to Skylark structs, providing conversion to
1840 JSON format.
1841 - Native python rule can depend on skylark rule as long as skylark
1842 rule provides 'py' provider.
1843 - When using both --verbose_failures and --sandbox_debug, Bazel
1844 prints instructions how to spawn a debugging shell inside the
1845 sandbox.
1846 - add flag --sandbox_add_path, which takes a list of additional
1847 paths as argument and mount these paths to sandbox.
1848
1849Important changes:
1850
1851 - @androidsdk//:org_apache_http_legacy added for the legacy Apache
1852 classes for android sdk version 23 and above.
1853 - Genrules correctly work when used with bazel run.
1854 - When namespace-sandbox is run with the -D (debug) flag and
1855 inside a terminal, it spawns a shell inside the sandbox to aid in
1856 debugging when the sandboxed command fails.
1857 - Added --artifact to workspace generator for generating workspace
1858 and build file rules from artifact coodrinates.
1859 - Specifying --experimental_android_resource_shrinking on the
1860 command line will enable a resource shrinking pass on
1861 android_binary targets that already use Proguard.
1862 - J2ObjC updated to 1.0.1 release.
1863 - Added "root_symlinks" and "symlinks" parameters to Skylark
1864 runfiles() method.
1865 - You can no longer use objc_binary targets for the xctest_app
1866 attribute of an ios_test rule.
1867 - Enable overriding jsonnet binaries and stdlib for Jsonnet rules.
1868 - mount target of /etc/resolv.conf if it is a symlink.
1869 - Tests that failed to build because execution was halted no longer
1870 print their status.
1871 - Bazel warns if a cc rule's includes attribute contains up-level
1872 references that escape its package.
1873 - Add repository_ctx.download and repository_ctx.download_and_extract
1874 function.
1875
Bazel Release Systemf98290d2016-02-23 13:51:16 +01001876## Release 0.2.0 (2016-02-18)
1877
1878```
1879Baseline: 9e100ac
1880```
1881
1882Incompatible changes:
1883
1884 - ObjC compile actions for J2ObjC-translated code now only has
1885 access to headers from the java deps of the associated original
1886 java rule.
1887 These compile actions no longer takes the compiler options
1888 specified in "copts" attribute on objc_binary/ios_test rules.
1889 J2ObjC dead code removal (enabled through flag
1890 "--j2objc_dead_code_removal") now happens *after* ObjC
1891 compilation.
1892 - maven_jar no longer supports separate artifact_id, group_id, and
1893 verison fields. This information should be provided in the
1894 artifact field,
1895 instead.
1896
1897New features:
1898
1899 - Better support for toolchains that don't have a dynamic linker.
1900 - build_file_content attribute added to new_git_repository,
1901 new_http_archive, and new_local_repository.
1902 - Add support for .tar.bz2 archives to http_archive rules.
1903
1904Important changes:
1905
1906 - The --skyframe flag is no longer available for the build command.
1907 - The --artifacts flag was removed from the dump command.
1908 - The sha256 attribute is now optional (although recommended!) for
1909 remote repository rules.
1910 - Add instrumented file provider support to Skylark rules.
1911 - Add imports attribute to native Python rules.
1912 - Allow overriding -gsplit-dwarf from copts.
1913 - Improved sandbox performance on XFS filesystems.
1914
Bazel Release System00cf25d2016-02-09 18:36:51 +01001915## Release 0.1.5 (2016-02-05)
1916
1917```
1918Baseline: 3a95f35
1919 + 8378cd8: Rollback of commit
1920 a9b84575a32476a5faf991da22b44661d75c19b6.
1921```
1922
1923Incompatible changes:
1924
1925 - Set stamping to false by default (i.e., --nostamp)
1926 - Removed --objc_dump_syms_binary.
1927 - Removes --objc_gcov_binary flag.
1928 - Remove JAVAC "Make" variable
1929 - The startup flag --blaze_cpu is removed,
1930
1931New features:
1932
1933 - A new java test runner that support XML output and test filtering
1934 is supported. It can be used by specifying --nolegacy_bazel_java_test
1935 or by specifying the test_class attribute on a java_test.
1936 - Skylark aspects can now specify configuration fragment
1937 dependencies with fragments and host_fragments like rules can.
1938
1939Important changes:
1940
1941 - Support for downloading remote resources through proxies by
1942 setting HTTP_PROXY (or HTTPS_PROXY).
1943 - Timestamps within Android apks are removed to make apks
1944 deterministic.
1945 - Support aggregation over existing rules in Skylark extensions
1946 through native.rules and native.rule.
1947 - A tools/bazel script in the workspace will be executed
1948 as an opportunity to use a fixed version of Bazel (not
1949 implemented for the homebrew recipe yet).
1950 - --noimplicit_deps and --nohost_deps work correctly for Aspect
1951 attributes.
1952 - JDK-related targets are now available via @local_jdk (instead of
1953 @local-jdk).
1954 - j2objc tools can now be accessed via @bazel_j2objc, not
1955 @bazel-j2objc.
1956 - Repository rules must use names that are valid workspace names.
1957 - [rust] Update to Rust 1.6
1958 - Add support for .tar.xz archives to http_archive rules.
1959 - Make C++ modules compatible with tools using
1960 --compilation_prerequisites_only
1961 - [d] Update to DMD 2.070.0
1962
Bazel Release System446d9922016-01-21 10:59:31 +01001963## Release 0.1.4 (2016-01-15)
1964
1965```
1966Baseline: e933d5e
1967 + 3d796fe: Rollback of commit
1968 ac6ed79e1a3fa6b0ca91657b28e2a35f7e49758c.
1969 + 7a02e5d: Fix installer under OS X
1970 + 848740c: Fix bazel version for debian package
1971 + 7751d43: Add a method for getting the root of a rule workspace
1972 to the Label method
1973```
1974
1975Important changes:
1976
1977 - add loadfiles() query operator, to find skylark files loaded by
1978 targets.
1979 - Added ability to declare and use aspects in Skylark.
1980 - Skylark load statements may now reference .bzl files via build
1981 labels, in addition to paths. In particular, such labels can be
1982 used to reference Skylark files in external repositories; e.g.,
1983 load("@my_external_repo//some_pkg:some_file.bzl", ...).
1984 Path-based loads are now deprecated and may be disabled in the
1985 future. Caveats: Skylark files currently do not respect package
1986 visibility; i.e., all Skylark files are effectively public. Also,
1987 loads may not reference the special //external package.
1988 - Relative paths can now be used for 'path' with
1989 new_local_repository and local_repository.
1990
Bazel Release System1518253e2016-01-11 10:10:19 +01001991## Release 0.1.3 (2016-01-07)
1992
1993```
1994Baseline: 23ad8f6
1995 + de2183d: Only depend on the WORKSPACE file for external files
1996 that are under the external/ directory, i.e. were
1997 created by Bazel.
1998 + f8f855c: Rollback of commit
1999 12bad3af0eade9c4b79d76f9e1c950ad2e3214c2.
2000 + f627562: Stop parsing the WORKSPACE file when a parse error is
2001 detected
2002 + 763f139: Add -fno-canonical-system-headers to CROSSTOOL files so
2003 that gcc doesn't resolve symlinks in .d files, which
2004 would confuse Blaze.
2005 + b95995b: Use openjdk7 as dependency for debian package of jdk7
2006 flavor
2007```
2008
2009New features:
2010
2011 - Skylark macros are now enabled in WORKSPACE file.
2012 - .bazelrc allows workspace-relative imports as "import
2013 %workspace%/path/to/rcfile"
2014 - Evaluate the query expression in a file by passing
2015 --query_file=<file> to query
2016
2017Important changes:
2018
2019 - Remove obsolete --objc_per_proto_includes flag.
2020 - iOS apps and extensions now have launch_storyboard
2021 - Passing multiple JVM options via a single --host_jvm_args flag is
2022 now deprecated. Pass each JVM option behind its own
2023 --host_jvm_args flag.
2024 - Resources defined locally on an android_library rule will respect
2025 the neverlink attribute.
2026 - Update Rust to 1.4
2027 - Fix resource handling for exported android_library rules
2028 - Files in external repositories are now treated as mutable, which
2029 will make the correctness guarantees of using external
2030 repositories stronger (existent), but may cause performance
2031 penalties.
2032
Bazel Release System0d2e4092015-12-04 23:31:41 +01002033## Release 0.1.2 (2015-11-20)
2034
2035```
2036Baseline: ee0ade3
2037 + 1e66ccd: RELNOTES: Symlink dirents of directories containing a
2038 file named
2039 "DONT_FOLLOW_SYMLINKS_WHEN_TRAVERSING_THIS_DIRECTORY_VIA
2040 _A_RECURSIVE_TARGET_PATTERN" will *not* be traversed
2041 for transitive target patterns. The motivation here is
2042 to allow directories that intentionally contain wonky
2043 symlinks (e.g. foo/bar -> foo) to opt out of being
2044 consumed by Blaze. For example, given
2045 + f5773fc: Set the ijar MAX_BUFFER_SIZE to 256 MB
2046```
2047
2048New features:
2049
2050 - java_library now supports the proguard_specs attribute for
2051 passing Proguard configuration up to Android (not Java) binaries.
2052 - http_file can specify "executable" to make the downloaded file
2053 runnable.
2054 - Debian and tar packaging is now supported
2055 (see tools/build_defs/pkg/README.md).
2056 - cpxx_builtin_include_directory specifications allow more
2057 flexibility.
2058 - accept %crosstool_top% in cxx_builtin_include_directory
2059 - android_binary now supports proguard_apply_mapping to re-use a
2060 previously generated proguard mapping.
2061
2062Important changes:
2063
2064 - remove webstatusserver (--use_webstatusserver).
2065 - Add support for objc textual headers, which will not be compiled
2066 when modules are enabled.
2067 - actoolzip, momczip and swiftstdlibtoolzip have all been made into
2068 bash scripts and have been renamed to actoolwrapper, momcwrapper
2069 and swiftstdlibtoolwrapper respectively. The old versions will be
2070 deleted in a later change.
2071 - [rust] Add rust_bench_test and rust_doc_test rules and improve
2072 usability of rust_test tule.
2073 - Java rules now support a resource_strip_prefix attribute that
2074 allows the removal of path prefixes from Java resources.
2075 - [docker_build] incremental loading is default now.
2076 Specify explicitly //package:target.tar (with the .tar extension)
2077 to obtain the full image.
2078 - --ios_signing_cert_name allows specifying a cert for iOS app
2079 signing
2080 - Go rules for Bazel.
2081 - [jsonnet] Update to Jsonnet 0.8.1.
2082 - [jsonnet] Add vars and code_vars attributes to jsonnet_to_json to
2083 allow passing external variables to Jsonnet via --var and
2084 --code_var.
2085 - Adds --override_workspace_root blaze flag to hand-set
2086 workspace_root and mainGroup in xcodeproj.
2087 - Allow dots in package names.
2088 - When used as a forwarding rule (i.e., has no sources),
2089 android_library
2090 will also forward any exported_plugins in its dependencies.
2091 - Add support for Windows-created zip files with non-posix
2092 permissions.
2093 - [jsonnet] Add jsonnet_to_json_test rule for testing Jsonnet code.
2094 - C++ compile actions run in a sandbox now on systems that support
2095 sandboxed execution.
2096 - The names of the clang compilers in the Android NDK crosstool no
2097 longer reference gcc.
2098 - 420 dpi is now a valid density for andoid_binary.densities.
2099 - Bazel does strict validation of include files now to ensure
2100 correct incremental builds. If you see compilation errors when
2101 building C++ code, please make sure that you explicitly declare
2102 all header files in the srcs or hdrs attribute of your cc_*
2103 targets and that your cc_* targets have correct "deps" on
2104 cc_library's that they use.
2105 - [jsonnet] Fix jsonnet_to_json rule to read code_vars from
2106 code_vars instead of vars.
2107 - Tests, genrules, and Skylark actions without the
2108 "requires-network" tag will no longer be able to access the
2109 network.
2110 - C++ libraries no longer need includes = ["."] (or similar copts)
2111 to include paths relative to a remote repository's root.
2112 - Support exports attribute for android_library
2113 - Symlink dirents of directories containing a file named
2114 "DONT_FOLLOW_SYMLINKS_WHEN_TRAVERSING_THIS_DIRECTORY_VIA_A_RECURSI
2115 VE_TARGET_PATTERN" will *not* be traversed for transitive target
2116 patterns. The motivation here is to allow directories that
2117 intentionally contain wonky symlinks (e.g. foo/bar -> foo) to opt
2118 out of being consumed by Blaze.
2119
Bazel Release Systemfa35b182015-10-14 12:11:51 -04002120## Release 0.1.1 (2015-10-05)
2121
2122```
2123Baseline: 22616ae
2124 + 1ef338f: Rollback of "Propagates cc_library linkopts attribute
2125 to dependent objc_libraries.": breaks certain
2126 objc_binary build targets.
2127 + 5fb1073: Reintroduce an inconsistency check (albeit, in a weaker
2128 form) removed by a previous change that was trying to
2129 optimize away a filesystem call.
2130 + 6d00468b2eb976866cfb814d562e0d53a580a46f: Add IdlClass to the embedded default android tools
2131 repository and rearrange BuildJar's JarHelper so that
2132 it too can be embedded.
2133 + a5199039934a2e399a7201adc0d74e2f2d2b0ff3: Fixes Android integration tests by wiring up idlclass
2134 rules in integration environment.
2135```
2136
2137Incompatible changes:
2138
2139 - Bazel requires JDK 8 to run.
2140 - Attribute "copts" is removed from j2objc_library.
2141
2142New features:
2143
2144 - a cc_binary rule may list '.s' and '.asm' files in the srcs
2145 - Support for build with libsass.
2146 - labels in "linkopts" may match any label in either "deps" or
2147 "srcs" to be considered valid.
2148 - Maven servers that require username & password authentication are
2149 now supported (see maven_server documentation).
2150
2151Important changes:
2152
2153 - Support empty plist files
2154 - The <compatible-screens> section of the AndroidManifest.xml will
2155 not be overwritten if it already contains a <screen> tag for each
2156 of the densities specified on the android_binary rule.
2157 - Add Jsonnet rules to Bazel
2158 - Remove deprecated xcode_options flag.
2159 - Workspace names are now restricted to being in their base
2160 directory
2161 (that is, the names cannot contain up-level references or /./).
2162 - j2objc_library on Bazel now transpiles transitive proto_library
2163 dependencies. (Note that java_* rules in Bazel do not yet support
2164 protos; currently they ignore proto dependencies.)
2165 - new_http_archive can specify a root directory.
2166 - Adds support for dylibs on devices for Xcode 7.
2167 - [d] d_docs rules now depend on a d_binary, a d_library or
2168 d_source_library.
2169 - [docker] docker_build now set the permission to 0555 to files
2170 added to the layer, use `mode = "0644"` to use the legacy behavior.
2171 - android_binary now has a main_dex_proguard_specs attribute to
2172 specify which classes should be in the main dex.
2173 - [rust] Add rust_docs rule for generating rustdoc.
Bazel Release System79e40ac2015-09-08 23:38:00 +02002174## Release 0.1.0 (2015-09-08)
2175
2176```
2177Baseline: a0881e8
2178 + 87374e6: Make android_binary use a constant, hard-coded,
2179 checked-in debug key.
2180 + 2984f1c: Adds some safety checks in the Bazel installer
2181 + 4e21d90: Remove BUILD.glob and incorporate the necessary
2182 filegroups into the android_{ndk,sdk}_repository rules
2183 themselves.
2184 + 1ee813e: Fix Groovy rules to work with sandboxing
2185 + 8741978: Add initial D rules to Bazel.
2186 + 2c2e70d: Fix the installer and fixing the package shiped into
2187 binary version of Bazel.
2188```
2189
2190Initial release.
Bazel Release System6712cac2017-02-01 19:53:37 +01002191
Bazel Release System8d635fc2017-03-16 13:18:30 +01002192
Bazel Release Systema3e26832017-05-26 14:11:07 +02002193
Bazel Release System63222de2017-06-06 11:32:04 +02002194
Bazel Release System7b851222017-06-27 15:08:47 +02002195
Bazel Release System195a7a82017-07-27 20:27:32 +02002196
Bazel Release System5371d132017-08-25 11:24:06 +02002197
Bazel Release System471c0e12017-09-28 16:36:12 +02002198
Bazel Release Systemed0ebc02017-10-05 23:52:25 +02002199
Bazel Release System76b6d0a2017-10-18 14:34:11 +02002200
Bazel Release System0838aee2017-11-27 14:16:34 +01002201