diff --git a/CHANGELOG b/CHANGELOG
index 33da200..b614843 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,4 @@
-1.5.8 (Pending)
+1.5.8 (2019-07-14)
 * Fixed:  Changed references to `https://repo1.maven.org/maven2` to use https where possible.
 * Change: Use the `zapwhite` gem to manage file whitespace within repository.
 * Fixed:  Replace references to long removed `http://www.ibiblio.org/maven2/` repository with
diff --git a/doc/index.textile b/doc/index.textile
index dc7c7ce..6028ded 100644
--- a/doc/index.textile
+++ b/doc/index.textile
@@ -46,6 +46,17 @@
 
 h2(#news).  What's New
 
+Highlights from Buildr 1.5.8 (2019-07-14)
+* Fixed:  Add support for IntelliJ IDEAs external annotations.
+* Added:  Detect external annotations in the local project and add them to the generated IntelliJ IDEA
+          module when generating. The default location is `src/main/annotations` but other locations
+          can be specified by modifying the `project.iml.annotation_paths` property.
+* Fixed:  Explicitly specify the `:sourcepath` parameter for javadoc tool. This enables additional parameters
+          such as `-packagenames` and `-subpackages` to be passed to the underling tool.
+* Fixed:  Stop generating poms with the parent POM `org.sonatype.oss:oss-parent:8`. The las update was a long time
+          ago (i.e. 2012) and it is no longer maintained. It was also deprecated several years ago and is not
+          guaranteed to work in modern Maven deployments.
+
 Highlights from Buildr 1.5.7 (2019-02-16)
 * Fixed:  The fix that allowed special characters in usernames and passwords was only partially applied
           in the `1.5.6` release. The complete fix that correctly decoded usernames and passwords before
@@ -64,44 +75,6 @@
 * Change: Use https protocol to access Gem metadata. Submitted by Olle Jonsson.
 * Change: Change RSpec shared_context usage to avoid warnings. Submitted by Olle Jonsson.
 
-Highlights from Buildr 1.5.6 (2018-05-10)
-* Fixed:  Ensure that the username and passwords declared for repositories are correctly url encoded for
-          the upload repositories when converted to a URL. (i.e. Ensure `Buildr.repositories.release_to`
-          and `Buildr.repositories.snapshot_to` settings can have usernames and passwords with special
-          characters).
-* Added:  Add support for allowing some dependencies to include transitive dependencies via the
-          `pom.include_transitive_dependencies` configuration setting.
-* Added:  Add support for adding dependencies to the pom via the `pom.additional_dependencies` configuration
-          setting. These dependencies are `compile` scope and are in addition to any derived from the normal
-          compile dependencies.
-* Fixed:  GWT Addon: Use version `1.0.2` of the `com.google.jsinterop:jsinterop-annotations:jar` artifact
-          when using GWT 2.8.2 to align with version shipped with GWT.
-* Fixed:  Dependencies added as `pom.provided_dependencies` or `pom.runtime_dependencies` and not included
-          as compile dependencies were incorrectly omitted from pom.
-* Fixed:  Dependencies added as `pom.provided_dependencies` and `pom.runtime_dependencies` were being
-          incorrectly duplicated within the pom dependencies section. Now provided dependency scope takes
-          precedence over runtime scoped dependency.
-* Fixed:  Dependencies added to POMs will specify the classifier unless it is the default value.
-* Added:  Add the `project.pom.dependency_filter` configuration property that can be set to a proc. The proc
-          accepts a dependency and returns a boolean that determines whether the dependency is included in
-          the generated pom or not.
-* Fixed:  POMs generated by Buildr use the parent pom `org.sonatype.oss:oss-parent:pom:7` but this
-          generates a warning in the latest version of Maven. Modern versions of Maven would thus
-          ignore transitive dependencies declared in the pom. The parent pom has now been upgraded
-          to `org.sonatype.oss:oss-parent:pom:8` which will result in modern Maven correctly picking
-          up transitive dependencies.
-* Change: JaCoCo Addon: Update JaCoCo version to 0.8.0 which in turns supports Java9.
-* Added:  GWT Addon: Added support for `:gwtc_args` parameter to supply arbitrary parameters to
-          the GWT compiler.
-* Added:  Add support for sha512 digests to be generated for files during the upload. This is typically
-          configured by adding `sha512` to the list of digests via a line such as:
-          `repositories.release_to[:options] = {:digests => [:md5, :sha1, :sha512]}`
-* Fixed:  The default upload tasks would often get a ReadTimeout when uploading using http to a remote
-          server that did not have `KeepAlive` socket option enabled and the upload took more than 60
-          seconds (the default socket read timeout). Some commercial maven repositories could trigger
-          this scenario during upload of even modest size artifacts. Default the read_timeout to 10 minutes
-          when during upload to work address this issue.
-
 This is a partial list -- see the "CHANGELOG":CHANGELOG for full details.
 
 h2(#notices).  Credits & Notices
diff --git a/lib/buildr/version.rb b/lib/buildr/version.rb
index 1b68d1c..3350cab 100644
--- a/lib/buildr/version.rb
+++ b/lib/buildr/version.rb
@@ -14,5 +14,5 @@
 # the License.
 
 module Buildr #:nodoc:
-  VERSION = '1.5.8.dev'.freeze
+  VERSION = '1.5.8'.freeze
 end
