diff --git a/features/features.xml b/features/features.xml
index 8c611dc..75a75d6 100644
--- a/features/features.xml
+++ b/features/features.xml
@@ -21,36 +21,36 @@
     <feature name="onos-thirdparty-base" version="@FEATURE-VERSION"
              description="ONOS 3rd party dependencies">
         <bundle>mvn:commons-lang/commons-lang/2.6</bundle>
-        <bundle>mvn:org.apache.commons/commons-lang3/3.3.2</bundle>
+        <bundle>mvn:org.apache.commons/commons-lang3/3.4</bundle>
         <bundle>mvn:commons-configuration/commons-configuration/1.10</bundle>
-        <bundle>mvn:com.google.guava/guava/18.0</bundle>
-        <bundle>mvn:io.netty/netty/3.9.2.Final</bundle>
-        <bundle>mvn:io.netty/netty-common/4.0.23.Final</bundle>
-        <bundle>mvn:io.netty/netty-buffer/4.0.23.Final</bundle>
-        <bundle>mvn:io.netty/netty-transport/4.0.23.Final</bundle>
-        <bundle>mvn:io.netty/netty-handler/4.0.23.Final</bundle>
-        <bundle>mvn:io.netty/netty-codec/4.0.23.Final</bundle>
-        <bundle>mvn:io.netty/netty-transport-native-epoll/4.0.23.Final</bundle>
+        <bundle>mvn:com.google.guava/guava/19.0</bundle>
+        <bundle>mvn:io.netty/netty/3.10.5.Final</bundle>
+        <bundle>mvn:io.netty/netty-common/4.0.33.Final</bundle>
+        <bundle>mvn:io.netty/netty-buffer/4.0.33.Final</bundle>
+        <bundle>mvn:io.netty/netty-transport/4.0.33.Final</bundle>
+        <bundle>mvn:io.netty/netty-handler/4.0.33.Final</bundle>
+        <bundle>mvn:io.netty/netty-codec/4.0.33.Final</bundle>
+        <bundle>mvn:io.netty/netty-transport-native-epoll/4.0.33.Final</bundle>
         <bundle>mvn:commons-pool/commons-pool/1.6</bundle>
         <bundle>mvn:org.apache.commons/commons-math3/3.2</bundle>
 
-        <bundle>mvn:joda-time/joda-time/2.5</bundle>
+        <bundle>mvn:joda-time/joda-time/2.9</bundle>
 
         <bundle>mvn:io.dropwizard.metrics/metrics-core/3.1.0</bundle>
         <bundle>mvn:io.dropwizard.metrics/metrics-json/3.1.0</bundle>
         <bundle>mvn:com.eclipsesource.minimal-json/minimal-json/0.9.1</bundle>
 
         <bundle>mvn:com.esotericsoftware/kryo/3.0.0</bundle>
-        <bundle>mvn:com.esotericsoftware/reflectasm/1.10.0</bundle>
+        <bundle>mvn:com.esotericsoftware/reflectasm/1.11.0</bundle>
         <bundle>mvn:org.ow2.asm/asm/4.2</bundle>
         <bundle>mvn:com.esotericsoftware/minlog/1.3.0</bundle>
         <bundle>mvn:org.objenesis/objenesis/2.1</bundle>
 
         <bundle>mvn:org.onosproject/onlab-nio/@ONOS-VERSION</bundle>
 
-        <bundle>mvn:com.fasterxml.jackson.core/jackson-core/2.4.2</bundle>
-        <bundle>mvn:com.fasterxml.jackson.core/jackson-annotations/2.4.2</bundle>
-        <bundle>mvn:com.fasterxml.jackson.core/jackson-databind/2.4.2</bundle>
+        <bundle>mvn:com.fasterxml.jackson.core/jackson-core/2.6.4</bundle>
+        <bundle>mvn:com.fasterxml.jackson.core/jackson-annotations/2.6.4</bundle>
+        <bundle>mvn:com.fasterxml.jackson.core/jackson-databind/2.6.4</bundle>
 
         <bundle>mvn:commons-configuration/commons-configuration/1.10</bundle>
         <bundle>mvn:commons-collections/commons-collections/3.2.1</bundle>
diff --git a/pom.xml b/pom.xml
index 8fdcacb..003a9d4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -76,12 +76,17 @@
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <onos-build-conf.version>1.1</onos-build-conf.version>
-        <netty4.version>4.0.23.Final</netty4.version>
+        <netty4.version>4.0.33.Final</netty4.version>
         <copycat.version>0.5.1.onos</copycat.version>
         <openflowj.version>0.9.1.onos</openflowj.version>
         <onos-maven-plugin.version>1.8-SNAPSHOT</onos-maven-plugin.version>
+        <osgi.version>4.3.1</osgi.version>
         <karaf.version>3.0.3</karaf.version>
         <jersey.version>1.19</jersey.version>
