Kroto Plus Versions Save

gRPC Kotlin Coroutines, Protobuf DSL, Scripting for Protoc

v0.6.1

4 years ago

CHANGELOG

Version 0.6.1

2020-02-03

Proto Builders (DSL)

  • Fix: Dsl marker interfaces are properly omitted from generated code when disabled PR-106

Gradle Plugin

  • New: Automatically configure artifact version for project kroto dependencies with missing version PR-107 Thanks to @Fleshgrinder

v0.6.0

4 years ago

CHANGELOG

Version 0.6.0

2019-12-26

  • New: Update to Kotlin 1.3.61 PR-97
  • New: Update to Kotlin Coroutines 1.3.3

Protoc Plugin

  • New: Publish native executables for the following platforms osx-x86_64, linux-x86_64, windows-x86_64 PR-87

Coroutines

  • New: Include proto documentation in generated sources PR-86 Thanks to @metarag
  • Fix: Closing outbound channels with an exception now propagates a cancellation to the underlying stream GH-93 Thanks to @jebbench
  • Fix: Update method signature support to adhere to spec GH-92

Proto Builders (DSL)

  • Fix: Prevent naming collisions in proto builders PR-88 Thanks to @keyserbrian1

Gradle Plugin

  • New: Introduce new experimental configuration DSL plugin PR-14 Thanks to @mattdkerr. An example can be found at krotoPlusConfig.gradle

v0.5.0

4 years ago

CHANGELOG

Version 0.5.0

2019-09-03

  • New: Update to Kotlin 1.3.50 PR-68
  • New: Update to Kotlin Coroutines 1.3.0
  • New: Update CI to execute tests against jdk10,jdk11,jdk12 PR-74
  • New: Update to project gradle to 5.6.2

Protoc Plugin

  • Fix: If no file filter is defined, fallback to CodeGeneratorRequest.fileToGenerateList PR-70

Proto Builders (DSL)

  • Fix: File filter is no longer ignored in stub extension generator
  • New: Refactor stub ext generator and add support for method signature options PR-75
  • New: Add missing stub ext overloads for async and blocking stubs PR-75

Coroutines

  • Fix: Usage of @RpcMethod annotation now properly targets method descriptors in generated code
  • New: Refactor gRPC coroutines generator for better maintainability PR-76
  • New: Add support for method signature options in coroutine stubs PR-72

Code Generation Scripts

  • New: Expose script cache directory configuration PR-69 Thanks to @AlexeySoshin
  • New: Register option extension for (google.api.http) so that its available during user script invocation

v0.5.0-RC

4 years ago

CHANGELOG

This release is marked as 'RC' due to usage of coroutines 1.3.0-RC2. A new release will be issued once 1.3.0 is released and fully tested.

This release brings many bug fixes and improvements to streaming APIs. It also includes the refactoring and optimization of outbound flow control.

Version 0.5.0-RC

2019-08-22

  • New: Update to Kotlin 1.3.41
  • New: Update to Kotlin Coroutines 1.3.0-RC2
  • New: Update to gRPC 1.23.0
  • New: Update to protobuf 3.9.0

Protoc Plugin

  • Fix: Support malformed protobuf filenames PR-63 Thanks to @AlexeySoshin
  • Fix: Typo in config message name GH-45 Thanks to @RdeWilde

Coroutines

  • Fix: Propagate inbound channel close as call cancellation

Thanks to @chris-blacker PR-61

  • Fix: Race condition in outbound flow control
  • New: Improvements to the efficiency of outbound flow control handler
  • New: Integration tests for client and server coroutine implementations
  • New: Improvements to determinism of unit tests

v0.4.0

4 years ago

CHANGELOG

Version 0.4.0

2019-06-17

  • New: Update to kotlin 1.3.31
  • New: Update to kotlin Coroutines 1.2.1
  • New: Update to gRPC 1.20.1

