Skip to content

Releases: grpc-ecosystem/grpc-spring

v3.1.0.RELEASE

14 Apr 12:34
7e6bc37
Compare
Choose a tag to compare

What's Changed

  • Add support for maxInboundMetadataSize client configuration in #1064
  • Add instrumentation tags to grpc metrics in #1081
  • Apply grpc service config from consul #1045
  • Upgrade grpc and remove unused method #1052

Documentation

  • Small README format fix in #1066
  • Add the survey in the README.md in #1069
  • Update documentation links to current in #1074
  • Updated the source links that provide visualizations of the Project Setup #1078

Dependencies

  • update spring boot to v3.2.4
  • update grpc-java to 1.63.0

New Contributors

Full Changelog: v3.0.0.RELEASE...v3.1.0

v3.0.0.RELEASE

22 Feb 02:25
cb2c19f
Compare
Choose a tag to compare

What's Changed

  • BREAKING: Support Spring Boot 3.x by @yidongnan in #970
    • Not compatible with Spring Boot 2.x
  • Bump micrometer version to latest by @dsyer in #829
  • Fix the build status links in the README files impacted by the repo transfer from yidongnan/grpc-spring-boot-starter to grpc-ecosystem/grpc-spring. by @fengli79 in #983
  • Change the copyright (yidongnan -> gRPC-Spring Authors) and license (MIT -> Apache 2.0). by @fengli79 in #984
  • feat: Allow annotation GrpcClient for target type 'annotation' by @313hemant313 in #993
  • EnableGlobalMethodSecurity is deprecated by @benallard in #997
  • feat: allow configuring user agent by @onyn in #1009
  • feat: Adds structure for gRPC client metrics instrumentation by @DNVindhya in #1021
  • feat: Add gRPC server metrics by @DNVindhya in #1031
  • feat: Add gRPC client attempt metrics by @DNVindhya in #1037
  • Remove the attempt base unit for grpc_client_attempt_started metric by @fengli79 in #1041
  • Enable gRPC Client attempt and Server metrics by @DNVindhya in #1039
  • Add an end to end example for gRPC A66 metrics. by @fengli79 in #1043
  • Update metrics list by @DNVindhya in #1048
  • refactor: merge redundant projects by @ST-DDT in #1050

Documentation

  • The Spring Boot version in the documentation does not match the actual version being used by @loong024 in #973
  • [DOC] update gRPC and protobuf version on docs by @tonyals in #978
  • Fix the github links in the documentation impacted by the repo transfer from yidongnan/grpc-spring-boot-starter to grpc-ecosystem/grpc-spring. by @fengli79 in #982

Dependencies

  • update spring boot to v3.2.2
  • update spring cloud to v2023.0.0
  • update dependency io.grpc:grpc-bom to v1.60.1
  • update dependency com.google.protobuf:protobuf-bom to v3.25.2

New Contributors

Full Changelog: v2.15.0...v3.0.0.RELEASE

v2.15.0

28 Sep 02:50
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: yidongnan/grpc-spring-boot-starter@v2.14.0.RELEASE...v2.15.0

v2.14.0.RELEASE

21 Nov 13:27
329c229
Compare
Choose a tag to compare

Changes

  • BREAKING: Add support for call attribute based authorization checks by @ST-DDT in #742
    • Only breaks if you implemented custom filters
    • Now supports filtering by user IP
  • Replace metric implementation with external/official one by @ST-DDT in #736
  • Replace deprecated io.grpc.services.HealthStatusManager by @marcindabrowski in #658
  • Only create a StubTransformer of CallCrendentials if there are no others by @gurel in #646
    • You might have to create the bean yourself now/add it to your existing stub transformer

Features

  • Support @Order on interceptor bean factory methods by @ST-DDT in #737
  • Add support for client stub constructor injection by @xJoeWoo in #749
  • Add option to turn off the grpc HealthIndicator by @westonlee in #699

Fixes

  • Fix creation of Bearer Token using CallCredentialsHelper.bearerAuth(Supplier) by @vitorluis in #642
  • Fix constructing InProcessGrpcServerFactory with GrpcServerConfigurer(s) by @blackhuman in #654
  • Use Grpc default scheme if no target is defined by @kyle-wong-knewton in #687
  • Fix some warnings from code analysis by @ST-DDT in #734
  • Fix keystore JKS format auto detection by @ST-DDT in #738
  • Improve error message if there is no GrpcContext assigned/active by @ST-DDT in #777

Documentation

Dependencies

New Contributors

v2.13.1.RELEASE

07 Jan 10:11
92f8ee6
Compare
Choose a tag to compare

Dependencies

v2.13.0.RELEASE

