diff --git a/README.md b/README.md
index 60dcdedd..231d0eca 100644
--- a/README.md
+++ b/README.md
@@ -2,8 +2,7 @@
 #### WebGL-based rendering engine for Scratch 3.0
 
 [![Build Status](https://travis-ci.org/LLK/scratch-render.svg?branch=develop)](https://travis-ci.org/LLK/scratch-render)
-[![Dependency Status](https://david-dm.org/LLK/scratch-render.svg)](https://david-dm.org/LLK/scratch-render)
-[![devDependency Status](https://david-dm.org/LLK/scratch-render/dev-status.svg)](https://david-dm.org/LLK/scratch-render#info=devDependencies)
+[![Greenkeeper badge](https://badges.greenkeeper.io/LLK/scratch-render.svg)](https://greenkeeper.io/)
 
 ## Installation
 ```bash
diff --git a/package.json b/package.json
index 1d0f6fe2..b3b5d78b 100644
--- a/package.json
+++ b/package.json
@@ -21,26 +21,26 @@
     "watch": "./node_modules/.bin/webpack --progress --colors --watch --watch-poll"
   },
   "devDependencies": {
-    "babel-core": "6.9.1",
+    "babel-core": "6.22.1",
     "babel-eslint": "7.1.1",
-    "babel-loader": "6.2.4",
-    "babel-polyfill": "6.9.1",
-    "babel-preset-es2015": "6.9.0",
+    "babel-loader": "6.2.10",
+    "babel-polyfill": "6.22.0",
+    "babel-preset-es2015": "6.22.0",
     "base64-loader": "1.0.0",
-    "eslint": "3.12.0",
+    "eslint": "3.14.1",
     "eslint-config-scratch": "3.1.0",
-    "gh-pages": "0.11.0",
+    "gh-pages": "0.12.0",
     "hull.js": "0.2.10",
     "json": "9.0.4",
     "json-loader": "0.5.4",
     "lodash.defaultsdeep": "4.6.0",
     "raw-loader": "0.5.1",
     "scratch-render-fonts": "git+https://github.com/LLK/scratch-render-fonts.git",
-    "tap": "5.7.1",
+    "tap": "10.0.1",
     "travis-after-all": "1.4.4",
-    "twgl.js": "1.5.2",
-    "webpack": "1.13.0",
-    "webpack-dev-server": "1.14.1",
-    "xhr": "2.2.0"
+    "twgl.js": "2.8.2",
+    "webpack": "2.2.1",
+    "webpack-dev-server": "1.16.3",
+    "xhr": "2.3.3"
   }
 }
diff --git a/src/PenSkin.js b/src/PenSkin.js
index ba94d234..89b09bc5 100644
--- a/src/PenSkin.js
+++ b/src/PenSkin.js
@@ -181,7 +181,7 @@ class PenSkin extends Skin {
         const r = Math.round(color4f[0] * 255);
         const g = Math.round(color4f[1] * 255);
         const b = Math.round(color4f[2] * 255);
-        const a = Math.round(color4f[3]);   // Alpha is 0 to 1 (not 0 to 255 like r,g,b)
+        const a = color4f[3];   // Alpha is 0 to 1 (not 0 to 255 like r,g,b)
 
         context.strokeStyle = `rgba(${r},${g},${b},${a})`;
         context.lineCap = 'round';
diff --git a/src/svg-quirks-mode/svg-renderer.js b/src/svg-quirks-mode/svg-renderer.js
index 89655731..b6c133b2 100644
--- a/src/svg-quirks-mode/svg-renderer.js
+++ b/src/svg-quirks-mode/svg-renderer.js
@@ -2,11 +2,11 @@
 // First, have Webpack load their data as Base 64 strings.
 /* eslint-disable global-require */
 const FONTS = {
-    Donegal: require('base64!scratch-render-fonts/DonegalOne-Regular.ttf'),
-    Gloria: require('base64!scratch-render-fonts/GloriaHallelujah.ttf'),
-    Mystery: require('base64!scratch-render-fonts/MysteryQuest-Regular.ttf'),
-    Marker: require('base64!scratch-render-fonts/PermanentMarker.ttf'),
-    Scratch: require('base64!scratch-render-fonts/Scratch.ttf')
+    Donegal: require('base64-loader!scratch-render-fonts/DonegalOne-Regular.ttf'),
+    Gloria: require('base64-loader!scratch-render-fonts/GloriaHallelujah.ttf'),
+    Mystery: require('base64-loader!scratch-render-fonts/MysteryQuest-Regular.ttf'),
+    Marker: require('base64-loader!scratch-render-fonts/PermanentMarker.ttf'),
+    Scratch: require('base64-loader!scratch-render-fonts/Scratch.ttf')
 };
 /* eslint-enable global-require */
 
@@ -37,6 +37,7 @@ class SvgRenderer {
     constructor (canvas) {
         this._canvas = canvas || document.createElement('canvas');
         this._context = this._canvas.getContext('2d');
+        this._measurements = {x: 0, y: 0, width: 0, height: 0};
     }
 
     /**
diff --git a/webpack.config.js b/webpack.config.js
index 31bbb26d..87c0a9a7 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -15,21 +15,17 @@ const base = {
     },
     devtool: 'source-map',
     module: {
-        loaders: [
+        rules: [
             {
                 include: [
                     path.resolve(__dirname, 'src')
                 ],
                 test: /\.js$/,
                 loader: 'babel-loader',
-                query: {
+                options: {
                     presets: ['es2015']
                 }
             },
-            {
-                test: /\.json$/,
-                loader: 'json-loader'
-            },
             {
                 test: /\.(glsl|vs|fs|frag|vert)$/,
                 loader: 'raw-loader'
@@ -40,9 +36,7 @@ const base = {
         new webpack.optimize.UglifyJsPlugin({
             include: /\.min\.js$/,
             minimize: true,
-            compress: {
-                warnings: false
-            }
+            sourceMap: true
         })
     ]
 };