Release 0.8.0 (2017-11-27)

Baseline: cff0dc94f6a8e16492adf54c88d0b26abe903d4c

Cherry picks:
   + 8a49b156c4edf710e3e1e0acfde5a8d27cc3a086:
     Fix ImportError on tools.android for junction_lib
   + 275ae45b1228bdd0f912c4fbd634b29ba4180383:
     Automated rollback of commit
     4869c4e17d5b1410070a1570f3244148d8f97b5d.
   + d0bf589f2716b3d139c210930371a684c6e158eb:
     Add a random number to action temp dir
   + 9738f35abddb7ef7a7ef314b5d2a52a3be1b830a:
     CcProtoLibrary: Don't add dynamic librarys to filesToBuild on
     Windows
   + 0d6ff477099fdf6c8c1c7d4e2104f9184afe0a2b:
     Automated rollback of commit
     0ebb3e54fc890946ae6b3d059ecbd50e4b5ec840.

Incompatible changes:

  - ctx.fragments.apple.{xcode_version,ios_minimum_os} is not
    supported anymore. The same information is accessible through the
    target @bazel_tools//tools/osx:current_xcode_config: point an
    implicit attribute to it (i.e.
    attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
    nfig")) then use
    ctx.attr._xcode_config[apple_common].XcodeVersionConfig].
  - ctx.fragments.apple.minimum_os_for_platform_type is not supported
    anymore. The same information is accessible through the target
    @bazel_tools//tools/osx:current_xcode_config: point an implicit
    attribute to it (i.e.
    attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
    nfig")) then use
    ctx.attr._xcode_config[apple_common].XcodeVersionConfig].minimum_o
    s_for_platform_type .
  - ctx.fragments.apple.sdk_version_for_platform is not supported
    anymore. The same information is accessible through the target
    @bazel_tools//tools/osx:current_xcode_config: point an implicit
    attribute to it (i.e.
    attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
    nfig")) then use
    ctx.attr._xcode_config[apple_common].XcodeVersionConfig].sdk_versi
    on_for_platform .
  - --javabase=<absolute path> and --host_javabase=<absolute path>
    are not supported anymore. If you need this functionality
    java_runtime_suite(name="suite", default=":runtime")
    java_runtime(name="runtime", java_home=<path to the JDK>) is an
    alternative.
  - The flag --incompatible_descriptive_string_representations is no
    longer available, old style string representations of objects are
    not supported
    anymore.
  - The flag --incompatible_disallow_set_constructor is no longer
    available, the deprecated `set` constructor is not available
    anymore.
  - += on lists now mutates them. `list1 += list2` is now equivalent
    to `list1.extend(list2)` and not equivalent to `list1 = list1 +
    list2` anymore.
  - the target_apple_env and apple_host_system_env methods on
    ctx.fragments.apple are not supported anymore. The same
    information is accessible through apple_common.target_apple_env
    and apple_common.apple_host_system_env . They need the Xcode
    configuration as an argument, which can be obtained by declaring
    an implicit dependency on it (i.e.
    attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
    nfig")) and then calling e.g.
    apple_common.apple_host_system_env(ctx.attr._xcode_config[apple_co
    mmon.XcodeVersionConfig]).
  - C++ toolchain identifiers are not in the name of the output
    directory anymore.
  - Selecting on "xcode_version" and
    "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
    What was config_setting(values={"$FOO_version": $VALUE}) is now
    config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version_
    flag": $VALUE}).
  - Selecting on "xcode_version" and
    "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
    What was config_setting(values={"$FOO_version": $VALUE}) is now
    config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version_
    flag": $VALUE}).
  - The flag --incompatible_disallow_set_constructor is no longer
    available, the deprecated `set` constructor is not available
    anymore.
  - Selecting on "xcode_version" and
    "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
    What was config_setting(values={"$FOO_version": $VALUE}) is now
    config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_versi...

New features:

  - runfiles, sh: Shell scripts may now depend on
    //src/tools/runfiles:runfiles_sh_lib and source runfiles.sh. The
    script defines the `rlocation` function which returns runfile
    paths on every platform.
  - In addition to $(location), Bazel now also supports $(rootpath)
    to obtain
        the root-relative path (i.e., for runfiles locations), and
    $(execpath) to
        obtain the exec path (i.e., for build-time locations)

Important changes:

  - android_binary now supports custom debug keys via the debug_key
    attribute.
  - Updated Android proguard to 5.3.3. It now works with android-24+.
  - --experimental_use_parallel_android_resource_processing and
    --experimental_android_use_nocompress_extensions_on_apk are
    removed. These features are fully rolled out.
  - Fixes #2574
  - Fixes #3834
  - Enable experimental UI by default.
  - .
    RELNOTES: None.
    RELNOTES: No.
  - Add memory profiler.
  - [Bazel] {java,cc}_proto_library now look for dependencies in
    @com_google_protobuf, instead of in @com_google_protobuf_$LANG
  - Improved merge.sh script in cookbook.
  - Fixing regression to --experimental_remote_spawn_cache
  - Support for linker scripts in NativeDepsHelper (e.g.,
    android_binary)
  - Skylark semantics flags now affect WORKSPACE files and repository
    rules.
  - ctx.outputs.executable is deprecated. Use DefaultInfo(executable
    = ...) instead.
  - Update "mirror.bazel.build" urls to use https.
  - Improve --config logging when --announce_rc is present.
  - Document interaction between test_suite and target exclusions
  - Replace version numbers for Bazel installers with "<version>"
    (because this will change often)
  - Published command lines should have improved lists of effective
    options.
  - --incremental_dexing_binary_types has been removed. All builds
    are supported by incremental dexing (modulo proguard and some
    blacklisted dx flags).
  - Document --host_javabase, --host_java_toolchain
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5869daa..603c8fe 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,143 @@
+## Release 0.8.0 (2017-11-27)
+
+```
+Baseline: cff0dc94f6a8e16492adf54c88d0b26abe903d4c
+
+Cherry picks:
+   + 8a49b156c4edf710e3e1e0acfde5a8d27cc3a086:
+     Fix ImportError on tools.android for junction_lib
+   + 275ae45b1228bdd0f912c4fbd634b29ba4180383:
+     Automated rollback of commit
+     4869c4e17d5b1410070a1570f3244148d8f97b5d.
+   + d0bf589f2716b3d139c210930371a684c6e158eb:
+     Add a random number to action temp dir
+   + 9738f35abddb7ef7a7ef314b5d2a52a3be1b830a:
+     CcProtoLibrary: Don't add dynamic librarys to filesToBuild on
+     Windows
+   + 0d6ff477099fdf6c8c1c7d4e2104f9184afe0a2b:
+     Automated rollback of commit
+     0ebb3e54fc890946ae6b3d059ecbd50e4b5ec840.
+```
+
+Incompatible changes:
+
+  - ctx.fragments.apple.{xcode_version,ios_minimum_os} is not
+    supported anymore. The same information is accessible through the
+    target @bazel_tools//tools/osx:current_xcode_config: point an
+    implicit attribute to it (i.e.
+    attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
+    nfig")) then use
+    ctx.attr._xcode_config[apple_common].XcodeVersionConfig].
+  - ctx.fragments.apple.minimum_os_for_platform_type is not supported
+    anymore. The same information is accessible through the target
+    @bazel_tools//tools/osx:current_xcode_config: point an implicit
+    attribute to it (i.e.
+    attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
+    nfig")) then use
+    ctx.attr._xcode_config[apple_common].XcodeVersionConfig].minimum_o
+    s_for_platform_type .
+  - ctx.fragments.apple.sdk_version_for_platform is not supported
+    anymore. The same information is accessible through the target
+    @bazel_tools//tools/osx:current_xcode_config: point an implicit
+    attribute to it (i.e.
+    attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
+    nfig")) then use
+    ctx.attr._xcode_config[apple_common].XcodeVersionConfig].sdk_versi
+    on_for_platform .
+  - --javabase=<absolute path> and --host_javabase=<absolute path>
+    are not supported anymore. If you need this functionality
+    java_runtime_suite(name="suite", default=":runtime")
+    java_runtime(name="runtime", java_home=<path to the JDK>) is an
+    alternative.
+  - The flag --incompatible_descriptive_string_representations is no
+    longer available, old style string representations of objects are
+    not supported
+    anymore.
+  - The flag --incompatible_disallow_set_constructor is no longer
+    available, the deprecated `set` constructor is not available
+    anymore.
+  - += on lists now mutates them. `list1 += list2` is now equivalent
+    to `list1.extend(list2)` and not equivalent to `list1 = list1 +
+    list2` anymore.
+  - the target_apple_env and apple_host_system_env methods on
+    ctx.fragments.apple are not supported anymore. The same
+    information is accessible through apple_common.target_apple_env
+    and apple_common.apple_host_system_env . They need the Xcode
+    configuration as an argument, which can be obtained by declaring
+    an implicit dependency on it (i.e.
+    attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
+    nfig")) and then calling e.g.
+    apple_common.apple_host_system_env(ctx.attr._xcode_config[apple_co
+    mmon.XcodeVersionConfig]).
+  - C++ toolchain identifiers are not in the name of the output
+    directory anymore.
+  - Selecting on "xcode_version" and
+    "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
+    What was config_setting(values={"$FOO_version": $VALUE}) is now
+    config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version_
+    flag": $VALUE}).
+  - Selecting on "xcode_version" and
+    "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
+    What was config_setting(values={"$FOO_version": $VALUE}) is now
+    config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version_
+    flag": $VALUE}).
+  - The flag --incompatible_disallow_set_constructor is no longer
+    available, the deprecated `set` constructor is not available
+    anymore.
+  - Selecting on "xcode_version" and
+    "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
+    What was config_setting(values={"$FOO_version": $VALUE}) is now
+    config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_versi...
+
+New features:
+
+  - runfiles, sh: Shell scripts may now depend on
+    //src/tools/runfiles:runfiles_sh_lib and source runfiles.sh. The
+    script defines the `rlocation` function which returns runfile
+    paths on every platform.
+  - In addition to $(location), Bazel now also supports $(rootpath)
+    to obtain
+        the root-relative path (i.e., for runfiles locations), and
+    $(execpath) to
+        obtain the exec path (i.e., for build-time locations)
+
+Important changes:
+
+  - android_binary now supports custom debug keys via the debug_key
+    attribute.
+  - Updated Android proguard to 5.3.3. It now works with android-24+.
+  - --experimental_use_parallel_android_resource_processing and
+    --experimental_android_use_nocompress_extensions_on_apk are
+    removed. These features are fully rolled out.
+  - Fixes #2574
+  - Fixes #3834
+  - Enable experimental UI by default.
+  - .
+    RELNOTES: None.
+    RELNOTES: No.
+  - Add memory profiler.
+  - [Bazel] {java,cc}_proto_library now look for dependencies in
+    @com_google_protobuf, instead of in @com_google_protobuf_$LANG
+  - Improved merge.sh script in cookbook.
+  - Fixing regression to --experimental_remote_spawn_cache
+  - Support for linker scripts in NativeDepsHelper (e.g.,
+    android_binary)
+  - Skylark semantics flags now affect WORKSPACE files and repository
+    rules.
+  - ctx.outputs.executable is deprecated. Use DefaultInfo(executable
+    = ...) instead.
+  - Update "mirror.bazel.build" urls to use https.
+  - Improve --config logging when --announce_rc is present.
+  - Document interaction between test_suite and target exclusions
+  - Replace version numbers for Bazel installers with "<version>"
+    (because this will change often)
+  - Published command lines should have improved lists of effective
+    options.
+  - --incremental_dexing_binary_types has been removed. All builds
+    are supported by incremental dexing (modulo proguard and some
+    blacklisted dx flags).
+  - Document --host_javabase, --host_java_toolchain
+
 ## Release 0.7.0 (2017-10-18)
 
 ```
@@ -2058,3 +2198,4 @@
 
 
 
+