github Kotlin/kotlinx-rpc 0.11.0-grpc-189

pre-release5 hours ago

Migration from 0.10.0-grpc-188

Several things have changed in this release.
Please update your code accordingly.

Artifact names

org.jetbrains.kotlinx:kotlinx-rpc-protobuf-api was changed to org.jetbrains.kotlinx:kotlinx-rpc-protobuf-lite.
org.jetbrains.kotlinx:kotlinx-rpc-protobuf-core was changed to org.jetbrains.kotlinx:kotlinx-rpc-protobuf.

Nullability

All Protobuf messages are not nullable anymore. If the value was not set, the default will be returned. This aligns us with the core principles of Protobuf and explicit presence. However, to ensure Kotlin's nullability is still used, we provide a way to generate nullable getters.
Use rpc.protoc.buf.generate.optionalFieldOrNullGetters property for this.

Read more in the docs: https://kotlin.github.io/kotlinx-rpc/grpc-generated-code.html#grpc-optional-fields-and-clearing

Deprecated Apple Target

Apple Targets macosX64, tvosX64, and watchosX64 were removed from publication.
They are officially deprecated in Kotlin.

Other

Exception Message '<messageName>' is missing a required field: <fieldName>
is now ProtobufException instead of ProtobufDecodingException.

Changes

Features ๐ŸŽ‰

  • KRPC-238: Add proto and protoImport dependency configurations to Gradle plugin by @ai-agent-kxrpc[bot] in #679
  • protoc-gen: Refactor optional field generation (KRPC-262) by @Jozott00 in #644
  • gRPC: Enable iOS targets for grpc-server by @mlilienberg in #741
  • gRPC: Add channel-level userAgent configuration to client by @mlilienberg in #742

Breaking Changes ๐Ÿ”ด

  • KRPC-598: Use RegularFileProperty/DirectoryProperty for buf task outputs by @ai-agent-kxrpc[bot] in #714
  • Remove 2.1 Kotlin support and add 2.4 to docs by @Mr3zee in #724
  • KRPC-607 Updated protobuf dependency graph to make it light by @Mr3zee in #738

Bug fixes ๐Ÿ›

  • Fixed kotlin master builds and for-ide deps + master compat by @Mr3zee in #723
  • Fix compiler plugin compatibility with Kotlin 2.4.20 by @eminasljivic in #727
  • Fix getValueArgumentVS by @Mr3zee in #732
  • KRPC-609 Apple OS min values by @Mr3zee in #737
  • gRPC: Race condition in requests; Request flow subscription fix by @Mr3zee in #740

Infra ๐Ÿšง

Other Changes ๐Ÿงน

  • Use providers.gradleProperty for Gradle plugin property lookups by @nataphon-ktsystems in #726
  • Remove depraceted targets + add androidNative to core and kRPC by @Mr3zee in #731
  • KRPC-620 Protobuf codegen fixes for small bugs and code smells by @Mr3zee in #733
  • Update grpc, protobuf, and buf versions, supported editions 2024 by @Mr3zee in #736
  • Fix logger memory leak from per-instance logger names by @nickjn92 in #734

New Contributors

Full Changelog: 0.11.0-grpc-188...0.11.0-grpc-189

Don't miss a new kotlinx-rpc release

NewReleases is sending notifications on new releases.