Skip to content

Releases: grpc/grpc-swift

Release 0.5.0

16 Nov 18:13
Compare
Choose a tag to compare
  • Update podspec to version 0.5.0. (f11ad0b - Tim Burks)
  • Create ServerStatus in Core (045bc17 - ito_kyohei)
  • Code review fixes. (5f0531d - Daniel Alm)
  • Fix compilation under Linux. (3130eea - Daniel Alm)
  • Fix a bug and test for it. (b34303c - Daniel Alm)
  • Add a few more tests to ensure that trailing metadata is sent as expected. (22dee41 - Daniel Alm)
  • Reword documentation (c317f9d - Nate Armstrong)
  • Rename "services" to "serviceProviders". (a6e8cbb - Daniel Alm)
  • Add security tests to LinuxMain (df96858 - Nate Armstrong)
  • Document rootCerts param (22da1da - Nate Armstrong)
  • Update TestKeys generator and include cert files (1e19905 - Nate Armstrong)
  • Remove comment (d5ff00d - Nate Armstrong)
  • Add tests for mutual auth (18af90f - Nate Armstrong)
  • For service servers, replace inheritance with composition. (98f7fa6 - Daniel Alm)
  • Added requited designation to allow to create ServiceClient dynamically (12340a4 - Carlos Pages)
  • Make ChannelArgument extensible with custom values. (4f9e7a5 - Daniel Alm)
  • Make the build commands less verbose. (ec8f37b - Daniel Alm)
  • Pass pointer (2252397 - Nate Armstrong)
  • Fix memory leak and whitespace (706ed74 - Nate Armstrong)
  • Cast malloc result (a2b983a - Nate Armstrong)
  • Pass NULL if client certs or key are not given (f477ce5 - Nate Armstrong)
  • Update ServiceClient init (b795d14 - Nate Armstrong)
  • Add support for TLS mutual auth (0251dd8 - Nate Armstrong)
  • Fix building with a clean Xcode and add a CI run to ensure just that. (56ecb72 - Daniel Alm)
  • Fix linking with OpenSSL on Linux. (8ef093b - Daniel Alm)
  • Move another compiler directive into vendor-grpc.sh. (03f4309 - Daniel Alm)
  • Re-add swift-nio-zlib-support for macOS builds. (c12125b - Daniel Alm)
  • Update Google sample for recent API changes. (2cc6af7 - Tim Burks)
  • Move a compilation flag out of the Makefile and fix-project-settings.rb and into vendor-grpc.sh, which adds them to Sources/CgRPC/third_party/nanopb/pb.h. (4a16c13 - Daniel Alm)
  • Re-add swift-nio-zlib-support for macOS builds. (0368de9 - Daniel Alm)
  • Also update the Mac Travis system images to Xcode 9.3. (070170d - Daniel Alm)
  • Update .travis-install.sh to Swift 4.1.1. (470fb2f - Daniel Alm)
  • Update CgRPC to v1.12.0 and BoringSSL to 10.0.4 (I guess?). This change requires Swift 4.1 and Ruby (with the 'xcodeproj' gem) installed to compile if building via SPM. (75940a4 - Daniel Alm)
  • Link CgRPC with openssl instead of BoringSSL under Linux. (d56e1ca - Daniel Alm)
  • Add a few channel arguments (3cd89dd - Sebastian Thiebaud)
  • PR changes (0d25ef8 - Sebastian Thiebaud)
  • Remove print statements (ad6e022 - Sebastian Thiebaud)
  • PR changes (4ca615a - Sebastian Thiebaud)
  • Add comments (e853032 - Sebastian Thiebaud)
  • PR changes (0891482 - Sebastian Thiebaud)
  • Add timeout argument to makeCall (0d67da9 - ito_kyohei)
  • PR changes (255ce88 - Sebastian Thiebaud)
  • Make ServiceServer log calls to unknown methods. (e144258 - Daniel Alm)
  • Replace Metadata.description with Metadata.dictionaryRepresentation.description. (588963a - Daniel Alm)
  • Explicitly import dispatch (76faf09 - Chris Vanderschuere)
  • Implement connectivity state property and observers (#8) (0bd14d8 - Chris Vanderschuere)

Release 0.4.3

16 Nov 17:46
Compare
Choose a tag to compare
  • Add more channel arguments (@SebastianThiebaud)
  • Add casts to fix warnings about ints used as void *. (@timburks)
  • README updates (@rebello95)
  • Fix memory leaks (@MrMage)
  • Avoid a try! call (@MrMage)
  • Make the test stubs thread safe (@MrMage)
  • Leave zlib dependency only for non-Apple platforms (@MrMage)
  • Add CocoaPods-based sample (@timburks)
  • Fix broken link (@koichi.tanaka)
  • Spin up dedicated queues for some operations (@MrMage)
  • Dispatch the actual request handlers on new threads (@MrMage)
  • Remove several now-unused DispatchQueue arguments (@MrMage)
  • Make the server dispatch each request handler on its own thread (@MrMage)
  • Streamline the interface of the server-side response handling code (@MrMage)
  • Fix several completion queue leaks in tests (@MrMage)
  • Add server/client codegen options to protoc (@rebello95)
  • Add docs for protoc parameter usage (@rebello95)

Fix some issues when running `pod spec lint`

16 Nov 17:34
ed76ae8
Compare
Choose a tag to compare
Merge pull request #213 from grpc/podspec-validation

Fix a few problems found running "pod spec lint".

Update podspec to use grpc-core 1.11.0, add timeouts to blocking send() and receive() calls.

17 Apr 18:18
1a9f7e2
Compare
Choose a tag to compare
Merge pull request #201 from MrMage/wait-timeout

Add a `timeout` option to blocking `send()` and `receive()` calls

Sweeping refactoring to improve error handling and code generation.

11 Apr 15:29
a591384
Compare
Choose a tag to compare

This release contains a large set of improvements led by @MrMage that improve error visibility and the structure of generated code. The Swift gRPC core now consists of two parts, a "Core" that provides basic services and a "Runtime" that contains code factored out of previously-generated code. With these changes, generated code is much lighter and easier to generate. To reduce dependencies, protoc-gen-swiftgrpc was rewritten to directly "print" generated code, and this simplification allowed us to move the plugin to the main Package.swift.

There are other pending improvements coming soon as patch version updates.

Use StatusCode enum for status codes, improve handling of unknown messages in generated code.

03 Feb 23:19
Compare
Choose a tag to compare

Improvements made during prototyping of a Swift webserver-to-gRPC proxy.

Improved Examples, Removed unneeded CountDownLatch class.

29 Dec 05:32
Compare
Choose a tag to compare

CountDownLatch was removed and replaced with DispatchSemaphore.

More consistent naming with Swift Protobuf

27 Dec 23:35
Compare
Choose a tag to compare

This update adds a dependency on SwiftProtobufPluginLibrary with the goal of using the SwiftProtobufNamer class to generate names that are consistent with the ones used by the Swift Protobuf project. Currently only message names are affected.

It also manually imports code used to determine file names for generated code to allow the default path names of files generated by protoc-gen-swiftgrpc to be more consistent with those from protoc-gen-swift.

Simpler client creation, secure connections are now the default.

22 Dec 23:44
Compare
Choose a tag to compare

Previous versions required a separate "roots.pem" file to be loaded to initialize secure connections. Now this file is built into the library binary (see Sources/gRPC/Roots.swift) so clients no longer have to worry about providing this file.

In a related simplification, the Channel constructor now takes an optional "secure" argument whose default value is true. Note that this will break code that calls the Channel constructor with just an address since previously that created insecure connections. To get an insecure channel, add "secure:false" to your Channel constructor.

Migrating to Swift 4

02 Sep 23:58
Compare
Choose a tag to compare

This release moves from Swift 3 to Swift 4. The update required changes to the modulemap for CgRPC that could break Swift 3 builds. If you still need to build with Swift 3, add the following line to the modulemap:

link "CgRPC"

See the change for more details.