diff --git a/.travis.yml b/.travis.yml
index 13b2d01..108a878 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,7 +4,7 @@
 
 env:
   global:
-    - PROTOBUF_VERSION=3.0.0-beta-1
+    - PROTOBUF_VERSION=3.0.0-beta-2
     - OPENSSL_VERSION=1.0.2d
     - LDFLAGS=-L/tmp/protobuf-${PROTOBUF_VERSION}/lib
     - CXXFLAGS=-I/tmp/protobuf-${PROTOBUF_VERSION}/include
diff --git a/COMPILING.md b/COMPILING.md
index fd7251a..9fd2257 100644
--- a/COMPILING.md
+++ b/COMPILING.md
@@ -27,13 +27,13 @@
 generation. Most users only need to use `skipCodegen=true` as discussed above.
 
 ### Build Protobuf
-The codegen plugin is C++ code and requires protobuf 3.0.0-beta-1.
+The codegen plugin is C++ code and requires protobuf 3.0.0-beta-2.
 
 For Linux, Mac and MinGW:
 ```
 $ git clone https://github.com/google/protobuf.git
 $ cd protobuf
-$ git checkout v3.0.0-beta-1
+$ git checkout v3.0.0-beta-2
 $ ./autogen.sh
 $ ./configure
 $ make
@@ -72,16 +72,16 @@
 Gradle to find protobuf:
 ```
 .\gradlew install ^
-    -PvcProtobufInclude=C:\path\to\protobuf-3.0.0-beta-1\src ^
-    -PvcProtobufLibs=C:\path\to\protobuf-3.0.0-beta-1\vsprojects\Release ^
+    -PvcProtobufInclude=C:\path\to\protobuf-3.0.0-beta-2\src ^
+    -PvcProtobufLibs=C:\path\to\protobuf-3.0.0-beta-2\vsprojects\Release ^
     -PtargetArch=x86_32
 ```
 
 Since specifying those properties every build is bothersome, you can instead
 create ``<project-root>\gradle.properties`` with contents like:
 ```
