diff --git a/build/mvn b/build/mvn
index 63ca9c98067d0f3fd58ce22f69c3046a43b94226..58058c04b8911ebb67e947e805d65f55e5311822 100755
--- a/build/mvn
+++ b/build/mvn
@@ -69,7 +69,7 @@ install_app() {
 
 # Install maven under the build/ folder
 install_mvn() {
-  local MVN_VERSION="3.3.3"
+  local MVN_VERSION="3.3.9"
 
   install_app \
     "http://archive.apache.org/dist/maven/maven-3/${MVN_VERSION}/binaries" \
diff --git a/dev/deps/spark-deps-hadoop-2.2 b/dev/deps/spark-deps-hadoop-2.2
index 3a14499d9b4d93de7ce4b42c34335117228790f6..47482fd3adeebdce5b887bc35c493853e2011643 100644
--- a/dev/deps/spark-deps-hadoop-2.2
+++ b/dev/deps/spark-deps-hadoop-2.2
@@ -96,7 +96,7 @@ javax.servlet-api-3.0.1.jar
 javolution-5.5.1.jar
 jaxb-api-2.2.2.jar
 jaxb-impl-2.2.3-1.jar
-jcl-over-slf4j-1.7.10.jar
+jcl-over-slf4j-1.7.16.jar
 jdo-api-3.0.1.jar
 jersey-client-1.9.jar
 jersey-core-1.9.jar
@@ -121,7 +121,7 @@ json4s-jackson_2.11-3.2.10.jar
 jsr305-1.3.9.jar
 jta-1.1.jar
 jtransforms-2.4.0.jar
-jul-to-slf4j-1.7.10.jar
+jul-to-slf4j-1.7.16.jar
 kryo-2.21.jar
 leveldbjni-all-1.8.jar
 libfb303-0.9.2.jar
@@ -164,8 +164,8 @@ scala-reflect-2.11.7.jar
 scala-xml_2.11-1.0.2.jar
 scalap-2.11.7.jar
 servlet-api-2.5.jar
-slf4j-api-1.7.10.jar
-slf4j-log4j12-1.7.10.jar
+slf4j-api-1.7.16.jar
+slf4j-log4j12-1.7.16.jar
 snappy-0.2.jar
 snappy-java-1.1.2.jar
 spire-macros_2.11-0.7.4.jar
diff --git a/dev/deps/spark-deps-hadoop-2.3 b/dev/deps/spark-deps-hadoop-2.3
index 615836b3d3b7719f7f95c0e97cc493ef640a4d85..dd93abf4f395bc685b368c2a7e3f7e4e5a15af85 100644
--- a/dev/deps/spark-deps-hadoop-2.3
+++ b/dev/deps/spark-deps-hadoop-2.3
@@ -90,7 +90,7 @@ javax.servlet-3.0.0.v201112011016.jar
 javolution-5.5.1.jar
 jaxb-api-2.2.2.jar
 jaxb-impl-2.2.3-1.jar
-jcl-over-slf4j-1.7.10.jar
+jcl-over-slf4j-1.7.16.jar
 jdo-api-3.0.1.jar
 jersey-core-1.9.jar
 jersey-guice-1.9.jar
@@ -112,7 +112,7 @@ json4s-jackson_2.11-3.2.10.jar
 jsr305-1.3.9.jar
 jta-1.1.jar
 jtransforms-2.4.0.jar
-jul-to-slf4j-1.7.10.jar
+jul-to-slf4j-1.7.16.jar
 kryo-2.21.jar
 leveldbjni-all-1.8.jar
 libfb303-0.9.2.jar
@@ -155,8 +155,8 @@ scala-reflect-2.11.7.jar
 scala-xml_2.11-1.0.2.jar
 scalap-2.11.7.jar
 servlet-api-2.5.jar
-slf4j-api-1.7.10.jar
-slf4j-log4j12-1.7.10.jar
+slf4j-api-1.7.16.jar
+slf4j-log4j12-1.7.16.jar
 snappy-0.2.jar
 snappy-java-1.1.2.jar
 spire-macros_2.11-0.7.4.jar
diff --git a/dev/deps/spark-deps-hadoop-2.4 b/dev/deps/spark-deps-hadoop-2.4
index f275226f1d088ad20b4207424ef06b2e503042c6..987a6d7f593f69f64a1e1c4eba88d6602ade7378 100644
--- a/dev/deps/spark-deps-hadoop-2.4
+++ b/dev/deps/spark-deps-hadoop-2.4
@@ -90,7 +90,7 @@ javax.servlet-3.0.0.v201112011016.jar
 javolution-5.5.1.jar
 jaxb-api-2.2.2.jar
 jaxb-impl-2.2.3-1.jar
-jcl-over-slf4j-1.7.10.jar
+jcl-over-slf4j-1.7.16.jar
 jdo-api-3.0.1.jar
 jersey-client-1.9.jar
 jersey-core-1.9.jar
@@ -113,7 +113,7 @@ json4s-jackson_2.11-3.2.10.jar
 jsr305-1.3.9.jar
 jta-1.1.jar
 jtransforms-2.4.0.jar
-jul-to-slf4j-1.7.10.jar
+jul-to-slf4j-1.7.16.jar
 kryo-2.21.jar
 leveldbjni-all-1.8.jar
 libfb303-0.9.2.jar
@@ -156,8 +156,8 @@ scala-reflect-2.11.7.jar
 scala-xml_2.11-1.0.2.jar
 scalap-2.11.7.jar
 servlet-api-2.5.jar
-slf4j-api-1.7.10.jar
-slf4j-log4j12-1.7.10.jar
+slf4j-api-1.7.16.jar
+slf4j-log4j12-1.7.16.jar
 snappy-0.2.jar
 snappy-java-1.1.2.jar
 spire-macros_2.11-0.7.4.jar
diff --git a/dev/deps/spark-deps-hadoop-2.6 b/dev/deps/spark-deps-hadoop-2.6
index 21432a16e3659631551534bb1967493e9f9731ac..9f158485d2803b684500cc01939382e02838ff5d 100644
--- a/dev/deps/spark-deps-hadoop-2.6
+++ b/dev/deps/spark-deps-hadoop-2.6
@@ -96,7 +96,7 @@ javax.servlet-3.0.0.v201112011016.jar
 javolution-5.5.1.jar
 jaxb-api-2.2.2.jar
 jaxb-impl-2.2.3-1.jar
-jcl-over-slf4j-1.7.10.jar
+jcl-over-slf4j-1.7.16.jar
 jdo-api-3.0.1.jar
 jersey-client-1.9.jar
 jersey-core-1.9.jar
@@ -119,7 +119,7 @@ json4s-jackson_2.11-3.2.10.jar
 jsr305-1.3.9.jar
 jta-1.1.jar
 jtransforms-2.4.0.jar
-jul-to-slf4j-1.7.10.jar
+jul-to-slf4j-1.7.16.jar
 kryo-2.21.jar
 leveldbjni-all-1.8.jar
 libfb303-0.9.2.jar
@@ -162,8 +162,8 @@ scala-reflect-2.11.7.jar
 scala-xml_2.11-1.0.2.jar
 scalap-2.11.7.jar
 servlet-api-2.5.jar
-slf4j-api-1.7.10.jar
-slf4j-log4j12-1.7.10.jar
+slf4j-api-1.7.16.jar
+slf4j-log4j12-1.7.16.jar
 snappy-0.2.jar
 snappy-java-1.1.2.jar
 spire-macros_2.11-0.7.4.jar
diff --git a/dev/deps/spark-deps-hadoop-2.7 b/dev/deps/spark-deps-hadoop-2.7
index 20e09cd002635d85a6ed7e10cb1cdc13073ca703..6cbb9ab9591ceb7f54e4cb938d77af634aeae91c 100644
--- a/dev/deps/spark-deps-hadoop-2.7
+++ b/dev/deps/spark-deps-hadoop-2.7
@@ -96,7 +96,7 @@ javax.servlet-3.0.0.v201112011016.jar
 javolution-5.5.1.jar
 jaxb-api-2.2.2.jar
 jaxb-impl-2.2.3-1.jar
-jcl-over-slf4j-1.7.10.jar
+jcl-over-slf4j-1.7.16.jar
 jdo-api-3.0.1.jar
 jersey-client-1.9.jar
 jersey-core-1.9.jar
@@ -120,7 +120,7 @@ jsp-api-2.1.jar
 jsr305-1.3.9.jar
 jta-1.1.jar
 jtransforms-2.4.0.jar
-jul-to-slf4j-1.7.10.jar
+jul-to-slf4j-1.7.16.jar
 kryo-2.21.jar
 leveldbjni-all-1.8.jar
 libfb303-0.9.2.jar
@@ -163,8 +163,8 @@ scala-reflect-2.11.7.jar
 scala-xml_2.11-1.0.2.jar
 scalap-2.11.7.jar
 servlet-api-2.5.jar
-slf4j-api-1.7.10.jar
-slf4j-log4j12-1.7.10.jar
+slf4j-api-1.7.16.jar
+slf4j-log4j12-1.7.16.jar
 snappy-0.2.jar
 snappy-java-1.1.2.jar
 spire-macros_2.11-0.7.4.jar
diff --git a/docs/building-spark.md b/docs/building-spark.md
index 975e1b295c8ae98c82c44c88d0964d336ba24b69..adf798847c3c3321bf25b18139810a77fccd8ac7 100644
--- a/docs/building-spark.md
+++ b/docs/building-spark.md
@@ -7,7 +7,7 @@ redirect_from: "building-with-maven.html"
 * This will become a table of contents (this text will be scraped).
 {:toc}
 
-Building Spark using Maven requires Maven 3.3.3 or newer and Java 7+.
+Building Spark using Maven requires Maven 3.3.9 or newer and Java 7+.
 The Spark build can supply a suitable Maven binary; see below.
 
 # Building with `build/mvn`
diff --git a/examples/pom.xml b/examples/pom.xml
index 82baa9085b4f9a0c6594962ab3ff0ba3c399d72f..3a3f5479150159cc41e4c5163ab0453d963ad133 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -249,7 +249,7 @@
     <dependency>
       <groupId>com.twitter</groupId>
       <artifactId>algebird-core_${scala.binary.version}</artifactId>
-      <version>0.9.0</version>
+      <version>0.11.0</version>
     </dependency>
     <dependency>
       <groupId>org.scalacheck</groupId>
@@ -259,7 +259,7 @@
     <dependency>
       <groupId>org.apache.cassandra</groupId>
       <artifactId>cassandra-all</artifactId>
-      <version>1.2.6</version>
+      <version>1.2.19</version>
       <exclusions>
         <exclusion>
           <groupId>com.google.guava</groupId>
@@ -318,7 +318,7 @@
     <dependency>
       <groupId>com.github.scopt</groupId>
       <artifactId>scopt_${scala.binary.version}</artifactId>
-      <version>3.2.0</version>
+      <version>3.3.0</version>
     </dependency>
 
     <!--
diff --git a/pom.xml b/pom.xml
index 4f7a0574c52dc3f2ad27b6c067827ae48c027fe3..244355b080221cfa46655156d9b7a567e39c1646 100644
--- a/pom.xml
+++ b/pom.xml
@@ -122,16 +122,16 @@
     <akka.group>com.typesafe.akka</akka.group>
     <akka.version>2.3.11</akka.version>
     <java.version>1.7</java.version>
-    <maven.version>3.3.3</maven.version>
+    <maven.version>3.3.9</maven.version>
     <sbt.project.name>spark</sbt.project.name>
     <mesos.version>0.21.1</mesos.version>
     <mesos.classifier>shaded-protobuf</mesos.classifier>
-    <slf4j.version>1.7.10</slf4j.version>
+    <slf4j.version>1.7.16</slf4j.version>
     <log4j.version>1.2.17</log4j.version>
     <hadoop.version>2.2.0</hadoop.version>
     <protobuf.version>2.5.0</protobuf.version>
     <yarn.version>${hadoop.version}</yarn.version>
-    <hbase.version>0.98.7-hadoop2</hbase.version>
+    <hbase.version>0.98.17-hadoop2</hbase.version>
     <hbase.artifact>hbase</hbase.artifact>
     <flume.version>1.6.0</flume.version>
     <zookeeper.version>3.4.5</zookeeper.version>
@@ -424,7 +424,7 @@
       <dependency>
         <groupId>org.seleniumhq.selenium</groupId>
         <artifactId>selenium-java</artifactId>
-        <version>2.42.2</version>
+        <version>2.45.0</version> <!-- 2.46.0+ requires Jetty 9 -->
         <scope>test</scope>
         <exclusions>
           <exclusion>
@@ -679,25 +679,25 @@
       <dependency>
         <groupId>org.scalatest</groupId>
         <artifactId>scalatest_${scala.binary.version}</artifactId>
-        <version>2.2.1</version>
+        <version>2.2.6</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.mockito</groupId>
         <artifactId>mockito-core</artifactId>
-        <version>1.9.5</version>
+        <version>1.10.19</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.scalacheck</groupId>
         <artifactId>scalacheck_${scala.binary.version}</artifactId>
-        <version>1.11.3</version>
+        <version>1.12.5</version> <!-- 1.13.0 appears incompatible with scalatest 2.2.6 -->
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
-        <version>4.11</version>
+        <version>4.12</version>
         <scope>test</scope>
       </dependency>
       <dependency>
@@ -722,7 +722,7 @@
         <groupId>com.spotify</groupId>
         <artifactId>docker-client</artifactId>
         <classifier>shaded</classifier>
-        <version>3.2.1</version>
+        <version>3.4.0</version>
         <scope>test</scope>
         <exclusions>
           <exclusion>
@@ -750,13 +750,13 @@
       <dependency>
         <groupId>mysql</groupId>
         <artifactId>mysql-connector-java</artifactId>
-        <version>5.1.34</version>
+        <version>5.1.38</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.postgresql</groupId>
         <artifactId>postgresql</artifactId>
-        <version>9.3-1102-jdbc41</version>
+        <version>9.4.1207.jre7</version>
         <scope>test</scope>
       </dependency>
       <dependency>
@@ -1820,7 +1820,7 @@
         <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>build-helper-maven-plugin</artifactId>
-          <version>1.9.1</version>
+          <version>1.10</version>
         </plugin>
         <plugin>
           <groupId>net.alchim31.maven</groupId>
@@ -1883,7 +1883,7 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
-          <version>3.3</version>
+          <version>3.5.1</version>
           <configuration>
             <source>${java.version}</source>
             <target>${java.version}</target>
@@ -1904,7 +1904,7 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.18.1</version>
+          <version>2.19.1</version>
           <!-- Note config is repeated in scalatest config -->
           <configuration>
             <includes>
@@ -2017,7 +2017,7 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-clean-plugin</artifactId>
-          <version>2.6.1</version>
+          <version>3.0.0</version>
           <configuration>
             <filesets>
               <fileset>
@@ -2045,12 +2045,12 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-assembly-plugin</artifactId>
-          <version>2.5.5</version>
+          <version>2.6</version>
         </plugin>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-shade-plugin</artifactId>
-          <version>2.4.1</version>
+          <version>2.4.3</version>
         </plugin>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>