This version is still in development and is not considered stable yet. For the latest stable version, please use Spring gRPC 1.0.3!

What’s new?

What’s New in 1.1.0 Since 1.0.0

This section covers the changes made from version 1.0.0 to version 1.1.0.

  • Spring Boot autoconfiguration and starters were moved to Spring Boot - see the upgrade guide for more details

What’s New in 1.0.0 Since 0.9.0

This section covers the changes made from version 0.9.0 to version 1.0.0.

  • Default stub factory now configurable via properties

  • Update to Spring Boot 4 / Spring Framework 7 and the corresponding Spring Portfolio updates (e.g. Spring Security 6)

  • JSpecify for nullability constraints

  • Java 25 support

What’s New in 0.9.0 Since 0.8.0

This section covers the changes made from version 0.8.0 to version 0.9.0.

  • Upgrade to Spring Boot 3.5.0.

  • StubFactory contract changes: the "supports" method is now a static method (it is called before an instance is created).

  • Removed GrpcClientFactoryCustomizer in favour of GrpcChannelBuilderCustomizer.

  • Added ability to filter interceptors in in-process gRPC clients.

  • Added ability to filter global interceptors and service definitions - easy to do for InProcessGrpcServer and possible to do for NettyGrpcServer by registering a customizer.

What’s New in 0.6.0 Since 0.5.0

This section covers the changes made from version 0.5.0 to version 0.6.0.

Renamed Client Autowired Annotations

The old @GrpcClient annotation has been renamed to @ImportGrpcClients to better reflect its purpose, and to be more consistent with changes in the Spring framework. The customizer that is applied to generated gRPC clients is now a GrpcClientFactoryCustomizer - it’s main use is to modify the channel that a client is created with beyond the limits of what can be configured with spring.grpc.client.* properties.

What’s New in 0.5.0 Since 0.4.0

This section covers the changes made from version 0.4.0 to version 0.5.0.

Automatic Configuration of gRPC Clients

The @EnableGrpcClients and nested @GrpcClient annotations can now be used to automatically configure gRPC clients. Each @GrpcClient can be used to enumerate the stub types explicitly, or to scan a base package for stubs.

What’s New in 0.4.0 Since 0.3.0

This section covers the changes made from version 0.3.0 to version 0.4.0.

Fine-grained starter modules

The following fine-grained Spring Boot starter modules have been added:

  • spring-grpc-client-spring-boot-starter provides Netty gRPC client

  • spring-grpc-server-spring-boot-starter provides Netty gRPC server

  • spring-grpc-server-web-spring-boot-starter provides Servlet gRPC server

The current coarse-grained starter spring-grpc-spring-boot-starter still provides Netty gRPC server and client.