ktor v1.3.0-rc2 Release Notes

Release Date: 2019-12-28 // over 4 years ago
    • ๐Ÿ‘ ktor client proxy support
    • ๐Ÿ—„ Introduced HttpStatement and deprecated potentially dangerous resource-leaking client API
    • Eliminated kotlinx.io dependency
    • ๐Ÿ›  Fixed server identity compression handling: keep original content length
    • ๐Ÿ›  Fixed handling GET requests with body (#1302)
    • ๐Ÿ›  Fixed curl request with empty body
    • โž• Added iOS url session configuration
    • ๐Ÿ›  Fixed CIO engine no longer sends port in "Host" header (#1295)
    • โž• Add INTRINSIC value to TLS signature algorithms
    • Introduced ability to send string in request body
    • ๐Ÿ‘Œ Improved client and server typeOf support with kotlinx.serialization
    • ๐Ÿ“‡ Gradle 5.4.1+ with newer metadata (metadata 1.0)
    • ๐Ÿ‘Œ Improved exceptions handling in client and server on Android
    • โž• Added missing TLS parameters and relaxed TLS parsing to ignore unsupported features
    • ๐Ÿ‘Œ Improved session diagnostics (#1368)
    • ๐Ÿ›  Fixed hookRequests in test engine (#1300)
    • ๐Ÿ—„ Deprecate java.time related API and related cleanup (for future kotlin.time support)
    • ๐Ÿ“œ Restricted CIO HTTP headers parser
    • Introduced header name and value validation
    • ๐Ÿ›  Fixed must-revalidate on the request side in ktor client (#1406)
    • ๐Ÿ›  Fixed OkHttp client resource cleanup on close
    • โž• Added watchos/tvos native targets
    • ๐Ÿ›  Fixed content truncation at native and JS targets
    • ๐Ÿ›  Fixed server's If-Range header parsing to avoid crash at date parsing (#1377)
    • ๐Ÿ›  Fixed server's conditional headers processing
    • โฌ‡๏ธ Reduced required JDK version for DefaultHeaders server feature
    • ๐Ÿ›  Fixed client hanging due to exception in response pipeline
    • Replaced HttpClientJvmEngine to HttpClientEngineBase that is now common for all platforms (affects only custom client engines)
    • ๐Ÿ›  Fixed hierarchy of execution and call contexts in clients that allows to properly handle request lifetime using execution context.
    • โšก๏ธ Optimize JS module import time (#1464)
    • โฌ†๏ธ Upgraded versions of Netty, Jetty and Tomcat implementations
    • โž• Added Pebble template engine (#1374)
    • Introduced localPort route that is always tied to actual socket port (#1392)
    • ๐Ÿ›  Fixed cookie expiration date parsing (#1390)
    • Server authentication feature's phases are now public (#1160)
    • ๐Ÿ›  Fixed auth header resending after redirect (#1467)
    • 0๏ธโƒฃ TCP half-close made optional for CIO client engine and disabled by default.
    • ๐Ÿ›  Apache client random timeouts fixed
    • ๐Ÿ›  Fixed locale-dependant code (#1491)
    • ๐Ÿ›  Fixed unclosed websocket channels if cancelled too early
    • 0๏ธโƒฃ TCP half-close made optional for CIO client engine and disabled by default. (#1456)
    • ๐Ÿ‘Œ Improved ktor-client-mock engine to be thread safe (#1505)
    • ๐Ÿ›  Fixed client cookies logging (#1506)
    • ๐Ÿ›  Fixed multiple application stop events in test engine (#1498)
    • ๐Ÿ›  Fixed CIO ActorSelectorManager to not spin due to cancelled keys (affects both CIO client and server)
    • 0๏ธโƒฃ Made default auth validate functions fail to force users to implement them
    • โœ… Introduced test client instance in the test server
    • ๐Ÿ›  Fixed various server and client engines to return null for missing headers rather than empty list
    • ๐Ÿ‘ Introduced support for json structures in client and server (#1519)
    • kotlinx.coroutines 1.3.3