All Versions
Latest Version
Avg Release Cycle
49 days
Latest Release
1490 days ago

Changelog History
Page 1

  • v0.6.1 Changes

    February 04, 2020


    ๐Ÿ”– Version 0.6.1


    ๐Ÿ— 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 Changes

    December 27, 2019


    ๐Ÿ”– Version 0.6.0


    • ๐Ÿ†• 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


    • ๐Ÿ†• 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

  • v0.5.0 Changes

    September 03, 2019


    ๐Ÿ”– Version 0.5.0


    • ๐Ÿ†• 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


    • ๐Ÿ›  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 Changes

    August 22, 2019


    ๐Ÿš€ 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


    • ๐Ÿ†• 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: 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 Changes

    June 20, 2019


    ๐Ÿ”– Version 0.4.0


    • ๐Ÿ†• 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


    • ๐Ÿ†• 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 Changes

    April 03, 2019

    0.2.2 Is being skipped due to the scope of API changes


    ๐Ÿ”– Version 0.3.0


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


    • ๐Ÿ†• 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 Changes

    March 14, 2019


    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


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


    • ๐Ÿ†• 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 Changes

    February 18, 2019


    ๐Ÿ”– Version 0.2.2-RC2



    • ๐Ÿ›  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 Changes

    January 05, 2019


    ๐Ÿ”– Version 0.2.2-RC1


    • ๐Ÿ†• 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


    • ๐Ÿ†• 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 Changes

    November 08, 2018

    ๐Ÿ”– Version 0.2.1


    • ๐Ÿ›  Fix: Addressed regression in file filter matching