diff --git a/api/pom.xml b/api/pom.xml
index 1ab01bc..070904c 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -31,7 +31,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/camp/camp-base/pom.xml b/camp/camp-base/pom.xml
index e818d09..20c65e3 100644
--- a/camp/camp-base/pom.xml
+++ b/camp/camp-base/pom.xml
@@ -31,7 +31,7 @@
     <parent>
         <groupId>org.apache.brooklyn.camp</groupId>
         <artifactId>camp-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/camp/camp-server/pom.xml b/camp/camp-server/pom.xml
index 6134fa4..ef6f1ba 100644
--- a/camp/camp-server/pom.xml
+++ b/camp/camp-server/pom.xml
@@ -32,7 +32,7 @@
     <parent>
         <groupId>org.apache.brooklyn.camp</groupId>
         <artifactId>camp-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/camp/pom.xml b/camp/pom.xml
index dc773c7..7c268a2 100644
--- a/camp/pom.xml
+++ b/camp/pom.xml
@@ -32,7 +32,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/core/pom.xml b/core/pom.xml
index 794cd33..cada444 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -31,7 +31,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/core/src/main/java/org/apache/brooklyn/core/BrooklynVersion.java b/core/src/main/java/org/apache/brooklyn/core/BrooklynVersion.java
index 5319316..1d4b14a 100644
--- a/core/src/main/java/org/apache/brooklyn/core/BrooklynVersion.java
+++ b/core/src/main/java/org/apache/brooklyn/core/BrooklynVersion.java
@@ -71,7 +71,7 @@
     // may be useful:
 //    private static final String OSGI_BRANCH_PROPERTY_NAME = "Implementation-Branch";
 
-    private final static String VERSION_FROM_STATIC = "0.8.0-incubating"; // BROOKLYN_VERSION
+    private final static String VERSION_FROM_STATIC = "0.8.1-SNAPSHOT"; // BROOKLYN_VERSION
     private static final AtomicReference<Boolean> IS_DEV_ENV = new AtomicReference<Boolean>();
 
     private static final String BROOKLYN_FEATURE_PREFIX = "Brooklyn-Feature-";
diff --git a/core/src/test/dependencies/osgi/entities/pom.xml b/core/src/test/dependencies/osgi/entities/pom.xml
index 165c560..c73e273 100644
--- a/core/src/test/dependencies/osgi/entities/pom.xml
+++ b/core/src/test/dependencies/osgi/entities/pom.xml
@@ -35,7 +35,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version><!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version><!-- BROOKLYN_VERSION -->
         <relativePath>../../../../../../parent/pom.xml</relativePath>
     </parent>
     <dependencies>
diff --git a/core/src/test/dependencies/osgi/more-entities-v1/pom.xml b/core/src/test/dependencies/osgi/more-entities-v1/pom.xml
index 9f15a22..7cde902 100644
--- a/core/src/test/dependencies/osgi/more-entities-v1/pom.xml
+++ b/core/src/test/dependencies/osgi/more-entities-v1/pom.xml
@@ -35,7 +35,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version><!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version><!-- BROOKLYN_VERSION -->
         <relativePath>../../../../../../parent/pom.xml</relativePath>
     </parent>
     <dependencies>
diff --git a/core/src/test/dependencies/osgi/more-entities-v2-evil-twin/pom.xml b/core/src/test/dependencies/osgi/more-entities-v2-evil-twin/pom.xml
index c2b24a3..b2d9167 100644
--- a/core/src/test/dependencies/osgi/more-entities-v2-evil-twin/pom.xml
+++ b/core/src/test/dependencies/osgi/more-entities-v2-evil-twin/pom.xml
@@ -35,7 +35,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version><!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version><!-- BROOKLYN_VERSION -->
         <relativePath>../../../../../../parent/pom.xml</relativePath>
     </parent>
     <dependencies>
diff --git a/core/src/test/dependencies/osgi/more-entities-v2/pom.xml b/core/src/test/dependencies/osgi/more-entities-v2/pom.xml
index c2b24a3..b2d9167 100644
--- a/core/src/test/dependencies/osgi/more-entities-v2/pom.xml
+++ b/core/src/test/dependencies/osgi/more-entities-v2/pom.xml
@@ -35,7 +35,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version><!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version><!-- BROOKLYN_VERSION -->
         <relativePath>../../../../../../parent/pom.xml</relativePath>
     </parent>
     <dependencies>
