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