Removing all references to "stubby"
diff --git a/README.md b/README.md
index d937b3a..97f4f02 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@
 
 #### Key Interfaces
 
-[Stream Observer](https://github.com/google/grpc-java/blob/master/stub/src/main/java/com/google/net/stubby/stub/StreamObserver.java)
+[Stream Observer](https://github.com/google/grpc-java/blob/master/stub/src/main/java/io/grpc/stub/StreamObserver.java)
 
 
 ## Channel
@@ -20,17 +20,17 @@
 
 #### Common
 
-* [Metadata - headers & trailers](https://github.com/google/grpc-java/blob/master/core/src/main/java/com/google/net/stubby/Metadata.java)
-* [Status - error code namespace & handling](https://github.com/google/grpc-java/blob/master/core/src/main/java/com/google/net/stubby/Status.java)
+* [Metadata - headers & trailers](https://github.com/google/grpc-java/blob/master/core/src/main/java/io/grpc/Metadata.java)
+* [Status - error code namespace & handling](https://github.com/google/grpc-java/blob/master/core/src/main/java/io/grpc/Status.java)
 
 #### Client
-* [Channel - client side binding](https://github.com/google/grpc-java/blob/master/core/src/main/java/com/google/net/stubby/Channel.java)
-* [Call](https://github.com/google/grpc-java/blob/master/core/src/main/java/com/google/net/stubby/Call.java)
-* [Client Interceptor](https://github.com/google/grpc-java/blob/master/core/src/main/java/com/google/net/stubby/ClientInterceptor.java)
+* [Channel - client side binding](https://github.com/google/grpc-java/blob/master/core/src/main/java/io/grpc/Channel.java)
+* [Call](https://github.com/google/grpc-java/blob/master/core/src/main/java/io/grpc/Call.java)
+* [Client Interceptor](https://github.com/google/grpc-java/blob/master/core/src/main/java/io/grpc/ClientInterceptor.java)
 
 #### Server
-* [Server call handler - analog to Channel on server](https://github.com/google/grpc-java/blob/master/core/src/main/java/com/google/net/stubby/ServerCallHandler.java)
-* [Server Call](https://github.com/google/grpc-java/blob/master/core/src/main/java/com/google/net/stubby/ServerCall.java)
+* [Server call handler - analog to Channel on server](https://github.com/google/grpc-java/blob/master/core/src/main/java/io/grpc/ServerCallHandler.java)
+* [Server Call](https://github.com/google/grpc-java/blob/master/core/src/main/java/io/grpc/ServerCall.java)
 
 
 ## Transport
@@ -39,20 +39,20 @@
 
 #### Common
 
-* [Stream](https://github.com/google/grpc-java/blob/master/core/src/main/java/com/google/net/stubby/transport/Stream.java)
-* [Stream Listener](https://github.com/google/grpc-java/blob/master/core/src/main/java/com/google/net/stubby/transport/StreamListener.java)
+* [Stream](https://github.com/google/grpc-java/blob/master/core/src/main/java/io/grpc/transport/Stream.java)
+* [Stream Listener](https://github.com/google/grpc-java/blob/master/core/src/main/java/io/grpc/transport/StreamListener.java)
 
 #### Client
 
-* [Client Stream](https://github.com/google/grpc-java/blob/master/core/src/main/java/com/google/net/stubby/transport/ClientStream.java)
-* [Client Stream Listener](https://github.com/google/grpc-java/blob/master/core/src/main/java/com/google/net/stubby/transport/ClientStreamListener.java)
+* [Client Stream](https://github.com/google/grpc-java/blob/master/core/src/main/java/io/grpc/transport/ClientStream.java)
+* [Client Stream Listener](https://github.com/google/grpc-java/blob/master/core/src/main/java/io/grpc/transport/ClientStreamListener.java)
 
 #### Server
 
-* [Server Stream](https://github.com/google/grpc-java/blob/master/core/src/main/java/com/google/net/stubby/transport/ServerStream.java)
-* [Server Stream Listener](https://github.com/google/grpc-java/blob/master/core/src/main/java/com/google/net/stubby/transport/ServerStreamListener.java)
+* [Server Stream](https://github.com/google/grpc-java/blob/master/core/src/main/java/io/grpc/transport/ServerStream.java)
+* [Server Stream Listener](https://github.com/google/grpc-java/blob/master/core/src/main/java/io/grpc/transport/ServerStreamListener.java)
 
 
 # Examples
 
-Tests showing how these layers are composed to execute calls using protobuf messages can be found here https://github.com/google/grpc-java/tree/master/integration-testing/src/main/java/com/google/net/stubby/testing/integration
+Tests showing how these layers are composed to execute calls using protobuf messages can be found here https://github.com/google/grpc-java/tree/master/integration-testing/src/main/java/io/grpc/testing/integration
diff --git a/all/build.gradle b/all/build.gradle
index a55e2cd..fb7e2fb 100644
--- a/all/build.gradle
+++ b/all/build.gradle
@@ -1,14 +1,14 @@
-description = "Stubby: All"
+description = "gRPC: All"
 
 // Make sure that no transitive dependencies are included.
 configurations.compile.transitive = false
 
 dependencies {
-    compile project(':stubby-core'),
-            project(':stubby-stub'),
-            project(':stubby-auth'),
-            project(':stubby-netty'),
-            project(':stubby-okhttp')
+    compile project(':grpc-core'),
+            project(':grpc-stub'),
+            project(':grpc-auth'),
+            project(':grpc-netty'),
+            project(':grpc-okhttp')
 }
 
 // Create a fat jar containing only the direct dependencies
diff --git a/auth/build.gradle b/auth/build.gradle
index 22a3fe3..52a3f12 100644
--- a/auth/build.gradle
+++ b/auth/build.gradle
@@ -2,9 +2,9 @@
     id "be.insaneprogramming.gradle.animalsniffer" version "1.4.0"
 }
 
-description = "Stubby: Auth"
+description = "gRpc: Auth"
 dependencies {
-    compile project(':stubby-core'),
+    compile project(':grpc-core'),
             libraries.oauth_client,
             libraries.javaee_api
 }
diff --git a/auth/src/main/java/com/google/net/stubby/auth/OAuth2AccessTokenProvider.java b/auth/src/main/java/io/grpc/auth/OAuth2AccessTokenProvider.java
similarity index 98%
rename from auth/src/main/java/com/google/net/stubby/auth/OAuth2AccessTokenProvider.java
rename to auth/src/main/java/io/grpc/auth/OAuth2AccessTokenProvider.java
index d22ed64..aac2706 100644
--- a/auth/src/main/java/com/google/net/stubby/auth/OAuth2AccessTokenProvider.java
+++ b/auth/src/main/java/io/grpc/auth/OAuth2AccessTokenProvider.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.auth;
+package io.grpc.auth;
 
 import com.google.api.client.auth.oauth2.Credential;
 import com.google.common.base.Preconditions;
diff --git a/auth/src/main/java/com/google/net/stubby/auth/OAuth2ChannelInterceptor.java b/auth/src/main/java/io/grpc/auth/OAuth2ChannelInterceptor.java
similarity index 90%
rename from auth/src/main/java/com/google/net/stubby/auth/OAuth2ChannelInterceptor.java
rename to auth/src/main/java/io/grpc/auth/OAuth2ChannelInterceptor.java
index c0c6a38..f3efd6b 100644
--- a/auth/src/main/java/com/google/net/stubby/auth/OAuth2ChannelInterceptor.java
+++ b/auth/src/main/java/io/grpc/auth/OAuth2ChannelInterceptor.java
@@ -29,15 +29,16 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.auth;
+package io.grpc.auth;
 
 import com.google.api.client.auth.oauth2.Credential;
-import com.google.net.stubby.Call;
-import com.google.net.stubby.Channel;
-import com.google.net.stubby.ClientInterceptor;
-import com.google.net.stubby.ClientInterceptors.ForwardingCall;
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.MethodDescriptor;
+
+import io.grpc.Call;
+import io.grpc.Channel;
+import io.grpc.ClientInterceptor;
+import io.grpc.ClientInterceptors.ForwardingCall;
+import io.grpc.Metadata;
+import io.grpc.MethodDescriptor;
 
 import java.util.concurrent.Executor;
 
diff --git a/build.gradle b/build.gradle
index 5bb44ea..f4c9860 100644
--- a/build.gradle
+++ b/build.gradle
@@ -3,7 +3,7 @@
     apply plugin: "maven"
     apply plugin: "idea"
 
-    group = "com.google.net.stubby"
+    group = "io.grpc"
     version = "0.1.0-SNAPSHOT"
 
     sourceCompatibility = 1.6
diff --git a/compiler/run_test.sh b/compiler/run_test.sh
index 02d24c6..5f311ba 100755
--- a/compiler/run_test.sh
+++ b/compiler/run_test.sh
@@ -15,6 +15,6 @@
 protoc --plugin=protoc-gen-java_rpc=build/binaries/java_pluginExecutable/java_plugin \
   --java_rpc_out="$OUTPUT_FILE" --proto_path="$TEST_SRC_DIR" "$INPUT_FILE" && \
   unzip -o -d "$TEST_TMP_DIR" "$OUTPUT_FILE" && \
-  diff "$TEST_TMP_DIR/com/google/net/stubby/testing/integration/TestServiceGrpc.java" \
+  diff "$TEST_TMP_DIR/io/grpc/testing/integration/TestServiceGrpc.java" \
     "$GOLDEN_FILE" && \
   echo "PASS"
diff --git a/compiler/src/java_generator.cc b/compiler/src/java_generator.cc
index 43ea5a0..814bab0 100644
--- a/compiler/src/java_generator.cc
+++ b/compiler/src/java_generator.cc
@@ -470,11 +470,11 @@
     if (client_streaming) {
       (*vars)["calls_method"] = "asyncStreamingRequestCall";
       (*vars)["invocation_class"] =
-          "com.google.net.stubby.stub.ServerCalls.StreamingRequestMethod";
+          "io.grpc.stub.ServerCalls.StreamingRequestMethod";
     } else {
       (*vars)["calls_method"] = "asyncUnaryRequestCall";
       (*vars)["invocation_class"] =
-          "com.google.net.stubby.stub.ServerCalls.UnaryRequestMethod";
+          "io.grpc.stub.ServerCalls.UnaryRequestMethod";
     }
     p->Print(*vars, ".addMethod(createMethodDefinition(\n");
     p->Indent();
@@ -586,27 +586,27 @@
 void PrintImports(Printer* p) {
   p->Print(
       "import static "
-      "com.google.net.stubby.stub.Calls.createMethodDescriptor;\n"
+      "io.grpc.stub.Calls.createMethodDescriptor;\n"
       "import static "
-      "com.google.net.stubby.stub.Calls.asyncUnaryCall;\n"
+      "io.grpc.stub.Calls.asyncUnaryCall;\n"
       "import static "
-      "com.google.net.stubby.stub.Calls.asyncServerStreamingCall;\n"
+      "io.grpc.stub.Calls.asyncServerStreamingCall;\n"
       "import static "
-      "com.google.net.stubby.stub.Calls.asyncClientStreamingCall;\n"
+      "io.grpc.stub.Calls.asyncClientStreamingCall;\n"
       "import static "
-      "com.google.net.stubby.stub.Calls.duplexStreamingCall;\n"
+      "io.grpc.stub.Calls.duplexStreamingCall;\n"
       "import static "
-      "com.google.net.stubby.stub.Calls.blockingUnaryCall;\n"
+      "io.grpc.stub.Calls.blockingUnaryCall;\n"
       "import static "
-      "com.google.net.stubby.stub.Calls.blockingServerStreamingCall;\n"
+      "io.grpc.stub.Calls.blockingServerStreamingCall;\n"
       "import static "
-      "com.google.net.stubby.stub.Calls.unaryFutureCall;\n"
+      "io.grpc.stub.Calls.unaryFutureCall;\n"
       "import static "
-      "com.google.net.stubby.stub.ServerCalls.createMethodDefinition;\n"
+      "io.grpc.stub.ServerCalls.createMethodDefinition;\n"
       "import static "
-      "com.google.net.stubby.stub.ServerCalls.asyncUnaryRequestCall;\n"
+      "io.grpc.stub.ServerCalls.asyncUnaryRequestCall;\n"
       "import static "
-      "com.google.net.stubby.stub.ServerCalls.asyncStreamingRequestCall;\n\n");
+      "io.grpc.stub.ServerCalls.asyncStreamingRequestCall;\n\n");
 }
 
 void GenerateService(const ServiceDescriptor* service,
@@ -616,18 +616,18 @@
   map<string, string> vars;
   vars["String"] = "java.lang.String";
   vars["Override"] = "java.lang.Override";
-  vars["Channel"] = "com.google.net.stubby.Channel";
-  vars["MethodType"] = "com.google.net.stubby.MethodType";
+  vars["Channel"] = "io.grpc.Channel";
+  vars["MethodType"] = "io.grpc.MethodType";
   vars["ServerServiceDefinition"] =
-      "com.google.net.stubby.ServerServiceDefinition";
-  vars["AbstractStub"] = "com.google.net.stubby.stub.AbstractStub";
-  vars["Method"] = "com.google.net.stubby.stub.Method";
+      "io.grpc.ServerServiceDefinition";
+  vars["AbstractStub"] = "io.grpc.stub.AbstractStub";
+  vars["Method"] = "io.grpc.stub.Method";
   vars["AbstractServiceDescriptor"] =
-      "com.google.net.stubby.stub.AbstractServiceDescriptor";
+      "io.grpc.stub.AbstractServiceDescriptor";
   vars["ImmutableList"] = "com.google.common.collect.ImmutableList";
-  vars["MethodDescriptor"] = "com.google.net.stubby.MethodDescriptor";
-  vars["ProtoUtils"] = "com.google.net.stubby.proto.ProtoUtils";
-  vars["StreamObserver"] = "com.google.net.stubby.stub.StreamObserver";
+  vars["MethodDescriptor"] = "io.grpc.MethodDescriptor";
+  vars["ProtoUtils"] = "io.grpc.proto.ProtoUtils";
+  vars["StreamObserver"] = "io.grpc.stub.StreamObserver";
   vars["Iterator"] = "java.util.Iterator";
   vars["Map"] = "java.util.Map";
   vars["TimeUnit"] = "java.util.concurrent.TimeUnit";
diff --git a/compiler/test/TestService.java.txt b/compiler/test/TestService.java.txt
index 3ff993c..46f7116 100644
--- a/compiler/test/TestService.java.txt
+++ b/compiler/test/TestService.java.txt
@@ -1,62 +1,62 @@
-package com.google.net.stubby.testing.integration;
+package io.grpc.testing.integration;
 
-import static com.google.net.stubby.stub.Calls.createMethodDescriptor;
-import static com.google.net.stubby.stub.Calls.asyncUnaryCall;
-import static com.google.net.stubby.stub.Calls.asyncServerStreamingCall;
-import static com.google.net.stubby.stub.Calls.asyncClientStreamingCall;
-import static com.google.net.stubby.stub.Calls.duplexStreamingCall;
-import static com.google.net.stubby.stub.Calls.blockingUnaryCall;
-import static com.google.net.stubby.stub.Calls.blockingServerStreamingCall;
-import static com.google.net.stubby.stub.Calls.unaryFutureCall;
-import static com.google.net.stubby.stub.ServerCalls.createMethodDefinition;
-import static com.google.net.stubby.stub.ServerCalls.asyncUnaryRequestCall;
-import static com.google.net.stubby.stub.ServerCalls.asyncStreamingRequestCall;
+import static io.grpc.stub.Calls.createMethodDescriptor;
+import static io.grpc.stub.Calls.asyncUnaryCall;
+import static io.grpc.stub.Calls.asyncServerStreamingCall;
+import static io.grpc.stub.Calls.asyncClientStreamingCall;
+import static io.grpc.stub.Calls.duplexStreamingCall;
+import static io.grpc.stub.Calls.blockingUnaryCall;
+import static io.grpc.stub.Calls.blockingServerStreamingCall;
+import static io.grpc.stub.Calls.unaryFutureCall;
+import static io.grpc.stub.ServerCalls.createMethodDefinition;
+import static io.grpc.stub.ServerCalls.asyncUnaryRequestCall;
+import static io.grpc.stub.ServerCalls.asyncStreamingRequestCall;
 
 @javax.annotation.Generated("by gRPC proto compiler")
 public class TestServiceGrpc {
 
-  private static final com.google.net.stubby.stub.Method<com.google.net.stubby.testing.integration.Test.SimpleRequest,
-      com.google.net.stubby.testing.integration.Test.SimpleResponse> METHOD_UNARY_CALL =
-      com.google.net.stubby.stub.Method.create(
-          com.google.net.stubby.MethodType.UNARY, "UnaryCall",
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Test.SimpleRequest.PARSER),
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Test.SimpleResponse.PARSER));
-  private static final com.google.net.stubby.stub.Method<com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest,
-      com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse> METHOD_STREAMING_OUTPUT_CALL =
-      com.google.net.stubby.stub.Method.create(
-          com.google.net.stubby.MethodType.SERVER_STREAMING, "StreamingOutputCall",
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest.PARSER),
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse.PARSER));
-  private static final com.google.net.stubby.stub.Method<com.google.net.stubby.testing.integration.Test.StreamingInputCallRequest,
-      com.google.net.stubby.testing.integration.Test.StreamingInputCallResponse> METHOD_STREAMING_INPUT_CALL =
-      com.google.net.stubby.stub.Method.create(
-          com.google.net.stubby.MethodType.CLIENT_STREAMING, "StreamingInputCall",
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Test.StreamingInputCallRequest.PARSER),
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Test.StreamingInputCallResponse.PARSER));
-  private static final com.google.net.stubby.stub.Method<com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest,
-      com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse> METHOD_FULL_DUPLEX_CALL =
-      com.google.net.stubby.stub.Method.create(
-          com.google.net.stubby.MethodType.DUPLEX_STREAMING, "FullDuplexCall",
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest.PARSER),
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse.PARSER));
-  private static final com.google.net.stubby.stub.Method<com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest,
-      com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse> METHOD_HALF_DUPLEX_CALL =
-      com.google.net.stubby.stub.Method.create(
-          com.google.net.stubby.MethodType.DUPLEX_STREAMING, "HalfDuplexCall",
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest.PARSER),
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse.PARSER));
+  private static final io.grpc.stub.Method<io.grpc.testing.integration.Test.SimpleRequest,
+      io.grpc.testing.integration.Test.SimpleResponse> METHOD_UNARY_CALL =
+      io.grpc.stub.Method.create(
+          io.grpc.MethodType.UNARY, "UnaryCall",
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.SimpleRequest.PARSER),
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.SimpleResponse.PARSER));
+  private static final io.grpc.stub.Method<io.grpc.testing.integration.Test.StreamingOutputCallRequest,
+      io.grpc.testing.integration.Test.StreamingOutputCallResponse> METHOD_STREAMING_OUTPUT_CALL =
+      io.grpc.stub.Method.create(
+          io.grpc.MethodType.SERVER_STREAMING, "StreamingOutputCall",
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingOutputCallRequest.PARSER),
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingOutputCallResponse.PARSER));
+  private static final io.grpc.stub.Method<io.grpc.testing.integration.Test.StreamingInputCallRequest,
+      io.grpc.testing.integration.Test.StreamingInputCallResponse> METHOD_STREAMING_INPUT_CALL =
+      io.grpc.stub.Method.create(
+          io.grpc.MethodType.CLIENT_STREAMING, "StreamingInputCall",
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingInputCallRequest.PARSER),
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingInputCallResponse.PARSER));
+  private static final io.grpc.stub.Method<io.grpc.testing.integration.Test.StreamingOutputCallRequest,
+      io.grpc.testing.integration.Test.StreamingOutputCallResponse> METHOD_FULL_DUPLEX_CALL =
+      io.grpc.stub.Method.create(
+          io.grpc.MethodType.DUPLEX_STREAMING, "FullDuplexCall",
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingOutputCallRequest.PARSER),
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingOutputCallResponse.PARSER));
+  private static final io.grpc.stub.Method<io.grpc.testing.integration.Test.StreamingOutputCallRequest,
+      io.grpc.testing.integration.Test.StreamingOutputCallResponse> METHOD_HALF_DUPLEX_CALL =
+      io.grpc.stub.Method.create(
+          io.grpc.MethodType.DUPLEX_STREAMING, "HalfDuplexCall",
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingOutputCallRequest.PARSER),
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingOutputCallResponse.PARSER));
 
-  public static TestServiceStub newStub(com.google.net.stubby.Channel channel) {
+  public static TestServiceStub newStub(io.grpc.Channel channel) {
     return new TestServiceStub(channel, CONFIG);
   }
 
   public static TestServiceBlockingStub newBlockingStub(
-      com.google.net.stubby.Channel channel) {
+      io.grpc.Channel channel) {
     return new TestServiceBlockingStub(channel, CONFIG);
   }
 
   public static TestServiceFutureStub newFutureStub(
-      com.google.net.stubby.Channel channel) {
+      io.grpc.Channel channel) {
     return new TestServiceFutureStub(channel, CONFIG);
   }
 
@@ -65,17 +65,17 @@
 
   @javax.annotation.concurrent.Immutable
   public static class TestServiceServiceDescriptor extends
-      com.google.net.stubby.stub.AbstractServiceDescriptor<TestServiceServiceDescriptor> {
-    public final com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Test.SimpleRequest,
-        com.google.net.stubby.testing.integration.Test.SimpleResponse> unaryCall;
-    public final com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest,
-        com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse> streamingOutputCall;
-    public final com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Test.StreamingInputCallRequest,
-        com.google.net.stubby.testing.integration.Test.StreamingInputCallResponse> streamingInputCall;
-    public final com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest,
-        com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse> fullDuplexCall;
-    public final com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest,
-        com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse> halfDuplexCall;
+      io.grpc.stub.AbstractServiceDescriptor<TestServiceServiceDescriptor> {
+    public final io.grpc.MethodDescriptor<io.grpc.testing.integration.Test.SimpleRequest,
+        io.grpc.testing.integration.Test.SimpleResponse> unaryCall;
+    public final io.grpc.MethodDescriptor<io.grpc.testing.integration.Test.StreamingOutputCallRequest,
+        io.grpc.testing.integration.Test.StreamingOutputCallResponse> streamingOutputCall;
+    public final io.grpc.MethodDescriptor<io.grpc.testing.integration.Test.StreamingInputCallRequest,
+        io.grpc.testing.integration.Test.StreamingInputCallResponse> streamingInputCall;
+    public final io.grpc.MethodDescriptor<io.grpc.testing.integration.Test.StreamingOutputCallRequest,
+        io.grpc.testing.integration.Test.StreamingOutputCallResponse> fullDuplexCall;
+    public final io.grpc.MethodDescriptor<io.grpc.testing.integration.Test.StreamingOutputCallRequest,
+        io.grpc.testing.integration.Test.StreamingOutputCallResponse> halfDuplexCall;
 
     private TestServiceServiceDescriptor() {
       unaryCall = createMethodDescriptor(
@@ -91,33 +91,33 @@
     }
 
     private TestServiceServiceDescriptor(
-        java.util.Map<java.lang.String, com.google.net.stubby.MethodDescriptor<?, ?>> methodMap) {
-      unaryCall = (com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Test.SimpleRequest,
-          com.google.net.stubby.testing.integration.Test.SimpleResponse>) methodMap.get(
+        java.util.Map<java.lang.String, io.grpc.MethodDescriptor<?, ?>> methodMap) {
+      unaryCall = (io.grpc.MethodDescriptor<io.grpc.testing.integration.Test.SimpleRequest,
+          io.grpc.testing.integration.Test.SimpleResponse>) methodMap.get(
           CONFIG.unaryCall.getName());
-      streamingOutputCall = (com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest,
-          com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse>) methodMap.get(
+      streamingOutputCall = (io.grpc.MethodDescriptor<io.grpc.testing.integration.Test.StreamingOutputCallRequest,
+          io.grpc.testing.integration.Test.StreamingOutputCallResponse>) methodMap.get(
           CONFIG.streamingOutputCall.getName());
-      streamingInputCall = (com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Test.StreamingInputCallRequest,
-          com.google.net.stubby.testing.integration.Test.StreamingInputCallResponse>) methodMap.get(
+      streamingInputCall = (io.grpc.MethodDescriptor<io.grpc.testing.integration.Test.StreamingInputCallRequest,
+          io.grpc.testing.integration.Test.StreamingInputCallResponse>) methodMap.get(
           CONFIG.streamingInputCall.getName());
-      fullDuplexCall = (com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest,
-          com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse>) methodMap.get(
+      fullDuplexCall = (io.grpc.MethodDescriptor<io.grpc.testing.integration.Test.StreamingOutputCallRequest,
+          io.grpc.testing.integration.Test.StreamingOutputCallResponse>) methodMap.get(
           CONFIG.fullDuplexCall.getName());
-      halfDuplexCall = (com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest,
-          com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse>) methodMap.get(
+      halfDuplexCall = (io.grpc.MethodDescriptor<io.grpc.testing.integration.Test.StreamingOutputCallRequest,
+          io.grpc.testing.integration.Test.StreamingOutputCallResponse>) methodMap.get(
           CONFIG.halfDuplexCall.getName());
     }
 
     @java.lang.Override
     protected TestServiceServiceDescriptor build(
-        java.util.Map<java.lang.String, com.google.net.stubby.MethodDescriptor<?, ?>> methodMap) {
+        java.util.Map<java.lang.String, io.grpc.MethodDescriptor<?, ?>> methodMap) {
       return new TestServiceServiceDescriptor(methodMap);
     }
 
     @java.lang.Override
-    public com.google.common.collect.ImmutableList<com.google.net.stubby.MethodDescriptor<?, ?>> methods() {
-      return com.google.common.collect.ImmutableList.<com.google.net.stubby.MethodDescriptor<?, ?>>of(
+    public com.google.common.collect.ImmutableList<io.grpc.MethodDescriptor<?, ?>> methods() {
+      return com.google.common.collect.ImmutableList.<io.grpc.MethodDescriptor<?, ?>>of(
           unaryCall,
           streamingOutputCall,
           streamingInputCall,
@@ -128,198 +128,198 @@
 
   public static interface TestService {
 
-    public void unaryCall(com.google.net.stubby.testing.integration.Test.SimpleRequest request,
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.SimpleResponse> responseObserver);
+    public void unaryCall(io.grpc.testing.integration.Test.SimpleRequest request,
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.SimpleResponse> responseObserver);
 
-    public void streamingOutputCall(com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest request,
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse> responseObserver);
+    public void streamingOutputCall(io.grpc.testing.integration.Test.StreamingOutputCallRequest request,
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingOutputCallResponse> responseObserver);
 
-    public com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingInputCallRequest> streamingInputCall(
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingInputCallResponse> responseObserver);
+    public io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingInputCallRequest> streamingInputCall(
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingInputCallResponse> responseObserver);
 
-    public com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest> fullDuplexCall(
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse> responseObserver);
+    public io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingOutputCallRequest> fullDuplexCall(
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingOutputCallResponse> responseObserver);
 
-    public com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest> halfDuplexCall(
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse> responseObserver);
+    public io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingOutputCallRequest> halfDuplexCall(
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingOutputCallResponse> responseObserver);
   }
 
   public static interface TestServiceBlockingClient {
 
-    public com.google.net.stubby.testing.integration.Test.SimpleResponse unaryCall(com.google.net.stubby.testing.integration.Test.SimpleRequest request);
+    public io.grpc.testing.integration.Test.SimpleResponse unaryCall(io.grpc.testing.integration.Test.SimpleRequest request);
 
-    public java.util.Iterator<com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse> streamingOutputCall(
-        com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest request);
+    public java.util.Iterator<io.grpc.testing.integration.Test.StreamingOutputCallResponse> streamingOutputCall(
+        io.grpc.testing.integration.Test.StreamingOutputCallRequest request);
   }
 
   public static interface TestServiceFutureClient {
 
-    public com.google.common.util.concurrent.ListenableFuture<com.google.net.stubby.testing.integration.Test.SimpleResponse> unaryCall(
-        com.google.net.stubby.testing.integration.Test.SimpleRequest request);
+    public com.google.common.util.concurrent.ListenableFuture<io.grpc.testing.integration.Test.SimpleResponse> unaryCall(
+        io.grpc.testing.integration.Test.SimpleRequest request);
   }
 
   public static class TestServiceStub extends
-      com.google.net.stubby.stub.AbstractStub<TestServiceStub, TestServiceServiceDescriptor>
+      io.grpc.stub.AbstractStub<TestServiceStub, TestServiceServiceDescriptor>
       implements TestService {
-    private TestServiceStub(com.google.net.stubby.Channel channel,
+    private TestServiceStub(io.grpc.Channel channel,
         TestServiceServiceDescriptor config) {
       super(channel, config);
     }
 
     @java.lang.Override
-    protected TestServiceStub build(com.google.net.stubby.Channel channel,
+    protected TestServiceStub build(io.grpc.Channel channel,
         TestServiceServiceDescriptor config) {
       return new TestServiceStub(channel, config);
     }
 
     @java.lang.Override
-    public void unaryCall(com.google.net.stubby.testing.integration.Test.SimpleRequest request,
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.SimpleResponse> responseObserver) {
+    public void unaryCall(io.grpc.testing.integration.Test.SimpleRequest request,
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.SimpleResponse> responseObserver) {
       asyncUnaryCall(
           channel.newCall(config.unaryCall), request, responseObserver);
     }
 
     @java.lang.Override
-    public void streamingOutputCall(com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest request,
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse> responseObserver) {
+    public void streamingOutputCall(io.grpc.testing.integration.Test.StreamingOutputCallRequest request,
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingOutputCallResponse> responseObserver) {
       asyncServerStreamingCall(
           channel.newCall(config.streamingOutputCall), request, responseObserver);
     }
 
     @java.lang.Override
-    public com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingInputCallRequest> streamingInputCall(
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingInputCallResponse> responseObserver) {
+    public io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingInputCallRequest> streamingInputCall(
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingInputCallResponse> responseObserver) {
       return asyncClientStreamingCall(
           channel.newCall(config.streamingInputCall), responseObserver);
     }
 
     @java.lang.Override
-    public com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest> fullDuplexCall(
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse> responseObserver) {
+    public io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingOutputCallRequest> fullDuplexCall(
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingOutputCallResponse> responseObserver) {
       return duplexStreamingCall(
           channel.newCall(config.fullDuplexCall), responseObserver);
     }
 
     @java.lang.Override
-    public com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest> halfDuplexCall(
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse> responseObserver) {
+    public io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingOutputCallRequest> halfDuplexCall(
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingOutputCallResponse> responseObserver) {
       return duplexStreamingCall(
           channel.newCall(config.halfDuplexCall), responseObserver);
     }
   }
 
   public static class TestServiceBlockingStub extends
-      com.google.net.stubby.stub.AbstractStub<TestServiceBlockingStub, TestServiceServiceDescriptor>
+      io.grpc.stub.AbstractStub<TestServiceBlockingStub, TestServiceServiceDescriptor>
       implements TestServiceBlockingClient {
-    private TestServiceBlockingStub(com.google.net.stubby.Channel channel,
+    private TestServiceBlockingStub(io.grpc.Channel channel,
         TestServiceServiceDescriptor config) {
       super(channel, config);
     }
 
     @java.lang.Override
-    protected TestServiceBlockingStub build(com.google.net.stubby.Channel channel,
+    protected TestServiceBlockingStub build(io.grpc.Channel channel,
         TestServiceServiceDescriptor config) {
       return new TestServiceBlockingStub(channel, config);
     }
 
     @java.lang.Override
-    public com.google.net.stubby.testing.integration.Test.SimpleResponse unaryCall(com.google.net.stubby.testing.integration.Test.SimpleRequest request) {
+    public io.grpc.testing.integration.Test.SimpleResponse unaryCall(io.grpc.testing.integration.Test.SimpleRequest request) {
       return blockingUnaryCall(
           channel.newCall(config.unaryCall), request);
     }
 
     @java.lang.Override
-    public java.util.Iterator<com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse> streamingOutputCall(
-        com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest request) {
+    public java.util.Iterator<io.grpc.testing.integration.Test.StreamingOutputCallResponse> streamingOutputCall(
+        io.grpc.testing.integration.Test.StreamingOutputCallRequest request) {
       return blockingServerStreamingCall(
           channel.newCall(config.streamingOutputCall), request);
     }
   }
 
   public static class TestServiceFutureStub extends
-      com.google.net.stubby.stub.AbstractStub<TestServiceFutureStub, TestServiceServiceDescriptor>
+      io.grpc.stub.AbstractStub<TestServiceFutureStub, TestServiceServiceDescriptor>
       implements TestServiceFutureClient {
-    private TestServiceFutureStub(com.google.net.stubby.Channel channel,
+    private TestServiceFutureStub(io.grpc.Channel channel,
         TestServiceServiceDescriptor config) {
       super(channel, config);
     }
 
     @java.lang.Override
-    protected TestServiceFutureStub build(com.google.net.stubby.Channel channel,
+    protected TestServiceFutureStub build(io.grpc.Channel channel,
         TestServiceServiceDescriptor config) {
       return new TestServiceFutureStub(channel, config);
     }
 
     @java.lang.Override
-    public com.google.common.util.concurrent.ListenableFuture<com.google.net.stubby.testing.integration.Test.SimpleResponse> unaryCall(
-        com.google.net.stubby.testing.integration.Test.SimpleRequest request) {
+    public com.google.common.util.concurrent.ListenableFuture<io.grpc.testing.integration.Test.SimpleResponse> unaryCall(
+        io.grpc.testing.integration.Test.SimpleRequest request) {
       return unaryFutureCall(
           channel.newCall(config.unaryCall), request);
     }
   }
 
-  public static com.google.net.stubby.ServerServiceDefinition bindService(
+  public static io.grpc.ServerServiceDefinition bindService(
       final TestService serviceImpl) {
-    return com.google.net.stubby.ServerServiceDefinition.builder("grpc.testing.TestService")
+    return io.grpc.ServerServiceDefinition.builder("grpc.testing.TestService")
       .addMethod(createMethodDefinition(
           METHOD_UNARY_CALL,
           asyncUnaryRequestCall(
-            new com.google.net.stubby.stub.ServerCalls.UnaryRequestMethod<
-                com.google.net.stubby.testing.integration.Test.SimpleRequest,
-                com.google.net.stubby.testing.integration.Test.SimpleResponse>() {
+            new io.grpc.stub.ServerCalls.UnaryRequestMethod<
+                io.grpc.testing.integration.Test.SimpleRequest,
+                io.grpc.testing.integration.Test.SimpleResponse>() {
               @java.lang.Override
               public void invoke(
-                  com.google.net.stubby.testing.integration.Test.SimpleRequest request,
-                  com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.SimpleResponse> responseObserver) {
+                  io.grpc.testing.integration.Test.SimpleRequest request,
+                  io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.SimpleResponse> responseObserver) {
                 serviceImpl.unaryCall(request, responseObserver);
               }
             })))
       .addMethod(createMethodDefinition(
           METHOD_STREAMING_OUTPUT_CALL,
           asyncUnaryRequestCall(
-            new com.google.net.stubby.stub.ServerCalls.UnaryRequestMethod<
-                com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest,
-                com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse>() {
+            new io.grpc.stub.ServerCalls.UnaryRequestMethod<
+                io.grpc.testing.integration.Test.StreamingOutputCallRequest,
+                io.grpc.testing.integration.Test.StreamingOutputCallResponse>() {
               @java.lang.Override
               public void invoke(
-                  com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest request,
-                  com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse> responseObserver) {
+                  io.grpc.testing.integration.Test.StreamingOutputCallRequest request,
+                  io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingOutputCallResponse> responseObserver) {
                 serviceImpl.streamingOutputCall(request, responseObserver);
               }
             })))
       .addMethod(createMethodDefinition(
           METHOD_STREAMING_INPUT_CALL,
           asyncStreamingRequestCall(
-            new com.google.net.stubby.stub.ServerCalls.StreamingRequestMethod<
-                com.google.net.stubby.testing.integration.Test.StreamingInputCallRequest,
-                com.google.net.stubby.testing.integration.Test.StreamingInputCallResponse>() {
+            new io.grpc.stub.ServerCalls.StreamingRequestMethod<
+                io.grpc.testing.integration.Test.StreamingInputCallRequest,
+                io.grpc.testing.integration.Test.StreamingInputCallResponse>() {
               @java.lang.Override
-              public com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingInputCallRequest> invoke(
-                  com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingInputCallResponse> responseObserver) {
+              public io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingInputCallRequest> invoke(
+                  io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingInputCallResponse> responseObserver) {
                 return serviceImpl.streamingInputCall(responseObserver);
               }
             })))
       .addMethod(createMethodDefinition(
           METHOD_FULL_DUPLEX_CALL,
           asyncStreamingRequestCall(
-            new com.google.net.stubby.stub.ServerCalls.StreamingRequestMethod<
-                com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest,
-                com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse>() {
+            new io.grpc.stub.ServerCalls.StreamingRequestMethod<
+                io.grpc.testing.integration.Test.StreamingOutputCallRequest,
+                io.grpc.testing.integration.Test.StreamingOutputCallResponse>() {
               @java.lang.Override
-              public com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest> invoke(
-                  com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse> responseObserver) {
+              public io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingOutputCallRequest> invoke(
+                  io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingOutputCallResponse> responseObserver) {
                 return serviceImpl.fullDuplexCall(responseObserver);
               }
             })))
       .addMethod(createMethodDefinition(
           METHOD_HALF_DUPLEX_CALL,
           asyncStreamingRequestCall(
-            new com.google.net.stubby.stub.ServerCalls.StreamingRequestMethod<
-                com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest,
-                com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse>() {
+            new io.grpc.stub.ServerCalls.StreamingRequestMethod<
+                io.grpc.testing.integration.Test.StreamingOutputCallRequest,
+                io.grpc.testing.integration.Test.StreamingOutputCallResponse>() {
               @java.lang.Override
-              public com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingOutputCallRequest> invoke(
-                  com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Test.StreamingOutputCallResponse> responseObserver) {
+              public io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingOutputCallRequest> invoke(
+                  io.grpc.stub.StreamObserver<io.grpc.testing.integration.Test.StreamingOutputCallResponse> responseObserver) {
                 return serviceImpl.halfDuplexCall(responseObserver);
               }
             }))).build();
diff --git a/compiler/test/test.proto b/compiler/test/test.proto
index 1df34a5..c448036 100644
--- a/compiler/test/test.proto
+++ b/compiler/test/test.proto
@@ -3,7 +3,7 @@
 
 package grpc.testing;
 
-option java_package = "com.google.net.stubby.testing.integration";
+option java_package = "io.grpc.testing.integration";
 
 message SimpleRequest {
 }
diff --git a/core/build.gradle b/core/build.gradle
index 46948c8..4b2e196 100644
--- a/core/build.gradle
+++ b/core/build.gradle
@@ -2,7 +2,7 @@
     id "be.insaneprogramming.gradle.animalsniffer" version "1.4.0"
 }
 
-description = 'Stubby: Core'
+description = 'gRPC: Core'
 
 dependencies {
     compile libraries.protobuf,
diff --git a/core/src/main/java/com/google/net/stubby/AbstractChannelBuilder.java b/core/src/main/java/io/grpc/AbstractChannelBuilder.java
similarity index 96%
rename from core/src/main/java/com/google/net/stubby/AbstractChannelBuilder.java
rename to core/src/main/java/io/grpc/AbstractChannelBuilder.java
index 16b9d52..070a157 100644
--- a/core/src/main/java/com/google/net/stubby/AbstractChannelBuilder.java
+++ b/core/src/main/java/io/grpc/AbstractChannelBuilder.java
@@ -29,12 +29,13 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
-import com.google.net.stubby.SharedResourceHolder.Resource;
-import com.google.net.stubby.transport.ClientTransportFactory;
+
+import io.grpc.SharedResourceHolder.Resource;
+import io.grpc.transport.ClientTransportFactory;
 
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
diff --git a/core/src/main/java/com/google/net/stubby/AbstractServerBuilder.java b/core/src/main/java/io/grpc/AbstractServerBuilder.java
similarity index 96%
rename from core/src/main/java/com/google/net/stubby/AbstractServerBuilder.java
rename to core/src/main/java/io/grpc/AbstractServerBuilder.java
index 09d9346..4f592bb 100644
--- a/core/src/main/java/com/google/net/stubby/AbstractServerBuilder.java
+++ b/core/src/main/java/io/grpc/AbstractServerBuilder.java
@@ -29,13 +29,14 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
-import static com.google.net.stubby.AbstractChannelBuilder.DEFAULT_EXECUTOR;
+import static io.grpc.AbstractChannelBuilder.DEFAULT_EXECUTOR;
 
 import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.Service;
-import com.google.net.stubby.transport.ServerListener;
+
+import io.grpc.transport.ServerListener;
 
 import java.util.concurrent.ExecutorService;
 
diff --git a/core/src/main/java/com/google/net/stubby/Call.java b/core/src/main/java/io/grpc/Call.java
similarity index 99%
rename from core/src/main/java/com/google/net/stubby/Call.java
rename to core/src/main/java/io/grpc/Call.java
index 61ba2a8..7ea5d3b 100644
--- a/core/src/main/java/com/google/net/stubby/Call.java
+++ b/core/src/main/java/io/grpc/Call.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 
 /**
diff --git a/core/src/main/java/com/google/net/stubby/Channel.java b/core/src/main/java/io/grpc/Channel.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/Channel.java
rename to core/src/main/java/io/grpc/Channel.java
index 19cc935..34d05a8 100644
--- a/core/src/main/java/com/google/net/stubby/Channel.java
+++ b/core/src/main/java/io/grpc/Channel.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import javax.annotation.concurrent.ThreadSafe;
 
diff --git a/core/src/main/java/com/google/net/stubby/ChannelImpl.java b/core/src/main/java/io/grpc/ChannelImpl.java
similarity index 97%
rename from core/src/main/java/com/google/net/stubby/ChannelImpl.java
rename to core/src/main/java/io/grpc/ChannelImpl.java
index d6a17c2..b8a654f 100644
--- a/core/src/main/java/com/google/net/stubby/ChannelImpl.java
+++ b/core/src/main/java/io/grpc/ChannelImpl.java
@@ -29,17 +29,18 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import com.google.common.base.Preconditions;
 import com.google.common.base.Throwables;
 import com.google.common.util.concurrent.MoreExecutors;
 import com.google.common.util.concurrent.Service.Listener;
 import com.google.common.util.concurrent.Service.State;
-import com.google.net.stubby.transport.ClientStream;
-import com.google.net.stubby.transport.ClientStreamListener;
-import com.google.net.stubby.transport.ClientTransport;
-import com.google.net.stubby.transport.ClientTransportFactory;
+
+import io.grpc.transport.ClientStream;
+import io.grpc.transport.ClientStreamListener;
+import io.grpc.transport.ClientTransport;
+import io.grpc.transport.ClientTransportFactory;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/core/src/main/java/com/google/net/stubby/ClientInterceptor.java b/core/src/main/java/io/grpc/ClientInterceptor.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/ClientInterceptor.java
rename to core/src/main/java/io/grpc/ClientInterceptor.java
index a51c3f7..1a44a51 100644
--- a/core/src/main/java/com/google/net/stubby/ClientInterceptor.java
+++ b/core/src/main/java/io/grpc/ClientInterceptor.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import javax.annotation.concurrent.ThreadSafe;
 
diff --git a/core/src/main/java/com/google/net/stubby/ClientInterceptors.java b/core/src/main/java/io/grpc/ClientInterceptors.java
similarity index 96%
rename from core/src/main/java/com/google/net/stubby/ClientInterceptors.java
rename to core/src/main/java/io/grpc/ClientInterceptors.java
index 1e0248b..787c464 100644
--- a/core/src/main/java/com/google/net/stubby/ClientInterceptors.java
+++ b/core/src/main/java/io/grpc/ClientInterceptors.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
@@ -142,8 +142,8 @@
   }
 
   /**
-   * A {@link com.google.net.stubby.Call.Listener} which forwards all of its methods to another
-   * {@link com.google.net.stubby.Call.Listener}.
+   * A {@link io.grpc.Call.Listener} which forwards all of its methods to another
+   * {@link io.grpc.Call.Listener}.
    */
   public static class ForwardingListener<T> extends Call.Listener<T> {
 
diff --git a/core/src/main/java/com/google/net/stubby/DeferredInputStream.java b/core/src/main/java/io/grpc/DeferredInputStream.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/DeferredInputStream.java
rename to core/src/main/java/io/grpc/DeferredInputStream.java
index f58023e..152bb73 100644
--- a/core/src/main/java/com/google/net/stubby/DeferredInputStream.java
+++ b/core/src/main/java/io/grpc/DeferredInputStream.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/core/src/main/java/com/google/net/stubby/GrpcFramingUtil.java b/core/src/main/java/io/grpc/GrpcFramingUtil.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/GrpcFramingUtil.java
rename to core/src/main/java/io/grpc/GrpcFramingUtil.java
index bdf2a99..cd80566 100644
--- a/core/src/main/java/com/google/net/stubby/GrpcFramingUtil.java
+++ b/core/src/main/java/io/grpc/GrpcFramingUtil.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 /**
  * Common constants and utilities for GRPC protocol framing.
diff --git a/core/src/main/java/com/google/net/stubby/HandlerRegistry.java b/core/src/main/java/io/grpc/HandlerRegistry.java
similarity index 94%
rename from core/src/main/java/com/google/net/stubby/HandlerRegistry.java
rename to core/src/main/java/io/grpc/HandlerRegistry.java
index 9a4f2e8..c49d709 100644
--- a/core/src/main/java/com/google/net/stubby/HandlerRegistry.java
+++ b/core/src/main/java/io/grpc/HandlerRegistry.java
@@ -29,10 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
-
-import com.google.net.stubby.ServerMethodDefinition;
-import com.google.net.stubby.ServerServiceDefinition;
+package io.grpc;
 
 import javax.annotation.Nullable;
 import javax.annotation.concurrent.ThreadSafe;
diff --git a/core/src/main/java/com/google/net/stubby/Marshaller.java b/core/src/main/java/io/grpc/Marshaller.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/Marshaller.java
rename to core/src/main/java/io/grpc/Marshaller.java
index 12c8166..707560c 100644
--- a/core/src/main/java/com/google/net/stubby/Marshaller.java
+++ b/core/src/main/java/io/grpc/Marshaller.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import java.io.InputStream;
 
diff --git a/core/src/main/java/com/google/net/stubby/Metadata.java b/core/src/main/java/io/grpc/Metadata.java
similarity index 99%
rename from core/src/main/java/com/google/net/stubby/Metadata.java
rename to core/src/main/java/io/grpc/Metadata.java
index 6883adb..41ad08e 100644
--- a/core/src/main/java/com/google/net/stubby/Metadata.java
+++ b/core/src/main/java/io/grpc/Metadata.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import static com.google.common.base.Charsets.US_ASCII;
 
diff --git a/core/src/main/java/com/google/net/stubby/MethodDescriptor.java b/core/src/main/java/io/grpc/MethodDescriptor.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/MethodDescriptor.java
rename to core/src/main/java/io/grpc/MethodDescriptor.java
index 5a7759b..8acba1d 100644
--- a/core/src/main/java/com/google/net/stubby/MethodDescriptor.java
+++ b/core/src/main/java/io/grpc/MethodDescriptor.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import com.google.common.base.Preconditions;
 
diff --git a/core/src/main/java/com/google/net/stubby/MethodType.java b/core/src/main/java/io/grpc/MethodType.java
similarity index 97%
rename from core/src/main/java/com/google/net/stubby/MethodType.java
rename to core/src/main/java/io/grpc/MethodType.java
index 85c04ff..396c872 100644
--- a/core/src/main/java/com/google/net/stubby/MethodType.java
+++ b/core/src/main/java/io/grpc/MethodType.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 /**
  * The call type of a method.
diff --git a/core/src/main/java/com/google/net/stubby/MutableHandlerRegistry.java b/core/src/main/java/io/grpc/MutableHandlerRegistry.java
similarity index 95%
rename from core/src/main/java/com/google/net/stubby/MutableHandlerRegistry.java
rename to core/src/main/java/io/grpc/MutableHandlerRegistry.java
index 57a581f..9e58e12 100644
--- a/core/src/main/java/com/google/net/stubby/MutableHandlerRegistry.java
+++ b/core/src/main/java/io/grpc/MutableHandlerRegistry.java
@@ -29,9 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
-
-import com.google.net.stubby.ServerServiceDefinition;
+package io.grpc;
 
 import javax.annotation.Nullable;
 import javax.annotation.concurrent.ThreadSafe;
diff --git a/core/src/main/java/com/google/net/stubby/MutableHandlerRegistryImpl.java b/core/src/main/java/io/grpc/MutableHandlerRegistryImpl.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/MutableHandlerRegistryImpl.java
rename to core/src/main/java/io/grpc/MutableHandlerRegistryImpl.java
index 217b1c0..6412093 100644
--- a/core/src/main/java/com/google/net/stubby/MutableHandlerRegistryImpl.java
+++ b/core/src/main/java/io/grpc/MutableHandlerRegistryImpl.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
diff --git a/core/src/main/java/com/google/net/stubby/SerializingExecutor.java b/core/src/main/java/io/grpc/SerializingExecutor.java
similarity index 99%
rename from core/src/main/java/com/google/net/stubby/SerializingExecutor.java
rename to core/src/main/java/io/grpc/SerializingExecutor.java
index d70a217..17f1c2f 100644
--- a/core/src/main/java/com/google/net/stubby/SerializingExecutor.java
+++ b/core/src/main/java/io/grpc/SerializingExecutor.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import com.google.common.base.Preconditions;
 
diff --git a/core/src/main/java/com/google/net/stubby/Server.java b/core/src/main/java/io/grpc/Server.java
similarity index 97%
rename from core/src/main/java/com/google/net/stubby/Server.java
rename to core/src/main/java/io/grpc/Server.java
index fbc2e94..34f70b0 100644
--- a/core/src/main/java/com/google/net/stubby/Server.java
+++ b/core/src/main/java/io/grpc/Server.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import javax.annotation.concurrent.ThreadSafe;
 
diff --git a/core/src/main/java/com/google/net/stubby/ServerCall.java b/core/src/main/java/io/grpc/ServerCall.java
similarity index 99%
rename from core/src/main/java/com/google/net/stubby/ServerCall.java
rename to core/src/main/java/io/grpc/ServerCall.java
index 8efdb2b..185cb1f 100644
--- a/core/src/main/java/com/google/net/stubby/ServerCall.java
+++ b/core/src/main/java/io/grpc/ServerCall.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 
 /**
diff --git a/core/src/main/java/com/google/net/stubby/ServerCallHandler.java b/core/src/main/java/io/grpc/ServerCallHandler.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/ServerCallHandler.java
rename to core/src/main/java/io/grpc/ServerCallHandler.java
index ca1759d..ab767cb 100644
--- a/core/src/main/java/com/google/net/stubby/ServerCallHandler.java
+++ b/core/src/main/java/io/grpc/ServerCallHandler.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import javax.annotation.concurrent.ThreadSafe;
 
diff --git a/core/src/main/java/com/google/net/stubby/ServerImpl.java b/core/src/main/java/io/grpc/ServerImpl.java
similarity index 97%
rename from core/src/main/java/com/google/net/stubby/ServerImpl.java
rename to core/src/main/java/io/grpc/ServerImpl.java
index 5883d48..3288f62 100644
--- a/core/src/main/java/com/google/net/stubby/ServerImpl.java
+++ b/core/src/main/java/io/grpc/ServerImpl.java
@@ -29,21 +29,21 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import com.google.common.base.Preconditions;
 import com.google.common.base.Throwables;
 import com.google.common.util.concurrent.MoreExecutors;
 import com.google.common.util.concurrent.Service;
-import com.google.net.stubby.transport.ServerListener;
-import com.google.net.stubby.transport.ServerStream;
-import com.google.net.stubby.transport.ServerStreamListener;
-import com.google.net.stubby.transport.ServerTransportListener;
+
+import io.grpc.transport.ServerListener;
+import io.grpc.transport.ServerStream;
+import io.grpc.transport.ServerStreamListener;
+import io.grpc.transport.ServerTransportListener;
 
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.HashSet;
 import java.util.concurrent.Executor;
 import java.util.concurrent.TimeUnit;
diff --git a/core/src/main/java/com/google/net/stubby/ServerInterceptor.java b/core/src/main/java/io/grpc/ServerInterceptor.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/ServerInterceptor.java
rename to core/src/main/java/io/grpc/ServerInterceptor.java
index 7232162..7f9cb37 100644
--- a/core/src/main/java/com/google/net/stubby/ServerInterceptor.java
+++ b/core/src/main/java/io/grpc/ServerInterceptor.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import javax.annotation.concurrent.ThreadSafe;
 
diff --git a/core/src/main/java/com/google/net/stubby/ServerInterceptors.java b/core/src/main/java/io/grpc/ServerInterceptors.java
similarity index 99%
rename from core/src/main/java/com/google/net/stubby/ServerInterceptors.java
rename to core/src/main/java/io/grpc/ServerInterceptors.java
index 8401c09..ad74fce 100644
--- a/core/src/main/java/com/google/net/stubby/ServerInterceptors.java
+++ b/core/src/main/java/io/grpc/ServerInterceptors.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
diff --git a/core/src/main/java/com/google/net/stubby/ServerMethodDefinition.java b/core/src/main/java/io/grpc/ServerMethodDefinition.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/ServerMethodDefinition.java
rename to core/src/main/java/io/grpc/ServerMethodDefinition.java
index 0ad91b6..be94639 100644
--- a/core/src/main/java/com/google/net/stubby/ServerMethodDefinition.java
+++ b/core/src/main/java/io/grpc/ServerMethodDefinition.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import java.io.InputStream;
 
diff --git a/core/src/main/java/com/google/net/stubby/ServerServiceDefinition.java b/core/src/main/java/io/grpc/ServerServiceDefinition.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/ServerServiceDefinition.java
rename to core/src/main/java/io/grpc/ServerServiceDefinition.java
index 1920930..280ee51 100644
--- a/core/src/main/java/com/google/net/stubby/ServerServiceDefinition.java
+++ b/core/src/main/java/io/grpc/ServerServiceDefinition.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
diff --git a/core/src/main/java/com/google/net/stubby/SharedResourceHolder.java b/core/src/main/java/io/grpc/SharedResourceHolder.java
similarity index 99%
rename from core/src/main/java/com/google/net/stubby/SharedResourceHolder.java
rename to core/src/main/java/io/grpc/SharedResourceHolder.java
index af4834e..504e18a 100644
--- a/core/src/main/java/com/google/net/stubby/SharedResourceHolder.java
+++ b/core/src/main/java/io/grpc/SharedResourceHolder.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import com.google.common.base.Preconditions;
 
diff --git a/core/src/main/java/com/google/net/stubby/Status.java b/core/src/main/java/io/grpc/Status.java
similarity index 99%
rename from core/src/main/java/com/google/net/stubby/Status.java
rename to core/src/main/java/io/grpc/Status.java
index 6ad880d..5566ba1 100644
--- a/core/src/main/java/com/google/net/stubby/Status.java
+++ b/core/src/main/java/io/grpc/Status.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import com.google.common.base.MoreObjects;
 import com.google.common.base.Objects;
diff --git a/core/src/main/java/com/google/net/stubby/proto/DeferredProtoInputStream.java b/core/src/main/java/io/grpc/proto/DeferredProtoInputStream.java
similarity index 95%
rename from core/src/main/java/com/google/net/stubby/proto/DeferredProtoInputStream.java
rename to core/src/main/java/io/grpc/proto/DeferredProtoInputStream.java
index 2776d5b..dbdc829 100644
--- a/core/src/main/java/com/google/net/stubby/proto/DeferredProtoInputStream.java
+++ b/core/src/main/java/io/grpc/proto/DeferredProtoInputStream.java
@@ -29,13 +29,14 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.proto;
+package io.grpc.proto;
 
 import com.google.common.io.ByteStreams;
-import com.google.net.stubby.DeferredInputStream;
 import com.google.protobuf.CodedOutputStream;
 import com.google.protobuf.MessageLite;
 
+import io.grpc.DeferredInputStream;
+
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.OutputStream;
@@ -43,7 +44,7 @@
 import javax.annotation.Nullable;
 
 /**
- * Implementation of {@link com.google.net.stubby.DeferredInputStream} backed by a protobuf.
+ * Implementation of {@link io.grpc.DeferredInputStream} backed by a protobuf.
  */
 public class DeferredProtoInputStream extends DeferredInputStream<MessageLite> {
 
diff --git a/core/src/main/java/com/google/net/stubby/proto/ProtoUtils.java b/core/src/main/java/io/grpc/proto/ProtoUtils.java
similarity index 95%
rename from core/src/main/java/com/google/net/stubby/proto/ProtoUtils.java
rename to core/src/main/java/io/grpc/proto/ProtoUtils.java
index 0fdc58b..a6498bb 100644
--- a/core/src/main/java/com/google/net/stubby/proto/ProtoUtils.java
+++ b/core/src/main/java/io/grpc/proto/ProtoUtils.java
@@ -29,16 +29,17 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.proto;
+package io.grpc.proto;
 
-import com.google.net.stubby.Marshaller;
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.Status;
 import com.google.protobuf.InvalidProtocolBufferException;
 import com.google.protobuf.Message;
 import com.google.protobuf.MessageLite;
 import com.google.protobuf.Parser;
 
+import io.grpc.Marshaller;
+import io.grpc.Metadata;
+import io.grpc.Status;
+
 import java.io.InputStream;
 
 /**
diff --git a/core/src/main/java/com/google/net/stubby/transport/AbstractBuffer.java b/core/src/main/java/io/grpc/transport/AbstractBuffer.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/transport/AbstractBuffer.java
rename to core/src/main/java/io/grpc/transport/AbstractBuffer.java
index ddf234b..c7c9039 100644
--- a/core/src/main/java/com/google/net/stubby/transport/AbstractBuffer.java
+++ b/core/src/main/java/io/grpc/transport/AbstractBuffer.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 /**
  * Abstract base class for {@link Buffer} implementations.
diff --git a/core/src/main/java/com/google/net/stubby/transport/AbstractClientStream.java b/core/src/main/java/io/grpc/transport/AbstractClientStream.java
similarity index 97%
rename from core/src/main/java/com/google/net/stubby/transport/AbstractClientStream.java
rename to core/src/main/java/io/grpc/transport/AbstractClientStream.java
index 3cf17ef..40b366c 100644
--- a/core/src/main/java/com/google/net/stubby/transport/AbstractClientStream.java
+++ b/core/src/main/java/io/grpc/transport/AbstractClientStream.java
@@ -29,12 +29,13 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import com.google.common.base.MoreObjects;
 import com.google.common.base.Preconditions;
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.Status;
+
+import io.grpc.Metadata;
+import io.grpc.Status;
 
 import java.io.InputStream;
 import java.nio.ByteBuffer;
@@ -98,7 +99,7 @@
    * Called by transport implementations when they receive headers. When receiving headers
    * a transport may determine that there is an error in the protocol at this phase which is
    * why this method takes an error {@link Status}. If a transport reports an
-   * {@link com.google.net.stubby.Status.Code#INTERNAL} error
+   * {@link io.grpc.Status.Code#INTERNAL} error
    *
    * @param headers the parsed headers
    */
diff --git a/core/src/main/java/com/google/net/stubby/transport/AbstractClientTransport.java b/core/src/main/java/io/grpc/transport/AbstractClientTransport.java
similarity index 95%
rename from core/src/main/java/com/google/net/stubby/transport/AbstractClientTransport.java
rename to core/src/main/java/io/grpc/transport/AbstractClientTransport.java
index 0a1b076..d26f75e 100644
--- a/core/src/main/java/com/google/net/stubby/transport/AbstractClientTransport.java
+++ b/core/src/main/java/io/grpc/transport/AbstractClientTransport.java
@@ -29,12 +29,13 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.AbstractService;
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.MethodDescriptor;
+
+import io.grpc.Metadata;
+import io.grpc.MethodDescriptor;
 
 /**
  * Abstract base class for all {@link ClientTransport} implementations. Implements the
diff --git a/core/src/main/java/com/google/net/stubby/transport/AbstractServerStream.java b/core/src/main/java/io/grpc/transport/AbstractServerStream.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/transport/AbstractServerStream.java
rename to core/src/main/java/io/grpc/transport/AbstractServerStream.java
index ab1c9a6..62a3902 100644
--- a/core/src/main/java/com/google/net/stubby/transport/AbstractServerStream.java
+++ b/core/src/main/java/io/grpc/transport/AbstractServerStream.java
@@ -29,11 +29,12 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import com.google.common.base.Preconditions;
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.Status;
+
+import io.grpc.Metadata;
+import io.grpc.Status;
 
 import java.io.InputStream;
 import java.nio.ByteBuffer;
diff --git a/core/src/main/java/com/google/net/stubby/transport/AbstractStream.java b/core/src/main/java/io/grpc/transport/AbstractStream.java
similarity index 99%
rename from core/src/main/java/com/google/net/stubby/transport/AbstractStream.java
rename to core/src/main/java/io/grpc/transport/AbstractStream.java
index 8959408..3c0d794 100644
--- a/core/src/main/java/com/google/net/stubby/transport/AbstractStream.java
+++ b/core/src/main/java/io/grpc/transport/AbstractStream.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.MoreObjects;
diff --git a/core/src/main/java/com/google/net/stubby/transport/Buffer.java b/core/src/main/java/io/grpc/transport/Buffer.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/transport/Buffer.java
rename to core/src/main/java/io/grpc/transport/Buffer.java
index d387988..211de4e 100644
--- a/core/src/main/java/com/google/net/stubby/transport/Buffer.java
+++ b/core/src/main/java/io/grpc/transport/Buffer.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import java.io.Closeable;
 import java.io.IOException;
diff --git a/core/src/main/java/com/google/net/stubby/transport/Buffers.java b/core/src/main/java/io/grpc/transport/Buffers.java
similarity index 99%
rename from core/src/main/java/com/google/net/stubby/transport/Buffers.java
rename to core/src/main/java/io/grpc/transport/Buffers.java
index bd8a487..7655d00 100644
--- a/core/src/main/java/com/google/net/stubby/transport/Buffers.java
+++ b/core/src/main/java/io/grpc/transport/Buffers.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import static com.google.common.base.Charsets.UTF_8;
 
diff --git a/core/src/main/java/com/google/net/stubby/transport/ClientStream.java b/core/src/main/java/io/grpc/transport/ClientStream.java
similarity index 97%
rename from core/src/main/java/com/google/net/stubby/transport/ClientStream.java
rename to core/src/main/java/io/grpc/transport/ClientStream.java
index 188fc84..c3cddc2 100644
--- a/core/src/main/java/com/google/net/stubby/transport/ClientStream.java
+++ b/core/src/main/java/io/grpc/transport/ClientStream.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 /**
  * Extension of {@link Stream} to support client-side termination semantics.
diff --git a/core/src/main/java/com/google/net/stubby/transport/ClientStreamListener.java b/core/src/main/java/io/grpc/transport/ClientStreamListener.java
similarity index 90%
rename from core/src/main/java/com/google/net/stubby/transport/ClientStreamListener.java
rename to core/src/main/java/io/grpc/transport/ClientStreamListener.java
index 0ec84ce..62fb956 100644
--- a/core/src/main/java/com/google/net/stubby/transport/ClientStreamListener.java
+++ b/core/src/main/java/io/grpc/transport/ClientStreamListener.java
@@ -29,10 +29,10 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.Status;
+import io.grpc.Metadata;
+import io.grpc.Status;
 
 /** An observer of client-side stream events. */
 public interface ClientStreamListener extends StreamListener {
@@ -40,7 +40,7 @@
    * Called upon receiving all header information from the remote end-point. Note that transports
    * are not required to call this method if no header information is received, this would occur
    * when a stream immediately terminates with an error and only
-   * {@link #closed(com.google.net.stubby.Status, Metadata.Trailers)} is called.
+   * {@link #closed(io.grpc.Status, Metadata.Trailers)} is called.
    *
    * <p>This method should return quickly, as the same thread may be used to process other streams.
    *
@@ -50,7 +50,7 @@
 
   /**
    * Called when the stream is fully closed. {@link
-   * com.google.net.stubby.Status.Code#OK} is the only status code that is guaranteed
+   * io.grpc.Status.Code#OK} is the only status code that is guaranteed
    * to have been sent from the remote server. Any other status code may have been caused by
    * abnormal stream termination. This is guaranteed to always be the final call on a listener. No
    * further callbacks will be issued.
diff --git a/core/src/main/java/com/google/net/stubby/transport/ClientTransport.java b/core/src/main/java/io/grpc/transport/ClientTransport.java
similarity index 95%
rename from core/src/main/java/com/google/net/stubby/transport/ClientTransport.java
rename to core/src/main/java/io/grpc/transport/ClientTransport.java
index 09cb5bc..3ee98b1 100644
--- a/core/src/main/java/com/google/net/stubby/transport/ClientTransport.java
+++ b/core/src/main/java/io/grpc/transport/ClientTransport.java
@@ -29,11 +29,12 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import com.google.common.util.concurrent.Service;
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.MethodDescriptor;
+
+import io.grpc.Metadata;
+import io.grpc.MethodDescriptor;
 
 /**
  * The client-side transport encapsulating a single connection to a remote server. Allows creation
diff --git a/core/src/main/java/com/google/net/stubby/transport/ClientTransportFactory.java b/core/src/main/java/io/grpc/transport/ClientTransportFactory.java
similarity index 97%
rename from core/src/main/java/com/google/net/stubby/transport/ClientTransportFactory.java
rename to core/src/main/java/io/grpc/transport/ClientTransportFactory.java
index 7a341ab..f7853c8 100644
--- a/core/src/main/java/com/google/net/stubby/transport/ClientTransportFactory.java
+++ b/core/src/main/java/io/grpc/transport/ClientTransportFactory.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 /** Pre-configured factory for creating {@link ClientTransport} instances. */
 public interface ClientTransportFactory {
diff --git a/core/src/main/java/com/google/net/stubby/transport/CompositeBuffer.java b/core/src/main/java/io/grpc/transport/CompositeBuffer.java
similarity index 99%
rename from core/src/main/java/com/google/net/stubby/transport/CompositeBuffer.java
rename to core/src/main/java/io/grpc/transport/CompositeBuffer.java
index a2ad9c1..1923d7b 100644
--- a/core/src/main/java/com/google/net/stubby/transport/CompositeBuffer.java
+++ b/core/src/main/java/io/grpc/transport/CompositeBuffer.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import java.io.IOException;
 import java.io.OutputStream;
diff --git a/core/src/main/java/com/google/net/stubby/transport/ForwardingBuffer.java b/core/src/main/java/io/grpc/transport/ForwardingBuffer.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/transport/ForwardingBuffer.java
rename to core/src/main/java/io/grpc/transport/ForwardingBuffer.java
index 0296535..133b771 100644
--- a/core/src/main/java/com/google/net/stubby/transport/ForwardingBuffer.java
+++ b/core/src/main/java/io/grpc/transport/ForwardingBuffer.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import com.google.common.base.Preconditions;
 
diff --git a/core/src/main/java/com/google/net/stubby/transport/Http2ClientStream.java b/core/src/main/java/io/grpc/transport/Http2ClientStream.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/transport/Http2ClientStream.java
rename to core/src/main/java/io/grpc/transport/Http2ClientStream.java
index 9c8cdb1..711aa9b 100644
--- a/core/src/main/java/com/google/net/stubby/transport/Http2ClientStream.java
+++ b/core/src/main/java/io/grpc/transport/Http2ClientStream.java
@@ -29,12 +29,13 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import com.google.common.base.Charsets;
 import com.google.common.base.Preconditions;
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.Status;
+
+import io.grpc.Metadata;
+import io.grpc.Status;
 
 import java.nio.charset.Charset;
 
diff --git a/core/src/main/java/com/google/net/stubby/transport/HttpUtil.java b/core/src/main/java/io/grpc/transport/HttpUtil.java
similarity index 96%
rename from core/src/main/java/com/google/net/stubby/transport/HttpUtil.java
rename to core/src/main/java/io/grpc/transport/HttpUtil.java
index c60e79f..5c303a1 100644
--- a/core/src/main/java/com/google/net/stubby/transport/HttpUtil.java
+++ b/core/src/main/java/io/grpc/transport/HttpUtil.java
@@ -29,10 +29,10 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.Status;
+import io.grpc.Metadata;
+import io.grpc.Status;
 
 import java.net.HttpURLConnection;
 
diff --git a/core/src/main/java/com/google/net/stubby/transport/MessageDeframer.java b/core/src/main/java/io/grpc/transport/MessageDeframer.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/transport/MessageDeframer.java
rename to core/src/main/java/io/grpc/transport/MessageDeframer.java
index 42b5865..6a03f8d 100644
--- a/core/src/main/java/com/google/net/stubby/transport/MessageDeframer.java
+++ b/core/src/main/java/io/grpc/transport/MessageDeframer.java
@@ -29,11 +29,12 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import com.google.common.base.Preconditions;
 import com.google.common.io.ByteStreams;
-import com.google.net.stubby.Status;
+
+import io.grpc.Status;
 
 import java.io.ByteArrayInputStream;
 import java.io.Closeable;
diff --git a/core/src/main/java/com/google/net/stubby/transport/MessageFramer.java b/core/src/main/java/io/grpc/transport/MessageFramer.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/transport/MessageFramer.java
rename to core/src/main/java/io/grpc/transport/MessageFramer.java
index 66647de..6bc6683 100644
--- a/core/src/main/java/com/google/net/stubby/transport/MessageFramer.java
+++ b/core/src/main/java/io/grpc/transport/MessageFramer.java
@@ -29,11 +29,12 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import com.google.common.base.Preconditions;
 import com.google.common.io.ByteStreams;
-import com.google.net.stubby.DeferredInputStream;
+
+import io.grpc.DeferredInputStream;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
diff --git a/core/src/main/java/com/google/net/stubby/transport/ServerListener.java b/core/src/main/java/io/grpc/transport/ServerListener.java
similarity index 97%
rename from core/src/main/java/com/google/net/stubby/transport/ServerListener.java
rename to core/src/main/java/io/grpc/transport/ServerListener.java
index 05f02f3..43d793f 100644
--- a/core/src/main/java/com/google/net/stubby/transport/ServerListener.java
+++ b/core/src/main/java/io/grpc/transport/ServerListener.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import com.google.common.util.concurrent.Service;
 
diff --git a/core/src/main/java/com/google/net/stubby/transport/ServerStream.java b/core/src/main/java/io/grpc/transport/ServerStream.java
similarity index 91%
rename from core/src/main/java/com/google/net/stubby/transport/ServerStream.java
rename to core/src/main/java/io/grpc/transport/ServerStream.java
index 858dee3..28f4a3e 100644
--- a/core/src/main/java/com/google/net/stubby/transport/ServerStream.java
+++ b/core/src/main/java/io/grpc/transport/ServerStream.java
@@ -29,10 +29,10 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.Status;
+import io.grpc.Metadata;
+import io.grpc.Status;
 
 /**
  * Extension of {@link Stream} to support server-side termination semantics.
@@ -50,7 +50,7 @@
 
   /**
    * Closes the stream for both reading and writing. A status code of
-   * {@link com.google.net.stubby.Status.Code#OK} implies normal termination of the
+   * {@link io.grpc.Status.Code#OK} implies normal termination of the
    * stream. Any other value implies abnormal termination.
    *
    * @param status details of the closure
diff --git a/core/src/main/java/com/google/net/stubby/transport/ServerStreamListener.java b/core/src/main/java/io/grpc/transport/ServerStreamListener.java
similarity index 94%
rename from core/src/main/java/com/google/net/stubby/transport/ServerStreamListener.java
rename to core/src/main/java/io/grpc/transport/ServerStreamListener.java
index a524e50..63c69ea 100644
--- a/core/src/main/java/com/google/net/stubby/transport/ServerStreamListener.java
+++ b/core/src/main/java/io/grpc/transport/ServerStreamListener.java
@@ -29,9 +29,9 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
-import com.google.net.stubby.Status;
+import io.grpc.Status;
 
 /** An observer of server-side stream events. */
 public interface ServerStreamListener extends StreamListener {
@@ -45,7 +45,7 @@
 
   /**
    * Called when the stream is fully closed. A status code of {@link
-   * com.google.net.stubby.Status.Code#OK} implies normal termination of the stream.
+   * io.grpc.Status.Code#OK} implies normal termination of the stream.
    * Any other value implies abnormal termination. Since clients cannot send status, the passed
    * status is always library-generated and only is concerned with transport-level stream shutdown
    * (the call itself may have had a failing status, but if the stream terminated cleanly with the
diff --git a/core/src/main/java/com/google/net/stubby/transport/ServerTransportListener.java b/core/src/main/java/io/grpc/transport/ServerTransportListener.java
similarity index 95%
rename from core/src/main/java/com/google/net/stubby/transport/ServerTransportListener.java
rename to core/src/main/java/io/grpc/transport/ServerTransportListener.java
index 8485fef..9292422 100644
--- a/core/src/main/java/com/google/net/stubby/transport/ServerTransportListener.java
+++ b/core/src/main/java/io/grpc/transport/ServerTransportListener.java
@@ -29,9 +29,9 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
-import com.google.net.stubby.Metadata;
+import io.grpc.Metadata;
 
 /**
  * A observer of a server-side transport for stream creation events.
diff --git a/core/src/main/java/com/google/net/stubby/transport/Stream.java b/core/src/main/java/io/grpc/transport/Stream.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/transport/Stream.java
rename to core/src/main/java/io/grpc/transport/Stream.java
index 85c32cd..8253721 100644
--- a/core/src/main/java/com/google/net/stubby/transport/Stream.java
+++ b/core/src/main/java/io/grpc/transport/Stream.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import java.io.InputStream;
 
diff --git a/core/src/main/java/com/google/net/stubby/transport/StreamListener.java b/core/src/main/java/io/grpc/transport/StreamListener.java
similarity index 97%
rename from core/src/main/java/com/google/net/stubby/transport/StreamListener.java
rename to core/src/main/java/io/grpc/transport/StreamListener.java
index a38b51d..22513a7 100644
--- a/core/src/main/java/com/google/net/stubby/transport/StreamListener.java
+++ b/core/src/main/java/io/grpc/transport/StreamListener.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import java.io.InputStream;
 
diff --git a/core/src/main/java/com/google/net/stubby/transport/TransportFrameUtil.java b/core/src/main/java/io/grpc/transport/TransportFrameUtil.java
similarity index 98%
rename from core/src/main/java/com/google/net/stubby/transport/TransportFrameUtil.java
rename to core/src/main/java/io/grpc/transport/TransportFrameUtil.java
index 0f3d96e..e00fa3b 100644
--- a/core/src/main/java/com/google/net/stubby/transport/TransportFrameUtil.java
+++ b/core/src/main/java/io/grpc/transport/TransportFrameUtil.java
@@ -29,12 +29,13 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import static com.google.common.base.Charsets.US_ASCII;
 
 import com.google.common.io.BaseEncoding;
-import com.google.net.stubby.Metadata;
+
+import io.grpc.Metadata;
 
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git a/core/src/test/java/com/google/net/stubby/ClientInterceptorsTest.java b/core/src/test/java/io/grpc/ClientInterceptorsTest.java
similarity index 96%
rename from core/src/test/java/com/google/net/stubby/ClientInterceptorsTest.java
rename to core/src/test/java/io/grpc/ClientInterceptorsTest.java
index 22ce6d1..1bd2a26 100644
--- a/core/src/test/java/com/google/net/stubby/ClientInterceptorsTest.java
+++ b/core/src/test/java/io/grpc/ClientInterceptorsTest.java
@@ -29,21 +29,20 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertSame;
+import static org.mockito.Matchers.same;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.same;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.net.stubby.ClientInterceptors.ForwardingCall;
-import com.google.net.stubby.ClientInterceptors.ForwardingListener;
+import io.grpc.ClientInterceptors.ForwardingCall;
+import io.grpc.ClientInterceptors.ForwardingListener;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/core/src/test/java/com/google/net/stubby/MetadataTest.java b/core/src/test/java/io/grpc/MetadataTest.java
similarity index 99%
rename from core/src/test/java/com/google/net/stubby/MetadataTest.java
rename to core/src/test/java/io/grpc/MetadataTest.java
index 538c797..0febbb3 100644
--- a/core/src/test/java/com/google/net/stubby/MetadataTest.java
+++ b/core/src/test/java/io/grpc/MetadataTest.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import static com.google.common.base.Charsets.US_ASCII;
 import static com.google.common.base.Charsets.UTF_8;
diff --git a/core/src/test/java/com/google/net/stubby/MutableHandlerRegistryImplTest.java b/core/src/test/java/io/grpc/MutableHandlerRegistryImplTest.java
similarity index 96%
rename from core/src/test/java/com/google/net/stubby/MutableHandlerRegistryImplTest.java
rename to core/src/test/java/io/grpc/MutableHandlerRegistryImplTest.java
index 98df01a..1ad9dae 100644
--- a/core/src/test/java/com/google/net/stubby/MutableHandlerRegistryImplTest.java
+++ b/core/src/test/java/io/grpc/MutableHandlerRegistryImplTest.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -38,10 +38,7 @@
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
 
-import com.google.net.stubby.ServerMethodDefinition;
-import com.google.net.stubby.ServerCallHandler;
-import com.google.net.stubby.ServerServiceDefinition;
-import com.google.net.stubby.HandlerRegistry.Method;
+import io.grpc.HandlerRegistry.Method;
 
 import org.junit.After;
 import org.junit.Test;
diff --git a/core/src/test/java/com/google/net/stubby/ServerImplTest.java b/core/src/test/java/io/grpc/ServerImplTest.java
similarity index 97%
rename from core/src/test/java/com/google/net/stubby/ServerImplTest.java
rename to core/src/test/java/io/grpc/ServerImplTest.java
index e99e328..9f2ee53 100644
--- a/core/src/test/java/com/google/net/stubby/ServerImplTest.java
+++ b/core/src/test/java/io/grpc/ServerImplTest.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import static com.google.common.base.Charsets.UTF_8;
 import static org.junit.Assert.assertEquals;
@@ -49,9 +49,10 @@
 import com.google.common.io.ByteStreams;
 import com.google.common.util.concurrent.AbstractService;
 import com.google.common.util.concurrent.Service;
-import com.google.net.stubby.transport.ServerStream;
-import com.google.net.stubby.transport.ServerStreamListener;
-import com.google.net.stubby.transport.ServerTransportListener;
+
+import io.grpc.transport.ServerStream;
+import io.grpc.transport.ServerStreamListener;
+import io.grpc.transport.ServerTransportListener;
 
 import org.junit.After;
 import org.junit.Before;
@@ -60,7 +61,6 @@
 import org.junit.runners.JUnit4;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
-import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
 
 import java.io.ByteArrayInputStream;
diff --git a/core/src/test/java/com/google/net/stubby/ServerInterceptorsTest.java b/core/src/test/java/io/grpc/ServerInterceptorsTest.java
similarity index 98%
rename from core/src/test/java/com/google/net/stubby/ServerInterceptorsTest.java
rename to core/src/test/java/io/grpc/ServerInterceptorsTest.java
index 3248973..f3d7ba0 100644
--- a/core/src/test/java/com/google/net/stubby/ServerInterceptorsTest.java
+++ b/core/src/test/java/io/grpc/ServerInterceptorsTest.java
@@ -29,18 +29,18 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertSame;
+import static org.mockito.Matchers.same;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.same;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.verifyZeroInteractions;
 
-import com.google.net.stubby.Metadata.Headers;
+import io.grpc.Metadata.Headers;
 
 import org.junit.After;
 import org.junit.Before;
@@ -51,8 +51,8 @@
 import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
 
-import java.util.Arrays;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 /** Unit tests for {@link ServerInterceptors}. */
diff --git a/core/src/test/java/com/google/net/stubby/SharedResourceHolderTest.java b/core/src/test/java/io/grpc/SharedResourceHolderTest.java
similarity index 97%
rename from core/src/test/java/com/google/net/stubby/SharedResourceHolderTest.java
rename to core/src/test/java/io/grpc/SharedResourceHolderTest.java
index 4edf84f..0cb5873 100644
--- a/core/src/test/java/com/google/net/stubby/SharedResourceHolderTest.java
+++ b/core/src/test/java/io/grpc/SharedResourceHolderTest.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby;
+package io.grpc;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -38,13 +38,12 @@
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.anyLong;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyLong;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.timeout;
 import static org.mockito.Mockito.when;
 
-import com.google.net.stubby.SharedResourceHolder.Resource;
+import io.grpc.SharedResourceHolder.Resource;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/core/src/test/java/com/google/net/stubby/transport/AbstractBufferTest.java b/core/src/test/java/io/grpc/transport/AbstractBufferTest.java
similarity index 98%
rename from core/src/test/java/com/google/net/stubby/transport/AbstractBufferTest.java
rename to core/src/test/java/io/grpc/transport/AbstractBufferTest.java
index 9912bbf..c3c74a2 100644
--- a/core/src/test/java/com/google/net/stubby/transport/AbstractBufferTest.java
+++ b/core/src/test/java/io/grpc/transport/AbstractBufferTest.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import static org.junit.Assert.assertEquals;
 import static org.mockito.Mockito.when;
diff --git a/core/src/test/java/com/google/net/stubby/transport/BufferTestBase.java b/core/src/test/java/io/grpc/transport/BufferTestBase.java
similarity index 98%
rename from core/src/test/java/com/google/net/stubby/transport/BufferTestBase.java
rename to core/src/test/java/io/grpc/transport/BufferTestBase.java
index 30db10c..2695839 100644
--- a/core/src/test/java/com/google/net/stubby/transport/BufferTestBase.java
+++ b/core/src/test/java/io/grpc/transport/BufferTestBase.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import static com.google.common.base.Charsets.UTF_8;
 import static org.junit.Assert.assertEquals;
diff --git a/core/src/test/java/com/google/net/stubby/transport/BuffersArrayTest.java b/core/src/test/java/io/grpc/transport/BuffersArrayTest.java
similarity index 95%
rename from core/src/test/java/com/google/net/stubby/transport/BuffersArrayTest.java
rename to core/src/test/java/io/grpc/transport/BuffersArrayTest.java
index 17ba156..12fd859 100644
--- a/core/src/test/java/com/google/net/stubby/transport/BuffersArrayTest.java
+++ b/core/src/test/java/io/grpc/transport/BuffersArrayTest.java
@@ -29,10 +29,10 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import static com.google.common.base.Charsets.UTF_8;
-import static com.google.net.stubby.transport.Buffers.wrap;
+import static io.grpc.transport.Buffers.wrap;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
diff --git a/core/src/test/java/com/google/net/stubby/transport/BuffersByteBufferTest.java b/core/src/test/java/io/grpc/transport/BuffersByteBufferTest.java
similarity index 97%
rename from core/src/test/java/com/google/net/stubby/transport/BuffersByteBufferTest.java
rename to core/src/test/java/io/grpc/transport/BuffersByteBufferTest.java
index 4126b9c..9486c0f 100644
--- a/core/src/test/java/com/google/net/stubby/transport/BuffersByteBufferTest.java
+++ b/core/src/test/java/io/grpc/transport/BuffersByteBufferTest.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import static com.google.common.base.Charsets.UTF_8;
 
diff --git a/core/src/test/java/com/google/net/stubby/transport/CompositeBufferTest.java b/core/src/test/java/io/grpc/transport/CompositeBufferTest.java
similarity index 98%
rename from core/src/test/java/com/google/net/stubby/transport/CompositeBufferTest.java
rename to core/src/test/java/io/grpc/transport/CompositeBufferTest.java
index b63f00f..ba5d185 100644
--- a/core/src/test/java/com/google/net/stubby/transport/CompositeBufferTest.java
+++ b/core/src/test/java/io/grpc/transport/CompositeBufferTest.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import static com.google.common.base.Charsets.UTF_8;
 import static org.junit.Assert.assertEquals;
diff --git a/core/src/test/java/com/google/net/stubby/transport/MessageDeframerTest.java b/core/src/test/java/io/grpc/transport/MessageDeframerTest.java
similarity index 98%
rename from core/src/test/java/com/google/net/stubby/transport/MessageDeframerTest.java
rename to core/src/test/java/io/grpc/transport/MessageDeframerTest.java
index bab8f59..5baeef9 100644
--- a/core/src/test/java/com/google/net/stubby/transport/MessageDeframerTest.java
+++ b/core/src/test/java/io/grpc/transport/MessageDeframerTest.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -42,7 +42,8 @@
 
 import com.google.common.io.ByteStreams;
 import com.google.common.primitives.Bytes;
-import com.google.net.stubby.transport.MessageDeframer.Listener;
+
+import io.grpc.transport.MessageDeframer.Listener;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/core/src/test/java/com/google/net/stubby/transport/MessageFramerTest.java b/core/src/test/java/io/grpc/transport/MessageFramerTest.java
similarity index 99%
rename from core/src/test/java/com/google/net/stubby/transport/MessageFramerTest.java
rename to core/src/test/java/io/grpc/transport/MessageFramerTest.java
index a3812c5..801165e 100644
--- a/core/src/test/java/com/google/net/stubby/transport/MessageFramerTest.java
+++ b/core/src/test/java/io/grpc/transport/MessageFramerTest.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
diff --git a/core/src/test/java/com/google/net/stubby/transport/TransportFrameUtilTest.java b/core/src/test/java/io/grpc/transport/TransportFrameUtilTest.java
similarity index 95%
rename from core/src/test/java/com/google/net/stubby/transport/TransportFrameUtilTest.java
rename to core/src/test/java/io/grpc/transport/TransportFrameUtilTest.java
index dced747..0a9162d 100644
--- a/core/src/test/java/com/google/net/stubby/transport/TransportFrameUtilTest.java
+++ b/core/src/test/java/io/grpc/transport/TransportFrameUtilTest.java
@@ -29,20 +29,21 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport;
+package io.grpc.transport;
 
 import static com.google.common.base.Charsets.US_ASCII;
 import static com.google.common.base.Charsets.UTF_8;
-import static com.google.net.stubby.Metadata.ASCII_STRING_MARSHALLER;
+import static io.grpc.Metadata.ASCII_STRING_MARSHALLER;
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.fail;
 
 import com.google.common.io.BaseEncoding;
-import com.google.net.stubby.Metadata.BinaryMarshaller;
-import com.google.net.stubby.Metadata.Headers;
-import com.google.net.stubby.Metadata.Key;
+
+import io.grpc.Metadata.BinaryMarshaller;
+import io.grpc.Metadata.Headers;
+import io.grpc.Metadata.Key;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/examples/src/main/java/com/google/net/stubby/examples/MathClient.java b/examples/src/main/java/io/grpc/examples/MathClient.java
similarity index 96%
rename from examples/src/main/java/com/google/net/stubby/examples/MathClient.java
rename to examples/src/main/java/io/grpc/examples/MathClient.java
index aa4c7d8..a67469d 100644
--- a/examples/src/main/java/com/google/net/stubby/examples/MathClient.java
+++ b/examples/src/main/java/io/grpc/examples/MathClient.java
@@ -29,13 +29,9 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.examples;
+package io.grpc.examples;
 
 import com.google.common.util.concurrent.SettableFuture;
-import com.google.net.stubby.ChannelImpl;
-import com.google.net.stubby.stub.StreamObserver;
-import com.google.net.stubby.transport.netty.NegotiationType;
-import com.google.net.stubby.transport.netty.NettyChannelBuilder;
 import com.google.protos.net.stubby.examples.CalcGrpc;
 import com.google.protos.net.stubby.examples.CalcGrpc.CalcBlockingStub;
 import com.google.protos.net.stubby.examples.CalcGrpc.CalcStub;
@@ -44,6 +40,11 @@
 import com.google.protos.net.stubby.examples.Math.FibArgs;
 import com.google.protos.net.stubby.examples.Math.Num;
 
+import io.grpc.ChannelImpl;
+import io.grpc.stub.StreamObserver;
+import io.grpc.transport.netty.NegotiationType;
+import io.grpc.transport.netty.NettyChannelBuilder;
+
 import java.util.Iterator;
 import java.util.Random;
 import java.util.concurrent.CountDownLatch;
diff --git a/examples/src/main/java/com/google/net/stubby/examples/MathServer.java b/examples/src/main/java/io/grpc/examples/MathServer.java
similarity index 96%
rename from examples/src/main/java/com/google/net/stubby/examples/MathServer.java
rename to examples/src/main/java/io/grpc/examples/MathServer.java
index 8d71d35..49e1191 100644
--- a/examples/src/main/java/com/google/net/stubby/examples/MathServer.java
+++ b/examples/src/main/java/io/grpc/examples/MathServer.java
@@ -29,17 +29,18 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.examples;
+package io.grpc.examples;
 
-import com.google.net.stubby.ServerImpl;
-import com.google.net.stubby.stub.StreamObserver;
-import com.google.net.stubby.transport.netty.NettyServerBuilder;
 import com.google.protos.net.stubby.examples.CalcGrpc;
 import com.google.protos.net.stubby.examples.Math.DivArgs;
 import com.google.protos.net.stubby.examples.Math.DivReply;
 import com.google.protos.net.stubby.examples.Math.FibArgs;
 import com.google.protos.net.stubby.examples.Math.Num;
 
+import io.grpc.ServerImpl;
+import io.grpc.stub.StreamObserver;
+import io.grpc.transport.netty.NettyServerBuilder;
+
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
diff --git a/examples/src/main/java/com/google/net/stubby/examples/StockClient.java b/examples/src/main/java/io/grpc/examples/StockClient.java
similarity index 96%
rename from examples/src/main/java/com/google/net/stubby/examples/StockClient.java
rename to examples/src/main/java/io/grpc/examples/StockClient.java
index e984d12..e63c81a 100644
--- a/examples/src/main/java/com/google/net/stubby/examples/StockClient.java
+++ b/examples/src/main/java/io/grpc/examples/StockClient.java
@@ -29,18 +29,19 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.examples;
+package io.grpc.examples;
 
-import com.google.net.stubby.ChannelImpl;
-import com.google.net.stubby.stub.StreamObserver;
-import com.google.net.stubby.transport.netty.NegotiationType;
-import com.google.net.stubby.transport.netty.NettyChannelBuilder;
 import com.google.protos.net.stubby.examples.StockGrpc;
 import com.google.protos.net.stubby.examples.StockGrpc.StockBlockingStub;
 import com.google.protos.net.stubby.examples.StockGrpc.StockStub;
 import com.google.protos.net.stubby.examples.StockOuterClass.StockReply;
 import com.google.protos.net.stubby.examples.StockOuterClass.StockRequest;
 
+import io.grpc.ChannelImpl;
+import io.grpc.stub.StreamObserver;
+import io.grpc.transport.netty.NegotiationType;
+import io.grpc.transport.netty.NettyChannelBuilder;
+
 import java.util.Iterator;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
diff --git a/examples/src/main/java/com/google/net/stubby/examples/StockServer.java b/examples/src/main/java/io/grpc/examples/StockServer.java
similarity index 95%
rename from examples/src/main/java/com/google/net/stubby/examples/StockServer.java
rename to examples/src/main/java/io/grpc/examples/StockServer.java
index 445d0dd..4844f68 100644
--- a/examples/src/main/java/com/google/net/stubby/examples/StockServer.java
+++ b/examples/src/main/java/io/grpc/examples/StockServer.java
@@ -29,15 +29,16 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.examples;
+package io.grpc.examples;
 
-import com.google.net.stubby.ServerImpl;
-import com.google.net.stubby.stub.StreamObserver;
-import com.google.net.stubby.transport.netty.NettyServerBuilder;
 import com.google.protos.net.stubby.examples.StockGrpc;
 import com.google.protos.net.stubby.examples.StockOuterClass.StockReply;
 import com.google.protos.net.stubby.examples.StockOuterClass.StockRequest;
 
+import io.grpc.ServerImpl;
+import io.grpc.stub.StreamObserver;
+import io.grpc.transport.netty.NettyServerBuilder;
+
 import java.util.Random;
 
 /**
diff --git a/examples/src/main/proto/math.proto b/examples/src/main/proto/math.proto
index 6f821e0..264e312 100644
--- a/examples/src/main/proto/math.proto
+++ b/examples/src/main/proto/math.proto
@@ -1,6 +1,6 @@
 syntax = "proto2";
 
-package net.stubby.examples;
+package io.grpc.examples;
 option java_outer_classname = "Math";
 
 message DivArgs {
diff --git a/examples/src/main/proto/stock.proto b/examples/src/main/proto/stock.proto
index 4adafef..3b8d336 100644
--- a/examples/src/main/proto/stock.proto
+++ b/examples/src/main/proto/stock.proto
@@ -1,6 +1,6 @@
 syntax = "proto2";
 
-package net.stubby.examples;
+package io.grpc.examples;
 
 // Protocol type definitions
 message StockRequest {
diff --git a/integration-testing/build.gradle b/integration-testing/build.gradle
index 51d916a..9d8d00c 100644
--- a/integration-testing/build.gradle
+++ b/integration-testing/build.gradle
@@ -1,7 +1,7 @@
 apply plugin: 'protobuf'
 apply plugin:'application'
 
-description = "Stubby: Integration Testing"
+description = "gRPC: Integration Testing"
 
 // Add dependency on the protobuf plugin
 buildscript {
@@ -18,11 +18,11 @@
 }
 
 dependencies {
-    compile project(':stubby-core'),
-            project(':stubby-netty'),
-            project(':stubby-okhttp'),
-            project(':stubby-stub'),
-            project(':stubby-testing'),
+    compile project(':grpc-core'),
+            project(':grpc-netty'),
+            project(':grpc-okhttp'),
+            project(':grpc-stub'),
+            project(':grpc-testing'),
             libraries.junit,
             libraries.mockito
 
diff --git a/integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceGrpc.java b/integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceGrpc.java
deleted file mode 100644
index c60cce2..0000000
--- a/integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceGrpc.java
+++ /dev/null
@@ -1,382 +0,0 @@
-package com.google.net.stubby.testing.integration;
-
-import static com.google.net.stubby.stub.Calls.createMethodDescriptor;
-import static com.google.net.stubby.stub.Calls.asyncUnaryCall;
-import static com.google.net.stubby.stub.Calls.asyncServerStreamingCall;
-import static com.google.net.stubby.stub.Calls.asyncClientStreamingCall;
-import static com.google.net.stubby.stub.Calls.duplexStreamingCall;
-import static com.google.net.stubby.stub.Calls.blockingUnaryCall;
-import static com.google.net.stubby.stub.Calls.blockingServerStreamingCall;
-import static com.google.net.stubby.stub.Calls.unaryFutureCall;
-import static com.google.net.stubby.stub.ServerCalls.createMethodDefinition;
-import static com.google.net.stubby.stub.ServerCalls.asyncUnaryRequestCall;
-import static com.google.net.stubby.stub.ServerCalls.asyncStreamingRequestCall;
-
[email protected]("by gRPC proto compiler")
-public class TestServiceGrpc {
-
-  private static final com.google.net.stubby.stub.Method<com.google.protobuf.EmptyProtos.Empty,
-      com.google.protobuf.EmptyProtos.Empty> METHOD_EMPTY_CALL =
-      com.google.net.stubby.stub.Method.create(
-          com.google.net.stubby.MethodType.UNARY, "EmptyCall",
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.protobuf.EmptyProtos.Empty.PARSER),
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.protobuf.EmptyProtos.Empty.PARSER));
-  private static final com.google.net.stubby.stub.Method<com.google.net.stubby.testing.integration.Messages.SimpleRequest,
-      com.google.net.stubby.testing.integration.Messages.SimpleResponse> METHOD_UNARY_CALL =
-      com.google.net.stubby.stub.Method.create(
-          com.google.net.stubby.MethodType.UNARY, "UnaryCall",
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Messages.SimpleRequest.PARSER),
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Messages.SimpleResponse.PARSER));
-  private static final com.google.net.stubby.stub.Method<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest,
-      com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse> METHOD_STREAMING_OUTPUT_CALL =
-      com.google.net.stubby.stub.Method.create(
-          com.google.net.stubby.MethodType.SERVER_STREAMING, "StreamingOutputCall",
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest.PARSER),
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse.PARSER));
-  private static final com.google.net.stubby.stub.Method<com.google.net.stubby.testing.integration.Messages.StreamingInputCallRequest,
-      com.google.net.stubby.testing.integration.Messages.StreamingInputCallResponse> METHOD_STREAMING_INPUT_CALL =
-      com.google.net.stubby.stub.Method.create(
-          com.google.net.stubby.MethodType.CLIENT_STREAMING, "StreamingInputCall",
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Messages.StreamingInputCallRequest.PARSER),
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Messages.StreamingInputCallResponse.PARSER));
-  private static final com.google.net.stubby.stub.Method<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest,
-      com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse> METHOD_FULL_DUPLEX_CALL =
-      com.google.net.stubby.stub.Method.create(
-          com.google.net.stubby.MethodType.DUPLEX_STREAMING, "FullDuplexCall",
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest.PARSER),
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse.PARSER));
-  private static final com.google.net.stubby.stub.Method<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest,
-      com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse> METHOD_HALF_DUPLEX_CALL =
-      com.google.net.stubby.stub.Method.create(
-          com.google.net.stubby.MethodType.DUPLEX_STREAMING, "HalfDuplexCall",
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest.PARSER),
-          com.google.net.stubby.proto.ProtoUtils.marshaller(com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse.PARSER));
-
-  public static TestServiceStub newStub(com.google.net.stubby.Channel channel) {
-    return new TestServiceStub(channel, CONFIG);
-  }
-
-  public static TestServiceBlockingStub newBlockingStub(
-      com.google.net.stubby.Channel channel) {
-    return new TestServiceBlockingStub(channel, CONFIG);
-  }
-
-  public static TestServiceFutureStub newFutureStub(
-      com.google.net.stubby.Channel channel) {
-    return new TestServiceFutureStub(channel, CONFIG);
-  }
-
-  public static final TestServiceServiceDescriptor CONFIG =
-      new TestServiceServiceDescriptor();
-
-  @javax.annotation.concurrent.Immutable
-  public static class TestServiceServiceDescriptor extends
-      com.google.net.stubby.stub.AbstractServiceDescriptor<TestServiceServiceDescriptor> {
-    public final com.google.net.stubby.MethodDescriptor<com.google.protobuf.EmptyProtos.Empty,
-        com.google.protobuf.EmptyProtos.Empty> emptyCall;
-    public final com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Messages.SimpleRequest,
-        com.google.net.stubby.testing.integration.Messages.SimpleResponse> unaryCall;
-    public final com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest,
-        com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse> streamingOutputCall;
-    public final com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Messages.StreamingInputCallRequest,
-        com.google.net.stubby.testing.integration.Messages.StreamingInputCallResponse> streamingInputCall;
-    public final com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest,
-        com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse> fullDuplexCall;
-    public final com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest,
-        com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse> halfDuplexCall;
-
-    private TestServiceServiceDescriptor() {
-      emptyCall = createMethodDescriptor(
-          "grpc.testing.TestService", METHOD_EMPTY_CALL);
-      unaryCall = createMethodDescriptor(
-          "grpc.testing.TestService", METHOD_UNARY_CALL);
-      streamingOutputCall = createMethodDescriptor(
-          "grpc.testing.TestService", METHOD_STREAMING_OUTPUT_CALL);
-      streamingInputCall = createMethodDescriptor(
-          "grpc.testing.TestService", METHOD_STREAMING_INPUT_CALL);
-      fullDuplexCall = createMethodDescriptor(
-          "grpc.testing.TestService", METHOD_FULL_DUPLEX_CALL);
-      halfDuplexCall = createMethodDescriptor(
-          "grpc.testing.TestService", METHOD_HALF_DUPLEX_CALL);
-    }
-
-    private TestServiceServiceDescriptor(
-        java.util.Map<java.lang.String, com.google.net.stubby.MethodDescriptor<?, ?>> methodMap) {
-      emptyCall = (com.google.net.stubby.MethodDescriptor<com.google.protobuf.EmptyProtos.Empty,
-          com.google.protobuf.EmptyProtos.Empty>) methodMap.get(
-          CONFIG.emptyCall.getName());
-      unaryCall = (com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Messages.SimpleRequest,
-          com.google.net.stubby.testing.integration.Messages.SimpleResponse>) methodMap.get(
-          CONFIG.unaryCall.getName());
-      streamingOutputCall = (com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest,
-          com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse>) methodMap.get(
-          CONFIG.streamingOutputCall.getName());
-      streamingInputCall = (com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Messages.StreamingInputCallRequest,
-          com.google.net.stubby.testing.integration.Messages.StreamingInputCallResponse>) methodMap.get(
-          CONFIG.streamingInputCall.getName());
-      fullDuplexCall = (com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest,
-          com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse>) methodMap.get(
-          CONFIG.fullDuplexCall.getName());
-      halfDuplexCall = (com.google.net.stubby.MethodDescriptor<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest,
-          com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse>) methodMap.get(
-          CONFIG.halfDuplexCall.getName());
-    }
-
-    @java.lang.Override
-    protected TestServiceServiceDescriptor build(
-        java.util.Map<java.lang.String, com.google.net.stubby.MethodDescriptor<?, ?>> methodMap) {
-      return new TestServiceServiceDescriptor(methodMap);
-    }
-
-    @java.lang.Override
-    public com.google.common.collect.ImmutableList<com.google.net.stubby.MethodDescriptor<?, ?>> methods() {
-      return com.google.common.collect.ImmutableList.<com.google.net.stubby.MethodDescriptor<?, ?>>of(
-          emptyCall,
-          unaryCall,
-          streamingOutputCall,
-          streamingInputCall,
-          fullDuplexCall,
-          halfDuplexCall);
-    }
-  }
-
-  public static interface TestService {
-
-    public void emptyCall(com.google.protobuf.EmptyProtos.Empty request,
-        com.google.net.stubby.stub.StreamObserver<com.google.protobuf.EmptyProtos.Empty> responseObserver);
-
-    public void unaryCall(com.google.net.stubby.testing.integration.Messages.SimpleRequest request,
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.SimpleResponse> responseObserver);
-
-    public void streamingOutputCall(com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest request,
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse> responseObserver);
-
-    public com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingInputCallRequest> streamingInputCall(
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingInputCallResponse> responseObserver);
-
-    public com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest> fullDuplexCall(
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse> responseObserver);
-
-    public com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest> halfDuplexCall(
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse> responseObserver);
-  }
-
-  public static interface TestServiceBlockingClient {
-
-    public com.google.protobuf.EmptyProtos.Empty emptyCall(com.google.protobuf.EmptyProtos.Empty request);
-
-    public com.google.net.stubby.testing.integration.Messages.SimpleResponse unaryCall(com.google.net.stubby.testing.integration.Messages.SimpleRequest request);
-
-    public java.util.Iterator<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse> streamingOutputCall(
-        com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest request);
-  }
-
-  public static interface TestServiceFutureClient {
-
-    public com.google.common.util.concurrent.ListenableFuture<com.google.protobuf.EmptyProtos.Empty> emptyCall(
-        com.google.protobuf.EmptyProtos.Empty request);
-
-    public com.google.common.util.concurrent.ListenableFuture<com.google.net.stubby.testing.integration.Messages.SimpleResponse> unaryCall(
-        com.google.net.stubby.testing.integration.Messages.SimpleRequest request);
-  }
-
-  public static class TestServiceStub extends
-      com.google.net.stubby.stub.AbstractStub<TestServiceStub, TestServiceServiceDescriptor>
-      implements TestService {
-    private TestServiceStub(com.google.net.stubby.Channel channel,
-        TestServiceServiceDescriptor config) {
-      super(channel, config);
-    }
-
-    @java.lang.Override
-    protected TestServiceStub build(com.google.net.stubby.Channel channel,
-        TestServiceServiceDescriptor config) {
-      return new TestServiceStub(channel, config);
-    }
-
-    @java.lang.Override
-    public void emptyCall(com.google.protobuf.EmptyProtos.Empty request,
-        com.google.net.stubby.stub.StreamObserver<com.google.protobuf.EmptyProtos.Empty> responseObserver) {
-      asyncUnaryCall(
-          channel.newCall(config.emptyCall), request, responseObserver);
-    }
-
-    @java.lang.Override
-    public void unaryCall(com.google.net.stubby.testing.integration.Messages.SimpleRequest request,
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.SimpleResponse> responseObserver) {
-      asyncUnaryCall(
-          channel.newCall(config.unaryCall), request, responseObserver);
-    }
-
-    @java.lang.Override
-    public void streamingOutputCall(com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest request,
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse> responseObserver) {
-      asyncServerStreamingCall(
-          channel.newCall(config.streamingOutputCall), request, responseObserver);
-    }
-
-    @java.lang.Override
-    public com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingInputCallRequest> streamingInputCall(
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingInputCallResponse> responseObserver) {
-      return asyncClientStreamingCall(
-          channel.newCall(config.streamingInputCall), responseObserver);
-    }
-
-    @java.lang.Override
-    public com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest> fullDuplexCall(
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse> responseObserver) {
-      return duplexStreamingCall(
-          channel.newCall(config.fullDuplexCall), responseObserver);
-    }
-
-    @java.lang.Override
-    public com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest> halfDuplexCall(
-        com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse> responseObserver) {
-      return duplexStreamingCall(
-          channel.newCall(config.halfDuplexCall), responseObserver);
-    }
-  }
-
-  public static class TestServiceBlockingStub extends
-      com.google.net.stubby.stub.AbstractStub<TestServiceBlockingStub, TestServiceServiceDescriptor>
-      implements TestServiceBlockingClient {
-    private TestServiceBlockingStub(com.google.net.stubby.Channel channel,
-        TestServiceServiceDescriptor config) {
-      super(channel, config);
-    }
-
-    @java.lang.Override
-    protected TestServiceBlockingStub build(com.google.net.stubby.Channel channel,
-        TestServiceServiceDescriptor config) {
-      return new TestServiceBlockingStub(channel, config);
-    }
-
-    @java.lang.Override
-    public com.google.protobuf.EmptyProtos.Empty emptyCall(com.google.protobuf.EmptyProtos.Empty request) {
-      return blockingUnaryCall(
-          channel.newCall(config.emptyCall), request);
-    }
-
-    @java.lang.Override
-    public com.google.net.stubby.testing.integration.Messages.SimpleResponse unaryCall(com.google.net.stubby.testing.integration.Messages.SimpleRequest request) {
-      return blockingUnaryCall(
-          channel.newCall(config.unaryCall), request);
-    }
-
-    @java.lang.Override
-    public java.util.Iterator<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse> streamingOutputCall(
-        com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest request) {
-      return blockingServerStreamingCall(
-          channel.newCall(config.streamingOutputCall), request);
-    }
-  }
-
-  public static class TestServiceFutureStub extends
-      com.google.net.stubby.stub.AbstractStub<TestServiceFutureStub, TestServiceServiceDescriptor>
-      implements TestServiceFutureClient {
-    private TestServiceFutureStub(com.google.net.stubby.Channel channel,
-        TestServiceServiceDescriptor config) {
-      super(channel, config);
-    }
-
-    @java.lang.Override
-    protected TestServiceFutureStub build(com.google.net.stubby.Channel channel,
-        TestServiceServiceDescriptor config) {
-      return new TestServiceFutureStub(channel, config);
-    }
-
-    @java.lang.Override
-    public com.google.common.util.concurrent.ListenableFuture<com.google.protobuf.EmptyProtos.Empty> emptyCall(
-        com.google.protobuf.EmptyProtos.Empty request) {
-      return unaryFutureCall(
-          channel.newCall(config.emptyCall), request);
-    }
-
-    @java.lang.Override
-    public com.google.common.util.concurrent.ListenableFuture<com.google.net.stubby.testing.integration.Messages.SimpleResponse> unaryCall(
-        com.google.net.stubby.testing.integration.Messages.SimpleRequest request) {
-      return unaryFutureCall(
-          channel.newCall(config.unaryCall), request);
-    }
-  }
-
-  public static com.google.net.stubby.ServerServiceDefinition bindService(
-      final TestService serviceImpl) {
-    return com.google.net.stubby.ServerServiceDefinition.builder("grpc.testing.TestService")
-      .addMethod(createMethodDefinition(
-          METHOD_EMPTY_CALL,
-          asyncUnaryRequestCall(
-            new com.google.net.stubby.stub.ServerCalls.UnaryRequestMethod<
-                com.google.protobuf.EmptyProtos.Empty,
-                com.google.protobuf.EmptyProtos.Empty>() {
-              @java.lang.Override
-              public void invoke(
-                  com.google.protobuf.EmptyProtos.Empty request,
-                  com.google.net.stubby.stub.StreamObserver<com.google.protobuf.EmptyProtos.Empty> responseObserver) {
-                serviceImpl.emptyCall(request, responseObserver);
-              }
-            })))
-      .addMethod(createMethodDefinition(
-          METHOD_UNARY_CALL,
-          asyncUnaryRequestCall(
-            new com.google.net.stubby.stub.ServerCalls.UnaryRequestMethod<
-                com.google.net.stubby.testing.integration.Messages.SimpleRequest,
-                com.google.net.stubby.testing.integration.Messages.SimpleResponse>() {
-              @java.lang.Override
-              public void invoke(
-                  com.google.net.stubby.testing.integration.Messages.SimpleRequest request,
-                  com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.SimpleResponse> responseObserver) {
-                serviceImpl.unaryCall(request, responseObserver);
-              }
-            })))
-      .addMethod(createMethodDefinition(
-          METHOD_STREAMING_OUTPUT_CALL,
-          asyncUnaryRequestCall(
-            new com.google.net.stubby.stub.ServerCalls.UnaryRequestMethod<
-                com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest,
-                com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse>() {
-              @java.lang.Override
-              public void invoke(
-                  com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest request,
-                  com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse> responseObserver) {
-                serviceImpl.streamingOutputCall(request, responseObserver);
-              }
-            })))
-      .addMethod(createMethodDefinition(
-          METHOD_STREAMING_INPUT_CALL,
-          asyncStreamingRequestCall(
-            new com.google.net.stubby.stub.ServerCalls.StreamingRequestMethod<
-                com.google.net.stubby.testing.integration.Messages.StreamingInputCallRequest,
-                com.google.net.stubby.testing.integration.Messages.StreamingInputCallResponse>() {
-              @java.lang.Override
-              public com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingInputCallRequest> invoke(
-                  com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingInputCallResponse> responseObserver) {
-                return serviceImpl.streamingInputCall(responseObserver);
-              }
-            })))
-      .addMethod(createMethodDefinition(
-          METHOD_FULL_DUPLEX_CALL,
-          asyncStreamingRequestCall(
-            new com.google.net.stubby.stub.ServerCalls.StreamingRequestMethod<
-                com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest,
-                com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse>() {
-              @java.lang.Override
-              public com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest> invoke(
-                  com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse> responseObserver) {
-                return serviceImpl.fullDuplexCall(responseObserver);
-              }
-            })))
-      .addMethod(createMethodDefinition(
-          METHOD_HALF_DUPLEX_CALL,
-          asyncStreamingRequestCall(
-            new com.google.net.stubby.stub.ServerCalls.StreamingRequestMethod<
-                com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest,
-                com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse>() {
-              @java.lang.Override
-              public com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest> invoke(
-                  com.google.net.stubby.stub.StreamObserver<com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse> responseObserver) {
-                return serviceImpl.halfDuplexCall(responseObserver);
-              }
-            }))).build();
-  }
-}
diff --git a/integration-testing/src/main/java/com/google/net/stubby/testing/integration/AbstractTransportTest.java b/integration-testing/src/main/java/io/grpc/testing/integration/AbstractTransportTest.java
similarity index 93%
rename from integration-testing/src/main/java/com/google/net/stubby/testing/integration/AbstractTransportTest.java
rename to integration-testing/src/main/java/io/grpc/testing/integration/AbstractTransportTest.java
index 0b4d983..6559fdc 100644
--- a/integration-testing/src/main/java/com/google/net/stubby/testing/integration/AbstractTransportTest.java
+++ b/integration-testing/src/main/java/io/grpc/testing/integration/AbstractTransportTest.java
@@ -29,10 +29,10 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.testing.integration;
+package io.grpc.testing.integration;
 
-import static com.google.net.stubby.testing.integration.Messages.PayloadType.COMPRESSABLE;
-import static com.google.net.stubby.testing.integration.Util.assertEquals;
+import static io.grpc.testing.integration.Messages.PayloadType.COMPRESSABLE;
+import static io.grpc.testing.integration.Util.assertEquals;
 import static org.junit.Assert.assertEquals;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.timeout;
@@ -41,30 +41,31 @@
 
 import com.google.common.util.concurrent.SettableFuture;
 import com.google.common.util.concurrent.Uninterruptibles;
-import com.google.net.stubby.AbstractServerBuilder;
-import com.google.net.stubby.Call;
-import com.google.net.stubby.ChannelImpl;
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.ServerImpl;
-import com.google.net.stubby.ServerInterceptors;
-import com.google.net.stubby.Status;
-import com.google.net.stubby.proto.ProtoUtils;
-import com.google.net.stubby.stub.MetadataUtils;
-import com.google.net.stubby.stub.StreamObserver;
-import com.google.net.stubby.stub.StreamRecorder;
-import com.google.net.stubby.testing.TestUtils;
-import com.google.net.stubby.testing.integration.Messages.Payload;
-import com.google.net.stubby.testing.integration.Messages.PayloadType;
-import com.google.net.stubby.testing.integration.Messages.ResponseParameters;
-import com.google.net.stubby.testing.integration.Messages.SimpleRequest;
-import com.google.net.stubby.testing.integration.Messages.SimpleResponse;
-import com.google.net.stubby.testing.integration.Messages.StreamingInputCallRequest;
-import com.google.net.stubby.testing.integration.Messages.StreamingInputCallResponse;
-import com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest;
-import com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse;
 import com.google.protobuf.ByteString;
 import com.google.protobuf.EmptyProtos.Empty;
 
+import io.grpc.AbstractServerBuilder;
+import io.grpc.Call;
+import io.grpc.ChannelImpl;
+import io.grpc.Metadata;
+import io.grpc.ServerImpl;
+import io.grpc.ServerInterceptors;
+import io.grpc.Status;
+import io.grpc.proto.ProtoUtils;
+import io.grpc.stub.MetadataUtils;
+import io.grpc.stub.StreamObserver;
+import io.grpc.stub.StreamRecorder;
+import io.grpc.testing.TestUtils;
+import io.grpc.testing.integration.Messages.Payload;
+import io.grpc.testing.integration.Messages.PayloadType;
+import io.grpc.testing.integration.Messages.ResponseParameters;
+import io.grpc.testing.integration.Messages.SimpleRequest;
+import io.grpc.testing.integration.Messages.SimpleResponse;
+import io.grpc.testing.integration.Messages.StreamingInputCallRequest;
+import io.grpc.testing.integration.Messages.StreamingInputCallResponse;
+import io.grpc.testing.integration.Messages.StreamingOutputCallRequest;
+import io.grpc.testing.integration.Messages.StreamingOutputCallResponse;
+
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
diff --git a/integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceClient.java b/integration-testing/src/main/java/io/grpc/testing/integration/TestServiceClient.java
similarity index 96%
rename from integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceClient.java
rename to integration-testing/src/main/java/io/grpc/testing/integration/TestServiceClient.java
index bbfc298..02601f1 100644
--- a/integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceClient.java
+++ b/integration-testing/src/main/java/io/grpc/testing/integration/TestServiceClient.java
@@ -29,13 +29,12 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.testing.integration;
+package io.grpc.testing.integration;
 
-import com.google.net.stubby.ChannelImpl;
-import com.google.net.stubby.transport.netty.NegotiationType;
-import com.google.net.stubby.transport.netty.NettyChannelBuilder;
-import com.google.net.stubby.transport.okhttp.OkHttpChannelBuilder;
-
+import io.grpc.ChannelImpl;
+import io.grpc.transport.netty.NegotiationType;
+import io.grpc.transport.netty.NettyChannelBuilder;
+import io.grpc.transport.okhttp.OkHttpChannelBuilder;
 import io.netty.handler.ssl.SslContext;
 
 import java.io.File;
diff --git a/integration-testing/src/main/java/io/grpc/testing/integration/TestServiceGrpc.java b/integration-testing/src/main/java/io/grpc/testing/integration/TestServiceGrpc.java
new file mode 100644
index 0000000..d016f7d
--- /dev/null
+++ b/integration-testing/src/main/java/io/grpc/testing/integration/TestServiceGrpc.java
@@ -0,0 +1,382 @@
+package io.grpc.testing.integration;
+
+import static io.grpc.stub.Calls.asyncClientStreamingCall;
+import static io.grpc.stub.Calls.asyncServerStreamingCall;
+import static io.grpc.stub.Calls.asyncUnaryCall;
+import static io.grpc.stub.Calls.blockingServerStreamingCall;
+import static io.grpc.stub.Calls.blockingUnaryCall;
+import static io.grpc.stub.Calls.createMethodDescriptor;
+import static io.grpc.stub.Calls.duplexStreamingCall;
+import static io.grpc.stub.Calls.unaryFutureCall;
+import static io.grpc.stub.ServerCalls.asyncStreamingRequestCall;
+import static io.grpc.stub.ServerCalls.asyncUnaryRequestCall;
+import static io.grpc.stub.ServerCalls.createMethodDefinition;
+
[email protected]("by gRPC proto compiler")
+public class TestServiceGrpc {
+
+  private static final io.grpc.stub.Method<com.google.protobuf.EmptyProtos.Empty,
+      com.google.protobuf.EmptyProtos.Empty> METHOD_EMPTY_CALL =
+      io.grpc.stub.Method.create(
+          io.grpc.MethodType.UNARY, "EmptyCall",
+          io.grpc.proto.ProtoUtils.marshaller(com.google.protobuf.EmptyProtos.Empty.PARSER),
+          io.grpc.proto.ProtoUtils.marshaller(com.google.protobuf.EmptyProtos.Empty.PARSER));
+  private static final io.grpc.stub.Method<io.grpc.testing.integration.Messages.SimpleRequest,
+      io.grpc.testing.integration.Messages.SimpleResponse> METHOD_UNARY_CALL =
+      io.grpc.stub.Method.create(
+          io.grpc.MethodType.UNARY, "UnaryCall",
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Messages.SimpleRequest.PARSER),
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Messages.SimpleResponse.PARSER));
+  private static final io.grpc.stub.Method<io.grpc.testing.integration.Messages.StreamingOutputCallRequest,
+      io.grpc.testing.integration.Messages.StreamingOutputCallResponse> METHOD_STREAMING_OUTPUT_CALL =
+      io.grpc.stub.Method.create(
+          io.grpc.MethodType.SERVER_STREAMING, "StreamingOutputCall",
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Messages.StreamingOutputCallRequest.PARSER),
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Messages.StreamingOutputCallResponse.PARSER));
+  private static final io.grpc.stub.Method<io.grpc.testing.integration.Messages.StreamingInputCallRequest,
+      io.grpc.testing.integration.Messages.StreamingInputCallResponse> METHOD_STREAMING_INPUT_CALL =
+      io.grpc.stub.Method.create(
+          io.grpc.MethodType.CLIENT_STREAMING, "StreamingInputCall",
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Messages.StreamingInputCallRequest.PARSER),
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Messages.StreamingInputCallResponse.PARSER));
+  private static final io.grpc.stub.Method<io.grpc.testing.integration.Messages.StreamingOutputCallRequest,
+      io.grpc.testing.integration.Messages.StreamingOutputCallResponse> METHOD_FULL_DUPLEX_CALL =
+      io.grpc.stub.Method.create(
+          io.grpc.MethodType.DUPLEX_STREAMING, "FullDuplexCall",
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Messages.StreamingOutputCallRequest.PARSER),
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Messages.StreamingOutputCallResponse.PARSER));
+  private static final io.grpc.stub.Method<io.grpc.testing.integration.Messages.StreamingOutputCallRequest,
+      io.grpc.testing.integration.Messages.StreamingOutputCallResponse> METHOD_HALF_DUPLEX_CALL =
+      io.grpc.stub.Method.create(
+          io.grpc.MethodType.DUPLEX_STREAMING, "HalfDuplexCall",
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Messages.StreamingOutputCallRequest.PARSER),
+          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Messages.StreamingOutputCallResponse.PARSER));
+
+  public static TestServiceStub newStub(io.grpc.Channel channel) {
+    return new TestServiceStub(channel, CONFIG);
+  }
+
+  public static TestServiceBlockingStub newBlockingStub(
+      io.grpc.Channel channel) {
+    return new TestServiceBlockingStub(channel, CONFIG);
+  }
+
+  public static TestServiceFutureStub newFutureStub(
+      io.grpc.Channel channel) {
+    return new TestServiceFutureStub(channel, CONFIG);
+  }
+
+  public static final TestServiceServiceDescriptor CONFIG =
+      new TestServiceServiceDescriptor();
+
+  @javax.annotation.concurrent.Immutable
+  public static class TestServiceServiceDescriptor extends
+      io.grpc.stub.AbstractServiceDescriptor<TestServiceServiceDescriptor> {
+    public final io.grpc.MethodDescriptor<com.google.protobuf.EmptyProtos.Empty,
+        com.google.protobuf.EmptyProtos.Empty> emptyCall;
+    public final io.grpc.MethodDescriptor<io.grpc.testing.integration.Messages.SimpleRequest,
+        io.grpc.testing.integration.Messages.SimpleResponse> unaryCall;
+    public final io.grpc.MethodDescriptor<io.grpc.testing.integration.Messages.StreamingOutputCallRequest,
+        io.grpc.testing.integration.Messages.StreamingOutputCallResponse> streamingOutputCall;
+    public final io.grpc.MethodDescriptor<io.grpc.testing.integration.Messages.StreamingInputCallRequest,
+        io.grpc.testing.integration.Messages.StreamingInputCallResponse> streamingInputCall;
+    public final io.grpc.MethodDescriptor<io.grpc.testing.integration.Messages.StreamingOutputCallRequest,
+        io.grpc.testing.integration.Messages.StreamingOutputCallResponse> fullDuplexCall;
+    public final io.grpc.MethodDescriptor<io.grpc.testing.integration.Messages.StreamingOutputCallRequest,
+        io.grpc.testing.integration.Messages.StreamingOutputCallResponse> halfDuplexCall;
+
+    private TestServiceServiceDescriptor() {
+      emptyCall = createMethodDescriptor(
+          "grpc.testing.TestService", METHOD_EMPTY_CALL);
+      unaryCall = createMethodDescriptor(
+          "grpc.testing.TestService", METHOD_UNARY_CALL);
+      streamingOutputCall = createMethodDescriptor(
+          "grpc.testing.TestService", METHOD_STREAMING_OUTPUT_CALL);
+      streamingInputCall = createMethodDescriptor(
+          "grpc.testing.TestService", METHOD_STREAMING_INPUT_CALL);
+      fullDuplexCall = createMethodDescriptor(
+          "grpc.testing.TestService", METHOD_FULL_DUPLEX_CALL);
+      halfDuplexCall = createMethodDescriptor(
+          "grpc.testing.TestService", METHOD_HALF_DUPLEX_CALL);
+    }
+
+    private TestServiceServiceDescriptor(
+        java.util.Map<java.lang.String, io.grpc.MethodDescriptor<?, ?>> methodMap) {
+      emptyCall = (io.grpc.MethodDescriptor<com.google.protobuf.EmptyProtos.Empty,
+          com.google.protobuf.EmptyProtos.Empty>) methodMap.get(
+          CONFIG.emptyCall.getName());
+      unaryCall = (io.grpc.MethodDescriptor<io.grpc.testing.integration.Messages.SimpleRequest,
+          io.grpc.testing.integration.Messages.SimpleResponse>) methodMap.get(
+          CONFIG.unaryCall.getName());
+      streamingOutputCall = (io.grpc.MethodDescriptor<io.grpc.testing.integration.Messages.StreamingOutputCallRequest,
+          io.grpc.testing.integration.Messages.StreamingOutputCallResponse>) methodMap.get(
+          CONFIG.streamingOutputCall.getName());
+      streamingInputCall = (io.grpc.MethodDescriptor<io.grpc.testing.integration.Messages.StreamingInputCallRequest,
+          io.grpc.testing.integration.Messages.StreamingInputCallResponse>) methodMap.get(
+          CONFIG.streamingInputCall.getName());
+      fullDuplexCall = (io.grpc.MethodDescriptor<io.grpc.testing.integration.Messages.StreamingOutputCallRequest,
+          io.grpc.testing.integration.Messages.StreamingOutputCallResponse>) methodMap.get(
+          CONFIG.fullDuplexCall.getName());
+      halfDuplexCall = (io.grpc.MethodDescriptor<io.grpc.testing.integration.Messages.StreamingOutputCallRequest,
+          io.grpc.testing.integration.Messages.StreamingOutputCallResponse>) methodMap.get(
+          CONFIG.halfDuplexCall.getName());
+    }
+
+    @java.lang.Override
+    protected TestServiceServiceDescriptor build(
+        java.util.Map<java.lang.String, io.grpc.MethodDescriptor<?, ?>> methodMap) {
+      return new TestServiceServiceDescriptor(methodMap);
+    }
+
+    @java.lang.Override
+    public com.google.common.collect.ImmutableList<io.grpc.MethodDescriptor<?, ?>> methods() {
+      return com.google.common.collect.ImmutableList.<io.grpc.MethodDescriptor<?, ?>>of(
+          emptyCall,
+          unaryCall,
+          streamingOutputCall,
+          streamingInputCall,
+          fullDuplexCall,
+          halfDuplexCall);
+    }
+  }
+
+  public static interface TestService {
+
+    public void emptyCall(com.google.protobuf.EmptyProtos.Empty request,
+        io.grpc.stub.StreamObserver<com.google.protobuf.EmptyProtos.Empty> responseObserver);
+
+    public void unaryCall(io.grpc.testing.integration.Messages.SimpleRequest request,
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.SimpleResponse> responseObserver);
+
+    public void streamingOutputCall(io.grpc.testing.integration.Messages.StreamingOutputCallRequest request,
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingOutputCallResponse> responseObserver);
+
+    public io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingInputCallRequest> streamingInputCall(
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingInputCallResponse> responseObserver);
+
+    public io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingOutputCallRequest> fullDuplexCall(
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingOutputCallResponse> responseObserver);
+
+    public io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingOutputCallRequest> halfDuplexCall(
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingOutputCallResponse> responseObserver);
+  }
+
+  public static interface TestServiceBlockingClient {
+
+    public com.google.protobuf.EmptyProtos.Empty emptyCall(com.google.protobuf.EmptyProtos.Empty request);
+
+    public io.grpc.testing.integration.Messages.SimpleResponse unaryCall(io.grpc.testing.integration.Messages.SimpleRequest request);
+
+    public java.util.Iterator<io.grpc.testing.integration.Messages.StreamingOutputCallResponse> streamingOutputCall(
+        io.grpc.testing.integration.Messages.StreamingOutputCallRequest request);
+  }
+
+  public static interface TestServiceFutureClient {
+
+    public com.google.common.util.concurrent.ListenableFuture<com.google.protobuf.EmptyProtos.Empty> emptyCall(
+        com.google.protobuf.EmptyProtos.Empty request);
+
+    public com.google.common.util.concurrent.ListenableFuture<io.grpc.testing.integration.Messages.SimpleResponse> unaryCall(
+        io.grpc.testing.integration.Messages.SimpleRequest request);
+  }
+
+  public static class TestServiceStub extends
+      io.grpc.stub.AbstractStub<TestServiceStub, TestServiceServiceDescriptor>
+      implements TestService {
+    private TestServiceStub(io.grpc.Channel channel,
+        TestServiceServiceDescriptor config) {
+      super(channel, config);
+    }
+
+    @java.lang.Override
+    protected TestServiceStub build(io.grpc.Channel channel,
+        TestServiceServiceDescriptor config) {
+      return new TestServiceStub(channel, config);
+    }
+
+    @java.lang.Override
+    public void emptyCall(com.google.protobuf.EmptyProtos.Empty request,
+        io.grpc.stub.StreamObserver<com.google.protobuf.EmptyProtos.Empty> responseObserver) {
+      asyncUnaryCall(
+          channel.newCall(config.emptyCall), request, responseObserver);
+    }
+
+    @java.lang.Override
+    public void unaryCall(io.grpc.testing.integration.Messages.SimpleRequest request,
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.SimpleResponse> responseObserver) {
+      asyncUnaryCall(
+          channel.newCall(config.unaryCall), request, responseObserver);
+    }
+
+    @java.lang.Override
+    public void streamingOutputCall(io.grpc.testing.integration.Messages.StreamingOutputCallRequest request,
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingOutputCallResponse> responseObserver) {
+      asyncServerStreamingCall(
+          channel.newCall(config.streamingOutputCall), request, responseObserver);
+    }
+
+    @java.lang.Override
+    public io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingInputCallRequest> streamingInputCall(
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingInputCallResponse> responseObserver) {
+      return asyncClientStreamingCall(
+          channel.newCall(config.streamingInputCall), responseObserver);
+    }
+
+    @java.lang.Override
+    public io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingOutputCallRequest> fullDuplexCall(
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingOutputCallResponse> responseObserver) {
+      return duplexStreamingCall(
+          channel.newCall(config.fullDuplexCall), responseObserver);
+    }
+
+    @java.lang.Override
+    public io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingOutputCallRequest> halfDuplexCall(
+        io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingOutputCallResponse> responseObserver) {
+      return duplexStreamingCall(
+          channel.newCall(config.halfDuplexCall), responseObserver);
+    }
+  }
+
+  public static class TestServiceBlockingStub extends
+      io.grpc.stub.AbstractStub<TestServiceBlockingStub, TestServiceServiceDescriptor>
+      implements TestServiceBlockingClient {
+    private TestServiceBlockingStub(io.grpc.Channel channel,
+        TestServiceServiceDescriptor config) {
+      super(channel, config);
+    }
+
+    @java.lang.Override
+    protected TestServiceBlockingStub build(io.grpc.Channel channel,
+        TestServiceServiceDescriptor config) {
+      return new TestServiceBlockingStub(channel, config);
+    }
+
+    @java.lang.Override
+    public com.google.protobuf.EmptyProtos.Empty emptyCall(com.google.protobuf.EmptyProtos.Empty request) {
+      return blockingUnaryCall(
+          channel.newCall(config.emptyCall), request);
+    }
+
+    @java.lang.Override
+    public io.grpc.testing.integration.Messages.SimpleResponse unaryCall(io.grpc.testing.integration.Messages.SimpleRequest request) {
+      return blockingUnaryCall(
+          channel.newCall(config.unaryCall), request);
+    }
+
+    @java.lang.Override
+    public java.util.Iterator<io.grpc.testing.integration.Messages.StreamingOutputCallResponse> streamingOutputCall(
+        io.grpc.testing.integration.Messages.StreamingOutputCallRequest request) {
+      return blockingServerStreamingCall(
+          channel.newCall(config.streamingOutputCall), request);
+    }
+  }
+
+  public static class TestServiceFutureStub extends
+      io.grpc.stub.AbstractStub<TestServiceFutureStub, TestServiceServiceDescriptor>
+      implements TestServiceFutureClient {
+    private TestServiceFutureStub(io.grpc.Channel channel,
+        TestServiceServiceDescriptor config) {
+      super(channel, config);
+    }
+
+    @java.lang.Override
+    protected TestServiceFutureStub build(io.grpc.Channel channel,
+        TestServiceServiceDescriptor config) {
+      return new TestServiceFutureStub(channel, config);
+    }
+
+    @java.lang.Override
+    public com.google.common.util.concurrent.ListenableFuture<com.google.protobuf.EmptyProtos.Empty> emptyCall(
+        com.google.protobuf.EmptyProtos.Empty request) {
+      return unaryFutureCall(
+          channel.newCall(config.emptyCall), request);
+    }
+
+    @java.lang.Override
+    public com.google.common.util.concurrent.ListenableFuture<io.grpc.testing.integration.Messages.SimpleResponse> unaryCall(
+        io.grpc.testing.integration.Messages.SimpleRequest request) {
+      return unaryFutureCall(
+          channel.newCall(config.unaryCall), request);
+    }
+  }
+
+  public static io.grpc.ServerServiceDefinition bindService(
+      final TestService serviceImpl) {
+    return io.grpc.ServerServiceDefinition.builder("grpc.testing.TestService")
+      .addMethod(createMethodDefinition(
+          METHOD_EMPTY_CALL,
+          asyncUnaryRequestCall(
+            new io.grpc.stub.ServerCalls.UnaryRequestMethod<
+                com.google.protobuf.EmptyProtos.Empty,
+                com.google.protobuf.EmptyProtos.Empty>() {
+              @java.lang.Override
+              public void invoke(
+                  com.google.protobuf.EmptyProtos.Empty request,
+                  io.grpc.stub.StreamObserver<com.google.protobuf.EmptyProtos.Empty> responseObserver) {
+                serviceImpl.emptyCall(request, responseObserver);
+              }
+            })))
+      .addMethod(createMethodDefinition(
+          METHOD_UNARY_CALL,
+          asyncUnaryRequestCall(
+            new io.grpc.stub.ServerCalls.UnaryRequestMethod<
+                io.grpc.testing.integration.Messages.SimpleRequest,
+                io.grpc.testing.integration.Messages.SimpleResponse>() {
+              @java.lang.Override
+              public void invoke(
+                  io.grpc.testing.integration.Messages.SimpleRequest request,
+                  io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.SimpleResponse> responseObserver) {
+                serviceImpl.unaryCall(request, responseObserver);
+              }
+            })))
+      .addMethod(createMethodDefinition(
+          METHOD_STREAMING_OUTPUT_CALL,
+          asyncUnaryRequestCall(
+            new io.grpc.stub.ServerCalls.UnaryRequestMethod<
+                io.grpc.testing.integration.Messages.StreamingOutputCallRequest,
+                io.grpc.testing.integration.Messages.StreamingOutputCallResponse>() {
+              @java.lang.Override
+              public void invoke(
+                  io.grpc.testing.integration.Messages.StreamingOutputCallRequest request,
+                  io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingOutputCallResponse> responseObserver) {
+                serviceImpl.streamingOutputCall(request, responseObserver);
+              }
+            })))
+      .addMethod(createMethodDefinition(
+          METHOD_STREAMING_INPUT_CALL,
+          asyncStreamingRequestCall(
+            new io.grpc.stub.ServerCalls.StreamingRequestMethod<
+                io.grpc.testing.integration.Messages.StreamingInputCallRequest,
+                io.grpc.testing.integration.Messages.StreamingInputCallResponse>() {
+              @java.lang.Override
+              public io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingInputCallRequest> invoke(
+                  io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingInputCallResponse> responseObserver) {
+                return serviceImpl.streamingInputCall(responseObserver);
+              }
+            })))
+      .addMethod(createMethodDefinition(
+          METHOD_FULL_DUPLEX_CALL,
+          asyncStreamingRequestCall(
+            new io.grpc.stub.ServerCalls.StreamingRequestMethod<
+                io.grpc.testing.integration.Messages.StreamingOutputCallRequest,
+                io.grpc.testing.integration.Messages.StreamingOutputCallResponse>() {
+              @java.lang.Override
+              public io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingOutputCallRequest> invoke(
+                  io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingOutputCallResponse> responseObserver) {
+                return serviceImpl.fullDuplexCall(responseObserver);
+              }
+            })))
+      .addMethod(createMethodDefinition(
+          METHOD_HALF_DUPLEX_CALL,
+          asyncStreamingRequestCall(
+            new io.grpc.stub.ServerCalls.StreamingRequestMethod<
+                io.grpc.testing.integration.Messages.StreamingOutputCallRequest,
+                io.grpc.testing.integration.Messages.StreamingOutputCallResponse>() {
+              @java.lang.Override
+              public io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingOutputCallRequest> invoke(
+                  io.grpc.stub.StreamObserver<io.grpc.testing.integration.Messages.StreamingOutputCallResponse> responseObserver) {
+                return serviceImpl.halfDuplexCall(responseObserver);
+              }
+            }))).build();
+  }
+}
diff --git a/integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceImpl.java b/integration-testing/src/main/java/io/grpc/testing/integration/TestServiceImpl.java
similarity index 94%
rename from integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceImpl.java
rename to integration-testing/src/main/java/io/grpc/testing/integration/TestServiceImpl.java
index 60996fa..ed89eb8 100644
--- a/integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceImpl.java
+++ b/integration-testing/src/main/java/io/grpc/testing/integration/TestServiceImpl.java
@@ -29,22 +29,23 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.testing.integration;
+package io.grpc.testing.integration;
 
 import com.google.common.collect.Queues;
-import com.google.net.stubby.stub.StreamObserver;
-import com.google.net.stubby.testing.integration.Messages.Payload;
-import com.google.net.stubby.testing.integration.Messages.PayloadType;
-import com.google.net.stubby.testing.integration.Messages.ResponseParameters;
-import com.google.net.stubby.testing.integration.Messages.SimpleRequest;
-import com.google.net.stubby.testing.integration.Messages.SimpleResponse;
-import com.google.net.stubby.testing.integration.Messages.StreamingInputCallRequest;
-import com.google.net.stubby.testing.integration.Messages.StreamingInputCallResponse;
-import com.google.net.stubby.testing.integration.Messages.StreamingOutputCallRequest;
-import com.google.net.stubby.testing.integration.Messages.StreamingOutputCallResponse;
 import com.google.protobuf.ByteString;
 import com.google.protobuf.EmptyProtos;
 
+import io.grpc.stub.StreamObserver;
+import io.grpc.testing.integration.Messages.Payload;
+import io.grpc.testing.integration.Messages.PayloadType;
+import io.grpc.testing.integration.Messages.ResponseParameters;
+import io.grpc.testing.integration.Messages.SimpleRequest;
+import io.grpc.testing.integration.Messages.SimpleResponse;
+import io.grpc.testing.integration.Messages.StreamingInputCallRequest;
+import io.grpc.testing.integration.Messages.StreamingInputCallResponse;
+import io.grpc.testing.integration.Messages.StreamingOutputCallRequest;
+import io.grpc.testing.integration.Messages.StreamingOutputCallResponse;
+
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.LinkedList;
@@ -59,7 +60,7 @@
  */
 public class TestServiceImpl implements TestServiceGrpc.TestService {
   private static final String UNCOMPRESSABLE_FILE =
-      "/com/google/net/stubby/testing/integration/testdata/uncompressable.bin";
+      "/io/grpc/testing/integration/testdata/uncompressable.bin";
   private final Random random = new Random();
 
   private final ScheduledExecutorService executor;
diff --git a/integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceServer.java b/integration-testing/src/main/java/io/grpc/testing/integration/TestServiceServer.java
similarity index 94%
rename from integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceServer.java
rename to integration-testing/src/main/java/io/grpc/testing/integration/TestServiceServer.java
index 726930a..810ea47 100644
--- a/integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceServer.java
+++ b/integration-testing/src/main/java/io/grpc/testing/integration/TestServiceServer.java
@@ -29,14 +29,14 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.testing.integration;
+package io.grpc.testing.integration;
 
 import com.google.common.util.concurrent.MoreExecutors;
-import com.google.net.stubby.ServerImpl;
-import com.google.net.stubby.ServerInterceptors;
-import com.google.net.stubby.testing.TestUtils;
-import com.google.net.stubby.transport.netty.NettyServerBuilder;
 
+import io.grpc.ServerImpl;
+import io.grpc.ServerInterceptors;
+import io.grpc.testing.TestUtils;
+import io.grpc.transport.netty.NettyServerBuilder;
 import io.netty.handler.ssl.SslContext;
 
 import java.io.File;
diff --git a/integration-testing/src/main/java/com/google/net/stubby/testing/integration/Util.java b/integration-testing/src/main/java/io/grpc/testing/integration/Util.java
similarity index 95%
rename from integration-testing/src/main/java/com/google/net/stubby/testing/integration/Util.java
rename to integration-testing/src/main/java/io/grpc/testing/integration/Util.java
index b42b07e..82dea3a 100644
--- a/integration-testing/src/main/java/com/google/net/stubby/testing/integration/Util.java
+++ b/integration-testing/src/main/java/io/grpc/testing/integration/Util.java
@@ -29,12 +29,13 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.testing.integration;
+package io.grpc.testing.integration;
 
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.proto.ProtoUtils;
 import com.google.protobuf.MessageLite;
 
+import io.grpc.Metadata;
+import io.grpc.proto.ProtoUtils;
+
 import org.junit.Assert;
 
 import java.io.IOException;
diff --git a/integration-testing/src/main/proto/stubby/testing/integration/empty.proto b/integration-testing/src/main/proto/io/grpc/testing/integration/empty.proto
similarity index 100%
rename from integration-testing/src/main/proto/stubby/testing/integration/empty.proto
rename to integration-testing/src/main/proto/io/grpc/testing/integration/empty.proto
diff --git a/integration-testing/src/main/proto/stubby/testing/integration/message_set.proto b/integration-testing/src/main/proto/io/grpc/testing/integration/message_set.proto
similarity index 100%
rename from integration-testing/src/main/proto/stubby/testing/integration/message_set.proto
rename to integration-testing/src/main/proto/io/grpc/testing/integration/message_set.proto
diff --git a/integration-testing/src/main/proto/stubby/testing/integration/messages.proto b/integration-testing/src/main/proto/io/grpc/testing/integration/messages.proto
similarity index 96%
rename from integration-testing/src/main/proto/stubby/testing/integration/messages.proto
rename to integration-testing/src/main/proto/io/grpc/testing/integration/messages.proto
index 4299537..52e2e53 100644
--- a/integration-testing/src/main/proto/stubby/testing/integration/messages.proto
+++ b/integration-testing/src/main/proto/io/grpc/testing/integration/messages.proto
@@ -8,9 +8,9 @@
 
 package stubby.testing;
 
-import "stubby/testing/integration/message_set.proto";
+import "io/grpc/testing/integration/message_set.proto";
 
-option java_package = "com.google.net.stubby.testing.integration";
+option java_package = "io.grpc.testing.integration";
 
 // The type of payload that should be returned.
 enum PayloadType {
diff --git a/integration-testing/src/main/resources/com/google/net/stubby/testing/integration/testdata/uncompressable.bin b/integration-testing/src/main/resources/io/grpc/testing/integration/testdata/uncompressable.bin
similarity index 100%
rename from integration-testing/src/main/resources/com/google/net/stubby/testing/integration/testdata/uncompressable.bin
rename to integration-testing/src/main/resources/io/grpc/testing/integration/testdata/uncompressable.bin
Binary files differ
diff --git a/integration-testing/src/test/java/com/google/net/stubby/stub/StubConfigTest.java b/integration-testing/src/test/java/io/grpc/stub/StubConfigTest.java
similarity index 92%
rename from integration-testing/src/test/java/com/google/net/stubby/stub/StubConfigTest.java
rename to integration-testing/src/test/java/io/grpc/stub/StubConfigTest.java
index e9c7bae..1456c55 100644
--- a/integration-testing/src/test/java/com/google/net/stubby/stub/StubConfigTest.java
+++ b/integration-testing/src/test/java/io/grpc/stub/StubConfigTest.java
@@ -29,14 +29,14 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.stub;
+package io.grpc.stub;
 
 import static org.junit.Assert.assertEquals;
 
-import com.google.net.stubby.Call;
-import com.google.net.stubby.Channel;
-import com.google.net.stubby.MethodDescriptor;
-import com.google.net.stubby.testing.integration.TestServiceGrpc;
+import io.grpc.Call;
+import io.grpc.Channel;
+import io.grpc.MethodDescriptor;
+import io.grpc.testing.integration.TestServiceGrpc;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/integration-testing/src/test/java/com/google/net/stubby/testing/integration/Http2NettyTest.java b/integration-testing/src/test/java/io/grpc/testing/integration/Http2NettyTest.java
similarity index 88%
rename from integration-testing/src/test/java/com/google/net/stubby/testing/integration/Http2NettyTest.java
rename to integration-testing/src/test/java/io/grpc/testing/integration/Http2NettyTest.java
index e64377c..755532b 100644
--- a/integration-testing/src/test/java/com/google/net/stubby/testing/integration/Http2NettyTest.java
+++ b/integration-testing/src/test/java/io/grpc/testing/integration/Http2NettyTest.java
@@ -29,12 +29,12 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.testing.integration;
+package io.grpc.testing.integration;
 
-import com.google.net.stubby.ChannelImpl;
-import com.google.net.stubby.transport.netty.NegotiationType;
-import com.google.net.stubby.transport.netty.NettyChannelBuilder;
-import com.google.net.stubby.transport.netty.NettyServerBuilder;
+import io.grpc.ChannelImpl;
+import io.grpc.transport.netty.NegotiationType;
+import io.grpc.transport.netty.NettyChannelBuilder;
+import io.grpc.transport.netty.NettyServerBuilder;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
diff --git a/integration-testing/src/test/java/com/google/net/stubby/testing/integration/Http2OkHttpTest.java b/integration-testing/src/test/java/io/grpc/testing/integration/Http2OkHttpTest.java
similarity index 90%
rename from integration-testing/src/test/java/com/google/net/stubby/testing/integration/Http2OkHttpTest.java
rename to integration-testing/src/test/java/io/grpc/testing/integration/Http2OkHttpTest.java
index 49bc023..2257338 100644
--- a/integration-testing/src/test/java/com/google/net/stubby/testing/integration/Http2OkHttpTest.java
+++ b/integration-testing/src/test/java/io/grpc/testing/integration/Http2OkHttpTest.java
@@ -29,11 +29,11 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.testing.integration;
+package io.grpc.testing.integration;
 
-import com.google.net.stubby.ChannelImpl;
-import com.google.net.stubby.transport.netty.NettyServerBuilder;
-import com.google.net.stubby.transport.okhttp.OkHttpChannelBuilder;
+import io.grpc.ChannelImpl;
+import io.grpc.transport.netty.NettyServerBuilder;
+import io.grpc.transport.okhttp.OkHttpChannelBuilder;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
diff --git a/netty/build.gradle b/netty/build.gradle
index 14e877e..8c6eedc 100644
--- a/netty/build.gradle
+++ b/netty/build.gradle
@@ -1,9 +1,9 @@
-description = "Stubby: Netty"
+description = "gRPC: Netty"
 dependencies {
-    compile project(':stubby-core'),
+    compile project(':grpc-core'),
             libraries.hpack,
             libraries.netty
 
     // Tests depend on base class defined by core module.
-    testCompile project(':stubby-core').sourceSets.test.output
+    testCompile project(':grpc-core').sourceSets.test.output
 }
diff --git a/netty/src/main/java/com/google/net/stubby/transport/netty/CancelStreamCommand.java b/netty/src/main/java/io/grpc/transport/netty/CancelStreamCommand.java
similarity index 97%
rename from netty/src/main/java/com/google/net/stubby/transport/netty/CancelStreamCommand.java
rename to netty/src/main/java/io/grpc/transport/netty/CancelStreamCommand.java
index b31968c..ab40526 100644
--- a/netty/src/main/java/com/google/net/stubby/transport/netty/CancelStreamCommand.java
+++ b/netty/src/main/java/io/grpc/transport/netty/CancelStreamCommand.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 import com.google.common.base.Preconditions;
 
diff --git a/netty/src/main/java/com/google/net/stubby/transport/netty/CreateStreamCommand.java b/netty/src/main/java/io/grpc/transport/netty/CreateStreamCommand.java
similarity index 97%
rename from netty/src/main/java/com/google/net/stubby/transport/netty/CreateStreamCommand.java
rename to netty/src/main/java/io/grpc/transport/netty/CreateStreamCommand.java
index 1b21249..794fc8e 100644
--- a/netty/src/main/java/com/google/net/stubby/transport/netty/CreateStreamCommand.java
+++ b/netty/src/main/java/io/grpc/transport/netty/CreateStreamCommand.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 import com.google.common.base.Preconditions;
 
diff --git a/netty/src/main/java/com/google/net/stubby/transport/netty/Http2Negotiator.java b/netty/src/main/java/io/grpc/transport/netty/Http2Negotiator.java
similarity index 99%
rename from netty/src/main/java/com/google/net/stubby/transport/netty/Http2Negotiator.java
rename to netty/src/main/java/io/grpc/transport/netty/Http2Negotiator.java
index 2d5c258..841a47c 100644
--- a/netty/src/main/java/com/google/net/stubby/transport/netty/Http2Negotiator.java
+++ b/netty/src/main/java/io/grpc/transport/netty/Http2Negotiator.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.ListenableFuture;
diff --git a/netty/src/main/java/com/google/net/stubby/transport/netty/NegotiationType.java b/netty/src/main/java/io/grpc/transport/netty/NegotiationType.java
similarity index 97%
rename from netty/src/main/java/com/google/net/stubby/transport/netty/NegotiationType.java
rename to netty/src/main/java/io/grpc/transport/netty/NegotiationType.java
index 312566d..c05e1d4 100644
--- a/netty/src/main/java/com/google/net/stubby/transport/netty/NegotiationType.java
+++ b/netty/src/main/java/io/grpc/transport/netty/NegotiationType.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 /**
  * Identifies the negotiation used for starting up HTTP/2.
diff --git a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyBuffer.java b/netty/src/main/java/io/grpc/transport/netty/NettyBuffer.java
similarity index 96%
rename from netty/src/main/java/com/google/net/stubby/transport/netty/NettyBuffer.java
rename to netty/src/main/java/io/grpc/transport/netty/NettyBuffer.java
index 11bb404..c6a165d 100644
--- a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyBuffer.java
+++ b/netty/src/main/java/io/grpc/transport/netty/NettyBuffer.java
@@ -29,12 +29,12 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 import com.google.common.base.Preconditions;
 import com.google.common.base.Throwables;
-import com.google.net.stubby.transport.AbstractBuffer;
 
+import io.grpc.transport.AbstractBuffer;
 import io.netty.buffer.ByteBuf;
 
 import java.io.IOException;
diff --git a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyChannelBuilder.java b/netty/src/main/java/io/grpc/transport/netty/NettyChannelBuilder.java
similarity index 94%
rename from netty/src/main/java/com/google/net/stubby/transport/netty/NettyChannelBuilder.java
rename to netty/src/main/java/io/grpc/transport/netty/NettyChannelBuilder.java
index ae98fce..6353366 100644
--- a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyChannelBuilder.java
+++ b/netty/src/main/java/io/grpc/transport/netty/NettyChannelBuilder.java
@@ -29,12 +29,11 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
-import com.google.net.stubby.AbstractChannelBuilder;
-import com.google.net.stubby.SharedResourceHolder;
-import com.google.net.stubby.transport.ClientTransportFactory;
-
+import io.grpc.AbstractChannelBuilder;
+import io.grpc.SharedResourceHolder;
+import io.grpc.transport.ClientTransportFactory;
 import io.netty.channel.EventLoopGroup;
 import io.netty.handler.ssl.SslContext;
 
diff --git a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyClientHandler.java b/netty/src/main/java/io/grpc/transport/netty/NettyClientHandler.java
similarity index 98%
rename from netty/src/main/java/com/google/net/stubby/transport/netty/NettyClientHandler.java
rename to netty/src/main/java/io/grpc/transport/netty/NettyClientHandler.java
index ad660dd..e90d185 100644
--- a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyClientHandler.java
+++ b/netty/src/main/java/io/grpc/transport/netty/NettyClientHandler.java
@@ -29,12 +29,12 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 import com.google.common.base.Preconditions;
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.Status;
 
+import io.grpc.Metadata;
+import io.grpc.Status;
 import io.netty.buffer.ByteBuf;
 import io.netty.channel.ChannelFuture;
 import io.netty.channel.ChannelFutureListener;
diff --git a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyClientStream.java b/netty/src/main/java/io/grpc/transport/netty/NettyClientStream.java
similarity index 94%
rename from netty/src/main/java/com/google/net/stubby/transport/netty/NettyClientStream.java
rename to netty/src/main/java/io/grpc/transport/netty/NettyClientStream.java
index d9e3c30..5e6bd79 100644
--- a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyClientStream.java
+++ b/netty/src/main/java/io/grpc/transport/netty/NettyClientStream.java
@@ -29,13 +29,12 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import com.google.net.stubby.transport.ClientStreamListener;
-import com.google.net.stubby.transport.Http2ClientStream;
-
+import io.grpc.transport.ClientStreamListener;
+import io.grpc.transport.Http2ClientStream;
 import io.netty.buffer.ByteBuf;
 import io.netty.channel.Channel;
 import io.netty.handler.codec.http2.Http2Headers;
diff --git a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyClientTransport.java b/netty/src/main/java/io/grpc/transport/netty/NettyClientTransport.java
similarity index 96%
rename from netty/src/main/java/com/google/net/stubby/transport/netty/NettyClientTransport.java
rename to netty/src/main/java/io/grpc/transport/netty/NettyClientTransport.java
index 8aca3a0..d1e9141 100644
--- a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyClientTransport.java
+++ b/netty/src/main/java/io/grpc/transport/netty/NettyClientTransport.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 import static io.netty.channel.ChannelOption.SO_KEEPALIVE;
 
@@ -37,12 +37,13 @@
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.MethodDescriptor;
-import com.google.net.stubby.transport.AbstractClientTransport;
-import com.google.net.stubby.transport.ClientStream;
-import com.google.net.stubby.transport.ClientStreamListener;
 
+import io.grpc.Metadata;
+import io.grpc.MethodDescriptor;
+import io.grpc.transport.AbstractClientTransport;
+import io.grpc.transport.ClientStream;
+import io.grpc.transport.ClientStreamListener;
+import io.grpc.transport.ClientTransport;
 import io.netty.bootstrap.Bootstrap;
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelFuture;
diff --git a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyClientTransportFactory.java b/netty/src/main/java/io/grpc/transport/netty/NettyClientTransportFactory.java
similarity index 95%
rename from netty/src/main/java/com/google/net/stubby/transport/netty/NettyClientTransportFactory.java
rename to netty/src/main/java/io/grpc/transport/netty/NettyClientTransportFactory.java
index b173e4c..15f2320 100644
--- a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyClientTransportFactory.java
+++ b/netty/src/main/java/io/grpc/transport/netty/NettyClientTransportFactory.java
@@ -29,11 +29,11 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 import com.google.common.base.Preconditions;
-import com.google.net.stubby.transport.ClientTransportFactory;
 
+import io.grpc.transport.ClientTransportFactory;
 import io.netty.channel.EventLoopGroup;
 import io.netty.handler.ssl.SslContext;
 
diff --git a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyServer.java b/netty/src/main/java/io/grpc/transport/netty/NettyServer.java
similarity index 97%
rename from netty/src/main/java/com/google/net/stubby/transport/netty/NettyServer.java
rename to netty/src/main/java/io/grpc/transport/netty/NettyServer.java
index 7ac1eb5..f227f7b 100644
--- a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyServer.java
+++ b/netty/src/main/java/io/grpc/transport/netty/NettyServer.java
@@ -29,17 +29,15 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 import static io.netty.channel.ChannelOption.SO_BACKLOG;
 import static io.netty.channel.ChannelOption.SO_KEEPALIVE;
 
 import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.AbstractService;
-import com.google.net.stubby.transport.ServerListener;
 
-import java.net.SocketAddress;
-
+import io.grpc.transport.ServerListener;
 import io.netty.bootstrap.ServerBootstrap;
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelFuture;
@@ -51,6 +49,8 @@
 import io.netty.channel.socket.nio.NioServerSocketChannel;
 import io.netty.handler.ssl.SslContext;
 
+import java.net.SocketAddress;
+
 import javax.annotation.Nullable;
 
 /**
diff --git a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyServerBuilder.java b/netty/src/main/java/io/grpc/transport/netty/NettyServerBuilder.java
similarity index 95%
rename from netty/src/main/java/com/google/net/stubby/transport/netty/NettyServerBuilder.java
rename to netty/src/main/java/io/grpc/transport/netty/NettyServerBuilder.java
index 6c30959..2200e72 100644
--- a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyServerBuilder.java
+++ b/netty/src/main/java/io/grpc/transport/netty/NettyServerBuilder.java
@@ -29,21 +29,21 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 import com.google.common.util.concurrent.MoreExecutors;
 import com.google.common.util.concurrent.Service;
-import com.google.net.stubby.AbstractServerBuilder;
-import com.google.net.stubby.HandlerRegistry;
-import com.google.net.stubby.SharedResourceHolder;
-import com.google.net.stubby.transport.ServerListener;
+
+import io.grpc.AbstractServerBuilder;
+import io.grpc.HandlerRegistry;
+import io.grpc.SharedResourceHolder;
+import io.grpc.transport.ServerListener;
+import io.netty.channel.EventLoopGroup;
+import io.netty.handler.ssl.SslContext;
 
 import java.net.InetSocketAddress;
 import java.net.SocketAddress;
 
-import io.netty.channel.EventLoopGroup;
-import io.netty.handler.ssl.SslContext;
-
 /**
  * The convenient builder for a netty-based GRPC server.
  */
diff --git a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyServerHandler.java b/netty/src/main/java/io/grpc/transport/netty/NettyServerHandler.java
similarity index 95%
rename from netty/src/main/java/com/google/net/stubby/transport/netty/NettyServerHandler.java
rename to netty/src/main/java/io/grpc/transport/netty/NettyServerHandler.java
index 5cc3721..37b8582 100644
--- a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyServerHandler.java
+++ b/netty/src/main/java/io/grpc/transport/netty/NettyServerHandler.java
@@ -29,23 +29,23 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
-import static com.google.net.stubby.transport.netty.Utils.CONTENT_TYPE_GRPC;
-import static com.google.net.stubby.transport.netty.Utils.CONTENT_TYPE_HEADER;
-import static com.google.net.stubby.transport.netty.Utils.HTTP_METHOD;
-import static com.google.net.stubby.transport.netty.Utils.TE_HEADER;
-import static com.google.net.stubby.transport.netty.Utils.TE_TRAILERS;
+import static io.grpc.transport.netty.Utils.CONTENT_TYPE_GRPC;
+import static io.grpc.transport.netty.Utils.CONTENT_TYPE_HEADER;
+import static io.grpc.transport.netty.Utils.HTTP_METHOD;
+import static io.grpc.transport.netty.Utils.TE_HEADER;
+import static io.grpc.transport.netty.Utils.TE_TRAILERS;
 import static io.netty.buffer.Unpooled.EMPTY_BUFFER;
 import static io.netty.handler.codec.http2.Http2CodecUtil.toByteBuf;
 import static io.netty.handler.codec.http2.Http2Error.NO_ERROR;
 
 import com.google.common.base.Preconditions;
-import com.google.net.stubby.Status;
-import com.google.net.stubby.transport.ServerStreamListener;
-import com.google.net.stubby.transport.ServerTransportListener;
-import com.google.net.stubby.transport.TransportFrameUtil;
 
+import io.grpc.Status;
+import io.grpc.transport.ServerStreamListener;
+import io.grpc.transport.ServerTransportListener;
+import io.grpc.transport.TransportFrameUtil;
 import io.netty.buffer.ByteBuf;
 import io.netty.channel.ChannelFuture;
 import io.netty.channel.ChannelFutureListener;
diff --git a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyServerStream.java b/netty/src/main/java/io/grpc/transport/netty/NettyServerStream.java
similarity index 95%
rename from netty/src/main/java/com/google/net/stubby/transport/netty/NettyServerStream.java
rename to netty/src/main/java/io/grpc/transport/netty/NettyServerStream.java
index a5ef06e..c839e42 100644
--- a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyServerStream.java
+++ b/netty/src/main/java/io/grpc/transport/netty/NettyServerStream.java
@@ -29,13 +29,12 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.transport.AbstractServerStream;
-
+import io.grpc.Metadata;
+import io.grpc.transport.AbstractServerStream;
 import io.netty.buffer.ByteBuf;
 import io.netty.channel.Channel;
 import io.netty.handler.codec.http2.Http2Headers;
diff --git a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyServerTransport.java b/netty/src/main/java/io/grpc/transport/netty/NettyServerTransport.java
similarity index 96%
rename from netty/src/main/java/com/google/net/stubby/transport/netty/NettyServerTransport.java
rename to netty/src/main/java/io/grpc/transport/netty/NettyServerTransport.java
index ba4eea1..5fef9e9 100644
--- a/netty/src/main/java/com/google/net/stubby/transport/netty/NettyServerTransport.java
+++ b/netty/src/main/java/io/grpc/transport/netty/NettyServerTransport.java
@@ -29,13 +29,13 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.AbstractService;
-import com.google.net.stubby.transport.ServerListener;
-import com.google.net.stubby.transport.ServerTransportListener;
 
+import io.grpc.transport.ServerListener;
+import io.grpc.transport.ServerTransportListener;
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelFuture;
 import io.netty.channel.ChannelFutureListener;
diff --git a/netty/src/main/java/com/google/net/stubby/transport/netty/SendGrpcFrameCommand.java b/netty/src/main/java/io/grpc/transport/netty/SendGrpcFrameCommand.java
similarity index 98%
rename from netty/src/main/java/com/google/net/stubby/transport/netty/SendGrpcFrameCommand.java
rename to netty/src/main/java/io/grpc/transport/netty/SendGrpcFrameCommand.java
index 38aaed8..2f83b4f 100644
--- a/netty/src/main/java/com/google/net/stubby/transport/netty/SendGrpcFrameCommand.java
+++ b/netty/src/main/java/io/grpc/transport/netty/SendGrpcFrameCommand.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.ByteBufHolder;
diff --git a/netty/src/main/java/com/google/net/stubby/transport/netty/SendResponseHeadersCommand.java b/netty/src/main/java/io/grpc/transport/netty/SendResponseHeadersCommand.java
similarity index 98%
rename from netty/src/main/java/com/google/net/stubby/transport/netty/SendResponseHeadersCommand.java
rename to netty/src/main/java/io/grpc/transport/netty/SendResponseHeadersCommand.java
index d1ac540..784d9f9 100644
--- a/netty/src/main/java/com/google/net/stubby/transport/netty/SendResponseHeadersCommand.java
+++ b/netty/src/main/java/io/grpc/transport/netty/SendResponseHeadersCommand.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 import com.google.common.base.Preconditions;
 
diff --git a/netty/src/main/java/com/google/net/stubby/transport/netty/Utils.java b/netty/src/main/java/io/grpc/transport/netty/Utils.java
similarity index 96%
rename from netty/src/main/java/com/google/net/stubby/transport/netty/Utils.java
rename to netty/src/main/java/io/grpc/transport/netty/Utils.java
index 88e5517..4122940 100644
--- a/netty/src/main/java/com/google/net/stubby/transport/netty/Utils.java
+++ b/netty/src/main/java/io/grpc/transport/netty/Utils.java
@@ -29,15 +29,15 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.SharedResourceHolder.Resource;
-import com.google.net.stubby.transport.HttpUtil;
-import com.google.net.stubby.transport.TransportFrameUtil;
 
+import io.grpc.Metadata;
+import io.grpc.SharedResourceHolder.Resource;
+import io.grpc.transport.HttpUtil;
+import io.grpc.transport.TransportFrameUtil;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.ByteBufAllocator;
 import io.netty.channel.EventLoopGroup;
diff --git a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyBufferTest.java b/netty/src/test/java/io/grpc/transport/netty/NettyBufferTest.java
similarity index 93%
rename from netty/src/test/java/com/google/net/stubby/transport/netty/NettyBufferTest.java
rename to netty/src/test/java/io/grpc/transport/netty/NettyBufferTest.java
index d094f7c..1d0f04e 100644
--- a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyBufferTest.java
+++ b/netty/src/test/java/io/grpc/transport/netty/NettyBufferTest.java
@@ -29,14 +29,13 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 import static com.google.common.base.Charsets.UTF_8;
 import static org.junit.Assert.assertEquals;
 
-import com.google.net.stubby.transport.Buffer;
-import com.google.net.stubby.transport.BufferTestBase;
-
+import io.grpc.transport.Buffer;
+import io.grpc.transport.BufferTestBase;
 import io.netty.buffer.Unpooled;
 
 import org.junit.Before;
diff --git a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyClientHandlerTest.java b/netty/src/test/java/io/grpc/transport/netty/NettyClientHandlerTest.java
similarity index 94%
rename from netty/src/test/java/com/google/net/stubby/transport/netty/NettyClientHandlerTest.java
rename to netty/src/test/java/io/grpc/transport/netty/NettyClientHandlerTest.java
index b896186..e15c857 100644
--- a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyClientHandlerTest.java
+++ b/netty/src/test/java/io/grpc/transport/netty/NettyClientHandlerTest.java
@@ -29,16 +29,16 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 import static com.google.common.base.Charsets.UTF_8;
-import static com.google.net.stubby.transport.netty.Utils.CONTENT_TYPE_GRPC;
-import static com.google.net.stubby.transport.netty.Utils.CONTENT_TYPE_HEADER;
-import static com.google.net.stubby.transport.netty.Utils.HTTPS;
-import static com.google.net.stubby.transport.netty.Utils.HTTP_METHOD;
-import static com.google.net.stubby.transport.netty.Utils.STATUS_OK;
-import static com.google.net.stubby.transport.netty.Utils.TE_HEADER;
-import static com.google.net.stubby.transport.netty.Utils.TE_TRAILERS;
+import static io.grpc.transport.netty.Utils.CONTENT_TYPE_GRPC;
+import static io.grpc.transport.netty.Utils.CONTENT_TYPE_HEADER;
+import static io.grpc.transport.netty.Utils.HTTPS;
+import static io.grpc.transport.netty.Utils.HTTP_METHOD;
+import static io.grpc.transport.netty.Utils.STATUS_OK;
+import static io.grpc.transport.netty.Utils.TE_HEADER;
+import static io.grpc.transport.netty.Utils.TE_TRAILERS;
 import static org.junit.Assert.assertEquals;
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.eq;
@@ -49,9 +49,8 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.Status;
-
+import io.grpc.Metadata;
+import io.grpc.Status;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
 import io.netty.channel.ChannelHandlerContext;
diff --git a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyClientStreamTest.java b/netty/src/test/java/io/grpc/transport/netty/NettyClientStreamTest.java
similarity index 94%
rename from netty/src/test/java/com/google/net/stubby/transport/netty/NettyClientStreamTest.java
rename to netty/src/test/java/io/grpc/transport/netty/NettyClientStreamTest.java
index 1c49854..c83c8af 100644
--- a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyClientStreamTest.java
+++ b/netty/src/test/java/io/grpc/transport/netty/NettyClientStreamTest.java
@@ -29,12 +29,12 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
-import static com.google.net.stubby.transport.netty.NettyTestUtil.messageFrame;
-import static com.google.net.stubby.transport.netty.Utils.CONTENT_TYPE_GRPC;
-import static com.google.net.stubby.transport.netty.Utils.CONTENT_TYPE_HEADER;
-import static com.google.net.stubby.transport.netty.Utils.STATUS_OK;
+import static io.grpc.transport.netty.NettyTestUtil.messageFrame;
+import static io.grpc.transport.netty.Utils.CONTENT_TYPE_GRPC;
+import static io.grpc.transport.netty.Utils.CONTENT_TYPE_HEADER;
+import static io.grpc.transport.netty.Utils.STATUS_OK;
 import static io.netty.util.CharsetUtil.UTF_8;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -46,11 +46,10 @@
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.Status;
-import com.google.net.stubby.transport.AbstractStream;
-import com.google.net.stubby.transport.ClientStreamListener;
-
+import io.grpc.Metadata;
+import io.grpc.Status;
+import io.grpc.transport.AbstractStream;
+import io.grpc.transport.ClientStreamListener;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
 import io.netty.handler.codec.AsciiString;
diff --git a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyHandlerTestBase.java b/netty/src/test/java/io/grpc/transport/netty/NettyHandlerTestBase.java
similarity index 98%
rename from netty/src/test/java/com/google/net/stubby/transport/netty/NettyHandlerTestBase.java
rename to netty/src/test/java/io/grpc/transport/netty/NettyHandlerTestBase.java
index 6a76cb4..a71ee26 100644
--- a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyHandlerTestBase.java
+++ b/netty/src/test/java/io/grpc/transport/netty/NettyHandlerTestBase.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.eq;
diff --git a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyServerHandlerTest.java b/netty/src/test/java/io/grpc/transport/netty/NettyServerHandlerTest.java
similarity index 93%
rename from netty/src/test/java/com/google/net/stubby/transport/netty/NettyServerHandlerTest.java
rename to netty/src/test/java/io/grpc/transport/netty/NettyServerHandlerTest.java
index 6332714..7ce4466 100644
--- a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyServerHandlerTest.java
+++ b/netty/src/test/java/io/grpc/transport/netty/NettyServerHandlerTest.java
@@ -29,14 +29,14 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
 import static com.google.common.base.Charsets.UTF_8;
-import static com.google.net.stubby.transport.netty.Utils.CONTENT_TYPE_GRPC;
-import static com.google.net.stubby.transport.netty.Utils.CONTENT_TYPE_HEADER;
-import static com.google.net.stubby.transport.netty.Utils.HTTP_METHOD;
-import static com.google.net.stubby.transport.netty.Utils.TE_HEADER;
-import static com.google.net.stubby.transport.netty.Utils.TE_TRAILERS;
+import static io.grpc.transport.netty.Utils.CONTENT_TYPE_GRPC;
+import static io.grpc.transport.netty.Utils.CONTENT_TYPE_HEADER;
+import static io.grpc.transport.netty.Utils.HTTP_METHOD;
+import static io.grpc.transport.netty.Utils.TE_HEADER;
+import static io.grpc.transport.netty.Utils.TE_TRAILERS;
 import static io.netty.handler.codec.http2.Http2CodecUtil.toByteBuf;
 import static io.netty.handler.codec.http2.Http2Exception.connectionError;
 import static org.junit.Assert.assertArrayEquals;
@@ -51,14 +51,14 @@
 import static org.mockito.Mockito.when;
 
 import com.google.common.io.ByteStreams;
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.Status;
-import com.google.net.stubby.Status.Code;
-import com.google.net.stubby.transport.MessageFramer;
-import com.google.net.stubby.transport.ServerStream;
-import com.google.net.stubby.transport.ServerStreamListener;
-import com.google.net.stubby.transport.ServerTransportListener;
 
+import io.grpc.Metadata;
+import io.grpc.Status;
+import io.grpc.Status.Code;
+import io.grpc.transport.MessageFramer;
+import io.grpc.transport.ServerStream;
+import io.grpc.transport.ServerStreamListener;
+import io.grpc.transport.ServerTransportListener;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
 import io.netty.buffer.UnpooledByteBufAllocator;
@@ -72,7 +72,6 @@
 import io.netty.handler.codec.http2.Http2CodecUtil;
 import io.netty.handler.codec.http2.Http2Connection;
 import io.netty.handler.codec.http2.Http2Error;
-import io.netty.handler.codec.http2.Http2Exception;
 import io.netty.handler.codec.http2.Http2FrameReader;
 import io.netty.handler.codec.http2.Http2FrameWriter;
 import io.netty.handler.codec.http2.Http2Headers;
diff --git a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyServerStreamTest.java b/netty/src/test/java/io/grpc/transport/netty/NettyServerStreamTest.java
similarity index 96%
rename from netty/src/test/java/com/google/net/stubby/transport/netty/NettyServerStreamTest.java
rename to netty/src/test/java/io/grpc/transport/netty/NettyServerStreamTest.java
index c109a69..b4193ae 100644
--- a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyServerStreamTest.java
+++ b/netty/src/test/java/io/grpc/transport/netty/NettyServerStreamTest.java
@@ -29,9 +29,9 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
-import static com.google.net.stubby.transport.netty.NettyTestUtil.messageFrame;
+import static io.grpc.transport.netty.NettyTestUtil.messageFrame;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 import static org.mockito.Matchers.any;
@@ -41,11 +41,10 @@
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.verifyZeroInteractions;
 
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.Status;
-import com.google.net.stubby.transport.AbstractStream;
-import com.google.net.stubby.transport.ServerStreamListener;
-
+import io.grpc.Metadata;
+import io.grpc.Status;
+import io.grpc.transport.AbstractStream;
+import io.grpc.transport.ServerStreamListener;
 import io.netty.buffer.EmptyByteBuf;
 import io.netty.buffer.UnpooledByteBufAllocator;
 import io.netty.handler.codec.AsciiString;
diff --git a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyStreamTestBase.java b/netty/src/test/java/io/grpc/transport/netty/NettyStreamTestBase.java
similarity index 95%
rename from netty/src/test/java/com/google/net/stubby/transport/netty/NettyStreamTestBase.java
rename to netty/src/test/java/io/grpc/transport/netty/NettyStreamTestBase.java
index ad04847..75b888d 100644
--- a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyStreamTestBase.java
+++ b/netty/src/test/java/io/grpc/transport/netty/NettyStreamTestBase.java
@@ -29,9 +29,9 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
-import static com.google.net.stubby.transport.netty.NettyTestUtil.messageFrame;
+import static io.grpc.transport.netty.NettyTestUtil.messageFrame;
 import static io.netty.util.CharsetUtil.UTF_8;
 import static org.junit.Assert.assertEquals;
 import static org.mockito.Matchers.any;
@@ -41,9 +41,8 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import com.google.net.stubby.transport.AbstractStream;
-import com.google.net.stubby.transport.StreamListener;
-
+import io.grpc.transport.AbstractStream;
+import io.grpc.transport.StreamListener;
 import io.netty.buffer.UnpooledByteBufAllocator;
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelFuture;
diff --git a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyTestUtil.java b/netty/src/test/java/io/grpc/transport/netty/NettyTestUtil.java
similarity index 95%
rename from netty/src/test/java/com/google/net/stubby/transport/netty/NettyTestUtil.java
rename to netty/src/test/java/io/grpc/transport/netty/NettyTestUtil.java
index 7782715..1671dc2 100644
--- a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyTestUtil.java
+++ b/netty/src/test/java/io/grpc/transport/netty/NettyTestUtil.java
@@ -29,14 +29,14 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.netty;
+package io.grpc.transport.netty;
 
-import static com.google.net.stubby.GrpcFramingUtil.STATUS_FRAME;
+import static io.grpc.GrpcFramingUtil.STATUS_FRAME;
 import static io.netty.util.CharsetUtil.UTF_8;
 
 import com.google.common.io.ByteStreams;
-import com.google.net.stubby.Status;
 
+import io.grpc.Status;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
 
diff --git a/okhttp/build.gradle b/okhttp/build.gradle
index 29be36e..e4050c9 100644
--- a/okhttp/build.gradle
+++ b/okhttp/build.gradle
@@ -2,9 +2,9 @@
     id "be.insaneprogramming.gradle.animalsniffer" version "1.4.0"
 }
 
-description = "Stubby: OkHttp"
+description = "gRPC: OkHttp"
 dependencies {
-    compile project(':stubby-core'),
+    compile project(':grpc-core'),
             libraries.okio,
             libraries.okhttp
 }
diff --git a/okhttp/src/main/java/com/google/net/stubby/transport/okhttp/AsyncFrameWriter.java b/okhttp/src/main/java/io/grpc/transport/okhttp/AsyncFrameWriter.java
similarity index 98%
rename from okhttp/src/main/java/com/google/net/stubby/transport/okhttp/AsyncFrameWriter.java
rename to okhttp/src/main/java/io/grpc/transport/okhttp/AsyncFrameWriter.java
index 5431308..8d8ec60 100644
--- a/okhttp/src/main/java/com/google/net/stubby/transport/okhttp/AsyncFrameWriter.java
+++ b/okhttp/src/main/java/io/grpc/transport/okhttp/AsyncFrameWriter.java
@@ -29,16 +29,17 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.okhttp;
+package io.grpc.transport.okhttp;
 
 import com.google.common.util.concurrent.SettableFuture;
-import com.google.net.stubby.SerializingExecutor;
 
 import com.squareup.okhttp.internal.spdy.ErrorCode;
 import com.squareup.okhttp.internal.spdy.FrameWriter;
 import com.squareup.okhttp.internal.spdy.Header;
 import com.squareup.okhttp.internal.spdy.Settings;
 
+import io.grpc.SerializingExecutor;
+
 import okio.Buffer;
 
 import java.io.IOException;
diff --git a/okhttp/src/main/java/com/google/net/stubby/transport/okhttp/Headers.java b/okhttp/src/main/java/io/grpc/transport/okhttp/Headers.java
similarity index 95%
rename from okhttp/src/main/java/com/google/net/stubby/transport/okhttp/Headers.java
rename to okhttp/src/main/java/io/grpc/transport/okhttp/Headers.java
index 84384d9..857fb29 100644
--- a/okhttp/src/main/java/com/google/net/stubby/transport/okhttp/Headers.java
+++ b/okhttp/src/main/java/io/grpc/transport/okhttp/Headers.java
@@ -29,15 +29,16 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.okhttp;
+package io.grpc.transport.okhttp;
 
 import com.google.common.base.Preconditions;
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.transport.HttpUtil;
-import com.google.net.stubby.transport.TransportFrameUtil;
 
 import com.squareup.okhttp.internal.spdy.Header;
 
+import io.grpc.Metadata;
+import io.grpc.transport.HttpUtil;
+import io.grpc.transport.TransportFrameUtil;
+
 import okio.ByteString;
 
 import java.util.ArrayList;
diff --git a/okhttp/src/main/java/com/google/net/stubby/transport/okhttp/OkHttpBuffer.java b/okhttp/src/main/java/io/grpc/transport/okhttp/OkHttpBuffer.java
similarity index 94%
rename from okhttp/src/main/java/com/google/net/stubby/transport/okhttp/OkHttpBuffer.java
rename to okhttp/src/main/java/io/grpc/transport/okhttp/OkHttpBuffer.java
index d27fcb5..40bfe92 100644
--- a/okhttp/src/main/java/com/google/net/stubby/transport/okhttp/OkHttpBuffer.java
+++ b/okhttp/src/main/java/io/grpc/transport/okhttp/OkHttpBuffer.java
@@ -29,10 +29,10 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.okhttp;
+package io.grpc.transport.okhttp;
 
-import com.google.net.stubby.transport.AbstractBuffer;
-import com.google.net.stubby.transport.Buffer;
+import io.grpc.transport.AbstractBuffer;
+import io.grpc.transport.Buffer;
 
 import java.io.EOFException;
 import java.io.IOException;
diff --git a/okhttp/src/main/java/com/google/net/stubby/transport/okhttp/OkHttpChannelBuilder.java b/okhttp/src/main/java/io/grpc/transport/okhttp/OkHttpChannelBuilder.java
similarity index 94%
rename from okhttp/src/main/java/com/google/net/stubby/transport/okhttp/OkHttpChannelBuilder.java
rename to okhttp/src/main/java/io/grpc/transport/okhttp/OkHttpChannelBuilder.java
index eb217f6..1a62f7b 100644
--- a/okhttp/src/main/java/com/google/net/stubby/transport/okhttp/OkHttpChannelBuilder.java
+++ b/okhttp/src/main/java/io/grpc/transport/okhttp/OkHttpChannelBuilder.java
@@ -29,18 +29,19 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.okhttp;
+package io.grpc.transport.okhttp;
 
 import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
-import com.google.net.stubby.AbstractChannelBuilder;
-import com.google.net.stubby.SharedResourceHolder;
-import com.google.net.stubby.SharedResourceHolder.Resource;
-import com.google.net.stubby.transport.ClientTransportFactory;
+
+import io.grpc.AbstractChannelBuilder;
+import io.grpc.SharedResourceHolder;
+import io.grpc.SharedResourceHolder.Resource;
+import io.grpc.transport.ClientTransportFactory;
 
 import java.net.InetSocketAddress;
-import java.util.concurrent.Executors;
 import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 
 import javax.net.ssl.SSLSocketFactory;
 
diff --git a/okhttp/src/main/java/com/google/net/stubby/transport/okhttp/OkHttpClientStream.java b/okhttp/src/main/java/io/grpc/transport/okhttp/OkHttpClientStream.java
similarity index 95%
rename from okhttp/src/main/java/com/google/net/stubby/transport/okhttp/OkHttpClientStream.java
rename to okhttp/src/main/java/io/grpc/transport/okhttp/OkHttpClientStream.java
index fb91939..922ac9a 100644
--- a/okhttp/src/main/java/com/google/net/stubby/transport/okhttp/OkHttpClientStream.java
+++ b/okhttp/src/main/java/io/grpc/transport/okhttp/OkHttpClientStream.java
@@ -29,17 +29,18 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.okhttp;
+package io.grpc.transport.okhttp;
 
 import com.google.common.base.Preconditions;
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.Status;
-import com.google.net.stubby.transport.ClientStreamListener;
-import com.google.net.stubby.transport.Http2ClientStream;
 
 import com.squareup.okhttp.internal.spdy.ErrorCode;
 import com.squareup.okhttp.internal.spdy.Header;
 
+import io.grpc.Metadata;
+import io.grpc.Status;
+import io.grpc.transport.ClientStreamListener;
+import io.grpc.transport.Http2ClientStream;
+
 import java.nio.ByteBuffer;
 import java.util.List;
 
diff --git a/okhttp/src/main/java/com/google/net/stubby/transport/okhttp/OkHttpClientTransport.java b/okhttp/src/main/java/io/grpc/transport/okhttp/OkHttpClientTransport.java
similarity index 97%
rename from okhttp/src/main/java/com/google/net/stubby/transport/okhttp/OkHttpClientTransport.java
rename to okhttp/src/main/java/io/grpc/transport/okhttp/OkHttpClientTransport.java
index 0681af1..a2d5e30 100644
--- a/okhttp/src/main/java/com/google/net/stubby/transport/okhttp/OkHttpClientTransport.java
+++ b/okhttp/src/main/java/io/grpc/transport/okhttp/OkHttpClientTransport.java
@@ -29,17 +29,10 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.okhttp;
+package io.grpc.transport.okhttp;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.MethodDescriptor;
-import com.google.net.stubby.Status;
-import com.google.net.stubby.Status.Code;
-import com.google.net.stubby.transport.AbstractClientTransport;
-import com.google.net.stubby.transport.ClientStream;
-import com.google.net.stubby.transport.ClientStreamListener;
 
 import com.squareup.okhttp.internal.spdy.ErrorCode;
 import com.squareup.okhttp.internal.spdy.FrameReader;
@@ -49,6 +42,15 @@
 import com.squareup.okhttp.internal.spdy.Settings;
 import com.squareup.okhttp.internal.spdy.Variant;
 
+import io.grpc.Metadata;
+import io.grpc.MethodDescriptor;
+import io.grpc.Status;
+import io.grpc.Status.Code;
+import io.grpc.transport.AbstractClientTransport;
+import io.grpc.transport.ClientStream;
+import io.grpc.transport.ClientStreamListener;
+import io.grpc.transport.ClientTransport;
+
 import okio.Buffer;
 import okio.BufferedSink;
 import okio.BufferedSource;
diff --git a/okhttp/src/main/java/com/google/net/stubby/transport/okhttp/OkHttpClientTransportFactory.java b/okhttp/src/main/java/io/grpc/transport/okhttp/OkHttpClientTransportFactory.java
similarity index 93%
rename from okhttp/src/main/java/com/google/net/stubby/transport/okhttp/OkHttpClientTransportFactory.java
rename to okhttp/src/main/java/io/grpc/transport/okhttp/OkHttpClientTransportFactory.java
index b6024a4..8f4dbca 100644
--- a/okhttp/src/main/java/com/google/net/stubby/transport/okhttp/OkHttpClientTransportFactory.java
+++ b/okhttp/src/main/java/io/grpc/transport/okhttp/OkHttpClientTransportFactory.java
@@ -29,11 +29,12 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.okhttp;
+package io.grpc.transport.okhttp;
 
 import com.google.common.base.Preconditions;
-import com.google.net.stubby.transport.ClientTransport;
-import com.google.net.stubby.transport.ClientTransportFactory;
+
+import io.grpc.transport.ClientTransport;
+import io.grpc.transport.ClientTransportFactory;
 
 import java.net.InetSocketAddress;
 import java.util.concurrent.ExecutorService;
diff --git a/okhttp/src/main/java/com/google/net/stubby/transport/okhttp/OutboundFlowController.java b/okhttp/src/main/java/io/grpc/transport/okhttp/OutboundFlowController.java
similarity index 97%
rename from okhttp/src/main/java/com/google/net/stubby/transport/okhttp/OutboundFlowController.java
rename to okhttp/src/main/java/io/grpc/transport/okhttp/OutboundFlowController.java
index bc4bba2..2603472 100644
--- a/okhttp/src/main/java/com/google/net/stubby/transport/okhttp/OutboundFlowController.java
+++ b/okhttp/src/main/java/io/grpc/transport/okhttp/OutboundFlowController.java
@@ -29,11 +29,11 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.okhttp;
+package io.grpc.transport.okhttp;
 
-import static com.google.net.stubby.transport.okhttp.Utils.CONNECTION_STREAM_ID;
-import static com.google.net.stubby.transport.okhttp.Utils.DEFAULT_WINDOW_SIZE;
-import static com.google.net.stubby.transport.okhttp.Utils.MAX_FRAME_SIZE;
+import static io.grpc.transport.okhttp.Utils.CONNECTION_STREAM_ID;
+import static io.grpc.transport.okhttp.Utils.DEFAULT_WINDOW_SIZE;
+import static io.grpc.transport.okhttp.Utils.MAX_FRAME_SIZE;
 import static java.lang.Math.ceil;
 import static java.lang.Math.max;
 import static java.lang.Math.min;
diff --git a/okhttp/src/main/java/com/google/net/stubby/transport/okhttp/Utils.java b/okhttp/src/main/java/io/grpc/transport/okhttp/Utils.java
similarity index 94%
rename from okhttp/src/main/java/com/google/net/stubby/transport/okhttp/Utils.java
rename to okhttp/src/main/java/io/grpc/transport/okhttp/Utils.java
index 4e65613..d4fb782 100644
--- a/okhttp/src/main/java/com/google/net/stubby/transport/okhttp/Utils.java
+++ b/okhttp/src/main/java/io/grpc/transport/okhttp/Utils.java
@@ -29,13 +29,13 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.okhttp;
-
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.transport.TransportFrameUtil;
+package io.grpc.transport.okhttp;
 
 import com.squareup.okhttp.internal.spdy.Header;
 
+import io.grpc.Metadata;
+import io.grpc.transport.TransportFrameUtil;
+
 import java.util.List;
 
 /**
diff --git a/okhttp/src/test/java/com/google/net/stubby/transport/okhttp/OkHttpClientTransportTest.java b/okhttp/src/test/java/io/grpc/transport/okhttp/OkHttpClientTransportTest.java
similarity index 98%
rename from okhttp/src/test/java/com/google/net/stubby/transport/okhttp/OkHttpClientTransportTest.java
rename to okhttp/src/test/java/io/grpc/transport/okhttp/OkHttpClientTransportTest.java
index 90828c1..4207b5d 100644
--- a/okhttp/src/test/java/com/google/net/stubby/transport/okhttp/OkHttpClientTransportTest.java
+++ b/okhttp/src/test/java/io/grpc/transport/okhttp/OkHttpClientTransportTest.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.transport.okhttp;
+package io.grpc.transport.okhttp;
 
 import static com.google.common.base.Charsets.UTF_8;
 import static org.junit.Assert.assertEquals;
@@ -47,17 +47,18 @@
 import com.google.common.collect.ImmutableList;
 import com.google.common.util.concurrent.Service;
 import com.google.common.util.concurrent.Service.State;
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.MethodDescriptor;
-import com.google.net.stubby.Status;
-import com.google.net.stubby.transport.ClientStreamListener;
-import com.google.net.stubby.transport.okhttp.OkHttpClientTransport.ClientFrameHandler;
 
 import com.squareup.okhttp.internal.spdy.ErrorCode;
 import com.squareup.okhttp.internal.spdy.FrameReader;
 import com.squareup.okhttp.internal.spdy.Header;
 import com.squareup.okhttp.internal.spdy.HeadersMode;
 
+import io.grpc.Metadata;
+import io.grpc.MethodDescriptor;
+import io.grpc.Status;
+import io.grpc.transport.ClientStreamListener;
+import io.grpc.transport.okhttp.OkHttpClientTransport.ClientFrameHandler;
+
 import okio.Buffer;
 
 import org.junit.After;
diff --git a/run-test-client.sh b/run-test-client.sh
index c897d5e..9b8915c 100755
--- a/run-test-client.sh
+++ b/run-test-client.sh
@@ -1,6 +1,6 @@
 #!/bin/bash -e
 TARGET='Test Service Client'
-TARGET_CLASS='com.google.net.stubby.testing.integration.TestServiceClient'
+TARGET_CLASS='io.grpc.testing.integration.TestServiceClient'
 
 TARGET_ARGS=''
 for i in "$@"; do 
@@ -9,4 +9,4 @@
 TARGET_ARGS="${TARGET_ARGS:2}"
 
 echo "[INFO] Running: $TARGET ($TARGET_CLASS $TARGET_ARGS)"
-gradle -PmainClass="$TARGET_CLASS" -PappArgs="[$TARGET_ARGS]" :stubby-integration-testing:execute
+gradle -PmainClass="$TARGET_CLASS" -PappArgs="[$TARGET_ARGS]" :grpc-integration-testing:execute
diff --git a/run-test-server.sh b/run-test-server.sh
index b84bd3f..9912ad9 100755
--- a/run-test-server.sh
+++ b/run-test-server.sh
@@ -1,6 +1,6 @@
 #!/bin/bash -e
 TARGET='Test Service Server'
-TARGET_CLASS='com.google.net.stubby.testing.integration.TestServiceServer'
+TARGET_CLASS='io.grpc.testing.integration.TestServiceServer'
 
 TARGET_ARGS=''
 for i in "$@"; do 
@@ -9,4 +9,4 @@
 TARGET_ARGS="${TARGET_ARGS:2}"
 
 echo "[INFO] Running: $TARGET ($TARGET_CLASS $TARGET_ARGS)"
-gradle -PmainClass="$TARGET_CLASS" -PappArgs="[$TARGET_ARGS]" :stubby-integration-testing:execute
+gradle -PmainClass="$TARGET_CLASS" -PappArgs="[$TARGET_ARGS]" :grpc-integration-testing:execute
diff --git a/settings.gradle b/settings.gradle
index 2d5320a..ccf44c5 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,18 +1,18 @@
-rootProject.name = "stubby"
-include ":stubby-core"
-include ":stubby-stub"
-include ":stubby-auth"
-include ":stubby-okhttp"
-include ":stubby-netty"
-include ":stubby-testing"
-include ":stubby-integration-testing"
-include ":stubby-all"
+rootProject.name = "grpc"
+include ":grpc-core"
+include ":grpc-stub"
+include ":grpc-auth"
+include ":grpc-okhttp"
+include ":grpc-netty"
+include ":grpc-testing"
+include ":grpc-integration-testing"
+include ":grpc-all"
 
-project(':stubby-core').projectDir = "$rootDir/core" as File
-project(':stubby-stub').projectDir = "$rootDir/stub" as File
-project(':stubby-auth').projectDir = "$rootDir/auth" as File
-project(':stubby-okhttp').projectDir = "$rootDir/okhttp" as File
-project(':stubby-netty').projectDir = "$rootDir/netty" as File
-project(':stubby-testing').projectDir = "$rootDir/testing" as File
-project(':stubby-integration-testing').projectDir = "$rootDir/integration-testing" as File
-project(':stubby-all').projectDir = "$rootDir/all" as File
+project(':grpc-core').projectDir = "$rootDir/core" as File
+project(':grpc-stub').projectDir = "$rootDir/stub" as File
+project(':grpc-auth').projectDir = "$rootDir/auth" as File
+project(':grpc-okhttp').projectDir = "$rootDir/okhttp" as File
+project(':grpc-netty').projectDir = "$rootDir/netty" as File
+project(':grpc-testing').projectDir = "$rootDir/testing" as File
+project(':grpc-integration-testing').projectDir = "$rootDir/integration-testing" as File
+project(':grpc-all').projectDir = "$rootDir/all" as File
diff --git a/stub/build.gradle b/stub/build.gradle
index f7e6a5b..d242393 100644
--- a/stub/build.gradle
+++ b/stub/build.gradle
@@ -2,9 +2,9 @@
     id "be.insaneprogramming.gradle.animalsniffer" version "1.4.0"
 }
 
-description = "Stubby: Stub"
+description = "gRPC: Stub"
 dependencies {
-    compile project(':stubby-core')
+    compile project(':grpc-core')
 }
 
 // Configure the animal sniffer plugin
diff --git a/stub/src/main/java/com/google/net/stubby/stub/AbstractServiceDescriptor.java b/stub/src/main/java/io/grpc/stub/AbstractServiceDescriptor.java
similarity index 95%
rename from stub/src/main/java/com/google/net/stubby/stub/AbstractServiceDescriptor.java
rename to stub/src/main/java/io/grpc/stub/AbstractServiceDescriptor.java
index e851a03..b917ad8 100644
--- a/stub/src/main/java/com/google/net/stubby/stub/AbstractServiceDescriptor.java
+++ b/stub/src/main/java/io/grpc/stub/AbstractServiceDescriptor.java
@@ -29,10 +29,11 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.stub;
+package io.grpc.stub;
 
 import com.google.common.collect.ImmutableList;
-import com.google.net.stubby.MethodDescriptor;
+
+import io.grpc.MethodDescriptor;
 
 import java.util.Map;
 
diff --git a/stub/src/main/java/com/google/net/stubby/stub/AbstractStub.java b/stub/src/main/java/io/grpc/stub/AbstractStub.java
similarity index 94%
rename from stub/src/main/java/com/google/net/stubby/stub/AbstractStub.java
rename to stub/src/main/java/io/grpc/stub/AbstractStub.java
index 6a39889..21cafe0 100644
--- a/stub/src/main/java/com/google/net/stubby/stub/AbstractStub.java
+++ b/stub/src/main/java/io/grpc/stub/AbstractStub.java
@@ -29,13 +29,14 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.stub;
+package io.grpc.stub;
 
 import com.google.common.collect.Maps;
-import com.google.net.stubby.Channel;
-import com.google.net.stubby.ClientInterceptor;
-import com.google.net.stubby.ClientInterceptors;
-import com.google.net.stubby.MethodDescriptor;
+
+import io.grpc.Channel;
+import io.grpc.ClientInterceptor;
+import io.grpc.ClientInterceptors;
+import io.grpc.MethodDescriptor;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/stub/src/main/java/com/google/net/stubby/stub/Calls.java b/stub/src/main/java/io/grpc/stub/Calls.java
similarity index 97%
rename from stub/src/main/java/com/google/net/stubby/stub/Calls.java
rename to stub/src/main/java/io/grpc/stub/Calls.java
index f47a9ea..2459bb6 100644
--- a/stub/src/main/java/com/google/net/stubby/stub/Calls.java
+++ b/stub/src/main/java/io/grpc/stub/Calls.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.stub;
+package io.grpc.stub;
 
 import com.google.common.base.Preconditions;
 import com.google.common.base.Throwables;
@@ -37,10 +37,11 @@
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.SettableFuture;
 import com.google.common.util.concurrent.UncheckedExecutionException;
-import com.google.net.stubby.Call;
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.MethodDescriptor;
-import com.google.net.stubby.Status;
+
+import io.grpc.Call;
+import io.grpc.Metadata;
+import io.grpc.MethodDescriptor;
+import io.grpc.Status;
 
 import java.util.Iterator;
 import java.util.NoSuchElementException;
@@ -322,7 +323,7 @@
   }
 
   /**
-   * Convert events on a {@link com.google.net.stubby.Call.Listener} into a blocking
+   * Convert events on a {@link io.grpc.Call.Listener} into a blocking
    * {@link Iterator}.
    *
    * <p>The class is not thread-safe, but it does permit Call.Listener calls in a separate thread
diff --git a/stub/src/main/java/com/google/net/stubby/stub/MetadataUtils.java b/stub/src/main/java/io/grpc/stub/MetadataUtils.java
similarity index 92%
rename from stub/src/main/java/com/google/net/stubby/stub/MetadataUtils.java
rename to stub/src/main/java/io/grpc/stub/MetadataUtils.java
index c382aca..9c303b8 100644
--- a/stub/src/main/java/com/google/net/stubby/stub/MetadataUtils.java
+++ b/stub/src/main/java/io/grpc/stub/MetadataUtils.java
@@ -29,16 +29,16 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.stub;
+package io.grpc.stub;
 
-import com.google.net.stubby.Call;
-import com.google.net.stubby.Channel;
-import com.google.net.stubby.ClientInterceptor;
-import com.google.net.stubby.ClientInterceptors.ForwardingCall;
-import com.google.net.stubby.ClientInterceptors.ForwardingListener;
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.MethodDescriptor;
-import com.google.net.stubby.Status;
+import io.grpc.Call;
+import io.grpc.Channel;
+import io.grpc.ClientInterceptor;
+import io.grpc.ClientInterceptors.ForwardingCall;
+import io.grpc.ClientInterceptors.ForwardingListener;
+import io.grpc.Metadata;
+import io.grpc.MethodDescriptor;
+import io.grpc.Status;
 
 import java.util.concurrent.atomic.AtomicReference;
 
diff --git a/stub/src/main/java/com/google/net/stubby/stub/Method.java b/stub/src/main/java/io/grpc/stub/Method.java
similarity index 96%
rename from stub/src/main/java/com/google/net/stubby/stub/Method.java
rename to stub/src/main/java/io/grpc/stub/Method.java
index b2297ea..21e2300 100644
--- a/stub/src/main/java/com/google/net/stubby/stub/Method.java
+++ b/stub/src/main/java/io/grpc/stub/Method.java
@@ -29,10 +29,10 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.stub;
+package io.grpc.stub;
 
-import com.google.net.stubby.Marshaller;
-import com.google.net.stubby.MethodType;
+import io.grpc.Marshaller;
+import io.grpc.MethodType;
 
 import javax.annotation.concurrent.Immutable;
 
diff --git a/stub/src/main/java/com/google/net/stubby/stub/ServerCalls.java b/stub/src/main/java/io/grpc/stub/ServerCalls.java
similarity index 95%
rename from stub/src/main/java/com/google/net/stubby/stub/ServerCalls.java
rename to stub/src/main/java/io/grpc/stub/ServerCalls.java
index c68ef14..4def475 100644
--- a/stub/src/main/java/com/google/net/stubby/stub/ServerCalls.java
+++ b/stub/src/main/java/io/grpc/stub/ServerCalls.java
@@ -29,13 +29,13 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.stub;
+package io.grpc.stub;
 
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.ServerCall;
-import com.google.net.stubby.ServerCallHandler;
-import com.google.net.stubby.ServerMethodDefinition;
-import com.google.net.stubby.Status;
+import io.grpc.Metadata;
+import io.grpc.ServerCall;
+import io.grpc.ServerCallHandler;
+import io.grpc.ServerMethodDefinition;
+import io.grpc.Status;
 
 /**
  * Utility functions for adapting ServerCallHandlers to application service implementation.
diff --git a/stub/src/main/java/com/google/net/stubby/stub/StreamObserver.java b/stub/src/main/java/io/grpc/stub/StreamObserver.java
similarity index 98%
rename from stub/src/main/java/com/google/net/stubby/stub/StreamObserver.java
rename to stub/src/main/java/io/grpc/stub/StreamObserver.java
index 7f5a3c8..58e3559 100644
--- a/stub/src/main/java/com/google/net/stubby/stub/StreamObserver.java
+++ b/stub/src/main/java/io/grpc/stub/StreamObserver.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.stub;
+package io.grpc.stub;
 
 /**
  * Receives notifications from an observable stream of messages.
diff --git a/stub/src/main/java/com/google/net/stubby/stub/StreamRecorder.java b/stub/src/main/java/io/grpc/stub/StreamRecorder.java
similarity index 98%
rename from stub/src/main/java/com/google/net/stubby/stub/StreamRecorder.java
rename to stub/src/main/java/io/grpc/stub/StreamRecorder.java
index b8f7af8..cfd5c07 100644
--- a/stub/src/main/java/com/google/net/stubby/stub/StreamRecorder.java
+++ b/stub/src/main/java/io/grpc/stub/StreamRecorder.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.stub;
+package io.grpc.stub;
 
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.SettableFuture;
diff --git a/testing/build.gradle b/testing/build.gradle
index 0bc4cde..2858075 100644
--- a/testing/build.gradle
+++ b/testing/build.gradle
@@ -1,4 +1,4 @@
-description = "Stubby: Testing"
+description = "gRPC: Testing"
 dependencies {
-    compile project(':stubby-core')
+    compile project(':grpc-core')
 }
diff --git a/testing/src/main/java/com/google/net/stubby/testing/TestUtils.java b/testing/src/main/java/io/grpc/testing/TestUtils.java
similarity index 91%
rename from testing/src/main/java/com/google/net/stubby/testing/TestUtils.java
rename to testing/src/main/java/io/grpc/testing/TestUtils.java
index e89da7e..45fa92c 100644
--- a/testing/src/main/java/com/google/net/stubby/testing/TestUtils.java
+++ b/testing/src/main/java/io/grpc/testing/TestUtils.java
@@ -29,14 +29,14 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package com.google.net.stubby.testing;
+package io.grpc.testing;
 
-import com.google.net.stubby.Metadata;
-import com.google.net.stubby.ServerCall;
-import com.google.net.stubby.ServerCallHandler;
-import com.google.net.stubby.ServerInterceptor;
-import com.google.net.stubby.ServerInterceptors;
-import com.google.net.stubby.Status;
+import io.grpc.Metadata;
+import io.grpc.ServerCall;
+import io.grpc.ServerCallHandler;
+import io.grpc.ServerInterceptor;
+import io.grpc.ServerInterceptors;
+import io.grpc.Status;
 
 import java.util.Arrays;
 import java.util.HashSet;