Releases: marcoferrer/kroto-plus
Kroto+ 0.6.1
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
Kroto+ 0.6.0
CHANGELOG
Version 0.6.0
2019-12-26
- New: Update to Kotlin
1.3.61PR-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_64PR-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
Kroto+ 0.5.0
CHANGELOG
Version 0.5.0
2019-09-03
- New: Update to Kotlin
1.3.50PR-68 - New: Update to Kotlin Coroutines
1.3.0 - New: Update CI to execute tests against
jdk10,jdk11,jdk12PR-74 - New: Update to project gradle to
5.6.2
Protoc Plugin
- Fix: If no file filter is defined, fallback to
CodeGeneratorRequest.fileToGenerateListPR-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
@RpcMethodannotation 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
Kroto+ 0.5.0-RC
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
Kroto+ 0.4.0
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
UNKNOWNexceptions in rpc exception mapper (#48) - Fix: Disable auto flow control for inbound client and server streams during bidi calls (#47 )
- Fix: Reduce visibility of
FlowControlledInboundStreamObservertointernal - Deprecated:
AbstractStub.coroutineContextext in favor ofAbstractStub.context
Protoc Plugin
- New: Added support for Yaml as a configuration format GH-45
- Fix: Address bug in parallelization of generator execution
Kroto+ 0.3.0
0.2.2 Is being skipped due to the scope of API changes
CHANGELOG
Version 0.3.0
2019-04-02
Coroutines
- New: Release of Full Client & Server Stub Generation 🎉
- New: Updated docs for public APIs
- New: Added
newGrpcStubcoroutine scope ext for creating new stubs. Generated client stubs no longer implementCoroutineScope(#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
SuspendingUnaryObserverwas changed to internal. - Removed: Legacy streaming apis have been removed
Kroto+ 0.2.2-RC3
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.onNextandStreamObserver.onCompletedwhen target channel is full - Fix: Reduce
@KrotoPlusInternalApiexperimental level toExperimental.Level.ERRORto prevent external usage - Fix: Remove redundant usages of
@ObsoleteCoroutinesApiin call builders - Fix: Remove unused experimental class
CompletableDeferredObserver - Fix: Annotate
SuspendingUnaryObserveras an internal API - Fix: Remove unnecessary creation of
CoroutineScopeinnewSendChannelFromObserver - New: Introduce
ServiceScopeinterface and removeCoroutineScopefrom 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
@DslMarkerinsertion regression introduced in0.2.2-RC1(#32)
Kroto+ 0.2.2-RC2
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_CONTEXTtoEmptyCoroutineContext - Fix: Convert
ClientBidiCallChannelandClientStreamingCallChannelto interfaces - Fix: Remove unnecessary data modifier from client call channels
- Fix: Add
component1()andcomponent2()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.
Kroto+ 0.2.2-RC1
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:
SendChannelutility apiCoroutineScope.launchProducerJob - Fix: Lowered byte code target for Android compatibility
- Deprecated:
InboundStreamChannelin favor of new stub APIs - Deprecated:
ServerBidiCallChannelin favor of new stub APIs
Proto Builders (DSL)
- Fix: Nested messages are now tagged with
@DslMarkerannotation
Community Scripts
- New:
grpc-gatewayentry point generation script
Docs
- New: Maven configuration example
Kroto+ 0.2.1
Version 0.2.1
2018-11-02
- Fix: Addressed regression in file filter matching