+        <fasterxml.jackson.version>2.6.4</fasterxml.jackson.version>
+        <codehaus.jackson.version>1.9.13</codehaus.jackson.version>
+        <slf4j.version>1.7.6</slf4j.version>
+        <guava.version>19.0</guava.version>
         <!-- TODO argLine was originally added maven-surfire-plugin configuration
                   to fix locale errors for non-US developers. However, it breaks
                   SonarQube's test coverage, so moving here for now. -->
@@ -100,7 +105,7 @@
             <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
-                <version>4.11</version>
+                <version>4.12</version>
                 <scope>test</scope>
             </dependency>
 
@@ -120,34 +125,34 @@
             <dependency>
                 <groupId>org.slf4j</groupId>
                 <artifactId>slf4j-api</artifactId>
-                <version>1.7.6</version>
+                <version>${slf4j.version}</version>
                 <scope>provided</scope>
             </dependency>
 
             <dependency>
                 <groupId>org.slf4j</groupId>
                 <artifactId>slf4j-core</artifactId>
-                <version>1.7.6</version>
+                <version>${slf4j.version}</version>
                 <scope>test</scope>
             </dependency>
 
             <dependency>
                 <groupId>org.slf4j</groupId>
                 <artifactId>slf4j-jdk14</artifactId>
-                <version>1.7.6</version>
+                <version>${slf4j.version}</version>
                 <scope>test</scope>
             </dependency>
 
             <dependency>
                 <groupId>com.google.guava</groupId>
                 <artifactId>guava</artifactId>
-                <version>18.0</version>
+                <version>${guava.version}</version>
             </dependency>
 
             <dependency>
                 <groupId>com.google.guava</groupId>
                 <artifactId>guava-testlib</artifactId>
-                <version>18.0</version>
+                <version>${guava.version}</version>
                 <scope>test</scope>
             </dependency>
 
@@ -166,7 +171,7 @@
             <dependency>
                 <groupId>org.apache.commons</groupId>
                 <artifactId>commons-lang3</artifactId>
-                <version>3.3.2</version>
+                <version>3.4</version>
             </dependency>
 
             <dependency>
@@ -178,7 +183,7 @@
             <dependency>
                 <groupId>commons-collections</groupId>
                 <artifactId>commons-collections</artifactId>
-                <version>3.2.1</version>
+                <version>3.2.2</version>
             </dependency>
 
             <dependency>
@@ -190,18 +195,18 @@
             <dependency>
                 <groupId>org.codehaus.jackson</groupId>
                 <artifactId>jackson-core-asl</artifactId>