26 Nov 02:50
Compare
Choose a tag to compare

Fixes

  • Don't reference sleuth directly in the annotation #585
  • Align default keepAlive with gRPC defaults #550

Improvements

  • @GrpcClientBean annotation to add @GrpcClient channels/stubs to the application context #580
  • Error handling is now supported for streaming calls #586
  • Added grpc server lifecycle events #608
  • Added support for key- and truststores via configuration #605
  • Added dynamic CallCredentials helpers #596
  • Improve authentication capabilities #594
  • Improve DiscoveryClientNameResolver implementation #600 , #429
  • Support max connection idle and age limits #549
  • Update dependencies and plugins #598, #583, #520
  • Improve test script #530

Examples

  • Log response messages and other data in Interceptor example #578
  • Add consul to automated test suite #530
  • Condense/Simplify examples #539, #531

Documentation

  • Mention grpcChannel health indicator in docs #606
  • Updated the getting started documentation #609
  • Updated and move compatibility info to version documentation #595
  • Fix client configuration examples with server interceptors #579

Dependencies

Acknowledgements

Thanks to all our contributors:

v2.12.0.RELEASE

01 May 12:00
Compare
Choose a tag to compare

Breaking Changes

  • Updated to spring-boot v2.4.x some features might no longer work with v2.3.x (Spring renamed some classes) #508
  • Change metadata from gRPC.port to gRPC_port for cloud discovery #496 , #495
    • Currently the legacy property is evaluated as a fallback, this fallback will be removed in a future release
  • Make grpc-services.jar optional + grpc health service setup is no longer blindly initialized with SERVING #528
    • To restore the original behavior, use the HealthStatusManager#setStatus for each grpc service

Fixes

  • Fixed potential sensitive data exposure vulnerability #528
  • GrpcAdviceIsPresentCondition breaks beans loading priority #513, #515
  • If the grpc client is unavailable then the service is "out of service" #529
  • Fix GrpcClient#interceptors bean lookup #532

Improvements

  • Improve build to benefit from incremental builds #512
  • Upgrade dependencies to the latest versions #521
  • Update spring boot to 2.4.x #508

Examples

  • Add nacos example #504

Documentation

  • Add Custom NameResolverProvider section to the docs #525
  • Add a version mismatch section to the docs trouble shooting section #524

Dependencies

Acknowledgements

Thanks to all our contributors:

v2.11.0.RELEASE

19 Feb 03:06
Compare
Choose a tag to compare

Changes/Improvements

  • Annotation driven Exception handling #485, #465, #358
  • Added option to gracefully shutdown #491, #454
    • The server now waits for all grpc requests to finish before continuing with the shutdown
  • Added support for zookeeper service discovery #474, #475
  • Use ServerCall.Listener#onComplete for metric collection instead of ServerCall#close #447
    • Now it also tracks cancelled calls

Fixes

  • Update client configuration metadata #494
  • Don't try to setup TLS security for in-process-server #497

Documentation

  • Improve server getting started docs #479
  • Improve client interceptor documentation #473
  • Fix bad imports in client getting started docs #472
  • Mention gRPCurl on the server testing page #444
  • Improve NameResolverRegistry registration logs #435

Dependencies

Acknowledgements

Thanks to all our contributors:

v2.10.1.RELEASE

24 Aug 03:13
Compare
Choose a tag to compare

Bugfixes

  • Fixed issues with grpc-kotlin support (and other grpc-flavors) due to removed fallback code #413

New Features

Dependencies

Acknowledgements

Thanks to @asarkar for reporting #410 and helping with testing the fix

v2.10.0.RELEASE

17 Aug 02:16
Compare
Choose a tag to compare

Breaking Changes

  • Simplify interceptor registration #394
    • Lazy collect interceptors and global interceptor configurers
    • Changed API of global interceptor registry and configurers
  • Removed stub creation via private constructors, which causes an incompatibility with kotlin.
    (The missing kotlin-grpc stub factory will be fixed asap in the next release)

Changes

  • Change auto configs to use @Configuration(proxyBeanMethods = false)
    • This should improve compatibility with GraalVM's native images #383 #379

New Features

  • Support 3rd party gRPC Java compilers via StubFactory #375 #382
  • Request connection on startup #377
  • Add option to configure the max metadata size for server #380
  • Add more utility methods to CallCredentialsHelper #387
  • Log connector selection (shaded-netty/netty/in-process) #386
  • Log that the CallCredentials will be applied to all stubs automatically #388
  • Throw exception if grpc-service is registered/implemented twice #392

Documentation

  • Add example grpcurl usage for Windows #391
  • Document setup for kubernetes #403

Dependencies

Acknowledgements

Thanks to all our contributors: