diff --git a/appengine.go b/appengine.go
index 35ba9c89..c906d1fc 100644
--- a/appengine.go
+++ b/appengine.go
@@ -12,7 +12,7 @@ import (
 	"context"
 	"net/http"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/internal"
 )
diff --git a/blobstore/blobstore.go b/blobstore/blobstore.go
index f92a3da8..31d5d786 100644
--- a/blobstore/blobstore.go
+++ b/blobstore/blobstore.go
@@ -23,7 +23,7 @@ import (
 	"strings"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 	"golang.org/x/text/encoding/htmlindex"
 
 	"google.golang.org/appengine"
diff --git a/blobstore/read.go b/blobstore/read.go
index 6fec0e72..2dcc0843 100644
--- a/blobstore/read.go
+++ b/blobstore/read.go
@@ -12,7 +12,7 @@ import (
 	"os"
 	"sync"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine"
 	"google.golang.org/appengine/internal"
diff --git a/datastore/datastore.go b/datastore/datastore.go
index 790fca77..76a25520 100644
--- a/datastore/datastore.go
+++ b/datastore/datastore.go
@@ -10,7 +10,7 @@ import (
 	"fmt"
 	"reflect"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine"
 	"google.golang.org/appengine/internal"
diff --git a/datastore/internal/cloudkey/cloudkey.go b/datastore/internal/cloudkey/cloudkey.go
index 643d4049..db051c97 100644
--- a/datastore/internal/cloudkey/cloudkey.go
+++ b/datastore/internal/cloudkey/cloudkey.go
@@ -12,7 +12,7 @@ import (
 	"errors"
 	"strings"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 	cloudpb "google.golang.org/appengine/datastore/internal/cloudpb"
 )
 
diff --git a/datastore/internal/cloudpb/entity.pb.go b/datastore/internal/cloudpb/entity.pb.go
index af8195f3..2350969f 100644
--- a/datastore/internal/cloudpb/entity.pb.go
+++ b/datastore/internal/cloudpb/entity.pb.go
@@ -10,7 +10,7 @@ package cloudpb
 import (
 	"fmt"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 )
 
 // A partition ID identifies a grouping of entities. The grouping is always
diff --git a/datastore/key.go b/datastore/key.go
index e312df51..9d5f0cae 100644
--- a/datastore/key.go
+++ b/datastore/key.go
@@ -14,7 +14,7 @@ import (
 	"strconv"
 	"strings"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/internal"
 	pb "google.golang.org/appengine/internal/datastore"
diff --git a/datastore/load.go b/datastore/load.go
index 38a63653..d14a151a 100644
--- a/datastore/load.go
+++ b/datastore/load.go
@@ -10,7 +10,7 @@ import (
 	"strings"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 	"google.golang.org/appengine"
 	pb "google.golang.org/appengine/internal/datastore"
 )
diff --git a/datastore/load_test.go b/datastore/load_test.go
index 46029bba..6889a8e0 100644
--- a/datastore/load_test.go
+++ b/datastore/load_test.go
@@ -8,7 +8,7 @@ import (
 	"reflect"
 	"testing"
 
-	proto "github.com/golang/protobuf/proto"
+	proto "google.golang.org/protobuf/proto"
 	pb "google.golang.org/appengine/internal/datastore"
 )
 
diff --git a/datastore/query.go b/datastore/query.go
index b1b80bf7..74b809bc 100644
--- a/datastore/query.go
+++ b/datastore/query.go
@@ -13,7 +13,7 @@ import (
 	"reflect"
 	"strings"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/internal"
 	pb "google.golang.org/appengine/internal/datastore"
diff --git a/datastore/query_test.go b/datastore/query_test.go
index ab968238..f853fc11 100644
--- a/datastore/query_test.go
+++ b/datastore/query_test.go
@@ -11,7 +11,7 @@ import (
 	"strings"
 	"testing"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/internal"
 	"google.golang.org/appengine/internal/aetesting"
diff --git a/datastore/save.go b/datastore/save.go
index b9a2a8f0..80873558 100644
--- a/datastore/save.go
+++ b/datastore/save.go
@@ -11,7 +11,7 @@ import (
 	"reflect"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine"
 	pb "google.golang.org/appengine/internal/datastore"
diff --git a/delay/delay_test.go b/delay/delay_test.go
index 4c552b2c..6c202c3b 100644
--- a/delay/delay_test.go
+++ b/delay/delay_test.go
@@ -17,7 +17,7 @@ import (
 	"reflect"
 	"testing"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/internal"
 	"google.golang.org/appengine/taskqueue"
diff --git a/go.mod b/go.mod
index f634d8d6..f4cd54ac 100644
--- a/go.mod
+++ b/go.mod
@@ -3,7 +3,6 @@ module google.golang.org/appengine
 go 1.11
 
 require (
-	github.com/golang/protobuf v1.5.2
-	golang.org/x/text v0.3.8
-	google.golang.org/protobuf v1.26.0
+	golang.org/x/text v0.13.0
+	google.golang.org/protobuf v1.31.0
 )
diff --git a/go.sum b/go.sum
index 6cea1e9b..9ec1f269 100644
--- a/go.sum
+++ b/go.sum
@@ -1,35 +1,40 @@
 github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
-github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
-github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
 github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
 github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
+golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
 golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
-golang.org/x/text v0.3.8 h1:nAL+RVCQ9uMn3vJZbV+MRnydTJFPf8qqY42YiA6MrqY=
-golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
+golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
+golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
+golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
-google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk=
-google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
+google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
diff --git a/internal/aetesting/fake.go b/internal/aetesting/fake.go
index dfdbe088..2dbc3ad1 100644
--- a/internal/aetesting/fake.go
+++ b/internal/aetesting/fake.go
@@ -13,7 +13,7 @@ import (
 	"reflect"
 	"testing"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/internal"
 )
diff --git a/internal/api.go b/internal/api.go
index 0569f5dd..33327202 100644
--- a/internal/api.go
+++ b/internal/api.go
@@ -25,7 +25,7 @@ import (
 	"sync/atomic"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	basepb "google.golang.org/appengine/internal/base"
 	logpb "google.golang.org/appengine/internal/log"
diff --git a/internal/api_classic.go b/internal/api_classic.go
index 87c33c79..3d1b6c48 100644
--- a/internal/api_classic.go
+++ b/internal/api_classic.go
@@ -18,7 +18,7 @@ import (
 	"appengine_internal"
 	basepb "appengine_internal/base"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 )
 
 var contextKey = "holds an appengine.Context"
diff --git a/internal/api_common.go b/internal/api_common.go
index 5b95c13d..43fced6d 100644
--- a/internal/api_common.go
+++ b/internal/api_common.go
@@ -9,7 +9,7 @@ import (
 	"errors"
 	"os"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 )
 
 type ctxKey string
diff --git a/internal/api_test.go b/internal/api_test.go
index 9692b29e..7efb7f78 100644
--- a/internal/api_test.go
+++ b/internal/api_test.go
@@ -25,7 +25,7 @@ import (
 	"testing"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	basepb "google.golang.org/appengine/internal/base"
 	remotepb "google.golang.org/appengine/internal/remote_api"
diff --git a/internal/app_identity/app_identity_service.pb.go b/internal/app_identity/app_identity_service.pb.go
index 9a2ff77a..c85533f6 100644
--- a/internal/app_identity/app_identity_service.pb.go
+++ b/internal/app_identity/app_identity_service.pb.go
@@ -3,7 +3,7 @@
 
 package app_identity
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/proto"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/base/api_base.pb.go b/internal/base/api_base.pb.go
index db4777e6..fafa7e8c 100644
--- a/internal/base/api_base.pb.go
+++ b/internal/base/api_base.pb.go
@@ -3,7 +3,7 @@
 
 package base
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/proto"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/blobstore/blobstore_service.pb.go b/internal/blobstore/blobstore_service.pb.go
index faef13a0..d002c232 100644
--- a/internal/blobstore/blobstore_service.pb.go
+++ b/internal/blobstore/blobstore_service.pb.go
@@ -3,7 +3,7 @@
 
 package blobstore
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/proto"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/capability/capability_service.pb.go b/internal/capability/capability_service.pb.go
index 220fccfa..fd7f3174 100644
--- a/internal/capability/capability_service.pb.go
+++ b/internal/capability/capability_service.pb.go
@@ -3,7 +3,7 @@
 
 package capability
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/proto"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/channel/channel_service.pb.go b/internal/channel/channel_service.pb.go
index ba31ea29..4b38b2ef 100644
--- a/internal/channel/channel_service.pb.go
+++ b/internal/channel/channel_service.pb.go
@@ -3,7 +3,7 @@
 
 package channel
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/proto"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/datastore/datastore_v3.pb.go b/internal/datastore/datastore_v3.pb.go
index 2fb74828..28b35a9b 100644
--- a/internal/datastore/datastore_v3.pb.go
+++ b/internal/datastore/datastore_v3.pb.go
@@ -3,7 +3,7 @@
 
 package datastore
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/proto"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/image/images_service.pb.go b/internal/image/images_service.pb.go
index 2a229d87..cfb632e5 100644
--- a/internal/image/images_service.pb.go
+++ b/internal/image/images_service.pb.go
@@ -3,7 +3,7 @@
 
 package image
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/proto"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/internal.go b/internal/internal.go
index 051ea398..2c57b5fb 100644
--- a/internal/internal.go
+++ b/internal/internal.go
@@ -11,7 +11,7 @@ package internal
 import (
 	"fmt"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	remotepb "google.golang.org/appengine/internal/remote_api"
 )
diff --git a/internal/log/log_service.pb.go b/internal/log/log_service.pb.go
index 8545ac4a..a7901277 100644
--- a/internal/log/log_service.pb.go
+++ b/internal/log/log_service.pb.go
@@ -3,7 +3,7 @@
 
 package log
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/proto"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/mail/mail_service.pb.go b/internal/mail/mail_service.pb.go
index f9c9cae9..7f658d49 100644
--- a/internal/mail/mail_service.pb.go
+++ b/internal/mail/mail_service.pb.go
@@ -3,7 +3,7 @@
 
 package mail
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/proto"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/modules/modules_service.pb.go b/internal/modules/modules_service.pb.go
index ddfc0c04..e23f354c 100644
--- a/internal/modules/modules_service.pb.go
+++ b/internal/modules/modules_service.pb.go
@@ -3,7 +3,7 @@
 
 package modules
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/proto"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/remote_api/remote_api.pb.go b/internal/remote_api/remote_api.pb.go
index 8d782a38..4e59e364 100644
--- a/internal/remote_api/remote_api.pb.go
+++ b/internal/remote_api/remote_api.pb.go
@@ -3,7 +3,7 @@
 
 package remote_api
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/proto"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/search/search.pb.go b/internal/search/search.pb.go
index 86a65e5b..d99bbb01 100644
--- a/internal/search/search.pb.go
+++ b/internal/search/search.pb.go
@@ -3,7 +3,7 @@
 
 package search
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/proto"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/socket/socket_service.pb.go b/internal/socket/socket_service.pb.go
index 4ec872e4..51e745d3 100644
--- a/internal/socket/socket_service.pb.go
+++ b/internal/socket/socket_service.pb.go
@@ -3,7 +3,7 @@
 
 package socket
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/proto"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/system/system_service.pb.go b/internal/system/system_service.pb.go
index 9ff458ed..6d24a9d2 100644
--- a/internal/system/system_service.pb.go
+++ b/internal/system/system_service.pb.go
@@ -3,7 +3,7 @@
 
 package system
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/proto"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/taskqueue/taskqueue_service.pb.go b/internal/taskqueue/taskqueue_service.pb.go
index 55465ccc..4e24219c 100644
--- a/internal/taskqueue/taskqueue_service.pb.go
+++ b/internal/taskqueue/taskqueue_service.pb.go
@@ -3,7 +3,7 @@
 
 package taskqueue
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/proto"
 import fmt "fmt"
 import math "math"
 import datastore "google.golang.org/appengine/internal/datastore"
diff --git a/internal/transaction.go b/internal/transaction.go
index 2ae8ab9f..5732ca86 100644
--- a/internal/transaction.go
+++ b/internal/transaction.go
@@ -11,7 +11,7 @@ import (
 	"errors"
 	"reflect"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	basepb "google.golang.org/appengine/internal/base"
 	pb "google.golang.org/appengine/internal/datastore"
diff --git a/internal/urlfetch/urlfetch_service.pb.go b/internal/urlfetch/urlfetch_service.pb.go
index 5f727750..5230f617 100644
--- a/internal/urlfetch/urlfetch_service.pb.go
+++ b/internal/urlfetch/urlfetch_service.pb.go
@@ -3,7 +3,7 @@
 
 package urlfetch
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/proto"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/user/user_service.pb.go b/internal/user/user_service.pb.go
index c32f7268..7ef9e0b9 100644
--- a/internal/user/user_service.pb.go
+++ b/internal/user/user_service.pb.go
@@ -3,7 +3,7 @@
 
 package user
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/proto"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/xmpp/xmpp_service.pb.go b/internal/xmpp/xmpp_service.pb.go
index a35e9b41..d9dd9b9a 100644
--- a/internal/xmpp/xmpp_service.pb.go
+++ b/internal/xmpp/xmpp_service.pb.go
@@ -3,7 +3,7 @@
 
 package xmpp
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/proto"
 import fmt "fmt"
 import math "math"
 
diff --git a/log/log.go b/log/log.go
index ab234ff6..27a89798 100644
--- a/log/log.go
+++ b/log/log.go
@@ -36,7 +36,7 @@ import (
 	"strings"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine"
 	"google.golang.org/appengine/internal"
diff --git a/log/log_test.go b/log/log_test.go
index 726468e2..5cbf4742 100644
--- a/log/log_test.go
+++ b/log/log_test.go
@@ -9,7 +9,7 @@ import (
 	"testing"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	pb "google.golang.org/appengine/internal/log"
 )
diff --git a/mail/mail.go b/mail/mail.go
index 19735214..92e24a68 100644
--- a/mail/mail.go
+++ b/mail/mail.go
@@ -24,7 +24,7 @@ import (
 	"context"
 	"net/mail"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/internal"
 	bpb "google.golang.org/appengine/internal/base"
diff --git a/mail/mail_test.go b/mail/mail_test.go
index 7502c597..f31b75f7 100644
--- a/mail/mail_test.go
+++ b/mail/mail_test.go
@@ -7,7 +7,7 @@ package mail
 import (
 	"testing"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/internal/aetesting"
 	basepb "google.golang.org/appengine/internal/base"
diff --git a/memcache/memcache.go b/memcache/memcache.go
index 81751d70..4c8b9f06 100644
--- a/memcache/memcache.go
+++ b/memcache/memcache.go
@@ -36,7 +36,7 @@ import (
 	"errors"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine"
 	"google.golang.org/appengine/internal"
diff --git a/module/module.go b/module/module.go
index ffb3a643..cbba88b0 100644
--- a/module/module.go
+++ b/module/module.go
@@ -13,7 +13,7 @@ package module // import "google.golang.org/appengine/module"
 import (
 	"context"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/internal"
 	pb "google.golang.org/appengine/internal/modules"
diff --git a/module/module_test.go b/module/module_test.go
index 73e8971d..7f665104 100644
--- a/module/module_test.go
+++ b/module/module_test.go
@@ -8,7 +8,7 @@ import (
 	"reflect"
 	"testing"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/internal/aetesting"
 	pb "google.golang.org/appengine/internal/modules"
diff --git a/remote_api/client.go b/remote_api/client.go
index 19dc9d04..9df48ed2 100644
--- a/remote_api/client.go
+++ b/remote_api/client.go
@@ -21,7 +21,7 @@ import (
 	"strings"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/internal"
 	pb "google.golang.org/appengine/internal/remote_api"
diff --git a/remote_api/remote_api.go b/remote_api/remote_api.go
index 3d2880d6..c11bd015 100644
--- a/remote_api/remote_api.go
+++ b/remote_api/remote_api.go
@@ -15,7 +15,7 @@ import (
 	"net/http"
 	"strconv"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine"
 	"google.golang.org/appengine/internal"
diff --git a/runtime/runtime_test.go b/runtime/runtime_test.go
index c750115e..6a86745a 100644
--- a/runtime/runtime_test.go
+++ b/runtime/runtime_test.go
@@ -12,7 +12,7 @@ import (
 	"testing"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/internal/aetesting"
 	pb "google.golang.org/appengine/internal/system"
diff --git a/search/search.go b/search/search.go
index fd768084..8e8796c8 100644
--- a/search/search.go
+++ b/search/search.go
@@ -22,7 +22,7 @@ import (
 	"time"
 	"unicode/utf8"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine"
 	"google.golang.org/appengine/internal"
diff --git a/search/search_test.go b/search/search_test.go
index 0459cd74..df918cf2 100644
--- a/search/search_test.go
+++ b/search/search_test.go
@@ -12,7 +12,7 @@ import (
 	"testing"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine"
 	"google.golang.org/appengine/internal/aetesting"
diff --git a/socket/socket_classic.go b/socket/socket_classic.go
index 20e59405..90d38a97 100644
--- a/socket/socket_classic.go
+++ b/socket/socket_classic.go
@@ -15,7 +15,7 @@ import (
 	"strconv"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 	"google.golang.org/appengine/internal"
 
 	pb "google.golang.org/appengine/internal/socket"
diff --git a/taskqueue/taskqueue.go b/taskqueue/taskqueue.go
index 4bbe7316..e92141ce 100644
--- a/taskqueue/taskqueue.go
+++ b/taskqueue/taskqueue.go
@@ -25,7 +25,7 @@ import (
 	"strconv"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine"
 	"google.golang.org/appengine/internal"
diff --git a/urlfetch/urlfetch.go b/urlfetch/urlfetch.go
index 6c0d7241..1925a490 100644
--- a/urlfetch/urlfetch.go
+++ b/urlfetch/urlfetch.go
@@ -18,7 +18,7 @@ import (
 	"strings"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/internal"
 	pb "google.golang.org/appengine/internal/urlfetch"
diff --git a/user/user.go b/user/user.go
index 361189d5..55376224 100644
--- a/user/user.go
+++ b/user/user.go
@@ -9,7 +9,7 @@ import (
 	"context"
 	"strings"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/internal"
 	pb "google.golang.org/appengine/internal/user"
diff --git a/user/user_test.go b/user/user_test.go
index 78fd2fdf..2569402a 100644
--- a/user/user_test.go
+++ b/user/user_test.go
@@ -12,7 +12,7 @@ import (
 	"net/http"
 	"testing"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/internal"
 	"google.golang.org/appengine/internal/aetesting"
diff --git a/v2/appengine.go b/v2/appengine.go
index 1941d36d..80aec5b8 100644
--- a/v2/appengine.go
+++ b/v2/appengine.go
@@ -12,7 +12,7 @@ import (
 	"context"
 	"net/http"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2/internal"
 )
diff --git a/v2/blobstore/blobstore.go b/v2/blobstore/blobstore.go
index ee1ba897..0e4cec38 100644
--- a/v2/blobstore/blobstore.go
+++ b/v2/blobstore/blobstore.go
@@ -23,7 +23,7 @@ import (
 	"strings"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 	"golang.org/x/text/encoding/htmlindex"
 
 	"google.golang.org/appengine/v2"
diff --git a/v2/blobstore/read.go b/v2/blobstore/read.go
index 93524f28..73acb4c7 100644
--- a/v2/blobstore/read.go
+++ b/v2/blobstore/read.go
@@ -12,7 +12,7 @@ import (
 	"os"
 	"sync"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2"
 	"google.golang.org/appengine/v2/internal"
diff --git a/v2/datastore/datastore.go b/v2/datastore/datastore.go
index 47c95f12..16e99cf0 100644
--- a/v2/datastore/datastore.go
+++ b/v2/datastore/datastore.go
@@ -10,7 +10,7 @@ import (
 	"fmt"
 	"reflect"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2"
 	"google.golang.org/appengine/v2/internal"
diff --git a/v2/datastore/internal/cloudkey/cloudkey.go b/v2/datastore/internal/cloudkey/cloudkey.go
index 9e752375..d0596b4b 100644
--- a/v2/datastore/internal/cloudkey/cloudkey.go
+++ b/v2/datastore/internal/cloudkey/cloudkey.go
@@ -12,7 +12,7 @@ import (
 	"errors"
 	"strings"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 	cloudpb "google.golang.org/appengine/v2/datastore/internal/cloudpb"
 )
 
diff --git a/v2/datastore/internal/cloudpb/entity.pb.go b/v2/datastore/internal/cloudpb/entity.pb.go
index af8195f3..2350969f 100644
--- a/v2/datastore/internal/cloudpb/entity.pb.go
+++ b/v2/datastore/internal/cloudpb/entity.pb.go
@@ -10,7 +10,7 @@ package cloudpb
 import (
 	"fmt"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 )
 
 // A partition ID identifies a grouping of entities. The grouping is always
diff --git a/v2/datastore/key.go b/v2/datastore/key.go
index 30187862..32e5c872 100644
--- a/v2/datastore/key.go
+++ b/v2/datastore/key.go
@@ -14,7 +14,7 @@ import (
 	"strconv"
 	"strings"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2/internal"
 	pb "google.golang.org/appengine/v2/internal/datastore"
diff --git a/v2/datastore/load.go b/v2/datastore/load.go
index 8a90cfa0..7913fd7d 100644
--- a/v2/datastore/load.go
+++ b/v2/datastore/load.go
@@ -10,7 +10,7 @@ import (
 	"strings"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 	"google.golang.org/appengine/v2"
 	pb "google.golang.org/appengine/v2/internal/datastore"
 )
diff --git a/v2/datastore/load_test.go b/v2/datastore/load_test.go
index c481a768..c496923e 100644
--- a/v2/datastore/load_test.go
+++ b/v2/datastore/load_test.go
@@ -8,7 +8,7 @@ import (
 	"reflect"
 	"testing"
 
-	proto "github.com/golang/protobuf/proto"
+	proto "google.golang.org/protobuf/proto"
 	pb "google.golang.org/appengine/v2/internal/datastore"
 )
 
diff --git a/v2/datastore/query.go b/v2/datastore/query.go
index 89dc64ba..2641deec 100644
--- a/v2/datastore/query.go
+++ b/v2/datastore/query.go
@@ -13,7 +13,7 @@ import (
 	"reflect"
 	"strings"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2/internal"
 	pb "google.golang.org/appengine/v2/internal/datastore"
diff --git a/v2/datastore/query_test.go b/v2/datastore/query_test.go
index be0e0e7c..e702acf8 100644
--- a/v2/datastore/query_test.go
+++ b/v2/datastore/query_test.go
@@ -11,7 +11,7 @@ import (
 	"strings"
 	"testing"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2/internal"
 	"google.golang.org/appengine/v2/internal/aetesting"
diff --git a/v2/datastore/save.go b/v2/datastore/save.go
index ce3ca3d3..b186a159 100644
--- a/v2/datastore/save.go
+++ b/v2/datastore/save.go
@@ -11,7 +11,7 @@ import (
 	"reflect"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2"
 	pb "google.golang.org/appengine/v2/internal/datastore"
diff --git a/v2/delay/delay_test.go b/v2/delay/delay_test.go
index 49542b74..91ec40df 100644
--- a/v2/delay/delay_test.go
+++ b/v2/delay/delay_test.go
@@ -17,7 +17,7 @@ import (
 	"reflect"
 	"testing"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2/internal"
 	"google.golang.org/appengine/v2/taskqueue"
diff --git a/v2/go.mod b/v2/go.mod
index 2baf8c4a..121190ef 100644
--- a/v2/go.mod
+++ b/v2/go.mod
@@ -3,8 +3,7 @@ module google.golang.org/appengine/v2
 go 1.11
 
 require (
-	github.com/golang/protobuf v1.5.0
 	golang.org/x/net v0.0.0-20220722155237-a158d28d115b
 	golang.org/x/text v0.3.8
-	google.golang.org/protobuf v1.30.0
+	google.golang.org/protobuf v1.31.0
 )
diff --git a/v2/go.sum b/v2/go.sum
index 64014e4c..b97ef4cf 100644
--- a/v2/go.sum
+++ b/v2/go.sum
@@ -1,4 +1,3 @@
-github.com/golang/protobuf v1.5.0 h1:LUVKkCeviFUMKqHa4tXIIij/lbhnMbP7Fn5wKdKkRh4=
 github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
 github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
 github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
@@ -31,5 +30,5 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
-google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng=
-google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
+google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
diff --git a/v2/internal/aetesting/fake.go b/v2/internal/aetesting/fake.go
index 20ecb893..e90030ed 100644
--- a/v2/internal/aetesting/fake.go
+++ b/v2/internal/aetesting/fake.go
@@ -13,7 +13,7 @@ import (
 	"reflect"
 	"testing"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2/internal"
 )
diff --git a/v2/internal/api.go b/v2/internal/api.go
index 44314a2b..b73b9b5f 100644
--- a/v2/internal/api.go
+++ b/v2/internal/api.go
@@ -20,7 +20,7 @@ import (
 	"sync/atomic"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	remotepb "google.golang.org/appengine/v2/internal/remote_api"
 )
diff --git a/v2/internal/api_common.go b/v2/internal/api_common.go
index ff39bf57..444d57e3 100644
--- a/v2/internal/api_common.go
+++ b/v2/internal/api_common.go
@@ -9,7 +9,7 @@ import (
 	"errors"
 	"os"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 )
 
 type ctxKey string
diff --git a/v2/internal/api_test.go b/v2/internal/api_test.go
index 073e9bfd..49a5b86e 100644
--- a/v2/internal/api_test.go
+++ b/v2/internal/api_test.go
@@ -21,7 +21,7 @@ import (
 	"testing"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	basepb "google.golang.org/appengine/v2/internal/base"
 	remotepb "google.golang.org/appengine/v2/internal/remote_api"
diff --git a/v2/internal/internal.go b/v2/internal/internal.go
index 36316bb0..48617fdb 100644
--- a/v2/internal/internal.go
+++ b/v2/internal/internal.go
@@ -11,7 +11,7 @@ package internal
 import (
 	"fmt"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	remotepb "google.golang.org/appengine/v2/internal/remote_api"
 )
diff --git a/v2/internal/transaction.go b/v2/internal/transaction.go
index 7198baca..1c7c50de 100644
--- a/v2/internal/transaction.go
+++ b/v2/internal/transaction.go
@@ -11,7 +11,7 @@ import (
 	"errors"
 	"reflect"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	basepb "google.golang.org/appengine/v2/internal/base"
 	pb "google.golang.org/appengine/v2/internal/datastore"
diff --git a/v2/mail/mail.go b/v2/mail/mail.go
index 7b979f41..ebd7c7aa 100644
--- a/v2/mail/mail.go
+++ b/v2/mail/mail.go
@@ -24,7 +24,7 @@ import (
 	"context"
 	"net/mail"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2/internal"
 	bpb "google.golang.org/appengine/v2/internal/base"
diff --git a/v2/mail/mail_test.go b/v2/mail/mail_test.go
index 1f1a4f55..56e4b7dd 100644
--- a/v2/mail/mail_test.go
+++ b/v2/mail/mail_test.go
@@ -7,7 +7,7 @@ package mail
 import (
 	"testing"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2/internal/aetesting"
 	basepb "google.golang.org/appengine/v2/internal/base"
diff --git a/v2/memcache/memcache.go b/v2/memcache/memcache.go
index f6ef1686..57ba988e 100644
--- a/v2/memcache/memcache.go
+++ b/v2/memcache/memcache.go
@@ -36,7 +36,7 @@ import (
 	"errors"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2"
 	"google.golang.org/appengine/v2/internal"
diff --git a/v2/module/module.go b/v2/module/module.go
index 5acadec2..e651f1b9 100644
--- a/v2/module/module.go
+++ b/v2/module/module.go
@@ -13,7 +13,7 @@ package module // import "google.golang.org/appengine/v2/module"
 import (
 	"context"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2/internal"
 	pb "google.golang.org/appengine/v2/internal/modules"
diff --git a/v2/module/module_test.go b/v2/module/module_test.go
index 37cc7d06..3716955b 100644
--- a/v2/module/module_test.go
+++ b/v2/module/module_test.go
@@ -8,7 +8,7 @@ import (
 	"reflect"
 	"testing"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2/internal/aetesting"
 	pb "google.golang.org/appengine/v2/internal/modules"
diff --git a/v2/runtime/runtime_test.go b/v2/runtime/runtime_test.go
index 09164424..2b1c72f3 100644
--- a/v2/runtime/runtime_test.go
+++ b/v2/runtime/runtime_test.go
@@ -12,7 +12,7 @@ import (
 	"testing"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2/internal/aetesting"
 	pb "google.golang.org/appengine/v2/internal/system"
diff --git a/v2/search/search.go b/v2/search/search.go
index d19a08e4..dcb20667 100644
--- a/v2/search/search.go
+++ b/v2/search/search.go
@@ -21,7 +21,7 @@ import (
 	"time"
 	"unicode/utf8"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 	"golang.org/x/net/context"
 
 	"google.golang.org/appengine/v2"
diff --git a/v2/search/search_test.go b/v2/search/search_test.go
index e757ed69..e09a42d9 100644
--- a/v2/search/search_test.go
+++ b/v2/search/search_test.go
@@ -12,7 +12,7 @@ import (
 	"testing"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2"
 	"google.golang.org/appengine/v2/internal/aetesting"
diff --git a/v2/taskqueue/taskqueue.go b/v2/taskqueue/taskqueue.go
index 8bbd85aa..87c2b4d8 100644
--- a/v2/taskqueue/taskqueue.go
+++ b/v2/taskqueue/taskqueue.go
@@ -25,7 +25,7 @@ import (
 	"strconv"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2"
 	"google.golang.org/appengine/v2/internal"
diff --git a/v2/urlfetch/urlfetch.go b/v2/urlfetch/urlfetch.go
index a4a39ed4..1811cc20 100644
--- a/v2/urlfetch/urlfetch.go
+++ b/v2/urlfetch/urlfetch.go
@@ -18,7 +18,7 @@ import (
 	"strings"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2/internal"
 	pb "google.golang.org/appengine/v2/internal/urlfetch"
diff --git a/v2/user/user.go b/v2/user/user.go
index 5220b03a..c8770ac5 100644
--- a/v2/user/user.go
+++ b/v2/user/user.go
@@ -9,7 +9,7 @@ import (
 	"context"
 	"strings"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2/internal"
 	pb "google.golang.org/appengine/v2/internal/user"
diff --git a/v2/user/user_test.go b/v2/user/user_test.go
index dbef0cc1..7781191f 100644
--- a/v2/user/user_test.go
+++ b/v2/user/user_test.go
@@ -9,7 +9,7 @@ import (
 	"net/http"
 	"testing"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine/v2/internal"
 	"google.golang.org/appengine/v2/internal/aetesting"
diff --git a/xmpp/xmpp_test.go b/xmpp/xmpp_test.go
index c3030d36..3e9cc90d 100644
--- a/xmpp/xmpp_test.go
+++ b/xmpp/xmpp_test.go
@@ -9,7 +9,7 @@ import (
 	"reflect"
 	"testing"
 
-	"github.com/golang/protobuf/proto"
+	"google.golang.org/protobuf/proto"
 
 	"google.golang.org/appengine"
 	"google.golang.org/appengine/internal/aetesting"