-                <version>1.9.13</version>
+                <version>${codehaus.jackson.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.codehaus.jackson</groupId>
                 <artifactId>jackson-mapper-asl</artifactId>
-                <version>1.9.13</version>
+                <version>${codehaus.jackson.version}</version>
             </dependency>
 
             <dependency>
                 <groupId>org.easymock</groupId>
                 <artifactId>easymock</artifactId>
-                <version>3.2</version>
+                <version>3.4</version>
                 <scope>test</scope>
             </dependency>
 
@@ -233,13 +238,13 @@
             <dependency>
                 <groupId>com.fasterxml.jackson.core</groupId>
                 <artifactId>jackson-databind</artifactId>
-                <version>2.4.2</version>
+                <version>${fasterxml.jackson.version}</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>com.fasterxml.jackson.core</groupId>
                 <artifactId>jackson-annotations</artifactId>
-                <version>2.4.2</version>
+                <version>${fasterxml.jackson.version}</version>
                 <scope>provided</scope>
             </dependency>
 
@@ -247,19 +252,19 @@
             <dependency>
                 <groupId>org.osgi</groupId>
                 <artifactId>org.osgi.core</artifactId>
-                <version>4.3.1</version>
+                <version>${osgi.version}</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.osgi</groupId>
                 <artifactId>org.osgi.compendium</artifactId>
-                <version>4.3.1</version>
+                <version>${osgi.version}</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>org.apache.felix.scr.annotations</artifactId>
-                <version>1.9.8</version>
+                <version>1.9.12</version>
                 <scope>provided</scope>
             </dependency>
 
@@ -291,7 +296,7 @@
             <dependency>
                 <groupId>com.eclipsesource.minimal-json</groupId>
                 <artifactId>minimal-json</artifactId>
-                <version>0.9.1</version>
+                <version>0.9.4</version>
             </dependency>
             <dependency>
                 <groupId>com.esotericsoftware</groupId>
@@ -301,7 +306,7 @@
             <dependency>
                 <groupId>com.esotericsoftware</groupId>
                 <artifactId>reflectasm</artifactId>
-                <version>1.10.0</version>
+                <version>1.11.0</version>
                 <type>bundle</type>
             </dependency>
             <dependency>
@@ -317,7 +322,7 @@
             <dependency>
                 <groupId>org.objenesis</groupId>
                 <artifactId>objenesis</artifactId>
-                <version>2.1</version>
+                <version>2.2</version>
             </dependency>
 
             <!-- ONOS related -->
@@ -455,7 +460,7 @@
             <dependency>
                 <groupId>io.netty</groupId>
                 <artifactId>netty</artifactId>
-                <version>3.9.0.Final</version>
+                <version>3.10.5.Final</version>
             </dependency>
 
             <dependency>
@@ -495,13 +500,13 @@
             <dependency>
                 <groupId>joda-time</groupId>
                 <artifactId>joda-time</artifactId>
-                <version>2.5</version>
+                <version>2.9</version>
             </dependency>
 
             <dependency>
                 <groupId>com.google.code.findbugs</groupId>
                 <artifactId>jsr305</artifactId>
-                <version>3.0.0</version>
+                <version>3.0.1</version>
             </dependency>
         </dependencies>
     </dependencyManagement>
@@ -534,7 +539,7 @@
         <dependency>
             <groupId>com.google.code.findbugs</groupId>
             <artifactId>jsr305</artifactId>
-            <version>3.0.0</version>
+            <version>3.0.1</version>
         </dependency>
     </dependencies>
 
@@ -556,8 +561,7 @@
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-surefire-plugin</artifactId>
-                    <!-- TODO newer version available -->
-                    <version>2.18.1</version>
+                    <version>2.19.1</version>
                     <configuration>
                         <redirectTestOutputToFile>true</redirectTestOutputToFile>
                         <printSummary>true</printSummary>
@@ -600,7 +604,7 @@
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-resources-plugin</artifactId>
-                    <version>2.6</version>
+                    <version>2.7</version>
                 </plugin>
 
                 <plugin>
@@ -619,7 +623,7 @@
                 <plugin>
                     <groupId>org.apache.felix</groupId>
                     <artifactId>maven-scr-plugin</artifactId>
-                    <version>1.20.0</version>
+                    <version>1.21.0</version>
                     <executions>
                         <execution>
                             <id>generate-scr-srcdescriptor</id>
@@ -731,7 +735,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-pmd-plugin</artifactId>
-                <version>3.5</version>
+                <version>3.6</version>
                 <configuration>
                     <excludes>
                     </excludes>
@@ -797,4 +801,4 @@
             </plugin>
         </plugins>
     </reporting>
-</project>
+</project>
\ No newline at end of file
diff --git a/protocols/openflow/api/src/test/java/org/onosproject/openflow/controller/driver/ChannelAdapter.java b/protocols/openflow/api/src/test/java/org/onosproject/openflow/controller/driver/ChannelAdapter.java
index d4d9191..60f0c2e 100644
--- a/protocols/openflow/api/src/test/java/org/onosproject/openflow/controller/driver/ChannelAdapter.java
+++ b/protocols/openflow/api/src/test/java/org/onosproject/openflow/controller/driver/ChannelAdapter.java
@@ -143,6 +143,16 @@
     }
 
     @Override
+    public boolean getUserDefinedWritability(int i) {
+        return false;
+    }
+
+    @Override
+    public void setUserDefinedWritability(int i, boolean b) {
+
+    }
+
+    @Override
     public Object getAttachment() {
         return null;
     }
diff --git a/protocols/openflow/ctl/src/test/java/org/onosproject/openflow/ChannelAdapter.java b/protocols/openflow/ctl/src/test/java/org/onosproject/openflow/ChannelAdapter.java
index 75260a1..f428595 100644
--- a/protocols/openflow/ctl/src/test/java/org/onosproject/openflow/ChannelAdapter.java
+++ b/protocols/openflow/ctl/src/test/java/org/onosproject/openflow/ChannelAdapter.java
@@ -143,6 +143,16 @@
     }
 
     @Override
+    public boolean getUserDefinedWritability(int i) {
+        return false;
+    }
+
+    @Override
+    public void setUserDefinedWritability(int i, boolean b) {
+
+    }
+
+    @Override
     public Object getAttachment() {
         return null;
     }
diff --git a/tools/package/archetypes/pom.xml b/tools/package/archetypes/pom.xml
index c8e3509..55c346c 100644
--- a/tools/package/archetypes/pom.xml
+++ b/tools/package/archetypes/pom.xml
@@ -48,7 +48,7 @@
             <extension>
                 <groupId>org.apache.maven.archetype</groupId>
                 <artifactId>archetype-packaging</artifactId>
-                <version>2.2</version>
+                <version>2.4</version>
             </extension>
         </extensions>
 
@@ -56,7 +56,7 @@
             <plugins>
                 <plugin>
                     <artifactId>maven-archetype-plugin</artifactId>
-                    <version>2.2</version>
+                    <version>2.4</version>
                 </plugin>
             </plugins>
         </pluginManagement>
