diff --git a/apps/openstacknetworking/BUILD b/apps/openstacknetworking/BUILD
index bf1a806..be4dc6e 100644
--- a/apps/openstacknetworking/BUILD
+++ b/apps/openstacknetworking/BUILD
@@ -3,7 +3,6 @@
     "//apps/openstacknetworking/app:onos-apps-openstacknetworking-app",
     "@httpclient_osgi//jar",
     "@httpcore_osgi//jar",
-    "@commons_codec//jar",
     "@sshd_core//jar",
 ]
 
diff --git a/apps/openstacktelemetry/BUILD b/apps/openstacktelemetry/BUILD
index 00ba1b6..39aaf9ac 100644
--- a/apps/openstacktelemetry/BUILD
+++ b/apps/openstacktelemetry/BUILD
@@ -3,7 +3,6 @@
 BUNDLES = [
     "@kafka_clients//jar",
     "@influxdb_java//jar",
-    "@commons_codec//jar",
     "@retrofit//jar",
     "@okhttp//jar",
     "@logging_interceptor//jar",
diff --git a/drivers/default/src/main/java/org/onosproject/driver/DefaultDriversLoader.java b/drivers/default/src/main/java/org/onosproject/driver/DefaultDriversLoader.java
index d292aa6..69eddba 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/DefaultDriversLoader.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/DefaultDriversLoader.java
@@ -23,7 +23,7 @@
 /**
  * Loader for default device drivers.
  */
-@Component(immediate = true, service = DefaultDriversLoader.class)
+@Component(immediate = true, service = {DefaultDriversLoader.class, DefaultDriverProviderService.class})
 public class DefaultDriversLoader extends AbstractIndependentDriverLoader
         implements DefaultDriverProviderService {
     public DefaultDriversLoader() {
diff --git a/lib/deps.json b/lib/deps.json
index b3ea3e8..b5e6ca0 100644
--- a/lib/deps.json
+++ b/lib/deps.json
@@ -331,7 +331,7 @@
 
     "org.apache.servicemix.bundles.dom4j":"mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.dom4j:1.6.1_5",
     "plexus-utils": "mvn:org.codehaus.plexus:plexus-utils:3.0.24",
-    "sshd-core": "mvn:org.apache.sshd:sshd-core:1.4.0",
+    "sshd-core": "mvn:org.apache.sshd:sshd-core:1.7.0",
     "bcpkix-jdk15on": "mvn:org.bouncycastle:bcpkix-jdk15on:1.59",
     "bcprov-jdk15on": "mvn:org.bouncycastle:bcprov-jdk15on:1.59",
     "hamcrest-optional": "mvn:com.spotify:hamcrest-optional:1.1.0",
diff --git a/tools/build/bazel/generate_workspace.bzl b/tools/build/bazel/generate_workspace.bzl
index 2252a6e..129a333 100644
--- a/tools/build/bazel/generate_workspace.bzl
+++ b/tools/build/bazel/generate_workspace.bzl
@@ -1,4 +1,4 @@
-# ***** This file was auto-generated at Thu, 1 Nov 2018 23:13:54 GMT. Do not edit this file manually. *****
+# ***** This file was auto-generated at Tue, 6 Nov 2018 23:15:46 GMT. Do not edit this file manually. *****
 # ***** Use onos-lib-gen *****
 
 load("//tools/build/bazel:variables.bzl", "ONOS_GROUP_ID", "ONOS_VERSION")
@@ -1213,9 +1213,9 @@
     if "sshd_core" not in native.existing_rules():
         java_import_external(
             name = "sshd_core",
-            jar_sha256 = "1b5a5e95cd50448cfe3b8262837facf220e29f3aee7cfa62d2529932de45c02a",
+            jar_sha256 = "2b4793548bdf172705686c34615c5397b2258d07dd1492f4de936e09985aa3c7",
             licenses = ["notice"],
-            jar_urls = ["http://repo1.maven.org/maven2/org/apache/sshd/sshd-core/1.4.0/sshd-core-1.4.0.jar"],        )
+            jar_urls = ["http://repo1.maven.org/maven2/org/apache/sshd/sshd-core/1.7.0/sshd-core-1.7.0.jar"],        )
     if "bcpkix_jdk15on" not in native.existing_rules():
         java_import_external(
             name = "bcpkix_jdk15on",
@@ -1599,7 +1599,7 @@
 artifact_map["@onos_yang_serializers_utils//:onos_yang_serializers_utils"] = "mvn:org.onosproject:onos-yang-serializers-utils:jar:2.5"
 artifact_map["@org_apache_servicemix_bundles_dom4j//:org_apache_servicemix_bundles_dom4j"] = "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.dom4j:jar:1.6.1_5"
 artifact_map["@plexus_utils//:plexus_utils"] = "mvn:org.codehaus.plexus:plexus-utils:jar:NON-OSGI:3.0.24"
-artifact_map["@sshd_core//:sshd_core"] = "mvn:org.apache.sshd:sshd-core:jar:1.4.0"
+artifact_map["@sshd_core//:sshd_core"] = "mvn:org.apache.sshd:sshd-core:jar:1.7.0"
 artifact_map["@bcpkix_jdk15on//:bcpkix_jdk15on"] = "mvn:org.bouncycastle:bcpkix-jdk15on:jar:1.59"
 artifact_map["@bcprov_jdk15on//:bcprov_jdk15on"] = "mvn:org.bouncycastle:bcprov-jdk15on:jar:1.59"
 artifact_map["@hamcrest_optional//:hamcrest_optional"] = "mvn:com.spotify:hamcrest-optional:jar:NON-OSGI:1.1.0"
diff --git a/tools/package/features/BUILD b/tools/package/features/BUILD
index 3ff75fe..08ac9ae 100644
--- a/tools/package/features/BUILD
+++ b/tools/package/features/BUILD
@@ -14,6 +14,7 @@
         "@commons_lang//jar",
         "@commons_lang3//jar",
         "@commons_text//jar",
+        "@commons_codec//jar",
         "@commons_configuration//jar",
         "@com_google_guava_guava//jar",
         "@io_netty_netty//jar",
