Release 0.9.0 (2017-12-19)

Baseline: ddd5ac16aeffa6c4693c348f73e7365240b1abc5

Cherry picks:
   + 2cf560f83922e6df9626ba3ee063c1caf6797548:
     Update version of re2
   + a2d2615362c65be98629b39ce39754a325ed1c42:
     Check for null build file returned from getBuildFileForPackage.
   + 68c577afc2fb33b5e66b820bcc9043fed1071456:
     Fix some broken targets and failing tests.
   + 766ba8adc4487f17ebfc081aeba6f34b18b53d6c:
     Automated rollback of commit
     337f19cc54e77c45daa1d5f61bf0a8d3daf8268f.
   + a22d0e9c14e58b29d81f5a83bdcc6e5fce52eafe:
     Fix: uploading artifacts of failed actions to remote cache
     stopped working.
   + 03964c8ccb20d673add76c7f37245e837c3899b6:
     [java_common.compile] Name output source jar relative to the
     output jar name

Incompatible changes:

  - The deprecated `set` constructor is removed, along with the
    migration flag --incompatible_disallow_set_constructor. It is
    still temporarily
    allowed to refer to `set` from within unexecuted code.
  - The flag --incompatible_disallow_set_constructor is no longer
    available, the deprecated `set` constructor is not available
    anymore.
  - The path to the JVM executable is not accessible anymore as
    ctx.{fragments,host_fragments}.jvm.java_executable. Use
    JavaRuntimeInfo.java_executable_exec_path instead.
  - --clean_style is no longer an option.

New features:

  - Users can use win_def_file attribute to specify a DEF file for
    exporting symbols when build a shared library on Windows.
  - Add --experimental_android_resource_cycle_shrinking option to
    allow for more aggressive code and resource shrinking.

