0.15.4 - Ktor 2.0, New native memory manager, NodeJS transport
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
andrsocket-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 usingktor-network
- supported on JVM and Native(except windows) platforms
rsocket-transport-ktor-websocket-client
andrsocket-transport-ktor-websocket-server
- client and server WS transport- comparing to
rsocket-ktor-client
andrsocket-ktor-server
provides similar API to otherrsocket-transport-*
modules for simple usage without knowing ktor specifics - client supported on all platforms
- server supported on JVM and Native(except windows)
- comparing to
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
- Nodejs TCP server and client transport by @olme04 in #191
- Improve chat sample by @olme04 in #196
- Version catalogs and safe project accessors by @olme04 in #197
- Rework publication by @olme04 in #198
- Targets configuration by @olme04 in #199
- Jvm toolchain by @olme04 in #200
- reworks workflows by @olme04 in #204
- introduces local reusable workflows by @olme04 in #207
- Migrate to ktor 2.0.0 eap and new native memory model by @olme04 in #208
- Update code after updating to new native memory model by @olme04 in #209
- Improve tests by @olme04 in #210
- fix publication for empty(for now) module by @olme04 in #212
- changed Limiter.requests to AtomicLong by @yuriykulikov in #214
- Snapshot workflow fix by @olme04 in #218
- update ktor by @olme04 in #215
- Fix closing connection on cancelling requester by @olme04 in #220
- Split ktor transports implementation by @olme04 in #219
New Contributors
- @yuriykulikov made their first contribution in #214
Full Changelog: 0.14.3...0.15.4