diff --git a/api/pom.xml b/api/pom.xml
index aae6a22..56b989e 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -13,7 +13,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/core/pom.xml b/core/pom.xml
index 9c69c9e..17987e7 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -12,7 +12,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/core/src/main/java/brooklyn/BrooklynVersion.java b/core/src/main/java/brooklyn/BrooklynVersion.java
index 25b9c1f..8406411 100644
--- a/core/src/main/java/brooklyn/BrooklynVersion.java
+++ b/core/src/main/java/brooklyn/BrooklynVersion.java
@@ -22,7 +22,7 @@
   private final String versionFromClasspath;
   // static useful when running from the IDE
   // TODO is the classpath version ever useful? should we always use the static?
-  private final String versionFromStatic = "0.6.0-SNAPSHOT"; // BROOKLYN_VERSION
+  private final String versionFromStatic = "0.6.0"; // BROOKLYN_VERSION
   private final String version;
 
   public BrooklynVersion() {
diff --git a/locations/jclouds/pom.xml b/locations/jclouds/pom.xml
index 96ec30a..93d24f3 100644
--- a/locations/jclouds/pom.xml
+++ b/locations/jclouds/pom.xml
@@ -11,7 +11,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/policy/pom.xml b/policy/pom.xml
index eca8d4c..e98230a 100644
--- a/policy/pom.xml
+++ b/policy/pom.xml
@@ -11,7 +11,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/pom.xml b/pom.xml
index 8fa620f..ad4d0eb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
 
     <groupId>io.brooklyn</groupId>
     <artifactId>brooklyn-parent</artifactId>
-    <version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+    <version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
 
     <name>Brooklyn Parent Project</name>
     <description>
@@ -75,7 +75,7 @@
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-        <brooklyn.version>0.6.0-SNAPSHOT</brooklyn.version>  <!-- BROOKLYN_VERSION -->
+        <brooklyn.version>0.6.0</brooklyn.version>  <!-- BROOKLYN_VERSION -->
 
         <cobertura.version>1.9.4.1</cobertura.version>
         <surefire.version>2.13</surefire.version>
diff --git a/sandbox/camp/pom.xml b/sandbox/camp/pom.xml
index 63add68..8851877 100644
--- a/sandbox/camp/pom.xml
+++ b/sandbox/camp/pom.xml
@@ -11,7 +11,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version><!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version><!-- BROOKLYN_VERSION -->
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/software/base/pom.xml b/software/base/pom.xml
index 4b6cb81..15b62ea 100644
--- a/software/base/pom.xml
+++ b/software/base/pom.xml
@@ -12,7 +12,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNode.java b/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNode.java
index b41bcad..c7270cb 100644
--- a/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNode.java
+++ b/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNode.java
@@ -32,7 +32,7 @@
             Map.class, "brooklynnode.copytorundir", "URLs of resources to be copied across to the server, giving the path they are to be copied to", MutableMap.of());
     
     @SetFromFlag("version")
-    public static final ConfigKey<String> SUGGESTED_VERSION = ConfigKeys.newConfigKeyWithDefault(BrooklynConfigKeys.SUGGESTED_VERSION, "0.6.0-SNAPSHOT"); // BROOKLYN_VERSION
+    public static final ConfigKey<String> SUGGESTED_VERSION = ConfigKeys.newConfigKeyWithDefault(BrooklynConfigKeys.SUGGESTED_VERSION, "0.6.0"); // BROOKLYN_VERSION
 
     // Takes presidence over downloadUrl, if non-null
     @SetFromFlag("distroUploadUrl")
