diff --git a/.travis.yml b/.travis.yml
index 35c547f644c133c9212f002489fc4d8a9e192760..aac4a86eff731c4ae548ba6b4a352aecaddaed29 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -36,7 +36,7 @@ before_deploy:
 # Releases deployed on GitHub
 deploy:
   provider: releases
-#  prerelease: true
+  prerelease: true
   skip_cleanup: true
   api_key:
     secure: feyz5YmzYj6g6ZJKAv7u3pp9j9OY6oL4Pcx8mkha25BT1kEIu7lzvkZu4mJAIDjCxJjEkce3fNGXhRICqoMhRy/FK5dUUTpmP3KoMLNNJboO+MhDqjPEb6OYyafikSWnm0BszPL38FzSYMdmvNZ6WirOyVfrdzVPgU6MG0D99w8=
diff --git a/app/lib/blockchainContext.js b/app/lib/blockchainContext.js
index 825521ee153635767fa2a618116ff86f5fa3ee37..b632b0caccd58392209d13ee900fe8d865724355 100644
--- a/app/lib/blockchainContext.js
+++ b/app/lib/blockchainContext.js
@@ -213,7 +213,7 @@ function BlockchainContext(conf, dal) {
     }
     // Monetary Mass update
     if (current) {
-      block.monetaryMass = (current.monetaryMass || 0) + block.dividend * block.membersCount;
+      block.monetaryMass = (current.monetaryMass || 0) + (block.dividend || 0) * block.membersCount;
     }
     // UD Time update
     if (block.number == 0) {
diff --git a/app/lib/proof.js b/app/lib/proof.js
index 0f67316ff070eaa58b81aedc090af42ebff08a43..4558d16655045ee4a438f205b84822eed1b6487a 100644
--- a/app/lib/proof.js
+++ b/app/lib/proof.js
@@ -43,6 +43,7 @@ process.on('message', function(stuff){
       var testsPerRound = Math.max(Math.round(testsPerSecond * cpu), 1);
       process.send({ found: false, testsPerSecond: testsPerSecond, testsPerRound: testsPerRound });
       // Really start now
+      block.nonce = 208320;
       var testsCount = 0;
       if (nbZeros == 0) {
         block.nonce = 0;
diff --git a/app/lib/streams/multicaster.js b/app/lib/streams/multicaster.js
index 80bbac947ae32b1170d5e272643ded800960079e..dcb47b993891ae5d3fd523a4bb124c3b606fec35 100644
--- a/app/lib/streams/multicaster.js
+++ b/app/lib/streams/multicaster.js
@@ -100,14 +100,14 @@ function Multicaster (isolate, timeout) {
           let theDoc = params.transform ? params.transform(doc) : doc;
           logger.debug('--> new %s to be sent to %s peer(s)', params.type, peers.length);
           if (params.getDocID) {
-            logger.info('POST %s %s:', params.type, params.getDocID(theDoc));
+            logger.info('POST %s %s', params.type, params.getDocID(theDoc));
           } else {
-            logger.info('POST %s:', params.type);
+            logger.info('POST %s', params.type);
           }
           for (let i = 0, len = peers.length; i < len; i++) {
             let p = peers[i];
             let peer = Peer.statics.peerize(p);
-            logger.info(' `--> to peer %s [%s] (%s)', peer.keyID(), peer.member ? 'member' : '------', peer.getNamedURL());
+            logger.debug(' `--> to peer %s [%s] (%s)', peer.keyID(), peer.member ? 'member' : '------', peer.getNamedURL());
             yield post(peer, params.uri, params.getObj(theDoc));
           }
         } else {
diff --git a/app/service/BlockchainService.js b/app/service/BlockchainService.js
index d595eb52f0aa1013feffa91246363a7238d2174b..abfc46623a67eea8b0e6274b43ad829f3fc56225 100644
--- a/app/service/BlockchainService.js
+++ b/app/service/BlockchainService.js
@@ -1101,7 +1101,7 @@ function BlockchainService (conf, mainDAL, pair) {
         var end = new Date();
         var duration = (end.getTime() - start.getTime());
         var testsPerSecond = (1000 / duration * msg.testsCount).toFixed(2);
-        logger.debug('Done: %s in %ss (%s tests, ~%s tests/s)', msg.pow, (duration / 1000).toFixed(2), msg.testsCount, testsPerSecond);
+        logger.info('Done: %s in %ss (%s tests, ~%s tests/s)', msg.pow, (duration / 1000).toFixed(2), msg.testsCount, testsPerSecond);
         stopped = true;
         start = null;
         block.hash = msg.pow;
diff --git a/app/service/PeeringService.js b/app/service/PeeringService.js
index e5467b1a7664dd46c92c7f4c58ccaab680c7f67b..c3b75f4872cb522d6cd3aad56f8e090cfd1d7741 100644
--- a/app/service/PeeringService.js
+++ b/app/service/PeeringService.js
@@ -333,13 +333,13 @@ function PeeringService(server, pair, dal) {
               shouldDisplayDelays = false;
             } catch (err) {
               // Error: we set the peer as DOWN
-              logger.warn("Peer %s is DOWN (%s)", p.pubkey, (err.httpCode && 'HTTP ' + err.httpCode) || err.code || err.message || err);
+              logger.trace("Peer %s is DOWN (%s)", p.pubkey, (err.httpCode && 'HTTP ' + err.httpCode) || err.code || err.message || err);
               yield dal.setPeerDown(p.pubkey);
               shouldDisplayDelays = true;
             }
           }
           if (shouldDisplayDelays) {
-            logger.info('Will check that node %s (%s:%s) is UP in %s min...', p.pubkey.substr(0, 6), p.getHostPreferDNS(), p.getPort(), (nextWaitRemaining / 60).toFixed(0));
+            logger.debug('Will check that node %s (%s:%s) is UP in %s min...', p.pubkey.substr(0, 6), p.getHostPreferDNS(), p.getPort(), (nextWaitRemaining / 60).toFixed(0));
           }
         }
       }
diff --git a/package.json b/package.json
index 50c98340f657ad850b1e45cca77a2a9871df30e0..3ab2ff1fe24a9647572d1ec844adb474f1f4300f 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "ucoin",
-  "version": "0.13.7",
+  "version": "0.13.8a1",
   "engines": {
     "node": ">=4.2.0",
     "npm": ">=2.11"
diff --git a/release.sh b/release.sh
new file mode 100755
index 0000000000000000000000000000000000000000..b34c1939c0828391d605f6759bf346cec07ad6e3
--- /dev/null
+++ b/release.sh
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+current=`grep -P "version\": \"\d+.\d+.\d+(\w*)" package.json | grep -oP "\d+.\d+.\d+(\w*)"`
+echo "Current version: $current"
+
+if [[ $2 =~ ^[0-9]+.[0-9]+.[0-9]+((a|b)[0-9]+)?$ ]]; then
+  echo "build $2"
+  case "$1" in
+    rel|pre)
+      # Change the version in package.json and test file
+      sed -i "s/version\": \"$current/version\": \"$2/g" package.json
+      sed -i "s/version').equal('.*/version').equal('$2');/g" test/integration/branches.js
+      if [[ "$1" =~ ^rel$ ]]; then
+        # This is RELEASE: change the version in public installer + add the RELEASE flag
+        sed -i "s/echo \"v.*\"/echo \"v$2\"/g" install.sh
+        sed -i "s/.*prerelease: true/#  prerelease: true/g" .travis.yml
+      fi
+      if [[ "$1" =~ ^pre$ ]]; then
+        # This is RELEASE: just change the RELEASE flag to PRERELEASE
+        sed -i "s/#  prerelease: true/  prerelease: true/g" .travis.yml
+      fi
+      ;;
+    *)
+      echo "No task given"
+      ;;
+  esac
+
+  # Commit
+  git reset HEAD
+  case "$1" in
+    rel)
+      git add package.json .travis.yml test/integration/branches.js install.sh
+      ;;
+    pre)
+      git add package.json .travis.yml test/integration/branches.js
+      ;;
+  esac
+  git commit -m "v$2"
+  git tag "v$2"
+else
+  echo "Wrong version format"
+fi
diff --git a/test/integration/branches.js b/test/integration/branches.js
index 5ba57498d247b0d73ac4f32f057151915987e3b6..2507eb8bd9a0d40cffd308eda68255c746ec1ca7 100644
--- a/test/integration/branches.js
+++ b/test/integration/branches.js
@@ -223,7 +223,7 @@ describe("Branches", function() {
     it('should have a 3 blocks fork window size', function() {
       return expectAnswer(rp('http://127.0.0.1:7778/node/summary', { json: true }), function(res) {
         res.should.have.property('ucoin').property('software').equal('ucoind');
-        res.should.have.property('ucoin').property('version').equal('0.13.7');
+        res.should.have.property('ucoin').property('version').equal('0.13.8a1');
         res.should.have.property('ucoin').property('forkWindowSize').equal(3);
       });
     });