gRPC Swift v2 beta – Feedback Wanted! πŸš€

We're excited to announce the first beta release of gRPC Swift v2 which is a major update to our gRPC implementation for Swift. This new version has been designed to enhance usability, improve performance, and better align with the evolving Swift ecosystem.

:new: What's new in gRPC Swift v2?

  • Native Swift Concurrency Support: The library has been written as a concurrency-first implementation and takes full advantage of structured concurrency. This makes it easier than ever to build robust gRPC clients and servers.
  • Flexible APIs: We've aimed to make the APIs easy to use for newcomers but flexible enough to support the needs of expert users with appropriate extension points.
  • Pluggable Transports: The transport layer is pluggable, allowing you to choose the transport implementation best suited to your needs.

:seedling: Getting started

The documentation and tutorials for gRPC Swift v2 are available on the Swift Package Index. You'll also find standalone examples in the grpc-swift repository.

If you're new to gRPC then check out the Hello World tutorial. If you're already familiar with gRPC then check out the Route Guide tutorial.

:books: Want to learn more?

If you want to learn more about the library and its design then check out the design document on the Swift Package Index. You can also watch a talk from gRPConf '24 about the development of the library.

:clipboard: Call for Feedback

We'd love to hear from you! Your feedback is important in shaping the future of gRPC Swift. Whether you’re a seasoned user or new to gRPC, please share your thoughts, questions, or suggestions:

  • What works well?
  • What could be improved?
  • Are there features or use cases you'd like to see supported?

Feel free to reply here or open an issue on GitHub.

Thanks,
George


Releases:

16 Likes

Awesome news! We may want to try this out soon...we are fixing to use gRPC for a work project with Swift 6.0 and this may be a good thing to adapt starting early.

1 Like

We've just release the second beta; see the release notes for more info:

2 Likes

The third beta has just been released. See the release notes for each for more information:

3 Likes

Hello,

The requirement for iOS 18 in grpc-swift 2.0.0 is a significant blocker for our team. Given typical adoption cycles, we anticipate being unable to evaluate or integrate the 2.x library versions for at least 2–3 years. From a business perspective, limiting compatibility to only the latest iOS version is unacceptable, as many users of our apps remain on previous versions. We would greatly appreciate consideration for broader iOS version support.

I’ve seen the clarification in #2147, but I still wanted to highlight this concern here.

Thank you for your time and consideration.

1 Like

Thanks for sharing your concerns. We understand that these constraints aren't ideal for app developers and many won't be able to use it for several years. However, lowering the iOS 18 (and friends) constraint would've had a negative impact on the API and performance. We believe that the higher availability requirements is the lesser of two evils here and is the right choice for the project in the long term.

Version 1.x is still available for folks who can't move to 2.x yet.

Thanks for amazing improvement.
The documentation and tutorials link is broken somehow:

https://swiftpackageindex.com/grpc/grpc-swift/2.1.2/documentation/grpccore

Would you guys fix it?

The link works for me, I suspect it was a transient issue with the Swift Package Index.

No worries. I just confirmed the link is working for me now.