Release 0.4.5 (2017-03-16)

Baseline: 2e689c29d5fc8a747216563235e905b1b62d63b0

Cherry picks:
   + a28b54033227d930672ec7f2714de52e5e0a67eb:
     Fix Cpp action caching
   + 6d1d424b4c0da724e20e14235de8012f05c470f8:
     Fix paths of binaries in .deb packages.
   + 0785cbb672357d950e0c045770c4567df9fbdc43:
     Update to guava 21.0 and Error Prone version 2.0.18-20160224
   + 30490512eb0e48a3774cc4e4ef78680e77dd4e47:
     Update to latest javac and Error Prone
   + 867d16eab3bfabae070567ecd878c291978ff338:
     Allow ' ', '(', ')' and '$' in labels
   + 7b295d34f3a4f42c13aafc1cc8afba3cb4aa2985:
     Pass through -sourcepath to the JavaBuilder
   + 14e4755ce554cdfc685fc9cc2bfb5b699a3b48f4:
     PathFragment comparisons are now platform-aware
   + ed7795234ca7ccd2567007f2c502f853cd947e50:
     Flag to import external repositories in python import path
   + 81ae08bbc13f5f4a04f18caae339ca77ae2699c1:
     Suppress error for non-exhaustive switches
   + e8d1177eef9a9798d2b971630b8cea59471eec33:
     Correctly returns null if an environment variables is missing
   + 869d52f145c077e3499b88df752cebc60af51d66:
     Fix NPE in Android{S,N}dkRepositoryFunction.
   + d72bc57b60b26245e64f5ccafe023a5ede81cc7f:
     Select the good guava jars for JDK7 build
   + 92ecbaeaf6fa11dff161254df38d743d48be8c61:
     Windows: Assist JNI builds with a target for jni_md.h.
   + 36958806f2cd38dc51e64cd7bcc557bd143bbdb6:
     Add java_common.create_provider to allow creating a
     java_common.provider
   + 8c00f398d7be863c4f502bde3f5d282b1e18f504:
     Improve handling of unknown NDK revisions in
     android_ndk_repository.
   + b6ea0d33d3ab72922c8fb3ec1ff0e437af09584d:
     Add the appropriate cxx_builtin_include_directory entries for
     clang to the Android NDK crosstool created by
     android_ndk_repository.

Incompatible changes:

  - Depsets (former sets) are converted to strings as "depset(...)"
    instead of
    "set(...)".
  - Using --symlink_prefix is now applied to the output
    symlink (e.g. bazel-out) and the exec root symlink (e.g.
    bazel-workspace).
  - Bazel now uses the test's PATH for commands specified as
        --run_under; this can affect users who explicitly set PATH to
    a more
        restrictive value than the default, which is to forward the
    local PATH
  - It's not allowed anymore to compare objects of different types
    (i.e. a string to an integer) and objects for which comparison
    rules are not
    defined (i.e. a dict to another dict) using order operators.

New features:

  - environ parameter to the repository_rule function let
    defines a list of environment variables for which a change of
    value
    will trigger a repository refetching.

Important changes:

  - android_ndk_repository now supports Android NDK R13.
  - Android resource shrinking is now available for android_binary
    rules. To enable, set the attribute 'shrink_resources = 1'. See
    https://bazel.build/versions/master/docs/be/android.html#android_b
    inary.shrink_resources.
  - resolve_command/action's input_manifest return/parameter is now
    list
  - For increased compatibility with environments where UTS
    namespaces are not available, the Linux sandbox no longer hides
    the hostname of the local machine by default. Use
    --sandbox_fake_hostname to re-enable this feature.
  - proto_library: alias libraries produce empty files for descriptor
    sets.
  - Adds pkg_rpm rule for generating RPM packages.
  - Allow CROSSTOOL files to have linker flags specific to static
    shared libraries.
  - Make it mandatory for Java test suites in bazel codebase, to
    contain at least one test.
  - Support for Java 8 lambdas, method references, type annotations
    and repeated annotations in Android builds with
    --experimental_desugar_for_android.
  - Removed .xcodeproj automatic output from objc rules. It can still
    be generated by requesting it explicitly on the command line.
  - Flips --explicit_jre_deps flag on by default.
  - Activate the "dbg", "fastbuild", and "opt" features in the objc
    CROSSTOOL.
  - Remove support for configuring JDKs with filegroups; use
    java_runtime and java_runtime_suite instead
  - android_ndk_repository api_level attribute is now optional. If not
    specified, the highest api level in the ndk/platforms directory
    is used.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9fdb7d4..cac3fd2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,106 @@
