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