Release 0.18.0 (2018-10-15)

Baseline: c062b1f1730f3562d5c16a037b374fc07dc8d9a2

Cherry picks:

   + 2834613f93f74e988c51cf27eac0e59c79ff3b8f:
     Include also ext jars in the bootclasspath jar.
   + 2579b791c023a78a577e8cb827890139d6fb7534:
     Fix toolchain_java9 on --host_javabase=<jdk9> after
     7eb9ea150fb889a93908d96896db77d5658e5005
   + faaff7fa440939d4367f284ee268225a6f40b826:
     Release notes: fix markdown
   + b073a18e3fac05e647ddc6b45128a6158b34de2c:
     Fix NestHost length computation Fixes #5987
   + bf6a63d64a010f4c363d218e3ec54dc4dc9d8f34:
     Fixes #6219. Don't rethrow any remote cache failures on either
     download or upload, only warn. Added more tests.
   + c1a7b4c574f956c385de5c531383bcab2e01cadd:
     Fix broken IdlClassTest on Bazel's CI.
   + 71926bc25b3b91fcb44471e2739b89511807f96b:
     Fix the Xcode version detection which got broken by the upgrade
     to Xcode 10.0.
   + 86a8217d12263d598e3a1baf2c6aa91b2e0e2eb5:
     Temporarily restore processing of workspace-wide tools/bazel.rc
     file.

General changes

- New [bazelrc file list](https://docs.bazel.build/versions/master/user-manual.html#where-are-the-bazelrc-files).
  If you need to keep both the old and new lists of .rc files active
  concurrently to support multiple versions of Bazel, you can import the old
  file location into the new list using `try-import`. This imports a file if it
  exists and silently exits if it does not. You can use this method to account
  for a user file that may or may not exist

- [.bazelignore](https://docs.bazel.build/versions/master/user-manual.html#.bazelignore)
  is now fully functional.

- The startup flag `--host_javabase` has been renamed to
  `--server_javabase` to avoid confusion with the build flag
  `--host_javabase`.

Android

- The Android resource processing pipeline now supports persistence
  via worker processes. Enable it with
  `--persistent_android_resource_processor`. We have observed a 50% increase
  in build speed for clean local builds and up to 150% increase in build
  speed for incremental local builds.

C++

- In-memory package //tools/defaults has been removed (controlled by
  `--incompatible_disable_tools_defaults_package` flag). Please see
  [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-inmemory-tools-defaults-package)
  and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy
  behavior will be removed in Bazel 0.20.

- Late bound option defaults (typical example was the `--compiler` flag, when
  it was not specified, it’s value was computed using the CROSSTOOL) are removed
  (controlled by `--incompatible_disable_late_bound_option_defaults` flag).
  Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-late-bound-option-defaults)
  and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy
  behavior will be removed in Bazel 0.20.

- Depsets are no longer accepted in `user_compile_flags` and `user_link_flags`
  in the C++ toolchain API (controlled by
  `--incompatible_disable_depset_in_cc_user_flags` flag) affects C++ users.
  Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-depsets-in-c-toolchain-api-in-user-flags)
  and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy
  behavior will be removed in Bazel 0.20.

- CROSSTOOL is no longer consulted when selecting C++ toolchain (controlled by
  `--incompatible_disable_cc_toolchain_label_from_crosstool_proto` flag).
  Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disallow-using-crosstool-to-select-the-cc_toolchain-label)
  and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20.

- You can now use [`toolchain_identifier` attribute](https://github.com/bazelbuild/bazel/commit/857d4664ce939f240b1d10d8d2baca6c6893cfcb)
  on `cc_toolchain` to pair it with CROSSTOOL toolchain.

- C++ specific Make variables
  are no longer passed from the `CppConfiguration`, but from the C++ toolchain
  (controlled by `--incompatible_disable_cc_configuration_make_variables` flag).
  Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disallow-using-c-specific-make-variables-from-the-configuration)
  and migrate soon, the flag will be flipped
  in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20.

