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
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