diff --git a/CHANGELOG.md b/CHANGELOG.md
index 46a32ee..fe5d246 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,256 @@
+## Release 0.20.0 (2018-11-30)
+
+```
+Baseline: 7bf7f031c332dc483257248d1c1f98ad75bbc83b
+
+Cherry picks:
+
+   + fd52341505e725487c6bc6dfbe6b5e081aa037da:
+     update bazel-toolchains pin to latest release Part of changes to
+     allow bazelci to use 0.19.0 configs. RBE toolchain configs at or
+     before 0.17.0 are not compatible with bazel 0.19.0 or above.
+   + 241f28d05424db2d11ee245dc856b992258505e3:
+     Revert "Toggle --incompatible_disable_late_bound_option_defaults
+     flag."
+   + f7e5aef145c33968f658eb2260e25630dc41cc67:
+     Add cc_toolchain targets for the new entries in the default
+     cc_toolchain_suite.
+   + d2920e32ec7f3f8551a693d33c17b19f1b802145:
+     Revert "WindowsFileSystem: open files with delete-sharing"
+```
+
+[Breaking changes in 0.20](https://github.com/bazelbuild/bazel/issues?q=is%3Aissue+label%3Abreaking-change-0.20)
+
+  - [--incompatible_remove_native_http_archive](https://github.com/bazelbuild/bazel/issues/6570).
+  - [--incompatible_remove_native_git_repository](https://github.com/bazelbuild/bazel/issues/6569).
+  - [--incompatible_disable_cc_toolchain_label_from_crosstool_proto](https://github.com/bazelbuild/bazel/issues/6434).
+  - [--incompatible_disable_depset_in_cc_user_flags](https://github.com/bazelbuild/bazel/issues/6384).
+  - [--incompatible_disable_cc_configuration_make_variables](https://github.com/bazelbuild/bazel/issues/6381).
+  - [--incompatible_disallow_conflicting_providers](https://github.com/bazelbuild/bazel/issues/5902).
+  - [--incompatible_range_type](https://github.com/bazelbuild/bazel/issues/5264).
+
+[0.20 is a migration window for the following changes](https://github.com/bazelbuild/bazel/issues?q=is%3Aissue+label%3Amigration-0.20)
+
+  - [--incompatible_use_jdk10_as_host_javabase](https://github.com/bazelbuild/bazel/issues/6661)
+  - [--incompatible_use_remotejdk_as_host_javabase](https://github.com/bazelbuild/bazel/issues/6656)
+  - [--incompatible_disable_sysroot_from_configuration](https://github.com/bazelbuild/bazel/issues/6565)
+  - [--incompatible_provide_cc_toolchain_info_from_cc_toolchain_suite](https://github.com/bazelbuild/bazel/issues/6537)
+  - [--incompatible_disable_depset_in_cc_user_flags](https://github.com/bazelbuild/bazel/issues/6383)
+  - [--incompatible_package_name_is_a_function](https://github.com/bazelbuild/bazel/issues/5827)
+
+[Breaking changes in the next release (0.21)](https://github.com/bazelbuild/bazel/issues?q=is%3Aissue+label%3Abreaking-change-0.21)
+
+  - [--incompatible_use_jdk10_as_host_javabase](https://github.com/bazelbuild/bazel/issues/6661)
+  - [--incompatible_use_remotejdk_as_host_javabase](https://github.com/bazelbuild/bazel/issues/6656)
+  - [--incompatible_disable_sysroot_from_configuration](https://github.com/bazelbuild/bazel/issues/6565)
+  - [--incompatible_provide_cc_toolchain_info_from_cc_toolchain_suite](https://github.com/bazelbuild/bazel/issues/6537)
+  - [--incompatible_disable_depset_in_cc_user_flags](https://github.com/bazelbuild/bazel/issues/6383)
+  - [--incompatible_disallow_data_transition](https://github.com/bazelbuild/bazel/issues/6153)
+  - [--incompatible_package_name_is_a_function](https://github.com/bazelbuild/bazel/issues/5827)
+  - [--incompatible_disallow_slash_operator](https://github.com/bazelbuild/bazel/issues/5823)
+  - [--incompatible_static_name_resolution](https://github.com/bazelbuild/bazel/issues/5637)
+
+Incompatible changes:
+
+  - the --experimental_no_dotd_scanning_with_modules command line
+    argument is not supported anymore.
+  - The --prune_cpp_modules command line option is not supported
+    anymore.
+  - the --experimental_prune_cpp_input_discovery command line option
+    is not supported anymore.
+
+New features:
+
+  - Added support for Android NDK r18.
+
+Important changes:
+
+  - The 'default' parameter of attr.output and attr.output_list is
+    removed. This is controlled by
+    --incompatible_no_output_attr_default
+  - A number of platform-related Starlark APIs which were previously
+    marked "experimental" are now disabled by default, and may be
+    enabled via --experimental_platforms_api
+  - Make legacy-test-support ("legacy_test-<api-level>") from
+    android_sdk_repository neverlink. The legacy test support
+    libraries shouldn't be built into test binaries. To make them
+    available at runtime, developers should declare them via
+    uses-library:
+    https://developer.android.com/training/testing/set-up-project#andr
+    oid-test-base
+  - query remote server Capabilities (per REAPI v2)
+  - CppRules: All cc_toolchains depended on from
+    cc_toolchain_suite.toolchains are now analyzed when not using
+    platforms in order to select the right cc_toolchain.
+  - removed obsolete --explicit_jre_deps flag.
+  - Incompatible flag
+    --incompatible_disable_legacy_cpp_toolchain_skylark_api was
+    flipped.
+  - Improve error messaging when unsupport proguard options are
+    specified at the library level.
+  - Incompatible flag
+    --incompatible_disable_legacy_cpp_toolchain_skylark_api was
+    flipped.
+  - Incompatible flag
+    --incompatible_disable_legacy_cpp_toolchain_skylark_api was
+    flipped.
+  - The --incompatible_disable_late_bound_option_defaults flag has
+    been flipped (#6384)
+  - Incompatible flag
+    --incompatible_disable_legacy_flags_cc_toolchain_api was flipped
+    (#6434)
+  - Fixed issue where ctx.resolve_command created conflicting
+    intermediate files when resolve_command was called multiple times
+    within the same rule invocation with a long command attribute.
+  - Incompatible flag
+    --incompatible_disable_cc_configuration_make_variables was
+    flipped (#6381)
+  - If the --javabase flag is unset, it Bazel locates a JDK using
+    the JAVA_HOME environment variable and searching the PATH. If no
+    JDK is found --javabase will be empty, and builds targeting Java
+    will not
+    be supported. Previously Bazel would fall back to using the
+    embedded
+    JDK as a --javabase, but this is no longer default behaviour. A
+    JDK should
+    be explicitly installed instead to enable Java development
+  - Bazel will now shut down when idle for 5 minutes and the system
+    is low on RAM (linux only).
+  - CROSSTOOL file is now read from the package of cc_toolchain, not
+    from
+    the package of cc_toolchain_suite. This is not expected to break
+    anybody since
+    cc_toolchain_suite and cc_toolchain are commonly in the same
+    package.
+  - All overrides of Starlark's ctx.new_file function are now
+    deprecated.
+      Try the `--incompatible_new_actions_api` flag to ensure your
+    code is forward-compatible.
+  - --incompatible_disable_cc_toolchain_label_from_crosstool_proto
+    was flipped.
+  - Introduce --(no)shutdown_on_low_sys_mem startup flag to toggle
+    idle low-memory shutdown, disabled by default.
+  - --incompatible_disable_cc_toolchain_label_from_crosstool_proto
+    was flipped.
+  - --incompatible_disable_cc_toolchain_label_from_crosstool_proto
+    was flipped.
+  - CppRules: All cc_toolchains depended on from
+    cc_toolchain_suite.toolchains are now analyzed when not using
+    platforms in order to select the right cc_toolchain.
+  - The function `attr.license` is deprecated and will be removed.
+      It can be disabled now with `--incompatible_no_attr_license`.
+  - `range()` function now returns a lazy value
+    (`--incompatible_range_type` is now set by default).
+  - The code coverage report now includes the actual paths to header
+    files instead of the ugly,
+    Bazel generated, virtual includes path.
+  - `--incompatible_disallow_conflicting_providers` has been switched
+    to true
+  - Add new flag `--incompatible_disable_systool_from_configration` to
+    disable loading the systool from CppConfiguration.
+  - Add new flag `--incompatible_disable_sysroot_from_configuration`
+    to
+    disable loading the systool from CppConfiguration.
+  - Sorting remote Platform properties for remote execution. May
+    affect cache keys!
+  - Use different server log files per Bazel server process; java.log
+    is
+    now a symlink to the latest log.
+
+This release contains contributions from many people at Google, as well as a7g4 <a7g4@a7g4.net>, Alan <alan.agius@betssongroup.com>, Asaf Flescher <asafflesch@gmail.com>, Benjamin Peterson <bp@benjamin.pe>, Ed Schouten <ed.schouten@prodrive-technologies.com>, George Gensure <ggensure@uber.com>, George Kalpakas <kalpakas.g@gmail.com>, Greg <gregestren@users.noreply.github.com>, Irina Iancu <iirina@users.noreply.github.com>, Keith Smiley <keithbsmiley@gmail.com>, Loo Rong Jie <loorongjie@gmail.com>, Mark Zeren <mzeren@vmware.com>, Petros Eskinder <petroseskinder@users.noreply.github.com>, rachcatch <rachelcatchpoole@hotmail.com>, Robert Brown <robert.brown@gmail.com>, Robert Gay <robert.gay@redfin.com>, Salty Egg <2281521+zhouhao@users.noreply.github.com>.
+
+## Release 0.19.2 (2018-11-19)
+
+```
+Baseline: ac880418885061d1039ad6b3d8c28949782e02d6
+
+Cherry picks:
+
+   + 9bc3b20053a8b99bf2c4a31323a7f96fabb9f1ec:
+     Fix the "nojava" platform and enable full presubmit checks for
+     the various JDK platforms now that we have enough GCE resources.
+   + 54c2572a8cabaf2b29e58abe9f04327314caa6a0:
+     Add openjdk_linux_archive java_toolchain for nojava platform.
+   + 20bfdc67dc1fc32ffebbda7088ba49ee17e3e182:
+     Automated rollback of commit
+     19a401c38e30ebc0879925a5caedcbe43de0028f.
+   + 914b4ce14624171a97ff8b41f9202058f10d15b2:
+     Windows: Fix Precondition check for addDynamicInputLinkOptions
+   + 83d406b7da32d1b1f6dd02eae2fe98582a4556fd:
+     Windows, test-setup.sh: Setting RUNFILES_MANIFEST_FILE only when
+     it exists.
+   + e025726006236520f7e91e196b9e7f139e0af5f4:
+     Update turbine
+   + 5f312dd1678878fb7563eae0cd184f2270346352:
+     Fix event id for action_completed BEP events
+   + f0c844c77a2406518c4e75c49188390d5e281d3d:
+     Release 0.19.0 (2018-10-29)
+   + c3fb1db9e4e817e8a911f5b347b30f2674a82f7c:
+     Do not use CROSSTOOL to select cc_toolchain
+   + 8e280838e8896a6b5eb5421fda435b96b6f8de60:
+     Windows Add tests for msys gcc toolchain and mingw gcc toolchain
+   + fd52341505e725487c6bc6dfbe6b5e081aa037da:
+     update bazel-toolchains pin to latest release Part of changes to
+     allow bazelci to use 0.19.0 configs. RBE toolchain configs at or
+     before 0.17.0 are not compatible with bazel 0.19.0 or above.
+   + eb2af0f699350ad187048bf814a95af23f562c77:
+     Release 0.19.1 (2018-11-12)
+   + 6bc452874ddff69cbf7f66186238032283f1195f:
+     Also update cc_toolchain.toolchain_identifier when
+     CC_TOOLCHAIN_NAME is set
+   + f7e5aef145c33968f658eb2260e25630dc41cc67:
+     Add cc_toolchain targets for the new entries in the default
+     cc_toolchain_suite.
+   + 683c302129b66a8999f986be5ae7e642707e978c:
+     Read the CROSSTOOL from the package of the current cc_toolchain,
+     not from --crosstool_top
+```
+
+- Fixes regression #6662, by fixing tools/cpp/BUILD
+- Fixes regression #6665, by setting the toolchain identifier.
+- CROSSTOOL file is now read from the package of cc_toolchain, not from the
+  package of cc_toolchain_suite. This is not expected to break anybody since
+  cc_toolchain_suite and cc_toolchain are commonly in the same package.
+
+## Release 0.19.1 (2018-11-12)
+
+```
+Baseline: ac880418885061d1039ad6b3d8c28949782e02d6
+
+Cherry picks:
+
+   + 9bc3b20053a8b99bf2c4a31323a7f96fabb9f1ec:
+     Fix the "nojava" platform and enable full presubmit checks for
+     the various JDK platforms now that we have enough GCE resources.
+   + 54c2572a8cabaf2b29e58abe9f04327314caa6a0:
+     Add openjdk_linux_archive java_toolchain for nojava platform.
+   + 20bfdc67dc1fc32ffebbda7088ba49ee17e3e182:
+     Automated rollback of commit
+     19a401c38e30ebc0879925a5caedcbe43de0028f.
+   + 914b4ce14624171a97ff8b41f9202058f10d15b2:
+     Windows: Fix Precondition check for addDynamicInputLinkOptions
+   + 83d406b7da32d1b1f6dd02eae2fe98582a4556fd:
+     Windows, test-setup.sh: Setting RUNFILES_MANIFEST_FILE only when
+     it exists.
+   + e025726006236520f7e91e196b9e7f139e0af5f4:
+     Update turbine
+   + 5f312dd1678878fb7563eae0cd184f2270346352:
+     Fix event id for action_completed BEP events
+   + f0c844c77a2406518c4e75c49188390d5e281d3d:
+     Release 0.19.0 (2018-10-29)
+   + c3fb1db9e4e817e8a911f5b347b30f2674a82f7c:
+     Do not use CROSSTOOL to select cc_toolchain
+   + 8e280838e8896a6b5eb5421fda435b96b6f8de60:
+     Windows Add tests for msys gcc toolchain and mingw gcc toolchain
+   + fd52341505e725487c6bc6dfbe6b5e081aa037da:
+     update bazel-toolchains pin to latest release Part of changes to
+     allow bazelci to use 0.19.0 configs. RBE toolchain configs at or
+     before 0.17.0 are not compatible with bazel 0.19.0 or above.
+```
+
+Important changes:
+- Fix regression #6610, which prevents using the MINGW compiler on Windows.
+
 ## Release 0.19.0 (2018-10-29)
 
 ```
@@ -3718,3 +3971,6 @@
 
 
 
+
+
+