diff --git a/core/src/test/java/org/apache/brooklyn/core/mgmt/osgi/OsgiStandaloneTest.java b/core/src/test/java/org/apache/brooklyn/core/mgmt/osgi/OsgiStandaloneTest.java
index 6a9a85c..ac3bf35 100644
--- a/core/src/test/java/org/apache/brooklyn/core/mgmt/osgi/OsgiStandaloneTest.java
+++ b/core/src/test/java/org/apache/brooklyn/core/mgmt/osgi/OsgiStandaloneTest.java
@@ -125,7 +125,7 @@
 
     @Test
     public void testDuplicateBundle() throws Exception {
-        MavenArtifact artifact = new MavenArtifact("org.apache.brooklyn", "brooklyn-api", "jar", "0.8.0-incubating"); // BROOKLYN_VERSION
+        MavenArtifact artifact = new MavenArtifact("org.apache.brooklyn", "brooklyn-api", "jar", "0.8.1-SNAPSHOT"); // BROOKLYN_VERSION
         String localUrl = MavenRetriever.localUrl(artifact);
         if ("file".equals(Urls.getProtocol(localUrl))) {
             helperDuplicateBundle(localUrl);
@@ -136,7 +136,7 @@
 
     @Test(groups="Integration")
     public void testRemoteDuplicateBundle() throws Exception {
-        helperDuplicateBundle(MavenRetriever.hostedUrl(new MavenArtifact("org.apache.brooklyn", "brooklyn-api", "jar", "0.8.0-incubating"))); // BROOKLYN_VERSION
+        helperDuplicateBundle(MavenRetriever.hostedUrl(new MavenArtifact("org.apache.brooklyn", "brooklyn-api", "jar", "0.8.1-SNAPSHOT"))); // BROOKLYN_VERSION
     }
 
     public void helperDuplicateBundle(String url) throws Exception {
diff --git a/docs/_build/build.sh b/docs/_build/build.sh
index cb57461..f000a77 100755
--- a/docs/_build/build.sh
+++ b/docs/_build/build.sh
@@ -21,7 +21,7 @@
   echo "* website-root  : to build the website only, in the root"
   echo "* guide-latest  : to build the guide only, in /v/latest/"
   # BROOKLYN_VERSION_BELOW
-  echo "* guide-version : to build the guide only, in the versioned namespace /v/0.8.0-incubating/"
+  echo "* guide-version : to build the guide only, in the versioned namespace /v/0.8.1-SNAPSHOT/"
   echo "* test-guide-root : to build the guide only, in the root (for testing)"
   echo "* test-both : to build the website to root and guide to /v/latest/ (for testing)"
   echo "* test-both-sub : to build the website to /sub/ and guide to /sub/v/latest/ (for testing)"
@@ -71,7 +71,7 @@
     # Mac bash defaults to v3 not v4, so can't use assoc arrays :(
     DIRS_TO_MOVE[0]=guide
     # BROOKLYN_VERSION_BELOW
-    DIRS_TO_MOVE_TARGET[0]=v/0.8.0-incubating
+    DIRS_TO_MOVE_TARGET[0]=v/0.8.1-SNAPSHOT
     DIRS_TO_MOVE[1]=style
     STYLE_SUBDIR=${DIRS_TO_MOVE_TARGET[0]}/style
     DIRS_TO_MOVE_TARGET[1]=$STYLE_SUBDIR
diff --git a/docs/_build/config-guide-version.yml b/docs/_build/config-guide-version.yml
index 2180afb..8512526 100644
--- a/docs/_build/config-guide-version.yml
+++ b/docs/_build/config-guide-version.yml
@@ -1,6 +1,6 @@
 path:
   # BROOKLYN_VERSION_BELOW
-  guide: /v/0.8.0-incubating
+  guide: /v/0.8.1-SNAPSHOT
   # BROOKLYN_VERSION_BELOW
-  style: /v/0.8.0-incubating/style
+  style: /v/0.8.1-SNAPSHOT/style
   website: ""
diff --git a/docs/_build/javadoc-overview.html b/docs/_build/javadoc-overview.html
index e675db4..af47b27 100644
--- a/docs/_build/javadoc-overview.html
+++ b/docs/_build/javadoc-overview.html
@@ -1,7 +1,7 @@
 <html><body>
 
 <!-- BROOKLYN_VERSION_BELOW -->
-Javadoc for <a href="http://brooklyn.io"> Apache Brooklyn</a> 0.8.0-incubating
+Javadoc for <a href="http://brooklyn.io"> Apache Brooklyn</a> 0.8.1-SNAPSHOT
 
 <p>
                 Apache Brooklyn is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the 
@@ -16,7 +16,7 @@
 
 <p>
 <!-- BROOKLYN_VERSION_BELOW -->
-This is the Javadoc for v 0.8.0-incubating (git SHA1 hash ${SHA1STAMP}) auto-generated on ${DATESTAMP}.
+This is the Javadoc for v 0.8.1-SNAPSHOT (git SHA1 hash ${SHA1STAMP}) auto-generated on ${DATESTAMP}.
 </p> 
 
 </body><html>
diff --git a/docs/_config.yml b/docs/_config.yml
index 2fbd2a7..8ee3f46 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -47,7 +47,7 @@
 
 brooklyn-stable-version: 0.7.0-incubating
 
-brooklyn-version: 0.8.0-incubating # BROOKLYN_VERSION
+brooklyn-version: 0.8.1-SNAPSHOT # BROOKLYN_VERSION
 brooklyn-snapshot-git-branch: master   # if line above is SNAPSHOT this should point to corresponding git branch (e.g. master, 0.4)
 
 # This is auto-detected, but you can override it if needed.
diff --git a/docs/_extra/simple_java_examples/examples.md b/docs/_extra/simple_java_examples/examples.md
index dc7d5a4..a08d5de 100644
--- a/docs/_extra/simple_java_examples/examples.md
+++ b/docs/_extra/simple_java_examples/examples.md
@@ -22,7 +22,7 @@
 	<dependency>
 		<groupId>io.brooklyn</groupId>
 		<artifactId>brooklyn-all</artifactId>
-		<version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+		<version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
 	</dependency>
 </dependencies>
  
diff --git a/docs/_plugins/brooklyn_metadata.rb b/docs/_plugins/brooklyn_metadata.rb
index c13c371..ecd4ade 100644
--- a/docs/_plugins/brooklyn_metadata.rb
+++ b/docs/_plugins/brooklyn_metadata.rb
@@ -7,7 +7,7 @@
 #
 module BrooklynMetadata
 
-  BROOKLYN_VERSION = "0.8.0-incubating" unless defined? BROOKLYN_VERSION
+  BROOKLYN_VERSION = "0.8.1-SNAPSHOT" unless defined? BROOKLYN_VERSION
 
   class Generator < Jekyll::Generator
     def generate(site)
diff --git a/docs/guide/dev/env/maven-build.md b/docs/guide/dev/env/maven-build.md
index 3ca3851..b1d2e18 100644
--- a/docs/guide/dev/env/maven-build.md
+++ b/docs/guide/dev/env/maven-build.md
@@ -104,7 +104,7 @@
 
 [INFO] — maven-assembly-plugin:2.3:single (build-distribution-dir) @ brooklyn-dist —
 [INFO] Reading assembly descriptor: src/main/config/build-distribution-dir.xml
-{% comment %}BROOKLYN_VERSION{% endcomment %}[WARNING] Cannot include project artifact: io.brooklyn:brooklyn-dist:jar:0.8.0-incubating; it doesn't have an associated file or directory.
+{% comment %}BROOKLYN_VERSION{% endcomment %}[WARNING] Cannot include project artifact: io.brooklyn:brooklyn-dist:jar:0.8.1-SNAPSHOT; it doesn't have an associated file or directory.
 [INFO] Copying files to ~/repos/apache/incubator-brooklyn/usage/dist/target/brooklyn-dist
 [WARNING] Assembly file: ~/repos/apache/incubator-brooklyn/usage/dist/target/brooklyn-dist is not a regular file (it may be a directory). It cannot be attached to the project build for installation or deployment.
 
@@ -112,9 +112,9 @@
 
 [INFO] — maven-assembly-plugin:2.3:single (build-distribution-archive) @ brooklyn-dist —
 [INFO] Reading assembly descriptor: src/main/config/build-distribution-archive.xml
-{% comment %}BROOKLYN_VERSION{% endcomment %}[WARNING] Cannot include project artifact: io.brooklyn:brooklyn-dist:jar:0.8.0-incubating; it doesn't have an associated file or directory.
-{% comment %}BROOKLYN_VERSION{% endcomment %}[INFO] Building tar: /Users/aled/repos/apache/incubator-brooklyn/usage/dist/target/brooklyn-0.8.0-incubating-dist.tar.gz
-{% comment %}BROOKLYN_VERSION{% endcomment %}[WARNING] Cannot include project artifact: io.brooklyn:brooklyn-dist:jar:0.8.0-incubating; it doesn't have an associated file or directory.
+{% comment %}BROOKLYN_VERSION{% endcomment %}[WARNING] Cannot include project artifact: io.brooklyn:brooklyn-dist:jar:0.8.1-SNAPSHOT; it doesn't have an associated file or directory.
+{% comment %}BROOKLYN_VERSION{% endcomment %}[INFO] Building tar: /Users/aled/repos/apache/incubator-brooklyn/usage/dist/target/brooklyn-0.8.1-SNAPSHOT-dist.tar.gz
+{% comment %}BROOKLYN_VERSION{% endcomment %}[WARNING] Cannot include project artifact: io.brooklyn:brooklyn-dist:jar:0.8.1-SNAPSHOT; it doesn't have an associated file or directory.
 
 ...
 
diff --git a/docs/guide/dev/tips/debugging-remote-brooklyn.md b/docs/guide/dev/tips/debugging-remote-brooklyn.md
index 7ba3ad1..d54c813 100644
--- a/docs/guide/dev/tips/debugging-remote-brooklyn.md
+++ b/docs/guide/dev/tips/debugging-remote-brooklyn.md
@@ -25,7 +25,7 @@
 
 {% highlight json %}
 {
-    "version": "0.8.0-incubating",  {% comment %}BROOKLYN_VERSION{% endcomment %}
+    "version": "0.8.1-SNAPSHOT",  {% comment %}BROOKLYN_VERSION{% endcomment %}
     "buildSha1": "c0fdc15291702281acdebf1b11d431a6385f5224",
     "buildBranch": "UNKNOWN"
 }
diff --git a/docs/guide/misc/index.md b/docs/guide/misc/index.md
index 2e384fe..d51ddd9 100644
--- a/docs/guide/misc/index.md
+++ b/docs/guide/misc/index.md
@@ -1,6 +1,6 @@
 ---
 # BROOKLYN_VERSION_BELOW
-title: Other 0.8.0-incubating Resources
+title: Other 0.8.1-SNAPSHOT Resources
 layout: website-normal
 children:
 - { title: Javadoc, path: javadoc/ }
diff --git a/docs/index.md b/docs/index.md
index 86aed86..3e6fb42 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -8,7 +8,7 @@
 Consider looking at:
 
 * <a href="{{ site.path.website }}/">the brooklyn website</a>
-* <a href="{{ site.path.guide }}/">the brooklyn user guide (version 0.8.0-incubating) <!-- BROOKLYN_VERSION --></a>
+* <a href="{{ site.path.guide }}/">the brooklyn user guide (version 0.8.1-SNAPSHOT) <!-- BROOKLYN_VERSION --></a>
 
 Also see the file <code>README.md</code> in this directory.
 
diff --git a/docs/website/community/how-to-contribute-docs.md b/docs/website/community/how-to-contribute-docs.md
index 51da1f3..2b8335b 100644
--- a/docs/website/community/how-to-contribute-docs.md
+++ b/docs/website/community/how-to-contribute-docs.md
@@ -49,7 +49,7 @@
   
 - **Version-specific user guide**. These pages have a URL with a path that
   begins /v/*version-number*: for example,
-  https://brooklyn.incubator.apache.org/v/0.8.0-incubating and {% comment %}BROOKLYN_VERSION{% endcomment %}
+  https://brooklyn.incubator.apache.org/v/0.8.1-SNAPSHOT and {% comment %}BROOKLYN_VERSION{% endcomment %}
   the special *latest* set at https://brooklyn.incubator.apache.org/v/latest. Content for this is in the `guide` directory.
 
 The main user guide shown on this site is for the most recent stable version,
diff --git a/examples/global-web-fabric/pom.xml b/examples/global-web-fabric/pom.xml
index bfc7cdc..d31a6e4 100644
--- a/examples/global-web-fabric/pom.xml
+++ b/examples/global-web-fabric/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.brooklyn.example</groupId>
         <artifactId>brooklyn-examples-parent</artifactId>
-        <version>0.8.0-incubating</version>   <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>   <!-- BROOKLYN_VERSION -->
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/examples/pom.xml b/examples/pom.xml
index 06d3709..7ff8c90 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -32,7 +32,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>   <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>   <!-- BROOKLYN_VERSION -->
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/examples/simple-messaging-pubsub/pom.xml b/examples/simple-messaging-pubsub/pom.xml
index 146c8c7..9f1e29e 100644
--- a/examples/simple-messaging-pubsub/pom.xml
+++ b/examples/simple-messaging-pubsub/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.brooklyn.example</groupId>
         <artifactId>brooklyn-examples-parent</artifactId>
-        <version>0.8.0-incubating</version>   <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>   <!-- BROOKLYN_VERSION -->
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/examples/simple-nosql-cluster/pom.xml b/examples/simple-nosql-cluster/pom.xml
index a1784a4..f5d3b6d 100644
--- a/examples/simple-nosql-cluster/pom.xml
+++ b/examples/simple-nosql-cluster/pom.xml
@@ -30,7 +30,7 @@
     <parent>
         <groupId>org.apache.brooklyn.example</groupId>
         <artifactId>brooklyn-examples-parent</artifactId>
-        <version>0.8.0-incubating</version>   <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>   <!-- BROOKLYN_VERSION -->
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/examples/simple-web-cluster/pom.xml b/examples/simple-web-cluster/pom.xml
index 0656e85..6ce204f 100644
--- a/examples/simple-web-cluster/pom.xml
+++ b/examples/simple-web-cluster/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.brooklyn.example</groupId>
         <artifactId>brooklyn-examples-parent</artifactId>
-        <version>0.8.0-incubating</version>   <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>   <!-- BROOKLYN_VERSION -->
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/examples/webapps/hello-world-sql/pom.xml b/examples/webapps/hello-world-sql/pom.xml
index e5b5012..80617df 100644
--- a/examples/webapps/hello-world-sql/pom.xml
+++ b/examples/webapps/hello-world-sql/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.brooklyn.example</groupId>
         <artifactId>brooklyn-examples-webapps-parent</artifactId>
-        <version>0.8.0-incubating</version> <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version> <!-- BROOKLYN_VERSION -->
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/examples/webapps/hello-world-webapp/pom.xml b/examples/webapps/hello-world-webapp/pom.xml
index 2f0650a..476242e 100644
--- a/examples/webapps/hello-world-webapp/pom.xml
+++ b/examples/webapps/hello-world-webapp/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.brooklyn.example</groupId>
         <artifactId>brooklyn-examples-webapps-parent</artifactId>
-        <version>0.8.0-incubating</version>   <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>   <!-- BROOKLYN_VERSION -->
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/examples/webapps/pom.xml b/examples/webapps/pom.xml
index df5a13c..e7429f3 100644
--- a/examples/webapps/pom.xml
+++ b/examples/webapps/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.brooklyn.example</groupId>
         <artifactId>brooklyn-examples-parent</artifactId>
-        <version>0.8.0-incubating</version>   <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>   <!-- BROOKLYN_VERSION -->
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/locations/jclouds/pom.xml b/locations/jclouds/pom.xml
index a0297e8..cf01c32 100644
--- a/locations/jclouds/pom.xml
+++ b/locations/jclouds/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/parent/pom.xml b/parent/pom.xml
index c05586f..d34a947 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
     </parent>
 
     <artifactId>brooklyn-parent</artifactId>
@@ -67,7 +67,7 @@
         <surefire.failIfNoSpecifiedTests>false</surefire.failIfNoSpecifiedTests>
 
         <!-- Dependencies -->
-        <brooklyn.version>0.8.0-incubating</brooklyn.version>  <!-- BROOKLYN_VERSION -->
+        <brooklyn.version>0.8.1-SNAPSHOT</brooklyn.version>  <!-- BROOKLYN_VERSION -->
         <jclouds.groupId>org.apache.jclouds</jclouds.groupId> <!-- JCLOUDS_GROUPID_VERSION -->
 
         <!-- These dependencies also appear in usage/downstream-parent/pom.xml -
diff --git a/policy/pom.xml b/policy/pom.xml
index 201421d..8d8126c 100644
--- a/policy/pom.xml
+++ b/policy/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/pom.xml b/pom.xml
index 7dce068..66ed684 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
 
     <groupId>org.apache.brooklyn</groupId>
     <artifactId>brooklyn</artifactId>
-    <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+    <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
     <packaging>pom</packaging>
 
     <name>Brooklyn Root</name>
@@ -76,7 +76,7 @@
         <java.version>1.7</java.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-        <brooklyn.version>0.8.0-incubating</brooklyn.version>  <!-- BROOKLYN_VERSION -->
+        <brooklyn.version>0.8.1-SNAPSHOT</brooklyn.version>  <!-- BROOKLYN_VERSION -->
     </properties>
 
     <modules>
diff --git a/sandbox/cassandra-multicloud-snitch/pom.xml b/sandbox/cassandra-multicloud-snitch/pom.xml
index 45b225e..6460285 100644
--- a/sandbox/cassandra-multicloud-snitch/pom.xml
+++ b/sandbox/cassandra-multicloud-snitch/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/sandbox/database/pom.xml b/sandbox/database/pom.xml
index 369c451..1e403d4 100644
--- a/sandbox/database/pom.xml
+++ b/sandbox/database/pom.xml
@@ -31,7 +31,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/sandbox/extra/pom.xml b/sandbox/extra/pom.xml
index 52bcf00..bfab321 100644
--- a/sandbox/extra/pom.xml
+++ b/sandbox/extra/pom.xml
@@ -31,7 +31,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/sandbox/mobile-app/pom.xml b/sandbox/mobile-app/pom.xml
index a347cb9..ecca6a4 100644
--- a/sandbox/mobile-app/pom.xml
+++ b/sandbox/mobile-app/pom.xml
@@ -35,7 +35,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version><!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version><!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/sandbox/monitoring/pom.xml b/sandbox/monitoring/pom.xml
index fcc0dd0..72b2c01 100644
--- a/sandbox/monitoring/pom.xml
+++ b/sandbox/monitoring/pom.xml
@@ -31,7 +31,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/sandbox/nosql/pom.xml b/sandbox/nosql/pom.xml
index bc291af..bcdc38a 100644
--- a/sandbox/nosql/pom.xml
+++ b/sandbox/nosql/pom.xml
@@ -32,7 +32,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/software/base/pom.xml b/software/base/pom.xml
index 369b9be..6382c41 100644
--- a/software/base/pom.xml
+++ b/software/base/pom.xml
@@ -30,7 +30,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNode.java b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNode.java
index 9dc92e5..b69e5b3 100644
--- a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNode.java
+++ b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNode.java
@@ -65,7 +65,7 @@
             new TypeToken<Map<String,String>>() {}, "brooklynnode.copytorundir", "URLs of resources to be copied across to the server, giving the path they are to be copied to", MutableMap.<String,String>of());
     
     @SetFromFlag("version")
-    public static final ConfigKey<String> SUGGESTED_VERSION = ConfigKeys.newConfigKeyWithDefault(BrooklynConfigKeys.SUGGESTED_VERSION, "0.8.0-incubating"); // BROOKLYN_VERSION
+    public static final ConfigKey<String> SUGGESTED_VERSION = ConfigKeys.newConfigKeyWithDefault(BrooklynConfigKeys.SUGGESTED_VERSION, "0.8.1-SNAPSHOT"); // BROOKLYN_VERSION
 
     @SetFromFlag("distroUploadUrl")
     public static final ConfigKey<String> DISTRO_UPLOAD_URL = ConfigKeys.newStringConfigKey(
diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeSshDriver.java b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeSshDriver.java
index 34c74d9..a8c6600 100644
--- a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeSshDriver.java
+++ b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeSshDriver.java
@@ -128,7 +128,7 @@
         
         // Need to explicitly give file, because for snapshot URLs you don't get a clean filename from the URL.
         // This filename is used to generate the first URL to try: [BROOKLYN_VERSION_BELOW]
-        // file://$HOME/.brooklyn/repository/BrooklynNode/0.8.0-incubating/brooklynnode-0.8.0-snapshot.tar.gz
+        // file://$HOME/.brooklyn/repository/BrooklynNode/0.8.1-SNAPSHOT/brooklynnode-0.8.0-snapshot.tar.gz
         // (DOWNLOAD_URL overrides this and has a default which comes from maven)
         List<String> urls = resolver.getTargets();
         String saveAs = resolver.getFilename();
diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/java/JmxmpSslSupport.java b/software/base/src/main/java/org/apache/brooklyn/entity/java/JmxmpSslSupport.java
index 53b16db..d29da7b 100644
--- a/software/base/src/main/java/org/apache/brooklyn/entity/java/JmxmpSslSupport.java
+++ b/software/base/src/main/java/org/apache/brooklyn/entity/java/JmxmpSslSupport.java
@@ -38,7 +38,7 @@
 
 public class JmxmpSslSupport {
 
-    final static String BROOKLYN_VERSION = "0.8.0-incubating";  // BROOKLYN_VERSION (updated by script)
+    final static String BROOKLYN_VERSION = "0.8.1-SNAPSHOT";  // BROOKLYN_VERSION (updated by script)
     
     private final JmxSupport jmxSupport;
     
diff --git a/software/database/pom.xml b/software/database/pom.xml
index 2bc400f..5304962 100644
--- a/software/database/pom.xml
+++ b/software/database/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlNode.java b/software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlNode.java
index 484606e..3e5bb7e 100644
--- a/software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlNode.java
+++ b/software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlNode.java
@@ -50,7 +50,7 @@
     //http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz
     @SetFromFlag("downloadUrl")
     BasicAttributeSensorAndConfigKey<String> DOWNLOAD_URL = new StringAttributeSensorAndConfigKey(
-            Attributes.DOWNLOAD_URL, "http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-${version}-${driver.osTag}.tar.gz");
+            Attributes.DOWNLOAD_URL, "http://dev.mysql.com/get/Downloads/MySQL-${driver.majorVersion}/mysql-${version}-${driver.osTag}.tar.gz");
 
     @SetFromFlag("port")
     PortAttributeSensorAndConfigKey MYSQL_PORT = new PortAttributeSensorAndConfigKey("mysql.port", "MySQL port", PortRanges.fromString("3306, 13306+"));
diff --git a/software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlNodeImpl.java b/software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlNodeImpl.java
index 5346fcb..8b3b5d6 100644
--- a/software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlNodeImpl.java
+++ b/software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlNodeImpl.java
@@ -132,8 +132,8 @@
     public int getPort() {
         return getAttribute(MYSQL_PORT);
     }
-    
-    public String getSocketUid() {
+
+    public synchronized String getSocketUid() {
         String result = getAttribute(MySqlNode.SOCKET_UID);
         if (Strings.isBlank(result)) {
             result = Identifiers.makeRandomId(6);
diff --git a/software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlSshDriver.java b/software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlSshDriver.java
index 313a583..1e52585 100644
--- a/software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlSshDriver.java
+++ b/software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlSshDriver.java
@@ -107,14 +107,20 @@
         return "mymysql.cnf";
     }
 
-    public String getInstallFilename() {
-        return String.format("mysql-%s-%s.tar.gz", getVersion(), getOsTag());
+    // Only invoked to determine the default download URL form the specified version.
+    public String getMajorVersion() {
+        return getEntity().config().get(MySqlNode.SUGGESTED_VERSION).replaceAll("(\\d+\\.\\d+)\\.\\d+", "$1");
+    }
+
+    public String getDefaultUnpackedDirectoryName() {
+        return Strings.removeAllFromEnd(resolver.getFilename(), ".tar.gz");
     }
 
     @Override
     public void preInstall() {
-        resolver = Entities.newDownloader(this, ImmutableMap.of("filename", getInstallFilename()));
-        setExpandedInstallDir(Os.mergePaths(getInstallDir(), resolver.getUnpackedDirectoryName(format("mysql-%s-%s", getVersion(), getOsTag()))));
+        resolver = Entities.newDownloader(this);
+        String unpackedDirectoryName = resolver.getUnpackedDirectoryName(getDefaultUnpackedDirectoryName());
+        setExpandedInstallDir(Os.mergePaths(getInstallDir(), unpackedDirectoryName));
     }
 
     @Override
diff --git a/software/messaging/pom.xml b/software/messaging/pom.xml
index 5d288e7..8c654e7 100644
--- a/software/messaging/pom.xml
+++ b/software/messaging/pom.xml
@@ -29,7 +29,7 @@
 	<parent>
 		<groupId>org.apache.brooklyn</groupId>
 		<artifactId>brooklyn-parent</artifactId>
-		<version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+		<version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
 		<relativePath>../../parent/pom.xml</relativePath>
 	</parent>
 
diff --git a/software/monitoring/pom.xml b/software/monitoring/pom.xml
index 3055e8b..87200a7 100644
--- a/software/monitoring/pom.xml
+++ b/software/monitoring/pom.xml
@@ -30,7 +30,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/software/network/pom.xml b/software/network/pom.xml
index 89308e3..1ccb37b 100644
--- a/software/network/pom.xml
+++ b/software/network/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/software/nosql/pom.xml b/software/nosql/pom.xml
index 5158358..0aa0d68 100644
--- a/software/nosql/pom.xml
+++ b/software/nosql/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/software/osgi/pom.xml b/software/osgi/pom.xml
index 049f1c5..232564b 100644
--- a/software/osgi/pom.xml
+++ b/software/osgi/pom.xml
@@ -30,7 +30,7 @@
 	<parent>
 		<groupId>org.apache.brooklyn</groupId>
 		<artifactId>brooklyn-parent</artifactId>
-		<version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+		<version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
 		<relativePath>../../parent/pom.xml</relativePath>
 	</parent>
 
diff --git a/software/webapp/pom.xml b/software/webapp/pom.xml
index 5a4ebed..bed8ce5 100644
--- a/software/webapp/pom.xml
+++ b/software/webapp/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/storage/hazelcast/pom.xml b/storage/hazelcast/pom.xml
index 1bfaa76..061d52e 100644
--- a/storage/hazelcast/pom.xml
+++ b/storage/hazelcast/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/usage/all/pom.xml b/usage/all/pom.xml
index e47e74d..c6ae649 100644
--- a/usage/all/pom.xml
+++ b/usage/all/pom.xml
@@ -31,7 +31,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/usage/archetypes/quickstart/NOTES.txt b/usage/archetypes/quickstart/NOTES.txt
index 82baffe..d56002f 100644
--- a/usage/archetypes/quickstart/NOTES.txt
+++ b/usage/archetypes/quickstart/NOTES.txt
@@ -32,7 +32,7 @@
 
     pushd /tmp
     rm -rf brooklyn-sample
-    export BV=0.8.0-incubating    # BROOKLYN_VERSION
+    export BV=0.8.1-SNAPSHOT    # BROOKLYN_VERSION
     
     mvn archetype:generate                                  \
                                                             \
diff --git a/usage/archetypes/quickstart/pom.xml b/usage/archetypes/quickstart/pom.xml
index f67b72c..020c9d2 100644
--- a/usage/archetypes/quickstart/pom.xml
+++ b/usage/archetypes/quickstart/pom.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.brooklyn</groupId>
     <artifactId>brooklyn-parent</artifactId>
-    <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+    <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
     <relativePath>../../../parent/pom.xml</relativePath>
   </parent>
 
diff --git a/usage/archetypes/quickstart/src/brooklyn-sample/pom.xml b/usage/archetypes/quickstart/src/brooklyn-sample/pom.xml
index 8adf40d..3bb16c6 100644
--- a/usage/archetypes/quickstart/src/brooklyn-sample/pom.xml
+++ b/usage/archetypes/quickstart/src/brooklyn-sample/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.apache.brooklyn</groupId>
     <artifactId>brooklyn-downstream-parent</artifactId>
-    <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+    <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
   </parent>
 
   <groupId>com.acme.sample</groupId>
diff --git a/usage/camp/pom.xml b/usage/camp/pom.xml
index f06014e..fea8910 100644
--- a/usage/camp/pom.xml
+++ b/usage/camp/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version><!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version><!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/usage/cli/pom.xml b/usage/cli/pom.xml
index 230232f..78cf089 100644
--- a/usage/cli/pom.xml
+++ b/usage/cli/pom.xml
@@ -30,7 +30,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/usage/cli/src/main/resources/brooklyn/default.catalog.bom b/usage/cli/src/main/resources/brooklyn/default.catalog.bom
index a713bed..865d1e7 100644
--- a/usage/cli/src/main/resources/brooklyn/default.catalog.bom
+++ b/usage/cli/src/main/resources/brooklyn/default.catalog.bom
@@ -3,7 +3,7 @@
 # and templates to get started using Brooklyn
 
 brooklyn.catalog:
-  version: 0.8.0-incubating  # BROOKLYN_VERSION
+  version: 0.8.1-SNAPSHOT  # BROOKLYN_VERSION
   items:
 
   # load everything in the classpath with a @Catalog annotation
diff --git a/usage/dist/pom.xml b/usage/dist/pom.xml
index 74bd409..af08a23 100644
--- a/usage/dist/pom.xml
+++ b/usage/dist/pom.xml
@@ -32,7 +32,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/usage/downstream-parent/pom.xml b/usage/downstream-parent/pom.xml
index 4fa18a2..f8d94d6 100644
--- a/usage/downstream-parent/pom.xml
+++ b/usage/downstream-parent/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <groupId>org.apache.brooklyn</groupId>
     <artifactId>brooklyn</artifactId>
-    <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+    <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
@@ -48,7 +48,7 @@
     <excludedTestGroups>Integration,Acceptance,Live,Live-sanity,WIP</excludedTestGroups>
 
     <!-- Dependencies -->
-    <brooklyn.version>0.8.0-incubating</brooklyn.version>  <!-- BROOKLYN_VERSION -->
+    <brooklyn.version>0.8.1-SNAPSHOT</brooklyn.version>  <!-- BROOKLYN_VERSION -->
     <jclouds.groupId>org.apache.jclouds</jclouds.groupId> <!-- JCLOUDS_GROUPID_VERSION -->
 
     <!-- versions should match those used by Brooklyn, to avoid conflicts -->
diff --git a/usage/jsgui/pom.xml b/usage/jsgui/pom.xml
index 18c026c..4995e3f 100644
--- a/usage/jsgui/pom.xml
+++ b/usage/jsgui/pom.xml
@@ -32,7 +32,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version><!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version><!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/usage/jsgui/src/main/webapp/assets/tpl/help/page.html b/usage/jsgui/src/main/webapp/assets/tpl/help/page.html
index 7fa1af3..189924d 100644
--- a/usage/jsgui/src/main/webapp/assets/tpl/help/page.html
+++ b/usage/jsgui/src/main/webapp/assets/tpl/help/page.html
@@ -28,7 +28,7 @@
     Brooklyn is an Apache-licensed open-source project for deployment and management.
     </p>
     
-    <p>You are currently using Brooklyn Version 0.8.0-incubating.</p> <!-- BROOKLYN_VERSION -->
+    <p>You are currently using Brooklyn Version 0.8.1-SNAPSHOT.</p> <!-- BROOKLYN_VERSION -->
     
     <hr/>
     Some useful references include:
diff --git a/usage/jsgui/src/main/webapp/index.html b/usage/jsgui/src/main/webapp/index.html
index ff78fea..5c9fc5d 100644
--- a/usage/jsgui/src/main/webapp/index.html
+++ b/usage/jsgui/src/main/webapp/index.html
@@ -45,7 +45,7 @@
     <div class="navbar-inner">
         <div class="userName-top"><span id="user"></span> | <a href="/logout" id="logout-link">Log out</a></div>
         <div class="container">
-            <a class="logo" href="#" title="Brooklyn, Version 0.8.0-incubating"><!-- Logo added via CSS --></a> <!-- BROOKLYN_VERSION -->
+            <a class="logo" href="#" title="Brooklyn, Version 0.8.1-SNAPSHOT"><!-- Logo added via CSS --></a> <!-- BROOKLYN_VERSION -->
             <div class="menubar-top">
                 <ul class="nav">
                     <li><a href="#v1/home" class="nav1 nav1_home">Home</a></li>
diff --git a/usage/launcher/pom.xml b/usage/launcher/pom.xml
index 8443ea7..38e0e13 100644
--- a/usage/launcher/pom.xml
+++ b/usage/launcher/pom.xml
@@ -31,7 +31,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/usage/logback-includes/pom.xml b/usage/logback-includes/pom.xml
index 7dc9b85..4bb942b 100644
--- a/usage/logback-includes/pom.xml
+++ b/usage/logback-includes/pom.xml
@@ -32,7 +32,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/usage/logback-xml/pom.xml b/usage/logback-xml/pom.xml
index 876bed2..8520879 100644
--- a/usage/logback-xml/pom.xml
+++ b/usage/logback-xml/pom.xml
@@ -38,7 +38,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/usage/qa/pom.xml b/usage/qa/pom.xml
index 9c75902..e9a9ba6 100644
--- a/usage/qa/pom.xml
+++ b/usage/qa/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/usage/qa/start-monitor.sh b/usage/qa/start-monitor.sh
index 663ace8..2106c73 100755
--- a/usage/qa/start-monitor.sh
+++ b/usage/qa/start-monitor.sh
@@ -25,7 +25,7 @@
 #set -x # debug
 
 CLASS=brooklyn.qa.longevity.Monitor
-VERSION=0.8.0-incubating # BROOKLYN_VERSION
+VERSION=0.8.1-SNAPSHOT # BROOKLYN_VERSION
 
 ROOT=$(cd $(dirname $0) && pwd)
 cd $ROOT
diff --git a/usage/qa/start-webcluster.sh b/usage/qa/start-webcluster.sh
index ae31c1c..f457d1d 100755
--- a/usage/qa/start-webcluster.sh
+++ b/usage/qa/start-webcluster.sh
@@ -25,7 +25,7 @@
 #set -x # debug
 
 CLASS=brooklyn.qa.longevity.webcluster.WebClusterApp
-VERSION=0.8.0-incubating # BROOKLYN_VERSION
+VERSION=0.8.1-SNAPSHOT # BROOKLYN_VERSION
 
 ROOT=$(cd $(dirname $0) && pwd)
 cd $ROOT
diff --git a/usage/rest-api/pom.xml b/usage/rest-api/pom.xml
index 9f892fe..f6e81a0 100644
--- a/usage/rest-api/pom.xml
+++ b/usage/rest-api/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version><!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version><!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/usage/rest-client/pom.xml b/usage/rest-client/pom.xml
index ba091cb..460ac1e 100644
--- a/usage/rest-client/pom.xml
+++ b/usage/rest-client/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version> <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version> <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/usage/rest-server/pom.xml b/usage/rest-server/pom.xml
index 5e83c13..6b523e2 100644
--- a/usage/rest-server/pom.xml
+++ b/usage/rest-server/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version><!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version><!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/usage/test-support/pom.xml b/usage/test-support/pom.xml
index a48abd9..0a0c731 100644
--- a/usage/test-support/pom.xml
+++ b/usage/test-support/pom.xml
@@ -27,7 +27,7 @@
 	<parent>
 		<groupId>org.apache.brooklyn</groupId>
 		<artifactId>brooklyn-parent</artifactId>
-		<version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+		<version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
 		<relativePath>../../parent/pom.xml</relativePath>
 	</parent>
 
diff --git a/utils/common/pom.xml b/utils/common/pom.xml
index 10c5bd3..4f26e46 100644
--- a/utils/common/pom.xml
+++ b/utils/common/pom.xml
@@ -31,7 +31,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/utils/common/src/test/java/org/apache/brooklyn/util/maven/MavenArtifactTest.java b/utils/common/src/test/java/org/apache/brooklyn/util/maven/MavenArtifactTest.java
index 942f575..29f73d7 100644
--- a/utils/common/src/test/java/org/apache/brooklyn/util/maven/MavenArtifactTest.java
+++ b/utils/common/src/test/java/org/apache/brooklyn/util/maven/MavenArtifactTest.java
@@ -41,7 +41,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.6";
-    final static String THIS_PROJECT_COORDINATE = "org.apache.brooklyn:brooklyn-utils-common:jar:0.8.0-incubating";  // BROOKLYN_VERSION
+    final static String THIS_PROJECT_COORDINATE = "org.apache.brooklyn:brooklyn-utils-common:jar:0.8.1-SNAPSHOT";  // BROOKLYN_VERSION
 
     // Don't need to be installed, only used as examples
     final static String RELEASED_SOURCES_COORDINATE = "io.brooklyn:brooklyn-core:jar:sources:0.6.0";
@@ -168,7 +168,7 @@
     @Test(groups="Integration")
     public void testRetrievalHostedSnapshotIntegration() throws Exception {
         MavenArtifact m = MavenArtifact.fromCoordinate(
-                "org.apache.brooklyn:brooklyn-utils-common:jar:0.8.0-incubating");  // BROOKLYN_VERSION
+                "org.apache.brooklyn:brooklyn-utils-common:jar:0.8.1-SNAPSHOT");  // 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 5fac3f6..866760a 100644
--- a/utils/groovy/pom.xml
+++ b/utils/groovy/pom.xml
@@ -31,7 +31,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/utils/jmx/jmxmp-ssl-agent/pom.xml b/utils/jmx/jmxmp-ssl-agent/pom.xml
index 511e578..eb8e984 100644
--- a/utils/jmx/jmxmp-ssl-agent/pom.xml
+++ b/utils/jmx/jmxmp-ssl-agent/pom.xml
@@ -32,7 +32,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/utils/jmx/jmxrmi-agent/pom.xml b/utils/jmx/jmxrmi-agent/pom.xml
index 6cd7510..4bb7737 100644
--- a/utils/jmx/jmxrmi-agent/pom.xml
+++ b/utils/jmx/jmxrmi-agent/pom.xml
@@ -32,7 +32,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/utils/rest-swagger/pom.xml b/utils/rest-swagger/pom.xml
index a9acf40..250de20 100644
--- a/utils/rest-swagger/pom.xml
+++ b/utils/rest-swagger/pom.xml
@@ -31,7 +31,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/utils/test-support/pom.xml b/utils/test-support/pom.xml
index 6f17b12..d00a318 100644
--- a/utils/test-support/pom.xml
+++ b/utils/test-support/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.brooklyn</groupId>
         <artifactId>brooklyn-parent</artifactId>
-        <version>0.8.0-incubating</version>  <!-- BROOKLYN_VERSION -->
+        <version>0.8.1-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
