All Versions
39
Latest Version
Avg Release Cycle
26 days
Latest Release
151 days ago

Changelog History
Page 1

  • v1.3.2

    March 12, 2020

    Published 12 Mar 2020

    • 👍 Introduced iOS streaming response support
    • 🔧 Provided challenge handler in iOS client configuration
    • 👌 Improved JsonFeature configuration DSL (#1472)
    • Simplified server kotlinx.serialization config
    • Recovered HttpRequestBuilder.takeFrom function (#1626)
    • 👍 Allowed to configure default cookies asynchronously
    • 🔦 Exposed server LocationInfo and added location resolve functions (#1657)
    • Introduced function for async writing to server response channel (#1703)
    • ➕ Added an option to filter logged calls for ktor-client-logging
    • 🛠 Fixed iOS client timeouts
    • 🛠 Fixed iOS crash
    • 🛠 Fixed 100% CPU Apache Ktor Http Client #1018 (#1689)
    • 🛠 Fixed missing client response logging
    • 🛠 Fixed CIO server local address detection (#1663)
    • 🛠 Fix server request origin to provide header's host and port when available
    • 🛠 Fixed random missing feature errors caused by concurrency at startup (#1694)
    • 🛠 Fixed Set-Cookie header parser in iOS and JS
    • 🛠 Fixed client multiple redirects with relative path (#1704)
    • 🛠 Fixed unwrapping cancellation exceptions in client (#1482)
    • 🛠 Fixed missed preconfigured OkHttpClient in OkHttpEngine (#1646)
    • 🛠 Fixed websocket to complete closeReason on disconnection (#1275).
    • 🛠 Fixed websocket sending CloseReason(1009) when frame is too big
    • 🛠 Fixed websocket pinger logging
    • 🛠 Fixed maxFrameSize for chunked frames
    • 🛠 Fixed URL scheme parser (#1614)
    • Fixed platform detection in PlatformUtils.IS_NODE and PlatformUtils.IS_BROWSER (#1675)
    • 🛠 Fixed Short.highByte
    • 🛠 Fixed consumeEachBufferRange (#1693)
    • 🛠 Fixed httpclient gzip decoding failure (#1189)
    • 🛠 Fixed InputStream wrapper for Input
    • ⬆️ Bumped versions:
      • Kotlin 1.3.70
      • kotlinx.coroutines 1.3.4
      • kotlinx.serialization 0.20.0
      • kotlinx.html 0.7.1
      • dropwizard 4.1.2
      • slf4j 1.7.30
      • mustache 0.9.6
      • pebble 3.1.2
      • webjars 0.43
      • jackson 2.10.2

    Known issues:

    • ⏪ Reverted fix for ios memory leak to prevent crashes
  • v1.3.2.2

    June 19, 2020
  • v1.3.2-1.4

    March 18, 2020

    2020-03-17

  • v1.3.2.1

    June 11, 2020
  • v1.3.1

    February 05, 2020

    Published 5 Feb 2020

    • ⏱ Introduced experimental client timeout feature
    • 🛠 Fixed OkHttp leaking threads
    • 🛠 Fix decoding UTF8 lines (#1323)
    • 🛠 Fixed websocket close sequence (#1262, #1571, #1427)
    • ⬇️ Reduced number of redundant exceptions logged in jetty server
    • 🛠 Fixed text decoder in js client under nodejs
    • 🛠 Fixed NSUrlSession memory leak (#1420)
    • 👉 Make server feature throw BadContentTypeFormatException to get status 400
    • ⏪ Reverted accidentally removed client LocalFileContent
    • ✂ Removed User-Agent header in browser (to avoid CORS-related issues)
    • 🛠 Fixed request body with Input
    • 👌 Improved native clients performance
    • 🛠 Fixed native and js client cancellation issues
    • 🛠 Fixed file descriptor leak in Jetty server (#1589)
    • 🛠 Fixed server sessions and cache related iseues (#1591)
    • ⬆️ Upgraded JWT/JWKS versions
    • ⬆️ Upgraded Netty version
    • 🛠 Fixed multiple server jwt auth providers processing (#1586)
    • 🛠 Fixed Auth retry logic (#1051)
    • 🛠 Fixed ApplicationRequest.remoteHost to not report "unknown"
    • 🛠 Fixed corrupted headers in CIO client and server on Android
    • 👌 Improved server cancellation handling
  • v1.3.0

    January 14, 2020

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

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

  • v1.3.0-rc3

    January 10, 2020
  • v1.3.0-rc2

    December 28, 2019
    • 👍 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
  • v1.3.0-rc

    December 18, 2019
  • v1.3.0-beta

    September 11, 2019
    • 👍 ktor client proxy support
    • 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
    • 👌 Improved exceptions handling in client and server on Android
    • ➕ Added missing TLS parameters and relaxed TLS parsing to ignore unsupported features

    👀 There are breaking changes, see https://ktor.io/quickstart/migration/1.3.0.html