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.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
Kroto+ 0.5.0
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
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
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
tointernal
- Deprecated:
AbstractStub.coroutineContext
ext 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
newGrpcStub
coroutine 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
SuspendingUnaryObserver
was 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.onNext
andStreamObserver.onCompleted
when target channel is full - Fix: Reduce
@KrotoPlusInternalApi
experimental level toExperimental.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
innewSendChannelFromObserver
- New: Introduce
ServiceScope
interface and removeCoroutineScope
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 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_CONTEXT
toEmptyCoroutineContext
- Fix: Convert
ClientBidiCallChannel
andClientStreamingCallChannel
to 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:
SendChannel
utility apiCoroutineScope.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
Kroto+ 0.2.1
Version 0.2.1
2018-11-02
- Fix: Addressed regression in file filter matching