Skip to content

1.3.0

Compare
Choose a tag to compare
@cy6erGn0m cy6erGn0m released this 14 Jan 15:48

14 Jan 2020

  • 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)
  • 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
  • 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)
  • 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)
  • Introduced ktor-server-core binary compatibility tracking
  • kotlinx.coroutines 1.3.3

Migration guide: https://ktor.io/quickstart/migration/1.3.0.html