- Skylark api accessing C++
  toolchain in `ctx.fragments.cpp` is removed (controlled by
  `--incompatible_disable_legacy_cpp_toolchain_skylark_api` flag).
  Please migrate soon, the flag will be flipped
  in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20.

- cc_binary link action no longer hardcodes
  `-static-libgcc` for toolchains that support embedded runtimes
  (guarded by [`--experimental_dont_emit_static_libgcc`](https://source.bazel.build/bazel/+/2f281960b829e964526a9d292d4c3003e4d19f1c)
  temporarily). Proper deprecation using `--incompatible` flags will follow.

Java

- Future versions of Bazel will require a locally installed JDK
  for Java development. Previously Bazel would fall back to using
  the embedded `--server_javabase` if no JDK as available. Pass
  `--incompatible_never_use_embedded_jdk_for_javabase` to disable the
  legacy behaviour.

- `--javacopt=` no longer affects compilations of tools that are
  executed during the build; use `--host_javacopt=` to change javac
  flags in the host configuration.

Objective C

- `objc_library` now supports the module_name attribute.

Skylark

- Adds `--incompatible_expand_directories` to automatically expand
  directories in skylark command lines. Design doc:
  https://docs.google.com/document/d/11agWFiOUiz2htBLj6swPTob5z78TrCxm8DQE4uJLOwM

- Support fileset expansion in ctx.actions.args(). Controlled by
  `--incompatible_expand_directories`.

Windows

- `--windows_exe_launcher` is deprecated, this flag will be removed
  soon. Please make sure you are not using it.

- Bazel now supports the symlink runfiles tree on Windows with
  `--experimental_enable_runfiles` flag. For more details, see
  [this doc](https://docs.google.com/document/d/1hnYmU1BmtCSJOUvvDAK745DSJQCapToJxb3THXYMrmQ).

Other Changes

- A new experimental option `--experimental_ui_deduplicate` has been added. It
  causes the UI to attempt to deduplicate messages from actions to keep the
  console output cleaner.

- Add `--modify_execution_info`, a flag to customize action execution
  info.

- Add ExecutionInfo to aquery output for ExecutionInfoSpecifier
  actions.

- When computing `--instrumentation_filter`, end filter patterns with
  "[/:]" to match non-top-level packages exactly and treat
  top-level targets consistently.

- Added the `bazel info server_log` command, which obtains the main Bazel
  server log file path. This can help debug Bazel issues.

- `aapt shrink` resources now properly respect filter configurations.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f65e713..189c163 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,436 @@
+## Release 0.18.0 (2018-10-15)
+
+```
+Baseline: c062b1f1730f3562d5c16a037b374fc07dc8d9a2
+
+Cherry picks:
+
+   + 2834613f93f74e988c51cf27eac0e59c79ff3b8f:
+     Include also ext jars in the bootclasspath jar.
+   + 2579b791c023a78a577e8cb827890139d6fb7534:
+     Fix toolchain_java9 on --host_javabase=<jdk9> after
+     7eb9ea150fb889a93908d96896db77d5658e5005
+   + faaff7fa440939d4367f284ee268225a6f40b826:
+     Release notes: fix markdown
+   + b073a18e3fac05e647ddc6b45128a6158b34de2c:
+     Fix NestHost length computation Fixes #5987
+   + bf6a63d64a010f4c363d218e3ec54dc4dc9d8f34:
+     Fixes #6219. Don't rethrow any remote cache failures on either
+     download or upload, only warn. Added more tests.
+   + c1a7b4c574f956c385de5c531383bcab2e01cadd:
+     Fix broken IdlClassTest on Bazel's CI.
+   + 71926bc25b3b91fcb44471e2739b89511807f96b:
+     Fix the Xcode version detection which got broken by the upgrade
+     to Xcode 10.0.
+   + 86a8217d12263d598e3a1baf2c6aa91b2e0e2eb5:
+     Temporarily restore processing of workspace-wide tools/bazel.rc
+     file.
+```
+
+General changes
+
+- New [bazelrc file list](https://docs.bazel.build/versions/master/user-manual.html#where-are-the-bazelrc-files).
+  If you need to keep both the old and new lists of .rc files active
+  concurrently to support multiple versions of Bazel, you can import the old
+  file location into the new list using `try-import`. This imports a file if it
+  exists and silently exits if it does not. You can use this method to account
+  for a user file that may or may not exist
+
+- [.bazelignore](https://docs.bazel.build/versions/master/user-manual.html#.bazelignore)
+  is now fully functional.
+
+- The startup flag `--host_javabase` has been renamed to
+  `--server_javabase` to avoid confusion with the build flag
+  `--host_javabase`.
+
+Android
+
+- The Android resource processing pipeline now supports persistence
+  via worker processes. Enable it with
+  `--persistent_android_resource_processor`. We have observed a 50% increase
+  in build speed for clean local builds and up to 150% increase in build
+  speed for incremental local builds.
+
+C++
+
+- In-memory package //tools/defaults has been removed (controlled by
+  `--incompatible_disable_tools_defaults_package` flag). Please see
+  [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-inmemory-tools-defaults-package)
+  and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy
+  behavior will be removed in Bazel 0.20.
+
+- Late bound option defaults (typical example was the `--compiler` flag, when
+  it was not specified, it’s value was computed using the CROSSTOOL) are removed
+  (controlled by `--incompatible_disable_late_bound_option_defaults` flag).
+  Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-late-bound-option-defaults)
+  and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy
+  behavior will be removed in Bazel 0.20.
+
+- Depsets are no longer accepted in `user_compile_flags` and `user_link_flags`
+  in the C++ toolchain API (controlled by
+  `--incompatible_disable_depset_in_cc_user_flags` flag) affects C++ users.
+  Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-depsets-in-c-toolchain-api-in-user-flags)
+  and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy
+  behavior will be removed in Bazel 0.20.
+
+- CROSSTOOL is no longer consulted when selecting C++ toolchain (controlled by
+  `--incompatible_disable_cc_toolchain_label_from_crosstool_proto` flag).
+  Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disallow-using-crosstool-to-select-the-cc_toolchain-label)
+  and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20.
+
+- You can now use [`toolchain_identifier` attribute](https://github.com/bazelbuild/bazel/commit/857d4664ce939f240b1d10d8d2baca6c6893cfcb)
+  on `cc_toolchain` to pair it with CROSSTOOL toolchain.
+
+- C++ specific Make variables
+  are no longer passed from the `CppConfiguration`, but from the C++ toolchain
+  (controlled by `--incompatible_disable_cc_configuration_make_variables` flag).
+  Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disallow-using-c-specific-make-variables-from-the-configuration)
+  and migrate soon, the flag will be flipped
+  in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20.
+
+- Skylark api accessing C++
+  toolchain in `ctx.fragments.cpp` is removed (controlled by
+  `--incompatible_disable_legacy_cpp_toolchain_skylark_api` flag).
+  Please migrate soon, the flag will be flipped
+  in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20.
+
+- cc_binary link action no longer hardcodes
+  `-static-libgcc` for toolchains that support embedded runtimes
+  (guarded by [`--experimental_dont_emit_static_libgcc`](https://source.bazel.build/bazel/+/2f281960b829e964526a9d292d4c3003e4d19f1c)
+  temporarily). Proper deprecation using `--incompatible` flags will follow.
+
+Java
+
+- Future versions of Bazel will require a locally installed JDK
+  for Java development. Previously Bazel would fall back to using
+  the embedded `--server_javabase` if no JDK as available. Pass
+  `--incompatible_never_use_embedded_jdk_for_javabase` to disable the
+  legacy behaviour.
+
+- `--javacopt=` no longer affects compilations of tools that are
+  executed during the build; use `--host_javacopt=` to change javac
+  flags in the host configuration.
+
+Objective C
+
+- `objc_library` now supports the module_name attribute.
+
+Skylark
+
+- Adds `--incompatible_expand_directories` to automatically expand
+  directories in skylark command lines. Design doc:
+  https://docs.google.com/document/d/11agWFiOUiz2htBLj6swPTob5z78TrCxm8DQE4uJLOwM
+
+- Support fileset expansion in ctx.actions.args(). Controlled by
+  `--incompatible_expand_directories`.
+
+Windows
+
+- `--windows_exe_launcher` is deprecated, this flag will be removed
+  soon. Please make sure you are not using it.
+
+- Bazel now supports the symlink runfiles tree on Windows with
+  `--experimental_enable_runfiles` flag. For more details, see
+  [this doc](https://docs.google.com/document/d/1hnYmU1BmtCSJOUvvDAK745DSJQCapToJxb3THXYMrmQ).
+
+Other Changes
+
+- A new experimental option `--experimental_ui_deduplicate` has been added. It
+  causes the UI to attempt to deduplicate messages from actions to keep the
+  console output cleaner.
+
+- Add `--modify_execution_info`, a flag to customize action execution
+  info.
+
+- Add ExecutionInfo to aquery output for ExecutionInfoSpecifier
+  actions.
+
+- When computing `--instrumentation_filter`, end filter patterns with
+  "[/:]" to match non-top-level packages exactly and treat
+  top-level targets consistently.
+
+- Added the `bazel info server_log` command, which obtains the main Bazel
+  server log file path. This can help debug Bazel issues.
+
+- `aapt shrink` resources now properly respect filter configurations.
+
+## Release 0.17.2 (2018-09-21)
+
+```
+Baseline: aa118ca818baf722aede0bc48d0a17584fa45b6e
+
+Cherry picks:
+   + 0e0462589528154cb5160411991075a2000b5452:
+     Update checker framework dataflow and javacutil versions
+   + 3987300d6651cf0e6e91b395696afac6913a7d66:
+     Stop using --release in versioned java_toolchains
+   + 438b2773b8c019afa46be470b90bcf70ede7f2ef:
+     make_deb: Add new empty line in the end of conffiles file
+   + 504401791e0a0e7e3263940e9e127f74956e7806:
+     Properly mark configuration files in the Debian package.
+   + 9ed9d8ac4347408d15c8fce7c9c07e5c8e658b30:
+     Add flag
+     --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfil
+     es_tree.
+   + 22d761ab42dfb1b131f1facbf490ccdb6c17b89c:
+     Update protobuf to 3.6.1 -- add new files
+   + 27303d79c38f2bfa3b64ee7cd7a6ef03a9a87842:
+     Update protobuf to 3.6.1 -- update references
+   + ddc97ed6b0367eb443e3e09a28d10e65179616ab:
+     Update protobuf to 3.6.1 -- remove 3.6.0 sources
+   + ead1002d3803fdfd4ac68b4b4872076b19d511a2:
+     Fix protobuf in the WORKSPACE
+   + 12dcd35ef7a26d690589b0fbefb1f20090cbfe15:
+     Revert "Update to JDK 10 javac"
+   + 7eb9ea150fb889a93908d96896db77d5658e5005:
+     Automated rollback of
+     https://github.com/bazelbuild/bazel/commit/808ec9ff9b5cec14f23a4b
+     a106bc5249cacc8c54 and
+     https://github.com/bazelbuild/bazel/commit/4c9149d558161e7d3e363f
+     b697f5852bc5742a36 and some manual merging.
+   + 4566a428c5317d87940aeacfd65f1018340e52b6:
+     Fix tests on JDK 9 and 10
+   + 1e9f0aa89dad38eeab0bd40e95e689be2ab6e5e5:
+     Fix more tests on JDK 9 and 10
+   + a572c1cbc8c26f625cab6716137e2d57d05cfdf3:
+     Add ubuntu1804_nojava, ubuntu1804_java9, ubuntu1804_java10 to
+     postsubmit.
+   + 29f1de099e4f6f0f50986aaa4374fc5fb7744ee8:
+     Disable Android shell tests on the "nojava" platform.
+   + b495eafdc2ab380afe533514b3bcd7d5b30c9935:
+     Update bazel_toolchains to latest release.
+   + 9323c57607d37f9c949b60e293b573584906da46:
+     Windows: fix writing java.log
+   + 1aba9ac4b4f68b69f2d91e88cfa8e5dcc7cb98c2:
+     Automated rollback of commit
+     de22ab0582760dc95f33e217e82a7b822378f625.
+   + 2579b791c023a78a577e8cb827890139d6fb7534:
+     Fix toolchain_java9 on --host_javabase=<jdk9> after
+     7eb9ea150fb889a93908d96896db77d5658e5005
+   + 2834613f93f74e988c51cf27eac0e59c79ff3b8f:
+     Include also ext jars in the bootclasspath jar.
+   + fdb09a260dead1e1169f94584edc837349a4f4a5:
+     Release 0.17.1 (2018-09-14)
+   + 1d956c707e1c843896ac58a341c335c9c149073d:
+     Do not fail the build when gcov is not installed
+   + 2e677fb6b8f309b63558eb13294630a91ee0cd33:
+     Ignore unrecognized VM options in desugar.sh, such as the JVM 9
+     flags to silence warnings.
+```
+
+Important changes:
+
+  - In the future, Bazel will expand tree artifacts in runfiles, too,
+    which causes the sandbox to link each file individually into the
+    sandbox directory, instead of symlinking the entire directory. In
+    this release, the behavior is not enabled by default yet. Please
+    try it out via
+    --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfile
+    s_tree and let us know if it causes issues. If everything looks
+    good, this behavior will become the default in a following
+    release.
+
+## Release 0.17.1 (2018-09-14)
+
+```
+Baseline: aa118ca818baf722aede0bc48d0a17584fa45b6e
+
+Cherry picks:
+   + 0e0462589528154cb5160411991075a2000b5452:
+     Update checker framework dataflow and javacutil versions
+   + 3987300d6651cf0e6e91b395696afac6913a7d66:
+     Stop using --release in versioned java_toolchains
+   + 438b2773b8c019afa46be470b90bcf70ede7f2ef:
+     make_deb: Add new empty line in the end of conffiles file
+   + 504401791e0a0e7e3263940e9e127f74956e7806:
+     Properly mark configuration files in the Debian package.
+   + 9ed9d8ac4347408d15c8fce7c9c07e5c8e658b30:
+     Add flag
+     --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfil
+     es_tree.
+   + 22d761ab42dfb1b131f1facbf490ccdb6c17b89c:
+     Update protobuf to 3.6.1 -- add new files
+   + 27303d79c38f2bfa3b64ee7cd7a6ef03a9a87842:
+     Update protobuf to 3.6.1 -- update references
+   + ddc97ed6b0367eb443e3e09a28d10e65179616ab:
+     Update protobuf to 3.6.1 -- remove 3.6.0 sources
+   + ead1002d3803fdfd4ac68b4b4872076b19d511a2:
+     Fix protobuf in the WORKSPACE
+   + 12dcd35ef7a26d690589b0fbefb1f20090cbfe15:
+     Revert "Update to JDK 10 javac"
+   + 7eb9ea150fb889a93908d96896db77d5658e5005:
+     Automated rollback of
+     https://github.com/bazelbuild/bazel/commit/808ec9ff9b5cec14f23a4b
+     a106bc5249cacc8c54 and
+     https://github.com/bazelbuild/bazel/commit/4c9149d558161e7d3e363f
+     b697f5852bc5742a36 and some manual merging.
+   + 4566a428c5317d87940aeacfd65f1018340e52b6:
+     Fix tests on JDK 9 and 10
+   + 1e9f0aa89dad38eeab0bd40e95e689be2ab6e5e5:
+     Fix more tests on JDK 9 and 10
+   + a572c1cbc8c26f625cab6716137e2d57d05cfdf3:
+     Add ubuntu1804_nojava, ubuntu1804_java9, ubuntu1804_java10 to
+     postsubmit.
+   + 29f1de099e4f6f0f50986aaa4374fc5fb7744ee8:
+     Disable Android shell tests on the "nojava" platform.
+   + b495eafdc2ab380afe533514b3bcd7d5b30c9935:
+     Update bazel_toolchains to latest release.
+   + 9323c57607d37f9c949b60e293b573584906da46:
+     Windows: fix writing java.log
+   + 1aba9ac4b4f68b69f2d91e88cfa8e5dcc7cb98c2:
+     Automated rollback of commit
+     de22ab0582760dc95f33e217e82a7b822378f625.
+   + 2579b791c023a78a577e8cb827890139d6fb7534:
+     Fix toolchain_java9 on --host_javabase=<jdk9> after
+     7eb9ea150fb889a93908d96896db77d5658e5005
+   + 2834613f93f74e988c51cf27eac0e59c79ff3b8f:
+     Include also ext jars in the bootclasspath jar.
+```
+
+Incompatible changes:
+
+  - Loading @bazel_tools//tools/build_defs/repo:git_repositories.bzl
+    no longer works. Load @bazel_tools//tools/build_defs/repo:git.bzl
+    instead.
+  - If the same artifact is generated by two distinct but identical
+    actions, and a downstream action has both those actions' outputs
+    in its inputs, the artifact will now appear twice in the
+    downstream action's inputs. If this causes problems in Skylark
+    actions, you can use the uniquify=True argument in Args.add_args.
+  - If the same artifact is generated by two distinct but identical
+    actions, and a downstream action has both those actions' outputs
+    in its inputs, the artifact will now appear twice in the
+    downstream action's inputs. If this causes problems in Skylark
+    actions, you can use the uniquify=True argument in Args.add_args.
+  - Labels in C++ rules' linkopts attribute are not expanded anymore
+    unless they are wrapped, e.g: $(location //foo:bar)
+  - If the same artifact is generated by two distinct but identical
+    actions, and a downstream action has both those actions' outputs
+    in its inputs, the artifact will now appear twice in the
+    downstream action's inputs. If this causes problems in Skylark
+    actions, you can use the uniquify=True argument in Args.add_args.
+  - New bazelrc file list.
+  - Windows: when BAZEL_SH envvar is not defined and Bazel searches
+    for a suitable bash.exe, Bazel will no longer look for Git Bash
+    and no longer recommend installing it as a Bash implementation.
+    See issue #5751.
+  - New bazelrc file list.
+
+New features:
+
+  - The aquery command now supports --output=text.
+  - Java, runfiles: the Java runfiles library is now in
+    @bazel_tools//tools/java/runfiles. The old target
+    (@bazel_tools//tools/runfiles:java-runfiles) is deprecated and
+    will be removed in Bazel 0.18.0.
+  - Java, runfiles: the Java runfiles library is now in
+    @bazel_tools//tools/java/runfiles. The old target
+    (@bazel_tools//tools/runfiles:java-runfiles) is deprecated and
+    will be removed in Bazel 0.19.0 (not 0.18.0, as stated earlier).
+
+Important changes:
+
+  - Allow @ in package names.
+  - Remove support for java_runtime_suite; use alias() together with
+    select() instead.
+  - Python wrapper scripts for MSVC are removed.
+  - [JavaInfo] Outputs are merged in java_common.merge().
+  - Faster analysis by improved parallelization.
+  - --experimental_shortened_obj_file_path is removed.
+  - Introduce the --remote_cache_proxy flag,
+    which allows for remote http caching to connect
+    via a unix domain socket.
+  - No longer define G3_VERSION_INFO for c++ linkstamp compiles, as
+    it was a duplicate of G3_TARGET_NAME.
+  - Added support for Android NDK r17. The default STL is now
+    `libc++`, and support for targeting `mips`, `mips64` and `ARMv5`
+    (`armeabi`) has been removed.
+  - Add aquery command to get analysis time information about the
+    action graph.
+  - Fixed compatibility with aar_import when using aapt2.  AAPT2 is
+    now supported for Android app builds without resource shrinking.
+    To use it, pass the `--android_aapt=aapt2` flag or define
+    android_binary.aapt_version=aapt2.
+  - Code coverage is collected for Java binaries invoked from sh_test.
+  - java_common.compile creates the native headers jar accesible via
+    JavaInfo.outputs.native_headers.
+  - Deleting deprecated no-op flag --show_package_location
+  - The JDK shipped with Bazel was updated to JDK10.
+  - Rename the startup flag --host_javabase to --server_javabase to
+    avoid confusion with the build flag --host_javabase
+  - newly added options --experimental_repository_hash_file and
+      --experimental_verify_repository_rules allow to verify for
+    repositories
+      the directory generated against pre-recorded hashes. See
+    documentation
+      for those options.
+  - Removed the gen_jars output group
+  - --subcommands can now take a "pretty_print" value
+    ("--subcommands=pretty_print") to print the
+    arguments of subcommands as a list for easier reading.
+  - follow-up to
+    https://github.com/bazelbuild/bazel/commit/1ac359743176e659e9c7472
+    645e3142f3c44b9e8
+  - A rule error is now thrown if a Skylark rule implementation
+    function returns multiple providers of the same type.
+  - When using Bazel's remote execution feature and Bazel has to
+    fallback to local execution for an action, Bazel used
+    non-sandboxed
+    local execution until now. From this release on, you can use the
+    new
+    flag --remote_local_fallback_strategy=<strategy> to tell Bazel
+    which
+    strategy to use in that case.
+  - Execution Log Parser can now, when printing it out, filter the
+    log by runner type
+  - A rule error is now thrown if a Skylark rule implementation
+    function returns multiple providers of the same type.
+  - Removed the gen_jars output group
+  - Removed the gen_jars output group
+  - Set --defer_param_files to default to true.
+  - Sort attribute lists in proto-form query output to fix
+    non-deterministic genquery output.
+  - Replace 0/1 with False/True for testonly attribute
+  - bazel now supports a .bazelignore file specifying
+      directories to be ignored; however, these directories still
+      have to be well founded and, in particular, may not contain
+      symlink cycles.
+  - Add more detailed reporting of the differences between startup
+    options.
+  - update data binding to 3.2.0
+  - For Android incremental dexing actions, Bazel now persists its
+    DexBuilder process across individual actions. From our
+    benchmarks, this results in a 1.2x speedup for clean local builds.
+  - The standard `xcode_VERSION` feature now always uses exactly two
+    components in the version, even if you specify `--xcode_version`
+    with
+    more or fewer than two.
+  - A rule error will be thrown if a Skylark rule implementation
+    function returns multiple providers of the same type. Try the
+    `--incompatible_disallow_conflicting_providers` flag to ensure
+    your code is forward-compatible.
+  - Removed notion of FULLY_STATIC linking mode from C++ rules.
+  - In documentation, we've renamed Skylark into Starlark.
+  - Execution Log Parser can now, when printing it out, reorder the
+    actions for easier text diffs
+  - Linkstamps are no longer recompiled after server restart.
+  - Use VanillaJavaBuilder and disable header compilation in
+    toolchain_hostjdk8. The default toolchain will soon drop
+    compatibility with JDK 8. Using a JDK 8 host_javabase
+    will only be supported when using 'VanillaJavaBuilder' (which
+    does not support Error Prone,
+    Strict Java Deps, or reduced classpaths) and with header
+    compilation disabled.
+  - In the future, Bazel will expand tree artifacts in runfiles, too,
+    which causes the sandbox to link each file individually into the
+    sandbox directory, instead of symlinking the entire directory. In
+    this release, the behavior is not enabled by default yet. Please
+    try it out via
+    --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfile
+    s_tree and let us know if it causes issues. If everything looks
+    good, this behavior will become the default in a following
+    release.
+
 ## Release 0.16.1 (2018-08-13)
 
 ```
@@ -3146,3 +3579,6 @@
 
 
 
+
+
+