Skip to content

Releases: igor-vovk/connect-rpc-scala

v0.4.1

29 Jul 05:46
67ee7ed

Choose a tag to compare

What's Changed

  • Deprecate old builder classes in favor of new implementations by @igor-vovk in #179
  • Speedup conformance tests execution by moving the build step to the host machine by @igor-vovk in #180
  • Refactor Makefile to improve readability of conformance test commands by @igor-vovk in #181
  • Update netty-all to 4.2.3.Final by @scala-steward in #182
  • Add architecture diagram & remove dependencies that are already transitive by @igor-vovk in #183
  • Update README to clarify use cases and architecture by @igor-vovk in #184
  • Update zio to 2.1.20 by @scala-steward in #185
  • Add support for additional custom routes in ConnectHttp4sRouteBuilder by @igor-vovk in #187

Full Changelog: v0.4.0...v0.4.1

v0.4.0

12 Jul 12:51
56dd038

Choose a tag to compare

What's new

🎉🎉🎉 Version 0.4.0 introduces a ConnectRPC protocol client, meaning that now not only you can serve ConnectRPC endpoints from Scala services, but also call other services using ConnectRPC protocol. And to the extent that all gRPC communication can be now fully switched to ConnectRPC! http4s client and server reaches full 100% protocol conformance status when used JSON as a codec (the default behavior).

This change unblocks creating some benchmarks in the future and comparing the performance with pure gRPC.

Also there is a new folder with examples showing:

  • How to setup client-server communication for both cats-effect and ZIO
  • How ConnectRPC server can be used alongside with gRPC server together in a single service

Deprecations:

  • Http4sRouteBuilder was renamed to ConnectHttp4sRouteBuilder. Old class is still available, but will marked as deprecated and removed in the future. The same for NettyServerBuilder -> ConnectNettyServerBuilder change.

What's Changed

Full Changelog: v0.3.1...v0.4.0

v0.4.0-rc.1

03 Jun 20:32
b9f2ec4

Choose a tag to compare

v0.4.0-rc.1 Pre-release
Pre-release

What's new

v0.4.0 introduces a new Connect-compatible client, which means from now GRPC communication between Scala services can be switched to Connect protocol. Http4s frontend now includes both Connect client and server, and those can be used together. More details in README.
Client also has 100% conformance status when used with JSON codec (the default behavior).

Having Connect-compatible client in addition to the server also unblocks future performance comparison between GRPC and Connect w/ http4s and Netty frontends and comparing performance of JSON vs Protobuf (#96).

What's Changed

Full Changelog: v0.3.1...v0.4.0-rc.1

v0.3.1

18 May 18:57
3a56d8c

Choose a tag to compare

What's Changed

Full Changelog: v0.3.0...v0.3.1

v0.3.0

15 Feb 16:00
c7c8c74

Choose a tag to compare

🎉 Initial (alpha) Netty web-server support

Breaking changes:

  • switch from connect-rpc-scala-core to connect-rpc-scala-http4s dependency to continue using http4s frontend
  • org.ivovk.connect_rpc_scala.ConnectRouteBuilder needs to be renamed to org.ivovk.connect_rpc_scala.http4s.Http4sRouteBuilder class
  • Http4sRouteBuilder.buildRoutes method now returns Routes case class, allowing to choose whether to use connect / transcoding protocols routes, or all routes combined.

Everything else should work the same.
What is supported and whatnot by Netty at the current moment, can be read in the README: https://github.com/igor-vovk/connect-rpc-scala

What's Changed

  • [netty] Initial Netty support by @igor-vovk in #107
  • [netty] Fix writing to the closed channel by @igor-vovk in #109
  • [http4s] Expose routes object to be able to choose between connect an… by @igor-vovk in #110
  • Generalize media type parsing by @igor-vovk in #111
  • Document feature matrix for both frontends by @igor-vovk in #112
  • [netty] Fix proto parsing, improve dealing with netty futures, slight… by @igor-vovk in #114

Library updates

Full Changelog: v0.2.8...v0.3.0

v0.2.8

18 Jan 14:26
52143ae

Choose a tag to compare

Performance optimizations and cleaning some stuff.

What's Changed

Full Changelog: v0.2.7...v0.2.8

v0.2.7

26 Dec 14:19
a3fe964

Choose a tag to compare

This release changes the organization from io.github.igor-vovk to me.ivovk. Further releases will be published under the new organization

What's Changed

  • Change publish organization to me.ivovk by @igor-vovk in #86
  • Move default header filters to FilterMapping class by @igor-vovk in #81
  • Extract otel and zio docs into separate pages by @igor-vovk in #82
  • Document Kubernetes health checks support by @igor-vovk in #83

Full Changelog: v0.2.5...v0.2.7

v0.2.5

23 Dec 23:54
c6b319b

Choose a tag to compare

What's Changed

  • Cache metadata keys in a weak cache by @igor-vovk in #80
  • Scala syntax for working with GRPC Metadata by @igor-vovk in #79
  • Rename user-agent header to x-user-agent, since original one gets overridden (more) by @igor-vovk in #78
  • Update license by @igor-vovk in #71
  • Update dependency graph based on sbt dependencies by @igor-vovk in #74

Dependency updates

Full Changelog: v0.2.4...v0.2.5

v0.2.3

21 Dec 05:29
fc5cbd2

Choose a tag to compare

What's Changed

  • Extract connect and transcoding routes into separate classes by @igor-vovk in #64
  • [transcoding] Support request body field mapping by @igor-vovk in #65
  • Work on the documentation, code renamings / alignment by @igor-vovk in #66
  • Add notes about production readiness / performance by @igor-vovk in #67
  • Extract Connect error handler by @igor-vovk in #68
  • Support setting custom transcoding error handler, improve documentation of the builder class methods by @igor-vovk in #69
  • Remove "grpc-" response headers by default, extract header mapping in… by @igor-vovk in #70

Full Changelog: v0.2.2...v0.2.3

v0.2.2

14 Dec 15:50
75ec70c

Choose a tag to compare

What's Changed

  • Extract error handler to a separate entity so it can be reused by @igor-vovk in #61
  • Be able to filter incoming headers, remove Connection* headers by default by @igor-vovk in #62

Full Changelog: v0.2.1...v0.2.2