Skip to content

0.20.0 - kotlinx-io, Ktor 3.1, QUIC, Wasm

Latest
Compare
Choose a tag to compare
@whyoleg whyoleg released this 11 Mar 22:40
· 1 commit to master since this release
cdef580

Breaking changes

  • The whole codebase is migrated to use kotlinx-io types instead of ktor-io
  • Ktor major version was updated (Ktor 2.x -> Ktor 3.x)
  • New transport API was introduced, which should align transport creation DSL per all transports and enforce consistent naming scheme. Old API will be dropped in next major release
  • Ktor plugins are migrated to use latest ktor APIs and renamed to repeat ktor modules naming convention

There is no migration guide, but migrating chat sample could be a starting point in understanding what's changed. As for standalone transport API changes, at this moment tests contains both old and new API so could be used as a references: ktor-tcp and ktor-websocket

Main changes

  • Rework transport and internal implementation to support multiplexed transports (#255, #256, #259, #290)
  • Netty TCP and QUIC transports (#257, #283, #290)
  • Rename and refactor ktor plugins (#258, #292)
  • Migrate to kotlinx-io and ktor 3.0 (#280, #294, #288, #298)
  • Support all K/N targets and Wasm (#281)
  • Setup benchmarks for all transports (#293)

Other changes

  • Add klib BCV (#291)
  • Deprecate nodejs transport in favor of ktor (#287)

Core versions

  • Kotlin 2.1.10
  • kotlinx.coroutines 1.10.1
  • kotlinx.io 0.6.0
  • Ktor 3.1.1

Full Changelog: 0.16.0...0.20.0