Proto Builders (DSL)

  • Fix: Empty object generation when using maps and multiple files. (#51) Thanks to @sauldhernandez

Coroutines

  • New: Default server method execution to CoroutineStart.ATOMIC (#48)
  • New: Introduce abstract stub ext for concatenating coroutine contexts, AbstactStub.plusContext(#48)
  • Fix: Don't propagate message for UNKNOWN exceptions in rpc exception mapper (#48)
  • Fix: Disable auto flow control for inbound client and server streams during bidi calls (#47 )
  • Fix: Reduce visibility of FlowControlledInboundStreamObserver to internal
  • Deprecated: AbstractStub.coroutineContext ext in favor of AbstractStub.context

Protoc Plugin

  • New: Added support for Yaml as a configuration format GH-45
  • Fix: Address bug in parallelization of generator execution

v0.3.0

5 years ago

0.2.2 Is being skipped due to the scope of API changes

CHANGELOG

Version 0.3.0

2019-04-02

  • Fix: Update codegen to support malformed rpc method names GH-37(#38)

Coroutines

  • New: Release of Full Client & Server Stub Generation 🎉
  • New: Updated docs for public APIs
  • New: Added newGrpcStub coroutine scope ext for creating new stubs. Generated client stubs no longer implement CoroutineScope (#43)
  • New: Add flow control for outbound messages in both clients and servers (#42)
  • New: Added example for multiple client streaming subscriptions
  • Fix: Increased code coverage across all APIs (#41)
  • Fix: Visibility of SuspendingUnaryObserver was changed to internal.
  • Removed: Legacy streaming apis have been removed

v0.2.2-RC3

5 years ago

CHANGELOG

This will be the last RC before the gRPC Coroutines API is finalized. Any feedback or questions is encouraged. Support for the legacy coroutine stub extension APIs will be removed in the next release. This release refactors generated stub extensions to use the new gRPC Coroutines API.

Version 0.2.2-RC3

2019-03-13

  • New: Update Kotlin Poet to 1.0.1 (#30)

Coroutines

  • New: Propagate client scope cancellation to server using ClientCall.cancel (#34)
  • New: Server rpc scope is now bound to cancellation notifications from the client (#23)
  • Fix: Race condition between StreamObserver.onNext and StreamObserver.onCompleted when target channel is full
  • Fix: Reduce @KrotoPlusInternalApi experimental level to Experimental.Level.ERROR to prevent external usage
  • Fix: Remove redundant usages of @ObsoleteCoroutinesApi in call builders
  • Fix: Remove unused experimental class CompletableDeferredObserver
  • Fix: Annotate SuspendingUnaryObserver as an internal API
  • Fix: Remove unnecessary creation of CoroutineScope in newSendChannelFromObserver
  • New: Introduce ServiceScope interface and remove CoroutineScope from generated service classes (#35)
  • New: Use Message.getDefaultInstance() as default value of stub request parameters
  • New: Increased code coverage across the board
  • Deprecated: Legacy service stub rpc builders in favor of new back-pressure supporting stub APIs

gRPC Stub Extension

  • New: Refactored code gen to support new coroutines APIs (#31)
  • New: Generate no-arg extensions for all rpc methods with non streaming request parameters. Default request is now set to Message.getDefaultInstance()

Proto Builders (DSL)

  • Fix: Resolve @DslMarker insertion regression introduced in 0.2.2-RC1 (#32)

v0.2.2-RC2

5 years ago

CHANGELOG

Version 0.2.2-RC2

2018-02-17

Coroutines

  • Fix: Refine API Visibility
  • Fix: Remove unused prototype response extensions
  • Fix: Remove protobuf dependency from coroutine runtime, Resolves GH-25
  • Fix: Propagate client cancellation to server RPC scope
  • Fix: Simplify client call stub extensions
  • Fix: Remove obsolete annotations from generated stubs
  • Fix: Default call option CALL_OPTION_COROUTINE_CONTEXT to EmptyCoroutineContext
  • Fix: Convert ClientBidiCallChannel and ClientStreamingCallChannel to interfaces
  • Fix: Remove unnecessary data modifier from client call channels
  • Fix: Add component1() and component2() operators to client call channel interfaces
  • Fix: Favor directly handling rpc exceptions over installing a completion handler.
  • Fix: Improve rpc method exception handling and propagation.

v0.2.2-RC1

5 years ago

CHANGELOG

Version 0.2.2-RC1

2018-01-03

  • New: Update to kotlin 1.3.11

Protoc Plugin

  • New: gRPC Coroutines Client & Server Code Generation GH-17
  • New: Stand alone version of gRPC code gen. protoc-gen-grpc-coroutines

Coroutines

  • New: Benchmark implementation of gRPC coroutines
  • New: Experimental global dispatcher Dispatchers.Grpc
  • New: SendChannel utility api CoroutineScope.launchProducerJob
  • Fix: Lowered byte code target for Android compatibility
  • Deprecated: InboundStreamChannel in favor of new stub APIs
  • Deprecated: ServerBidiCallChannel in favor of new stub APIs

Proto Builders (DSL)

  • Fix: Nested messages are now tagged with @DslMarker annotation

Community Scripts

  • New: grpc-gateway entry point generation script

Docs

  • New: Maven configuration example

v0.2.1

5 years ago

Version 0.2.1

2018-11-02

  • Fix: Addressed regression in file filter matching