-vcProtobufInclude=C:\\path\\to\\protobuf-3.0.0-beta-1\\src
-vcProtobufLibs=C:\\path\\to\\protobuf-3.0.0-beta-1\\vsprojects\\Release
+vcProtobufInclude=C:\\path\\to\\protobuf-3.0.0-beta-2\\src
+vcProtobufLibs=C:\\path\\to\\protobuf-3.0.0-beta-2\\vsprojects\\Release
 targetArch=x86_32
 ```
 
diff --git a/README.md b/README.md
index 2bc3a6f..ab234c9 100644
--- a/README.md
+++ b/README.md
@@ -90,7 +90,7 @@
           protobuf-java directly, you will be transitively depending on the
           protobuf-java version that grpc depends on.
         -->
-        <protocArtifact>com.google.protobuf:protoc:3.0.0-beta-1:exe:${os.detected.classifier}</protocArtifact>
+        <protocArtifact>com.google.protobuf:protoc:3.0.0-beta-2:exe:${os.detected.classifier}</protocArtifact>
         <pluginId>grpc-java</pluginId>
         <pluginArtifact>io.grpc:protoc-gen-grpc-java:0.9.0:exe:${os.detected.classifier}</pluginArtifact>
       </configuration>
@@ -129,7 +129,7 @@
     // The version of protoc must match protobuf-java. If you don't depend on
     // protobuf-java directly, you will be transitively depending on the
     // protobuf-java version that grpc depends on.
-    artifact = "com.google.protobuf:protoc:3.0.0-beta-1"
+    artifact = "com.google.protobuf:protoc:3.0.0-beta-2"
   }
   plugins {
     grpc {
diff --git a/android-interop-testing/app/build.gradle b/android-interop-testing/app/build.gradle
index a195e5d..6b04b14 100644
--- a/android-interop-testing/app/build.gradle
+++ b/android-interop-testing/app/build.gradle
@@ -28,7 +28,7 @@
 
 protobuf {
     protoc {
-        artifact = 'com.google.protobuf:protoc:3.0.0-beta-1'
+        artifact = 'com.google.protobuf:protoc:3.0.0-beta-2'
     }
     plugins {
         grpc {
diff --git a/benchmarks/src/generated/main/java/io/grpc/testing/ClientConfig.java b/benchmarks/src/generated/main/java/io/grpc/testing/ClientConfig.java
index 33c12ef..9a917ad 100644
--- a/benchmarks/src/generated/main/java/io/grpc/testing/ClientConfig.java
+++ b/benchmarks/src/generated/main/java/io/grpc/testing/ClientConfig.java
@@ -50,7 +50,7 @@
             break;
           }
           case 10: {
-            String s = input.readStringRequireUtf8();
+            java.lang.String s = input.readStringRequireUtf8();
             if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
               serverTargets_ = new com.google.protobuf.LazyStringArrayList();
               mutable_bitField0_ |= 0x00000001;
diff --git a/build.gradle b/build.gradle
index 3c38e9a..ba8851b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -54,8 +54,8 @@
         protocPluginBaseName = 'protoc-gen-grpc-java'
         javaPluginPath = "$rootDir/compiler/build/exe/java_plugin/$protocPluginBaseName$exeSuffix"
 
-        protobufVersion = '3.0.0-beta-1'
-        protobufNanoVersion = '3.0.0-alpha-4'
+        protobufVersion = '3.0.0-beta-2'
+        protobufNanoVersion = '3.0.0-alpha-5'
 
         configureProtoCompilation = {
           String generatedSourcePath = "${projectDir}/src/generated"
diff --git a/buildscripts/jenkins-pre.bat b/buildscripts/jenkins-pre.bat
index dbe4d03..f0e6785 100644
--- a/buildscripts/jenkins-pre.bat
+++ b/buildscripts/jenkins-pre.bat
@@ -13,5 +13,5 @@
 set ESCWORKSPACE=%WORKSPACE:\=\\%
 
 echo targetArch=x86_32> gradle.properties
-echo vcProtobufLibs=%ESCWORKSPACE%\\grpc-java-helper\\protobuf-3.0.0-beta-1\\cmake\\build\\Release>> gradle.properties
-echo vcProtobufInclude=%ESCWORKSPACE%\\grpc-java-helper\\protobuf-3.0.0-beta-1\\cmake\\build\\include>> gradle.properties
+echo vcProtobufLibs=%ESCWORKSPACE%\\grpc-java-helper\\protobuf-3.0.0-beta-2\\cmake\\build\\Release>> gradle.properties
+echo vcProtobufInclude=%ESCWORKSPACE%\\grpc-java-helper\\protobuf-3.0.0-beta-2\\cmake\\build\\include>> gradle.properties
diff --git a/buildscripts/make_dependencies.bat b/buildscripts/make_dependencies.bat
index 403efe8..828dfcf 100644
--- a/buildscripts/make_dependencies.bat
+++ b/buildscripts/make_dependencies.bat
@@ -5,7 +5,7 @@
 REM   7za.exe in current directory or PATH
 REM   Install http://slproweb.com/download/Win64OpenSSL_Light-1_0_2d.exe
 
-set PROTOBUF_VER=3.0.0-beta-1
+set PROTOBUF_VER=3.0.0-beta-2
 set CMAKE_NAME=cmake-3.3.2-win32-x86
 
 if not exist "protobuf-%PROTOBUF_VER%\cmake\build\Release\" (
@@ -26,10 +26,10 @@
 powershell -command "& { iwr https://github.com/google/protobuf/archive/v%PROTOBUF_VER%.zip -OutFile protobuf.zip }"
 7za X protobuf.zip
 del protobuf.zip
-pushd protobuf-3.0.0-beta-1\cmake
+pushd protobuf-3.0.0-beta-2\cmake
 mkdir build
 cd build
-cmake -DBUILD_TESTING=OFF ..
+cmake -Dprotobuf_BUILD_TESTS=OFF ..
 msbuild /maxcpucount /p:Configuration=Release libprotoc.vcxproj
 call extract_includes.bat
 popd
diff --git a/buildscripts/make_dependencies.sh b/buildscripts/make_dependencies.sh
index f4cb25b..a1f761d 100755
--- a/buildscripts/make_dependencies.sh
+++ b/buildscripts/make_dependencies.sh
@@ -7,6 +7,11 @@
 INSTALL_DIR=/tmp/protobuf-${PROTOBUF_VERSION}
 mkdir -p $DOWNLOAD_DIR
 
+# We may have set this elsewhere in order to allow gRPC find our custom
+# built openssl to run ALPN, but it may be incompatible with wget which
+# uses the system openssl. We unset this variable for this script.
+export -n LD_LIBRARY_PATH
+
 # Make protoc
 # Can't check for presence of directory as cache auto-creates it.
 if [ -f ${INSTALL_DIR}/bin/protoc ]; then
diff --git a/compiler/Dockerfile b/compiler/Dockerfile
index 1c4bb49..759afbf 100644
--- a/compiler/Dockerfile
+++ b/compiler/Dockerfile
@@ -2,7 +2,7 @@
 
 RUN scl enable devtoolset-1.1 'bash -c "cd /protobuf && \
     git fetch && \
-    git checkout v3.0.0-beta-1 && \
+    git checkout v3.0.0-beta-2 && \
     ./autogen.sh && \
     CXXFLAGS=-m32 ./configure --disable-shared --prefix=/protobuf-32 -j$(nproc) && \
     make clean && make && make install"'
diff --git a/compiler/README.md b/compiler/README.md
index ce89ca5..e78c08d 100644
--- a/compiler/README.md
+++ b/compiler/README.md
@@ -13,7 +13,7 @@
 
 * Linux, Mac OS X with Clang, or Windows with MSYS2
 * Java 7 or up
-* [Protobuf](https://github.com/google/protobuf) 3.0.0-beta-1 or up
+* [Protobuf](https://github.com/google/protobuf) 3.0.0-beta-2 or up
 
 ## Compiling and testing the codegen
 Change to the `compiler` directory:
diff --git a/examples/android/app/build.gradle b/examples/android/app/build.gradle
index 30dcd73..192044a 100644
--- a/examples/android/app/build.gradle
+++ b/examples/android/app/build.gradle
@@ -25,7 +25,7 @@
 
 protobuf {
     protoc {
-        artifact = 'com.google.protobuf:protoc:3.0.0-beta-1'
+        artifact = 'com.google.protobuf:protoc:3.0.0-beta-2'
     }
     plugins {
         grpc {
diff --git a/examples/src/generated/main/java/io/grpc/examples/helloworld/HelloRequest.java b/examples/src/generated/main/java/io/grpc/examples/helloworld/HelloRequest.java
index 316b996..d8e53c1 100644
--- a/examples/src/generated/main/java/io/grpc/examples/helloworld/HelloRequest.java
+++ b/examples/src/generated/main/java/io/grpc/examples/helloworld/HelloRequest.java
@@ -47,7 +47,7 @@
             break;
           }
           case 10: {
-            String s = input.readStringRequireUtf8();
+            java.lang.String s = input.readStringRequireUtf8();
 
             name_ = s;
             break;
diff --git a/examples/src/generated/main/java/io/grpc/examples/helloworld/HelloResponse.java b/examples/src/generated/main/java/io/grpc/examples/helloworld/HelloResponse.java
index e31e45d..13a6ff9 100644
--- a/examples/src/generated/main/java/io/grpc/examples/helloworld/HelloResponse.java
+++ b/examples/src/generated/main/java/io/grpc/examples/helloworld/HelloResponse.java
@@ -47,7 +47,7 @@
             break;
           }
           case 10: {
-            String s = input.readStringRequireUtf8();
+            java.lang.String s = input.readStringRequireUtf8();
 
             message_ = s;
             break;
diff --git a/examples/src/generated/main/java/io/grpc/examples/routeguide/Feature.java b/examples/src/generated/main/java/io/grpc/examples/routeguide/Feature.java
index 827d309..be77f97 100644
--- a/examples/src/generated/main/java/io/grpc/examples/routeguide/Feature.java
+++ b/examples/src/generated/main/java/io/grpc/examples/routeguide/Feature.java
@@ -48,7 +48,7 @@
             break;
           }
           case 10: {
-            String s = input.readStringRequireUtf8();
+            java.lang.String s = input.readStringRequireUtf8();
 
             name_ = s;
             break;
diff --git a/examples/src/generated/main/java/io/grpc/examples/routeguide/RouteNote.java b/examples/src/generated/main/java/io/grpc/examples/routeguide/RouteNote.java
index 867cfc1..1b38c0a 100644
--- a/examples/src/generated/main/java/io/grpc/examples/routeguide/RouteNote.java
+++ b/examples/src/generated/main/java/io/grpc/examples/routeguide/RouteNote.java
@@ -60,7 +60,7 @@
             break;
           }
           case 18: {
-            String s = input.readStringRequireUtf8();
+            java.lang.String s = input.readStringRequireUtf8();
 
             message_ = s;
             break;
diff --git a/grpclb/src/generated/main/java/io/grpc/grpclb/InitialLoadBalanceRequest.java b/grpclb/src/generated/main/java/io/grpc/grpclb/InitialLoadBalanceRequest.java
index 6743a0a..47dc984 100644
--- a/grpclb/src/generated/main/java/io/grpc/grpclb/InitialLoadBalanceRequest.java
+++ b/grpclb/src/generated/main/java/io/grpc/grpclb/InitialLoadBalanceRequest.java
@@ -43,7 +43,7 @@
             break;
           }
           case 10: {
-            String s = input.readStringRequireUtf8();
+            java.lang.String s = input.readStringRequireUtf8();
 
             name_ = s;
             break;
diff --git a/grpclb/src/generated/main/java/io/grpc/grpclb/InitialLoadBalanceResponse.java b/grpclb/src/generated/main/java/io/grpc/grpclb/InitialLoadBalanceResponse.java
index 0857dca..8abf0ce 100644
--- a/grpclb/src/generated/main/java/io/grpc/grpclb/InitialLoadBalanceResponse.java
+++ b/grpclb/src/generated/main/java/io/grpc/grpclb/InitialLoadBalanceResponse.java
@@ -42,7 +42,7 @@
             break;
           }
           case 18: {
-            String s = input.readStringRequireUtf8();
+            java.lang.String s = input.readStringRequireUtf8();
             initialResponseTypeCase_ = 2;
             initialResponseType_ = s;
             break;
diff --git a/grpclb/src/generated/main/java/io/grpc/grpclb/Server.java b/grpclb/src/generated/main/java/io/grpc/grpclb/Server.java
index 5f3ee8e..a1bc3d0 100644
--- a/grpclb/src/generated/main/java/io/grpc/grpclb/Server.java
+++ b/grpclb/src/generated/main/java/io/grpc/grpclb/Server.java
@@ -46,7 +46,7 @@
             break;
           }
           case 10: {
-            String s = input.readStringRequireUtf8();
+            java.lang.String s = input.readStringRequireUtf8();
 
             ipAddress_ = s;
             break;
@@ -57,7 +57,7 @@
             break;
           }
           case 26: {
-            String s = input.readStringRequireUtf8();
+            java.lang.String s = input.readStringRequireUtf8();
 
             loadBalanceToken_ = s;
             break;
diff --git a/interop-testing/src/generated/main/java/io/grpc/testing/integration/Messages.java b/interop-testing/src/generated/main/java/io/grpc/testing/integration/Messages.java
index 4827673..18124a7 100644
--- a/interop-testing/src/generated/main/java/io/grpc/testing/integration/Messages.java
+++ b/interop-testing/src/generated/main/java/io/grpc/testing/integration/Messages.java
@@ -1738,13 +1738,13 @@
               break;
             }
             case 18: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               username_ = s;
               break;
             }
             case 26: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               oauthScope_ = s;
               break;
@@ -2583,7 +2583,7 @@
               break;
             }
             case 10: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               value_ = s;
               break;