+## Release 0.4.5 (2017-03-16)
+
+```
+Baseline: 2e689c29d5fc8a747216563235e905b1b62d63b0
+
+Cherry picks:
+   + a28b54033227d930672ec7f2714de52e5e0a67eb:
+     Fix Cpp action caching
+   + 6d1d424b4c0da724e20e14235de8012f05c470f8:
+     Fix paths of binaries in .deb packages.
+   + 0785cbb672357d950e0c045770c4567df9fbdc43:
+     Update to guava 21.0 and Error Prone version 2.0.18-20160224
+   + 30490512eb0e48a3774cc4e4ef78680e77dd4e47:
+     Update to latest javac and Error Prone
+   + 867d16eab3bfabae070567ecd878c291978ff338:
+     Allow ' ', '(', ')' and '$' in labels
+   + 7b295d34f3a4f42c13aafc1cc8afba3cb4aa2985:
+     Pass through -sourcepath to the JavaBuilder
+   + 14e4755ce554cdfc685fc9cc2bfb5b699a3b48f4:
+     PathFragment comparisons are now platform-aware
+   + ed7795234ca7ccd2567007f2c502f853cd947e50:
+     Flag to import external repositories in python import path
+   + 81ae08bbc13f5f4a04f18caae339ca77ae2699c1:
+     Suppress error for non-exhaustive switches
+   + e8d1177eef9a9798d2b971630b8cea59471eec33:
+     Correctly returns null if an environment variables is missing
+   + 869d52f145c077e3499b88df752cebc60af51d66:
+     Fix NPE in Android{S,N}dkRepositoryFunction.
+   + d72bc57b60b26245e64f5ccafe023a5ede81cc7f:
+     Select the good guava jars for JDK7 build
+   + 92ecbaeaf6fa11dff161254df38d743d48be8c61:
+     Windows: Assist JNI builds with a target for jni_md.h.
+   + 36958806f2cd38dc51e64cd7bcc557bd143bbdb6:
+     Add java_common.create_provider to allow creating a
+     java_common.provider
+   + 8c00f398d7be863c4f502bde3f5d282b1e18f504:
+     Improve handling of unknown NDK revisions in
+     android_ndk_repository.
+   + b6ea0d33d3ab72922c8fb3ec1ff0e437af09584d:
+     Add the appropriate cxx_builtin_include_directory entries for
+     clang to the Android NDK crosstool created by
+     android_ndk_repository.
+```
+
+Incompatible changes:
+
+  - Depsets (former sets) are converted to strings as "depset(...)"
+    instead of
+    "set(...)".
+  - Using --symlink_prefix is now applied to the output
+    symlink (e.g. bazel-out) and the exec root symlink (e.g.
+    bazel-workspace).
+  - Bazel now uses the test's PATH for commands specified as
+        --run_under; this can affect users who explicitly set PATH to
+    a more
+        restrictive value than the default, which is to forward the
+    local PATH
+  - It's not allowed anymore to compare objects of different types
+    (i.e. a string to an integer) and objects for which comparison
+    rules are not
+    defined (i.e. a dict to another dict) using order operators.
+
+New features:
+
+  - environ parameter to the repository_rule function let
+    defines a list of environment variables for which a change of
+    value
+    will trigger a repository refetching.
+
+Important changes:
+
+  - android_ndk_repository now supports Android NDK R13.
+  - Android resource shrinking is now available for android_binary
+    rules. To enable, set the attribute 'shrink_resources = 1'. See
+    https://bazel.build/versions/master/docs/be/android.html#android_b
+    inary.shrink_resources.
+  - resolve_command/action's input_manifest return/parameter is now
+    list
+  - For increased compatibility with environments where UTS
+    namespaces are not available, the Linux sandbox no longer hides
+    the hostname of the local machine by default. Use
+    --sandbox_fake_hostname to re-enable this feature.
+  - proto_library: alias libraries produce empty files for descriptor
+    sets.
+  - Adds pkg_rpm rule for generating RPM packages.
+  - Allow CROSSTOOL files to have linker flags specific to static
+    shared libraries.
+  - Make it mandatory for Java test suites in bazel codebase, to
+    contain at least one test.
+  - Support for Java 8 lambdas, method references, type annotations
+    and repeated annotations in Android builds with
+    --experimental_desugar_for_android.
+  - Removed .xcodeproj automatic output from objc rules. It can still
+    be generated by requesting it explicitly on the command line.
+  - Flips --explicit_jre_deps flag on by default.
+  - Activate the "dbg", "fastbuild", and "opt" features in the objc
+    CROSSTOOL.
+  - Remove support for configuring JDKs with filegroups; use
+    java_runtime and java_runtime_suite instead
+  - android_ndk_repository api_level attribute is now optional. If not
+    specified, the highest api level in the ndk/platforms directory
+    is used.
+
 ## Release 0.4.4 (2017-02-01)
 
 ```
@@ -992,3 +1095,4 @@
 
 Initial release.
 
+