diff --git a/software/base/src/main/java/brooklyn/entity/java/JmxmpSslSupport.java b/software/base/src/main/java/brooklyn/entity/java/JmxmpSslSupport.java
index 34f3721..3fa3e16 100644
--- a/software/base/src/main/java/brooklyn/entity/java/JmxmpSslSupport.java
+++ b/software/base/src/main/java/brooklyn/entity/java/JmxmpSslSupport.java
@@ -19,7 +19,7 @@
 
 public class JmxmpSslSupport {
 
-    final static String BROOKLYN_VERSION = "0.6.0-SNAPSHOT";  // BROOKLYN_VERSION (updated by script)
+    final static String BROOKLYN_VERSION = "0.6.0";  // BROOKLYN_VERSION (updated by script)
     
     private final JmxSupport jmxSupport;
     
diff --git a/storage/hazelcast/pom.xml b/storage/hazelcast/pom.xml
index 19a29ec..92bbef8 100644
--- a/storage/hazelcast/pom.xml
+++ b/storage/hazelcast/pom.xml
@@ -11,7 +11,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/systems/paas/openshift/pom.xml b/systems/paas/openshift/pom.xml
index cd9ad7f..bd0d2ca 100644
--- a/systems/paas/openshift/pom.xml
+++ b/systems/paas/openshift/pom.xml
@@ -10,7 +10,7 @@
 	<parent>
 		<groupId>io.brooklyn</groupId>
 		<artifactId>brooklyn-parent</artifactId>
-		<version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+		<version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
 		<relativePath>../../../pom.xml</relativePath>
 	</parent>
 
diff --git a/systems/whirr/base/pom.xml b/systems/whirr/base/pom.xml
index 799fef1..74a0932 100644
--- a/systems/whirr/base/pom.xml
+++ b/systems/whirr/base/pom.xml
@@ -11,7 +11,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../../pom.xml</relativePath>
     </parent>
 
diff --git a/systems/whirr/hadoop/pom.xml b/systems/whirr/hadoop/pom.xml
index e25020d..ea2018d 100644
--- a/systems/whirr/hadoop/pom.xml
+++ b/systems/whirr/hadoop/pom.xml
@@ -10,7 +10,7 @@
 	<parent>
 		<groupId>io.brooklyn</groupId>
 		<artifactId>brooklyn-parent</artifactId>
-		<version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+		<version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
 		<relativePath>../../../pom.xml</relativePath>
 	</parent>
 
diff --git a/usage/cli/pom.xml b/usage/cli/pom.xml
index bad835f..1f979e7 100644
--- a/usage/cli/pom.xml
+++ b/usage/cli/pom.xml
@@ -13,7 +13,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/usage/launcher/pom.xml b/usage/launcher/pom.xml
index 206827c..b0cf6af 100644
--- a/usage/launcher/pom.xml
+++ b/usage/launcher/pom.xml
@@ -14,7 +14,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/usage/logback-includes/pom.xml b/usage/logback-includes/pom.xml
index 1761019..218ed81 100644
--- a/usage/logback-includes/pom.xml
+++ b/usage/logback-includes/pom.xml
@@ -15,7 +15,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/usage/logback-xml/pom.xml b/usage/logback-xml/pom.xml
index ef8a661..7867746 100644
--- a/usage/logback-xml/pom.xml
+++ b/usage/logback-xml/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/usage/rest-api/pom.xml b/usage/rest-api/pom.xml
index 996c6a0..a02d23e 100644
--- a/usage/rest-api/pom.xml
+++ b/usage/rest-api/pom.xml
@@ -11,7 +11,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version><!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version><!-- BROOKLYN_VERSION -->
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/usage/rest-client/pom.xml b/usage/rest-client/pom.xml
index 0dc382a..fef2c52 100644
--- a/usage/rest-client/pom.xml
+++ b/usage/rest-client/pom.xml
@@ -11,7 +11,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version> <!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version> <!-- BROOKLYN_VERSION -->
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/usage/rest-server/pom.xml b/usage/rest-server/pom.xml
index ddcd8e7..43cbe78 100644
--- a/usage/rest-server/pom.xml
+++ b/usage/rest-server/pom.xml
@@ -11,7 +11,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version><!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version><!-- BROOKLYN_VERSION -->
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/usage/test-support/pom.xml b/usage/test-support/pom.xml
index cfc88b1..5bab6c5 100644
--- a/usage/test-support/pom.xml
+++ b/usage/test-support/pom.xml
@@ -10,7 +10,7 @@
 	<parent>
 		<groupId>io.brooklyn</groupId>
 		<artifactId>brooklyn-parent</artifactId>
-		<version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+		<version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 
diff --git a/utils/common/pom.xml b/utils/common/pom.xml
index eb4c52b..4727299 100644
--- a/utils/common/pom.xml
+++ b/utils/common/pom.xml
@@ -13,7 +13,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/utils/common/src/test/java/brooklyn/util/maven/MavenArtifactTest.java b/utils/common/src/test/java/brooklyn/util/maven/MavenArtifactTest.java
index 3c2ecc9..9c2f7fa 100644
--- a/utils/common/src/test/java/brooklyn/util/maven/MavenArtifactTest.java
+++ b/utils/common/src/test/java/brooklyn/util/maven/MavenArtifactTest.java
@@ -21,7 +21,7 @@
     // only *integration* tests require these to be *installed*;
     // note this may vary from machine to machine so version should be aligned with that in parent pom
     final static String MAVEN_JAR_PLUGIN_COORDINATE = "org.apache.maven.plugins:maven-jar-plugin:jar:2.4";
-    final static String THIS_PROJECT_COORDINATE = "io.brooklyn:brooklyn-utils-common:jar:0.6.0-SNAPSHOT";  // BROOKLYN_VERSION
+    final static String THIS_PROJECT_COORDINATE = "io.brooklyn:brooklyn-utils-common:jar:0.6.0";  // BROOKLYN_VERSION
     
     public void testArtifact() {
         MavenArtifact m = MavenArtifact.fromCoordinate(MAVEN_JAR_PLUGIN_COORDINATE);
@@ -108,7 +108,7 @@
     @Test(groups="Integration")
     public void testRetrievalHostedSnapshotIntegration() {
         MavenArtifact m = MavenArtifact.fromCoordinate(
-                "io.brooklyn:brooklyn-utils-common:jar:0.6.0-SNAPSHOT");  // BROOKLYN_VERSION
+                "io.brooklyn:brooklyn-utils-common:jar:0.6.0");  // BROOKLYN_VERSION
         
         String localPath = new MavenRetriever().getLocalPath(m);
         File f = new File(localPath);
diff --git a/utils/groovy/pom.xml b/utils/groovy/pom.xml
index 8aaba23..165c72d 100644
--- a/utils/groovy/pom.xml
+++ b/utils/groovy/pom.xml
@@ -13,7 +13,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/utils/jmx/jmxmp-ssl-agent/pom.xml b/utils/jmx/jmxmp-ssl-agent/pom.xml
index b95074a..f5c853c 100644
--- a/utils/jmx/jmxmp-ssl-agent/pom.xml
+++ b/utils/jmx/jmxmp-ssl-agent/pom.xml
@@ -14,7 +14,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../../pom.xml</relativePath>
     </parent>
 
diff --git a/utils/jmx/jmxrmi-agent/pom.xml b/utils/jmx/jmxrmi-agent/pom.xml
index e3695c7..d84fee8 100644
--- a/utils/jmx/jmxrmi-agent/pom.xml
+++ b/utils/jmx/jmxrmi-agent/pom.xml
@@ -14,7 +14,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../../pom.xml</relativePath>
     </parent>
 
diff --git a/utils/rest-swagger/pom.xml b/utils/rest-swagger/pom.xml
index c0be5dc..8b8aa5b 100644
--- a/utils/rest-swagger/pom.xml
+++ b/utils/rest-swagger/pom.xml
@@ -13,7 +13,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/utils/test-support/pom.xml b/utils/test-support/pom.xml
index 027ce52..af54e64 100644
--- a/utils/test-support/pom.xml
+++ b/utils/test-support/pom.xml
@@ -13,7 +13,7 @@
     <parent>
         <groupId>io.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.6.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.6.0</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