Important changes:

  - Late-bound attributes are exposed to skylark. This is a new API
    (`configuration_field()`) to depend on certain
    configuration-defined targets from skylark rules.
  - Document interaction between test_suite and target exclusions
  - AAR manifest files will come from the processed resource APK if it
    exists.
    RELNOTES: None for Blaze users.
  - Document interaction between test_suite and target exclusions
  - --keep_incrementality_data flag allows Bazel servers to be run in
    memory-saving non-incremental mode independent of --batch and
    --discard_analysis_cache.
  - Add deps attribute to Skylark maven_aar and maven_jar workspace
    rules.
  - Use --expand_configs_in_place as a startup argument to change the
    order in which --config expansions are interpreted.
  - SOURCE_DATE_EPOCH
    (https://reproducible-builds.org/specs/source-date-epoch/) can
    be used to override the timestamp used for stamped target (when
    using --stamp).
  - Package specifications can now be prefixed with `-` to indicate
    negation
  - transitive_source_jars is now exposed on JavaInfo.
  - Add six to deps of has_services=1 py_proto_librarys.
  - java_tests no complain when use_testrunner is explicitly set to 1
    and main_class is set.
  - transitive_source_jars is now exposed on JavaInfo.
  - Debug messages generated by `print()` are not being filtered out
    by --output_filter anymore, it's recommended not to use them in
    production code.
  - in the Label() function, relative_to_caller_repository is now
    deprecated.
  - java_tests no complain when use_testrunner is explicitly set to 1
    and main_class is set.
  - Bazel's default hash function was changed from MD5 to SHA256.
    In particular, this affects users of remote caching and
    execution, as
    all hashes will be SHA256 by default.
  - Remove redirects for domains be.bazel.build and cr.bazel.build
    from the source for docs.bazel.build (because those subdomains
    don't resolve here; they resolve to bazel.build, which has the
    redirects for them)
  - First argument of 'load' must be a label. Path syntax is removed.
      (label should start with '//' or ':').
  - Document startup option --host_javabase
  - The --host_platform and --platform flags are no longer
    experimental.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 603c8fe..d90030ee 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,96 @@
+## Release 0.9.0 (2017-12-19)
+
+```
+Baseline: ddd5ac16aeffa6c4693c348f73e7365240b1abc5
+
+Cherry picks:
+   + 2cf560f83922e6df9626ba3ee063c1caf6797548:
+     Update version of re2
+   + a2d2615362c65be98629b39ce39754a325ed1c42:
+     Check for null build file returned from getBuildFileForPackage.
+   + 68c577afc2fb33b5e66b820bcc9043fed1071456:
+     Fix some broken targets and failing tests.
+   + 766ba8adc4487f17ebfc081aeba6f34b18b53d6c:
+     Automated rollback of commit
+     337f19cc54e77c45daa1d5f61bf0a8d3daf8268f.
+   + a22d0e9c14e58b29d81f5a83bdcc6e5fce52eafe:
+     Fix: uploading artifacts of failed actions to remote cache
+     stopped working.
+   + 03964c8ccb20d673add76c7f37245e837c3899b6:
+     [java_common.compile] Name output source jar relative to the
+     output jar name
+```
+
+Incompatible changes:
+
+  - The deprecated `set` constructor is removed, along with the
+    migration flag --incompatible_disallow_set_constructor. It is
+    still temporarily
+    allowed to refer to `set` from within unexecuted code.
+  - The flag --incompatible_disallow_set_constructor is no longer
+    available, the deprecated `set` constructor is not available
+    anymore.
+  - The path to the JVM executable is not accessible anymore as
+    ctx.{fragments,host_fragments}.jvm.java_executable. Use
+    JavaRuntimeInfo.java_executable_exec_path instead.
+  - --clean_style is no longer an option.
+
+New features:
+
+  - Users can use win_def_file attribute to specify a DEF file for
+    exporting symbols when build a shared library on Windows.
+  - Add --experimental_android_resource_cycle_shrinking option to
+    allow for more aggressive code and resource shrinking.
+
+Important changes:
+
+  - Late-bound attributes are exposed to skylark. This is a new API
+    (`configuration_field()`) to depend on certain
+    configuration-defined targets from skylark rules.
+  - Document interaction between test_suite and target exclusions
+  - AAR manifest files will come from the processed resource APK if it
+    exists.
+    RELNOTES: None for Blaze users.
+  - Document interaction between test_suite and target exclusions
+  - --keep_incrementality_data flag allows Bazel servers to be run in
+    memory-saving non-incremental mode independent of --batch and
+    --discard_analysis_cache.
+  - Add deps attribute to Skylark maven_aar and maven_jar workspace
+    rules.
+  - Use --expand_configs_in_place as a startup argument to change the
+    order in which --config expansions are interpreted.
+  - SOURCE_DATE_EPOCH
+    (https://reproducible-builds.org/specs/source-date-epoch/) can
+    be used to override the timestamp used for stamped target (when
+    using --stamp).
+  - Package specifications can now be prefixed with `-` to indicate
+    negation
+  - transitive_source_jars is now exposed on JavaInfo.
+  - Add six to deps of has_services=1 py_proto_librarys.
+  - java_tests no complain when use_testrunner is explicitly set to 1
+    and main_class is set.
+  - transitive_source_jars is now exposed on JavaInfo.
+  - Debug messages generated by `print()` are not being filtered out
+    by --output_filter anymore, it's recommended not to use them in
+    production code.
+  - in the Label() function, relative_to_caller_repository is now
+    deprecated.
+  - java_tests no complain when use_testrunner is explicitly set to 1
+    and main_class is set.
+  - Bazel's default hash function was changed from MD5 to SHA256.
+    In particular, this affects users of remote caching and
+    execution, as
+    all hashes will be SHA256 by default.
+  - Remove redirects for domains be.bazel.build and cr.bazel.build
+    from the source for docs.bazel.build (because those subdomains
+    don't resolve here; they resolve to bazel.build, which has the
+    redirects for them)
+  - First argument of 'load' must be a label. Path syntax is removed.
+      (label should start with '//' or ':').
+  - Document startup option --host_javabase
+  - The --host_platform and --platform flags are no longer
+    experimental.
+
 ## Release 0.8.0 (2017-11-27)
 
 ```
@@ -2199,3 +2292,4 @@
 
 
 
+