diff --git a/MODULE.bazel b/MODULE.bazel
index 4465f46e6c5..8e17df1a08b 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -2,7 +2,7 @@ module(
name = "grpc-java",
compatibility_level = 0,
repo_name = "io_grpc_grpc_java",
- version = "1.76.0-SNAPSHOT", # CURRENT_GRPC_VERSION
+ version = "1.76.1-SNAPSHOT", # CURRENT_GRPC_VERSION
)
# GRPC_DEPS_START
diff --git a/README.md b/README.md
index d696164ee32..c25fc73934f 100644
--- a/README.md
+++ b/README.md
@@ -44,8 +44,8 @@ For a guided tour, take a look at the [quick start
guide](https://grpc.io/docs/languages/java/quickstart) or the more explanatory [gRPC
basics](https://grpc.io/docs/languages/java/basics).
-The [examples](https://github.com/grpc/grpc-java/tree/v1.75.0/examples) and the
-[Android example](https://github.com/grpc/grpc-java/tree/v1.75.0/examples/android)
+The [examples](https://github.com/grpc/grpc-java/tree/v1.76.0/examples) and the
+[Android example](https://github.com/grpc/grpc-java/tree/v1.76.0/examples/android)
are standalone projects that showcase the usage of gRPC.
Download
@@ -56,34 +56,34 @@ Download [the JARs][]. Or for Maven with non-Android, add to your `pom.xml`:
io.grpc
grpc-netty-shaded
- 1.75.0
+ 1.76.0
runtime
io.grpc
grpc-protobuf
- 1.75.0
+ 1.76.0
io.grpc
grpc-stub
- 1.75.0
+ 1.76.0
```
Or for Gradle with non-Android, add to your dependencies:
```gradle
-runtimeOnly 'io.grpc:grpc-netty-shaded:1.75.0'
-implementation 'io.grpc:grpc-protobuf:1.75.0'
-implementation 'io.grpc:grpc-stub:1.75.0'
+runtimeOnly 'io.grpc:grpc-netty-shaded:1.76.0'
+implementation 'io.grpc:grpc-protobuf:1.76.0'
+implementation 'io.grpc:grpc-stub:1.76.0'
```
For Android client, use `grpc-okhttp` instead of `grpc-netty-shaded` and
`grpc-protobuf-lite` instead of `grpc-protobuf`:
```gradle
-implementation 'io.grpc:grpc-okhttp:1.75.0'
-implementation 'io.grpc:grpc-protobuf-lite:1.75.0'
-implementation 'io.grpc:grpc-stub:1.75.0'
+implementation 'io.grpc:grpc-okhttp:1.76.0'
+implementation 'io.grpc:grpc-protobuf-lite:1.76.0'
+implementation 'io.grpc:grpc-stub:1.76.0'
```
For [Bazel](https://bazel.build), you can either
@@ -91,7 +91,7 @@ For [Bazel](https://bazel.build), you can either
(with the GAVs from above), or use `@io_grpc_grpc_java//api` et al (see below).
[the JARs]:
-https://search.maven.org/search?q=g:io.grpc%20AND%20v:1.75.0
+https://search.maven.org/search?q=g:io.grpc%20AND%20v:1.76.0
Development snapshots are available in [Sonatypes's snapshot
repository](https://central.sonatype.com/repository/maven-snapshots/).
@@ -121,9 +121,9 @@ For protobuf-based codegen integrated with the Maven build system, you can use
protobuf-maven-plugin
0.6.1
- com.google.protobuf:protoc:3.25.5:exe:${os.detected.classifier}
+ com.google.protobuf:protoc:3.25.8:exe:${os.detected.classifier}
grpc-java
- io.grpc:protoc-gen-grpc-java:1.75.0:exe:${os.detected.classifier}
+ io.grpc:protoc-gen-grpc-java:1.76.0:exe:${os.detected.classifier}
@@ -149,11 +149,11 @@ plugins {
protobuf {
protoc {
- artifact = "com.google.protobuf:protoc:3.25.5"
+ artifact = "com.google.protobuf:protoc:3.25.8"
}
plugins {
grpc {
- artifact = 'io.grpc:protoc-gen-grpc-java:1.75.0'
+ artifact = 'io.grpc:protoc-gen-grpc-java:1.76.0'
}
}
generateProtoTasks {
@@ -182,11 +182,11 @@ plugins {
protobuf {
protoc {
- artifact = "com.google.protobuf:protoc:3.25.5"
+ artifact = "com.google.protobuf:protoc:3.25.8"
}
plugins {
grpc {
- artifact = 'io.grpc:protoc-gen-grpc-java:1.75.0'
+ artifact = 'io.grpc:protoc-gen-grpc-java:1.76.0'
}
}
generateProtoTasks {
diff --git a/api/src/main/java/io/grpc/StatusOr.java b/api/src/main/java/io/grpc/StatusOr.java
index 0f1e9da3c75..b7dd68cfd7b 100644
--- a/api/src/main/java/io/grpc/StatusOr.java
+++ b/api/src/main/java/io/grpc/StatusOr.java
@@ -33,7 +33,7 @@ private StatusOr(Status status, T value) {
}
/** Construct from a value. */
- public static StatusOr fromValue(@Nullable T value) {
+ public static StatusOr fromValue(T value) {
StatusOr result = new StatusOr(null, value);
return result;
}
@@ -54,7 +54,7 @@ public boolean hasValue() {
* Returns the value if set or throws exception if there is no value set. This method is meant
* to be called after checking the return value of hasValue() first.
*/
- public @Nullable T getValue() {
+ public T getValue() {
if (status != null) {
throw new IllegalStateException("No value present.");
}
@@ -105,6 +105,7 @@ public String toString() {
return stringHelper.toString();
}
+ @Nullable
private final Status status;
private final T value;
}
diff --git a/build.gradle b/build.gradle
index 366edf1b9e5..639d464cf83 100644
--- a/build.gradle
+++ b/build.gradle
@@ -21,7 +21,7 @@ subprojects {
apply plugin: "net.ltgt.errorprone"
group = "io.grpc"
- version = "1.76.0-SNAPSHOT" // CURRENT_GRPC_VERSION
+ version = "1.76.1-SNAPSHOT" // CURRENT_GRPC_VERSION
repositories {
maven { // The google mirror is less flaky than mavenCentral()
diff --git a/compiler/src/test/golden/TestDeprecatedService.java.txt b/compiler/src/test/golden/TestDeprecatedService.java.txt
index 22d3491be95..f9905b0d25e 100644
--- a/compiler/src/test/golden/TestDeprecatedService.java.txt
+++ b/compiler/src/test/golden/TestDeprecatedService.java.txt
@@ -8,7 +8,7 @@ import static io.grpc.MethodDescriptor.generateFullMethodName;
*
*/
@javax.annotation.Generated(
- value = "by gRPC proto compiler (version 1.76.0-SNAPSHOT)",
+ value = "by gRPC proto compiler (version 1.76.1-SNAPSHOT)",
comments = "Source: grpc/testing/compiler/test.proto")
@io.grpc.stub.annotations.GrpcGenerated
@java.lang.Deprecated
diff --git a/compiler/src/test/golden/TestService.java.txt b/compiler/src/test/golden/TestService.java.txt
index 22978149759..d17ed83d782 100644
--- a/compiler/src/test/golden/TestService.java.txt
+++ b/compiler/src/test/golden/TestService.java.txt
@@ -8,7 +8,7 @@ import static io.grpc.MethodDescriptor.generateFullMethodName;
*
*/
@javax.annotation.Generated(
- value = "by gRPC proto compiler (version 1.76.0-SNAPSHOT)",
+ value = "by gRPC proto compiler (version 1.76.1-SNAPSHOT)",
comments = "Source: grpc/testing/compiler/test.proto")
@io.grpc.stub.annotations.GrpcGenerated
public final class TestServiceGrpc {
diff --git a/core/src/main/java/io/grpc/internal/GrpcUtil.java b/core/src/main/java/io/grpc/internal/GrpcUtil.java
index 2ad4a01d9e6..f6baedcb99b 100644
--- a/core/src/main/java/io/grpc/internal/GrpcUtil.java
+++ b/core/src/main/java/io/grpc/internal/GrpcUtil.java
@@ -219,7 +219,7 @@ public byte[] parseAsciiString(byte[] serialized) {
public static final Splitter ACCEPT_ENCODING_SPLITTER = Splitter.on(',').trimResults();
- public static final String IMPLEMENTATION_VERSION = "1.76.0-SNAPSHOT"; // CURRENT_GRPC_VERSION
+ public static final String IMPLEMENTATION_VERSION = "1.76.1-SNAPSHOT"; // CURRENT_GRPC_VERSION
/**
* The default timeout in nanos for a keepalive ping request.
diff --git a/examples/MODULE.bazel b/examples/MODULE.bazel
index 18d74d86973..a651e6bc881 100644
--- a/examples/MODULE.bazel
+++ b/examples/MODULE.bazel
@@ -1,4 +1,4 @@
-bazel_dep(name = "grpc-java", repo_name = "io_grpc_grpc_java", version = "1.76.0-SNAPSHOT") # CURRENT_GRPC_VERSION
+bazel_dep(name = "grpc-java", repo_name = "io_grpc_grpc_java", version = "1.76.1-SNAPSHOT") # CURRENT_GRPC_VERSION
bazel_dep(name = "grpc-proto", repo_name = "io_grpc_grpc_proto", version = "0.0.0-20240627-ec30f58")
bazel_dep(name = "protobuf", repo_name = "com_google_protobuf", version = "23.1")
bazel_dep(name = "rules_jvm_external", version = "6.0")
diff --git a/examples/android/clientcache/app/build.gradle b/examples/android/clientcache/app/build.gradle
index 8048eba73ab..c98c1a25ae9 100644
--- a/examples/android/clientcache/app/build.gradle
+++ b/examples/android/clientcache/app/build.gradle
@@ -34,7 +34,7 @@ android {
protobuf {
protoc { artifact = 'com.google.protobuf:protoc:3.25.1' }
plugins {
- grpc { artifact = 'io.grpc:protoc-gen-grpc-java:1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+ grpc { artifact = 'io.grpc:protoc-gen-grpc-java:1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
}
}
generateProtoTasks {
@@ -54,11 +54,11 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.0.0'
// You need to build grpc-java to obtain these libraries below.
- implementation 'io.grpc:grpc-okhttp:1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
- implementation 'io.grpc:grpc-protobuf-lite:1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
- implementation 'io.grpc:grpc-stub:1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+ implementation 'io.grpc:grpc-okhttp:1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
+ implementation 'io.grpc:grpc-protobuf-lite:1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
+ implementation 'io.grpc:grpc-stub:1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
testImplementation 'junit:junit:4.13.2'
testImplementation 'com.google.truth:truth:1.1.5'
- testImplementation 'io.grpc:grpc-testing:1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+ testImplementation 'io.grpc:grpc-testing:1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
}
diff --git a/examples/android/helloworld/app/build.gradle b/examples/android/helloworld/app/build.gradle
index 69519c8e4ab..d224fb8b824 100644
--- a/examples/android/helloworld/app/build.gradle
+++ b/examples/android/helloworld/app/build.gradle
@@ -32,7 +32,7 @@ android {
protobuf {
protoc { artifact = 'com.google.protobuf:protoc:3.25.1' }
plugins {
- grpc { artifact = 'io.grpc:protoc-gen-grpc-java:1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+ grpc { artifact = 'io.grpc:protoc-gen-grpc-java:1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
}
}
generateProtoTasks {
@@ -52,7 +52,7 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.0.0'
// You need to build grpc-java to obtain these libraries below.
- implementation 'io.grpc:grpc-okhttp:1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
- implementation 'io.grpc:grpc-protobuf-lite:1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
- implementation 'io.grpc:grpc-stub:1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+ implementation 'io.grpc:grpc-okhttp:1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
+ implementation 'io.grpc:grpc-protobuf-lite:1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
+ implementation 'io.grpc:grpc-stub:1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
}
diff --git a/examples/android/routeguide/app/build.gradle b/examples/android/routeguide/app/build.gradle
index a09de35e994..0e945fccd80 100644
--- a/examples/android/routeguide/app/build.gradle
+++ b/examples/android/routeguide/app/build.gradle
@@ -32,7 +32,7 @@ android {
protobuf {
protoc { artifact = 'com.google.protobuf:protoc:3.25.1' }
plugins {
- grpc { artifact = 'io.grpc:protoc-gen-grpc-java:1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+ grpc { artifact = 'io.grpc:protoc-gen-grpc-java:1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
}
}
generateProtoTasks {
@@ -52,7 +52,7 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.0.0'
// You need to build grpc-java to obtain these libraries below.
- implementation 'io.grpc:grpc-okhttp:1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
- implementation 'io.grpc:grpc-protobuf-lite:1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
- implementation 'io.grpc:grpc-stub:1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+ implementation 'io.grpc:grpc-okhttp:1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
+ implementation 'io.grpc:grpc-protobuf-lite:1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
+ implementation 'io.grpc:grpc-stub:1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
}
diff --git a/examples/android/strictmode/app/build.gradle b/examples/android/strictmode/app/build.gradle
index c0447a42af1..b82b8426bed 100644
--- a/examples/android/strictmode/app/build.gradle
+++ b/examples/android/strictmode/app/build.gradle
@@ -33,7 +33,7 @@ android {
protobuf {
protoc { artifact = 'com.google.protobuf:protoc:3.25.1' }
plugins {
- grpc { artifact = 'io.grpc:protoc-gen-grpc-java:1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+ grpc { artifact = 'io.grpc:protoc-gen-grpc-java:1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
}
}
generateProtoTasks {
@@ -53,7 +53,7 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.0.0'
// You need to build grpc-java to obtain these libraries below.
- implementation 'io.grpc:grpc-okhttp:1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
- implementation 'io.grpc:grpc-protobuf-lite:1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
- implementation 'io.grpc:grpc-stub:1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+ implementation 'io.grpc:grpc-okhttp:1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
+ implementation 'io.grpc:grpc-protobuf-lite:1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
+ implementation 'io.grpc:grpc-stub:1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
}
diff --git a/examples/build.gradle b/examples/build.gradle
index ddd8e7b3a65..682d7be4348 100644
--- a/examples/build.gradle
+++ b/examples/build.gradle
@@ -21,7 +21,7 @@ java {
// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
-def grpcVersion = '1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+def grpcVersion = '1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
def protobufVersion = '3.25.8'
def protocVersion = protobufVersion
diff --git a/examples/example-alts/build.gradle b/examples/example-alts/build.gradle
index 9f86adb0aeb..13d003a72b3 100644
--- a/examples/example-alts/build.gradle
+++ b/examples/example-alts/build.gradle
@@ -21,7 +21,7 @@ java {
// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
-def grpcVersion = '1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+def grpcVersion = '1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
def protocVersion = '3.25.8'
dependencies {
diff --git a/examples/example-debug/build.gradle b/examples/example-debug/build.gradle
index 3dc873e179b..6ead3bbc9c1 100644
--- a/examples/example-debug/build.gradle
+++ b/examples/example-debug/build.gradle
@@ -23,7 +23,7 @@ java {
// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
-def grpcVersion = '1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+def grpcVersion = '1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
def protobufVersion = '3.25.8'
dependencies {
diff --git a/examples/example-debug/pom.xml b/examples/example-debug/pom.xml
index c4fce2d793b..ddbabeb5e3e 100644
--- a/examples/example-debug/pom.xml
+++ b/examples/example-debug/pom.xml
@@ -6,13 +6,13 @@
jar
- 1.76.0-SNAPSHOT
+ 1.76.1-SNAPSHOT
example-debug
https://github.com/grpc/grpc-java
UTF-8
- 1.76.0-SNAPSHOT
+ 1.76.1-SNAPSHOT
3.25.8
1.8
diff --git a/examples/example-dualstack/build.gradle b/examples/example-dualstack/build.gradle
index 5d8c30b2127..4bafbd3d940 100644
--- a/examples/example-dualstack/build.gradle
+++ b/examples/example-dualstack/build.gradle
@@ -23,7 +23,7 @@ java {
// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
-def grpcVersion = '1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+def grpcVersion = '1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
def protobufVersion = '3.25.8'
dependencies {
diff --git a/examples/example-dualstack/pom.xml b/examples/example-dualstack/pom.xml
index b65beb84103..016cada879d 100644
--- a/examples/example-dualstack/pom.xml
+++ b/examples/example-dualstack/pom.xml
@@ -6,13 +6,13 @@
jar
- 1.76.0-SNAPSHOT
+ 1.76.1-SNAPSHOT
example-dualstack
https://github.com/grpc/grpc-java
UTF-8
- 1.76.0-SNAPSHOT
+ 1.76.1-SNAPSHOT
3.25.8
1.8
diff --git a/examples/example-gauth/build.gradle b/examples/example-gauth/build.gradle
index befc2f7c0c7..8e170b9f628 100644
--- a/examples/example-gauth/build.gradle
+++ b/examples/example-gauth/build.gradle
@@ -21,7 +21,7 @@ java {
// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
-def grpcVersion = '1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+def grpcVersion = '1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
def protobufVersion = '3.25.8'
def protocVersion = protobufVersion
diff --git a/examples/example-gauth/pom.xml b/examples/example-gauth/pom.xml
index 98bbebd114a..981fd6c7014 100644
--- a/examples/example-gauth/pom.xml
+++ b/examples/example-gauth/pom.xml
@@ -6,13 +6,13 @@
jar
- 1.76.0-SNAPSHOT
+ 1.76.1-SNAPSHOT
example-gauth
https://github.com/grpc/grpc-java
UTF-8
- 1.76.0-SNAPSHOT
+ 1.76.1-SNAPSHOT
3.25.8
1.8
diff --git a/examples/example-gcp-csm-observability/build.gradle b/examples/example-gcp-csm-observability/build.gradle
index abb2dd8a220..fe8470ed1f1 100644
--- a/examples/example-gcp-csm-observability/build.gradle
+++ b/examples/example-gcp-csm-observability/build.gradle
@@ -22,7 +22,7 @@ java {
// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
-def grpcVersion = '1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+def grpcVersion = '1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
def protocVersion = '3.25.8'
def openTelemetryVersion = '1.52.0'
def openTelemetryPrometheusVersion = '1.52.0-alpha'
diff --git a/examples/example-gcp-observability/build.gradle b/examples/example-gcp-observability/build.gradle
index 08e00294452..ed4ab7433b8 100644
--- a/examples/example-gcp-observability/build.gradle
+++ b/examples/example-gcp-observability/build.gradle
@@ -22,7 +22,7 @@ java {
// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
-def grpcVersion = '1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+def grpcVersion = '1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
def protocVersion = '3.25.8'
dependencies {
diff --git a/examples/example-hostname/build.gradle b/examples/example-hostname/build.gradle
index 94a85e8f8ab..8d71dc2788f 100644
--- a/examples/example-hostname/build.gradle
+++ b/examples/example-hostname/build.gradle
@@ -21,7 +21,7 @@ java {
// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
-def grpcVersion = '1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+def grpcVersion = '1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
def protobufVersion = '3.25.8'
dependencies {
diff --git a/examples/example-hostname/pom.xml b/examples/example-hostname/pom.xml
index e93b36e39d1..6e9aeccab42 100644
--- a/examples/example-hostname/pom.xml
+++ b/examples/example-hostname/pom.xml
@@ -6,13 +6,13 @@
jar
- 1.76.0-SNAPSHOT
+ 1.76.1-SNAPSHOT
example-hostname
https://github.com/grpc/grpc-java
UTF-8
- 1.76.0-SNAPSHOT
+ 1.76.1-SNAPSHOT
3.25.8
1.8
diff --git a/examples/example-jwt-auth/build.gradle b/examples/example-jwt-auth/build.gradle
index 28df68e4fc7..7aa7418c451 100644
--- a/examples/example-jwt-auth/build.gradle
+++ b/examples/example-jwt-auth/build.gradle
@@ -21,7 +21,7 @@ java {
// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
-def grpcVersion = '1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+def grpcVersion = '1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
def protobufVersion = '3.25.8'
def protocVersion = protobufVersion
diff --git a/examples/example-jwt-auth/pom.xml b/examples/example-jwt-auth/pom.xml
index 4834cfa09ef..19d5adce2c9 100644
--- a/examples/example-jwt-auth/pom.xml
+++ b/examples/example-jwt-auth/pom.xml
@@ -7,13 +7,13 @@
jar
- 1.76.0-SNAPSHOT
+ 1.76.1-SNAPSHOT
example-jwt-auth
https://github.com/grpc/grpc-java
UTF-8
- 1.76.0-SNAPSHOT
+ 1.76.1-SNAPSHOT
3.25.8
3.25.8
diff --git a/examples/example-oauth/build.gradle b/examples/example-oauth/build.gradle
index 05a450dcc8d..56e9c31acba 100644
--- a/examples/example-oauth/build.gradle
+++ b/examples/example-oauth/build.gradle
@@ -21,7 +21,7 @@ java {
// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
-def grpcVersion = '1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+def grpcVersion = '1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
def protobufVersion = '3.25.8'
def protocVersion = protobufVersion
diff --git a/examples/example-oauth/pom.xml b/examples/example-oauth/pom.xml
index a2f61e38467..14409e2920e 100644
--- a/examples/example-oauth/pom.xml
+++ b/examples/example-oauth/pom.xml
@@ -7,13 +7,13 @@
jar
- 1.76.0-SNAPSHOT
+ 1.76.1-SNAPSHOT
example-oauth
https://github.com/grpc/grpc-java
UTF-8
- 1.76.0-SNAPSHOT
+ 1.76.1-SNAPSHOT
3.25.8
3.25.8
diff --git a/examples/example-opentelemetry/build.gradle b/examples/example-opentelemetry/build.gradle
index edcca46480e..71a73816a96 100644
--- a/examples/example-opentelemetry/build.gradle
+++ b/examples/example-opentelemetry/build.gradle
@@ -21,7 +21,7 @@ java {
// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
-def grpcVersion = '1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+def grpcVersion = '1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
def protocVersion = '3.25.8'
def openTelemetryVersion = '1.52.0'
def openTelemetryPrometheusVersion = '1.52.0-alpha'
diff --git a/examples/example-orca/build.gradle b/examples/example-orca/build.gradle
index f21c89ee0a4..2aaa69dfcf7 100644
--- a/examples/example-orca/build.gradle
+++ b/examples/example-orca/build.gradle
@@ -16,7 +16,7 @@ java {
targetCompatibility = JavaVersion.VERSION_1_8
}
-def grpcVersion = '1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+def grpcVersion = '1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
def protocVersion = '3.25.8'
dependencies {
diff --git a/examples/example-reflection/build.gradle b/examples/example-reflection/build.gradle
index a5bda680ef4..356f52a9712 100644
--- a/examples/example-reflection/build.gradle
+++ b/examples/example-reflection/build.gradle
@@ -16,7 +16,7 @@ java {
targetCompatibility = JavaVersion.VERSION_1_8
}
-def grpcVersion = '1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+def grpcVersion = '1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
def protocVersion = '3.25.8'
dependencies {
diff --git a/examples/example-servlet/build.gradle b/examples/example-servlet/build.gradle
index d0f475f1833..ebeca35d763 100644
--- a/examples/example-servlet/build.gradle
+++ b/examples/example-servlet/build.gradle
@@ -15,7 +15,7 @@ java {
targetCompatibility = JavaVersion.VERSION_1_8
}
-def grpcVersion = '1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+def grpcVersion = '1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
def protocVersion = '3.25.8'
dependencies {
diff --git a/examples/example-tls/build.gradle b/examples/example-tls/build.gradle
index 0b3914febf3..29793cf608b 100644
--- a/examples/example-tls/build.gradle
+++ b/examples/example-tls/build.gradle
@@ -21,7 +21,7 @@ java {
// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
-def grpcVersion = '1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+def grpcVersion = '1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
def protocVersion = '3.25.8'
dependencies {
diff --git a/examples/example-tls/pom.xml b/examples/example-tls/pom.xml
index 3932f4c32f4..9490c346e4f 100644
--- a/examples/example-tls/pom.xml
+++ b/examples/example-tls/pom.xml
@@ -6,13 +6,13 @@
jar
- 1.76.0-SNAPSHOT
+ 1.76.1-SNAPSHOT
example-tls
https://github.com/grpc/grpc-java
UTF-8
- 1.76.0-SNAPSHOT
+ 1.76.1-SNAPSHOT
3.25.8
1.8
diff --git a/examples/example-xds/build.gradle b/examples/example-xds/build.gradle
index 3914aa3fea0..2caaf39bd83 100644
--- a/examples/example-xds/build.gradle
+++ b/examples/example-xds/build.gradle
@@ -21,7 +21,7 @@ java {
// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
-def grpcVersion = '1.76.0-SNAPSHOT' // CURRENT_GRPC_VERSION
+def grpcVersion = '1.76.1-SNAPSHOT' // CURRENT_GRPC_VERSION
def protocVersion = '3.25.8'
dependencies {
diff --git a/examples/pom.xml b/examples/pom.xml
index 4da1eb14f90..697c57607c7 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -6,13 +6,13 @@
jar
- 1.76.0-SNAPSHOT
+ 1.76.1-SNAPSHOT
examples
https://github.com/grpc/grpc-java
UTF-8
- 1.76.0-SNAPSHOT
+ 1.76.1-SNAPSHOT
3.25.8
3.25.8
diff --git a/netty/shaded/build.gradle b/netty/shaded/build.gradle
index f805a4f4a1f..27816f9380b 100644
--- a/netty/shaded/build.gradle
+++ b/netty/shaded/build.gradle
@@ -153,7 +153,11 @@ class NettyResourceTransformer implements Transformer {
@Override
boolean canTransformResource(FileTreeElement fileTreeElement) {
- fileTreeElement.name.startsWith("META-INF/native-image/io.netty")
+ // io.netty.versions.properties can't actually be shaded successfully,
+ // as io.netty.util.Version still looks for the unshaded name. But we
+ // keep the file for manual inspection.
+ fileTreeElement.name.startsWith("META-INF/native-image/io.netty") ||
+ fileTreeElement.name.startsWith("META-INF/io.netty.versions.properties")
}
@Override
diff --git a/netty/src/main/java/io/grpc/netty/GrpcHttp2ConnectionHandler.java b/netty/src/main/java/io/grpc/netty/GrpcHttp2ConnectionHandler.java
index a463cf01d95..ee5227484fb 100644
--- a/netty/src/main/java/io/grpc/netty/GrpcHttp2ConnectionHandler.java
+++ b/netty/src/main/java/io/grpc/netty/GrpcHttp2ConnectionHandler.java
@@ -18,7 +18,6 @@
import static com.google.common.base.Preconditions.checkState;
-import com.google.common.annotations.VisibleForTesting;
import io.grpc.Attributes;
import io.grpc.ChannelLogger;
import io.grpc.Internal;
@@ -28,7 +27,6 @@
import io.netty.handler.codec.http2.Http2ConnectionEncoder;
import io.netty.handler.codec.http2.Http2ConnectionHandler;
import io.netty.handler.codec.http2.Http2Settings;
-import io.netty.util.Version;
import javax.annotation.Nullable;
/**
@@ -36,37 +34,9 @@
*/
@Internal
public abstract class GrpcHttp2ConnectionHandler extends Http2ConnectionHandler {
- static final int ADAPTIVE_CUMULATOR_COMPOSE_MIN_SIZE_DEFAULT = 1024;
- static final Cumulator ADAPTIVE_CUMULATOR =
- new NettyAdaptiveCumulator(ADAPTIVE_CUMULATOR_COMPOSE_MIN_SIZE_DEFAULT);
-
@Nullable
protected final ChannelPromise channelUnused;
private final ChannelLogger negotiationLogger;
- private static final boolean usingPre4_1_111_Netty;
-
- static {
- // Netty 4.1.111 introduced a change in the behavior of duplicate() method
- // that breaks the assumption of the cumulator. We need to detect this version
- // and adjust the behavior accordingly.
-
- boolean identifiedOldVersion = false;
- try {
- Version version = Version.identify().get("netty-buffer");
- if (version != null) {
- String[] split = version.artifactVersion().split("\\.");
- if (split.length >= 3
- && Integer.parseInt(split[0]) == 4
- && Integer.parseInt(split[1]) <= 1
- && Integer.parseInt(split[2]) < 111) {
- identifiedOldVersion = true;
- }
- }
- } catch (Exception e) {
- // Ignore, we'll assume it's a new version.
- }
- usingPre4_1_111_Netty = identifiedOldVersion;
- }
@SuppressWarnings("this-escape")
protected GrpcHttp2ConnectionHandler(
@@ -78,16 +48,6 @@ protected GrpcHttp2ConnectionHandler(
super(decoder, encoder, initialSettings);
this.channelUnused = channelUnused;
this.negotiationLogger = negotiationLogger;
- if (usingPre4_1_111_Netty()) {
- // We need to use the adaptive cumulator only if we're using a version of Netty that
- // doesn't have the behavior that breaks it.
- setCumulator(ADAPTIVE_CUMULATOR);
- }
- }
-
- @VisibleForTesting
- static boolean usingPre4_1_111_Netty() {
- return usingPre4_1_111_Netty;
}
/**
diff --git a/netty/src/test/java/io/grpc/netty/NettyAdaptiveCumulatorTest.java b/netty/src/test/java/io/grpc/netty/NettyAdaptiveCumulatorTest.java
index 68dc6dc0c80..b19f247b5cf 100644
--- a/netty/src/test/java/io/grpc/netty/NettyAdaptiveCumulatorTest.java
+++ b/netty/src/test/java/io/grpc/netty/NettyAdaptiveCumulatorTest.java
@@ -52,6 +52,9 @@
@RunWith(Enclosed.class)
public class NettyAdaptiveCumulatorTest {
+ private static boolean usingPre4_1_111_Netty() {
+ return false; // Disabled detection because it was unreliable
+ }
private static Collection