Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
8.14.2
->8.14.3
0.9.1
->0.10.0-grpc-127
0.9.1
->0.10.0-grpc-127
0.9.1
->0.10.0-grpc-127
0.9.1
->0.10.0-grpc-127
0.9.1
->0.10.0-grpc-127
1.4.1
->1.4.3
1.73.0
->1.75.0
0.9.1
->0.10.0-grpc-127
0.9.1
->0.10.0-grpc-127
0.10.0-grpc-121
->0.10.0-grpc-127
1.8.1
->1.9.0
1.8.1
->1.9.0
3.2.1
->3.3.0-eap-115
3.2.1
->3.2.3
3.2.1
->3.2.3
3.2.1
->3.2.3
3.2.1
->3.2.3
3.2.1
->3.2.3
3.2.1
->3.2.3
3.2.1
->3.2.3
3.2.1
->3.2.3
3.2.1
->3.2.3
3.2.1
->3.2.3
3.2.1
->3.2.3
3.2.1
->3.2.3
3.2.1
->3.2.3
3.2.1
->3.2.3
3.2.1
->3.2.3
3.2.1
->3.2.3
1.8.3
->1.9.0
1.8.3
->1.9.0
2025.06.01
->2025.08.01
1.2.1
->1.3.0
1.12.0
->1.13.0
3.6.1
->3.7.0
1.16.0
->1.17.0
0.10.0-grpc-121
->0.10.0-grpc-127
1.8.3
->1.9.0
1.8.3
->1.9.0
1.8.3
->1.9.0
1.8.3
->1.9.0
1.8.3
->1.9.0
2025.6.11
->2025.9.2
8.11.0
->8.13.0
8.11.0
->8.13.0
8.11.0-alpha07
->8.13.0
Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
gradle/gradle (gradle)
v8.14.3
: 8.14.3Compare Source
The Gradle team is excited to announce Gradle 8.14.3.
This is a patch release for 8.14. We recommend using 8.14.3 instead of 8.14.
Here are the highlights of this release:
Read the Release Notes
We would like to thank the following community members for their contributions to this release of Gradle:
Aurimas,
Ben Bader,
Björn Kautler,
chandre92,
Daniel Hammer,
Danish Nawab,
Florian Dreier,
Ivy Chen,
Jendrik Johannes,
jimmy1995-gu,
Madalin Valceleanu,
Na Minhyeok.
Upgrade instructions
Switch your build to use Gradle 8.14.3 by updating your wrapper:
See the Gradle 8.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading.
For Java, Groovy, Kotlin and Android compatibility, see the full compatibility notes.
Reporting problems
If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines.
If you're not sure you're encountering a bug, please use the forum.
We hope you will build happiness with Gradle, and we look forward to your feedback via Twitter or on GitHub.
grpc/grpc-java (io.grpc:grpc-netty)
v1.75.0
Behavior Changes
Bug Fixes
core:
grpc-timeout
should always be positive (#12201) (6dfa03c
). There is a local race between when the deadline is checked before sending the RPC and when the timeout is calculated to put on-the-wire. The code replaced negative timeouts with 0 nanoseconds. gRPC’s PROTOCOL-HTTP2 spec states that timeouts should be positive, so now non-positive values are replaced with 1 nanosecondcore: Improved DEADLINE_EXCEEDED message for delayed calls (
6ff8eca
). Delayed calls are the first calls on a Channel before name resolution has resolved addresses. Previously you could see confusing errors saying the deadline “will be exceeded in” X time. The message tense was simply wrong, and now will be correct: deadline “was exceeded after” X time.xds: PriorityLB now only uses the failOverTimer to start additional priorities, not fail RPCs (
c4256ad
). You should no longer see “Connection timeout for priority” errors.Improvements
netty: Count sent RST_STREAMs against
NettyServerBuilder.maxRstFramesPerWindow()
limit (#12288). This extends the Rapid Reset tool to also cover MadeYouReset. the reset stream count will cause a 420 "Enhance your calm response" to be sent. This depends on Netty 4.1.124 for a bug fix to actually call the encoder by the frame writer.xds: Convert CdsLb to
XdsDepManager
(297ab05
). This is part of gRFC A74 to have atomic xDS config updates. This is an internal change, but does change the error description seen in certain cases, especially DEADLINE_EXCEEDED on a brand-new channel.census: APIs for stats and tracing (#12050) (
9193701
). Client channel and server builders with interceptors and factories respectively for stats and tracing.stub: simplify
BlockingClientCall
infinite blocking (#12217) (ba0a732
). Move deadline computation into overloads with finite timeouts. Blocking calls without timeouts now do not have to read the clock.xds: Do RLS fallback policy eagar start (#12211) (
42e1829
). In gRPC-Java, the xDS clusters were lazily subscribed, which meant the fallback target which is returned in the RLS config wasn’t subscribed until a RPC actually falls back to it. The delayed resource subscription process in gRPC Java made it more susceptible to the effects of the INITIAL_RESOURCE_FETCH_TIMEOUT compared to other programming languages. It also had impact beyond the RLS cache expiration case, for example, when the first time the client initialized the channel, we couldn't fallback when the intended target times out, because of the lazy subscription. This change starts the fallback LB policy for the default target at the start of RLS policy instead of only when falling back to the default target, which fixes the above mentioned problems.xds: Aggregate cluster fixes (A75) (#12186) (
7e982e4
). The earlier implementation of aggregate clusters concatenated the priorities from the underlying clusters into a single list, so that it could use a single LB policy defined at the aggregate cluster layer to choose a priority from that combined list. However, it turns out that aggregate clusters don't actually define the LB policy in the aggregate cluster; instead, the aggregate cluster uses a special cluster-provided LB policy that first chooses the underlying cluster and then delegates to the LB policy of the underlying cluster. This change implements that.api: set size correctly for sets and maps in handling
Metadata
values to be exchanged during a call (#12229) (8021727
)xds: xdsClient cache transient error for new watchers (#12291). When a resource update is NACKed, cache the error and update new watchers that get added with that error instead of making them hang.
xds: Avoid PriorityLb re-enabling timer on duplicate CONNECTING (#12289). If a LB policy gives extraneous updates with state CONNECTING, then it was possible to re-create
failOverTimer
which would then wait the 10 seconds for the child to finish CONNECTING. We only want to give the child one opportunity after transitioning out of READY/IDLE.xds: Use a different log name for
XdsClientImpl
andControlPlaneClient
(#12287).ControlPlaneClient
uses "xds-cp-client" now instead of "xds-client" while logging.Dependencies Changes
Upgrade to Netty 4.1.124.Final (#12286). This implicitly disables
NettyAdaptiveCumulator
(#11284), which can have a performance impact. We delayed upgrading Netty to give time to rework the optimization, but we've gone too long already without upgrading which causes problems for vulnerability tracking.bazel: Use
jar_jar
to avoid xds deps (#12243) (8f09b96
). The //xds and //xds:orca targets now usejar_jar
to shade the protobuf generated code. This allows them to use their own private copy of the protos and drop direct Bazel dependencies on cel-spec, grpc, rules_go, com_github_cncf_xds, envoy_api, com_envoyproxy_protoc_gen_validate, and opencensus_proto. This mirrors the shading of protobuf messages done for grpc-xds provided on Maven Central and should simplify dependency managementDocumentation
Clarify requirements for creating a cross-user Channel. (#12181). The
@SystemApi
runtime visibility requirement isn't really new. It has always been implicit in the required INTERACT_ACROSS_USERS permission, which can only be held by system apps in production. Now deprecatedBinderChannelBuilder#bindAsUser
has always required SDK_INT >= 30. This change just copies that requirement forward to its replacement APIs inAndroidComponentAddress
and the TARGET_ANDROID_USERNameResolver.Args
.api: Add more Javadoc for
NameResolver.Listener2
interface (#12220) (d352540
)Thanks to
@benjaminp
@werkt
@kilink
@vimanikag
v1.74.0
Behavior Changes
@generated=omit
(f8700a1
). This omitsjavax.annotation.Generated
from the generated code and makes theorg.apache.tomcat:annotations-api
compile-only dependency unnecessary (README and examples changes forthcoming; we delayed those changes until the release landed). You can use the option@generated=javax
for the previous behavior, but please also file an issue so we can develop alternativesa16d655
). Previously, the new blocking stub API was identical to the older blocking stub for unary RPCs and used the uncheckedStatusRuntimeException
. However, feedback demonstrated it was confusing to mix that with the checkedStatusException
inBlockingClientCall
. Now the new blocking stub uses StatusException throughout. grpc-java continues to support the old generated code, but the version of protoc-gen-grpc-java will dictate which API you see. If you support multiple generated code versions, you can use the older blocking v1 stub for unary RPCsBug Fixes
b04c673
,15c7573
). This was a very old race, not a recent regression. All streams should now properly fail instead of hanging, although in some cases they may be transparently retried1c43098
). Previously, changes in the wall time would impact its accounting482dc5c
). Only IP addresses were handled properly, and only IP addresses should be handled per gRFC A27efe9ccc
). Previously the resource was NACKed, but gRPC would continue waiting for the resource until a timeout was reached and claim the control plane didn’t send the resource. Now it will fail quickly with an informative errora5eaa66
). Previously all configuration refreshes were considered a new config, which had the potential for causing unexpected inefficiency problems. This was noticed by new code for gRFC A74 xDS Config Tears that is not yet enabled, so there are no known problems that this caused1df2a33
). This fixed pick_first and ring_hash behavior that could cause rare and “random” races in parent load balancers like aNullPointerException
inClusterImplLoadBalancer.createSubchannel()
, which had a ring_hash child. This is most likely to help xDS, as it heavily uses hierarchical LB policiesImprovements
f07eb47
). Previously, connections were created in-order (but non-blocking), so in a fast network the first address could be more likely to connect first given a "microsecond" headstart. That first connection then receives all the buffered RPCs, which could cause temporary, but repeated, load imbalances of the same backend when all clients receive the same list of addresses in the same order. This has been seen in practice, but it is unclear how often it happens. Shuffling has the potential to improve load distribution of new clients when using round_robin, weighted_round_robin, and least_request, which connect simultaneously to multiple addresses26bd0ee
). This avoids the potential of unnecessarily formatting an exception as a string when a subchannel fails to connect6f69363
). This adds compatibility for--incompatible_disable_target_default_provider_fields
c206428
)30d40a6
)Dependencies
46485c8
). This is used by the pre-built protoc-gen-grpc-java plugin on Maven Central. This should have no visible benefit, but gets us closer to upgrading to Protobuf 27 which added edition 2023 supportf99b2aa
). We aren’t aware of any visible changes to the results on Maven CentralKotlin/kotlinx.serialization (org.jetbrains.kotlinx:kotlinx-serialization-core)
v1.9.0
==================
This release updates Kotlin version to 2.2.0, includes several bugfixes and provides serializers for kotlin.time.Instant.
Add kotlin.time.Instant serializers
Instant class was moved from kotlinx-datetime library to Kotlin standard library.
As a result, kotlinx-datetime 0.7.0 no longer has serializers for the Instant class.
To use new kotlin.time.Instant class in your @Serializable classes,
you can use this 1.9.0 kotlinx-serialization version (Kotlin 2.2 is required).
You can choose between default
InstantSerializer
which uses its string representation,or specify
InstantComponentSerializer
that represents instant as its components.See details in the PR.
Other bugfixes
ktorio/ktor (io.ktor:ktor-client-js)
v3.2.3
Improvements
yaml
as the configuration file suffix (KTOR-8712)Bugfixes
\r\n
(KTOR-8687)v3.2.2
Improvements
event
beforedata
(KTOR-8627)Bugfixes
client.sse()
acts like a REST call and not a stream in test environment (KTOR-7910)material-components/material-components-android (com.google.android.material:material)
v1.13.0
Compare Source
New in 1.13.0!
DockedToolbarLayout
(source, doc, spec)FloatingToolbarLayout
(source, doc, spec)LoadingIndicator
(source, doc, spec)MaterialSplitButton
(source, doc, spec)MaterialButtonGroup
(source, doc, spec)Important
minSdkVersion
is now 21 or higher, for Material and AndroidX.compileSdkVersion
35, Android Gradle Plugin (AGP) 8.7.3, Gradle 8.9, andandroid.nonTransitiveRClass=true
.Material3Expressive
themes/styles in conjunction with new components mentioned above.Dependency Updates
Library Updates
A11y
960bb4c
)9c33476
)d560705
)79bd7d7
)BottomNavigationView
76936c4
)8a4d3c6
)BottomSheet
af7f254
)a0b4dfa
)005687d
)95025c6
)Carousel
ca0b870
)52228c1
)916e908
)d0f5d72
)Checkbox
7711191
)Chip
436437a
)show all
Chip for a11y (8e33421
)1eaf483
)a7ff8c9
)CollapsingToolbarLayout
57297ae
)8598aa6
)Color
7ae12b5
)7c62429
)443eaa5
)ede0713
)Dialog
1b58f5f
)1ee9a86
)DockedToolbar
834ce09
)0c83f50
)68a79d7
)08a8893
)1fd228b
)51873bb
)FloatingActionButton
1e06f7c
)870ace3
)6f41625
)f513914
)949b057
)db7fe20
)da442be
](https://redirect.github.com/material-components/material-components-android/commit/Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.