Rsocket Rsocket Kotlin Versions Save

RSocket Kotlin multi-platform implementation

0.15.4

2 years ago

Breaking changes

  • Ktor is updated to 2.0, which is not compatible with previous versions
  • Only new native memory manager is supported from now
  • Changed ktor transport dependencies:
    • rsocket-ktor-client and rsocket-ktor-server - plugins for ktor client and server with RSocket support with ktor-like builders and routing (WS transport only)
      • client supported on all platforms
      • server supported on JVM and Native(except windows)
    • rsocket-transport-ktor-tcp - client and server TCP transport using ktor-network
      • supported on JVM and Native(except windows) platforms
    • rsocket-transport-ktor-websocket-client and rsocket-transport-ktor-websocket-server- client and server WS transport
      • comparing to rsocket-ktor-client and rsocket-ktor-server provides similar API to other rsocket-transport-* modules for simple usage without knowing ktor specifics
      • client supported on all platforms
      • server supported on JVM and Native(except windows)

Features:

  • Update to ktor 2.0 #208, #215
  • Support new native memory manager #208, #209
  • Support Native WS client and server transport #215
  • Experimental NodeJS TCP client and server transport #191

Bug fixes:

  • Fix limiter overflow #218 Thanks to @yuriykulikov !
  • Fix closing connection on cancelling requester #220

Other

  • Rework build configuration
  • Rework publication, to use single macos CI instance
  • Run JVM tests on java 8, 11 and 17
  • Replace jfrog snapshots publication to Github Packages
  • Improve tests stability
  • Make mulitplatform chat sample an independent project, using latest stable rsocket-kotlin version

Version updates

  • kotlin 1.6.20
  • ktor 2.0.0
  • kotlinx.coroutines 1.6.1

PR's merged

New Contributors

Full Changelog: https://github.com/rsocket/rsocket-kotlin/compare/0.14.3...0.15.4

0.14.3

2 years ago

Breaking changes

  • Remove Frame.release and Payload.release (use close instead) #182
  • Reworked how Client/Server transports are implemented #178

Features:

  • Fragmentation and reassembly #177
  • Improves transport API and lifecycle #178

Other

  • Use sealed and fun interfaces where appropriate
  • Metadata, PayloadBuilder and CompositeMetadataBuilder implements Closeable
  • Make logging API explicitly public and provide temporary experimental annotation for it
  • Cleanup usages of DangerousInternalIoApi (after update to ktor 1.6.0 it's not needed)
  • Enable explicitApi mode
  • Improve setup payload handling
  • Create infrastructure for client only tests and implement test for JS WS Client transport #179

Version updates

  • kotlin 1.6.10
  • ktor 1.6.7
  • kotlinx.coroutines 1.5.2-native-mt

PR's merged

New Contributors

Full Changelog: https://github.com/rsocket/rsocket-kotlin/compare/0.13.1...0.14.3

0.13.1

2 years ago

0.12.0

3 years ago

Breaking changes

  • RSocket.requestChannel signature changed to receive initial payload as additional parameter (#125)
  • Flow.buffer doesn't anymore control requestN semantic (#118)

Features

  • Streams with flexible requestN semantic (#118)
  • Better structured concurrency and channels handling (#126)

Bugs

  • Fix runtime checks for RSocketRequestHandlerBuilder (#119)
  • Fix leaks on reconnection (#123)

Dependencies updates

  • Kotlin 1.4.21
  • ktor 1.4.3 - improved ktor-io performance on all platforms
  • kotlinx.coroutines 1.4.2-native-mt - little reworked channel apis

0.11.5

3 years ago

Due to some publication issues 0.11.0 - 0.11.4 doesn't contain all artifacts (mainly K/N darwin targets). Please update to 0.11.5. Current version contains all artifacts and available on JCenter!

0.11.1

3 years ago

First release published to JCenter!

Features

  • Configuring Connector and Server with DSL
  • Reworked Payload creation
  • Composite Metadata support
  • Extensions Metadata support (Routing, Tracing, Auth, etc)
  • Reconnectable RSocket
  • Transports API

0.10.0

3 years ago

The first multi-platform release of rsocket-kotlin is here! WARNING: this release isn't published to maven-central due to publishing issues

Features

  • Based on koitlinx.coroutines
  • Multiplatform support for TCP and WebSocket using ktor
  • Support for JVM, JS (nodejs and browser) and Native targets: linux x64, windows x64, macos, ios, watchos, tvos
  • ktor JVM server/client TCP/WebSocket transports
  • ktor JS client (both browser and nodejs) WebSocket transport (it's also possible to run rsocket with TCP transport on nodejs)
  • ktor Native client TCP transport (don't support windows x64 yet)
  • Support all interactions: Fire and Forget, Request-Response, Request-Stream, Request-Channel and Metadata-Push (with backpressure on streams)
  • Uses Kotlin 1.4.10 and kotlinx.coroutines 1.3.9-native-mt-2

0.9.8

4 years ago

0.9.7

4 years ago

0.9.5

5 years ago