All Versions
52
Latest Version
Avg Release Cycle
29 days
Latest Release
-

Changelog History
Page 1

  • v1.6.3 Changes

    Published 26 August 2021

    • Auth Feature: token refresh works only on main thread in Kotlin/Native (KTOR-3055)
    • FUS report mixes up feature id and feature version (KTOR-3067)
    • 🚚 SessionTrackerById - doesn't remove invalid session id (KTOR-2584)
    • Bearer Token is Not Initialized after Clean (KTOR-3008)
    • πŸ‘ ktor does not support semicolon query parameter in Netty Engine (KTOR-2991)
    • HOCON config not resolved in ServletApplicationEngine (KTOR-3020)
    • πŸš€ Deploy WAR on Tomcat (KTOR-2867)
    • πŸ”Œ The wizard missing the Pebble plugin (KTOR-2922)
    • πŸ”§ Wizard: Creating a project without sample code creates Application.configureRouting without routing (KTOR-2581)
    • πŸ”§ The 'Create Run Configuration automatically' option name is cropped (KTOR-2898)
    • InvalidMutabilityException when using withContext and SavedHttpCall (KTOR-2033)
    • πŸ“¦ Reuse Package Search to add dependencies for Ktor Features in Plugin (KTOR-2433)
    • Server: TLSConfigBuilder.addKeyStore: store.getCertificateChain could return null(KTOR-3047)
  • v1.6.2 Changes

    Published 29 July 2021

    • πŸ›  Fixed Ktor plugin raises StackOverflowError when opening some files (KTOR-2950)
    • βž• Added parseUrlEncodedParameters Documentation (KTOR-2843)
    • πŸ›  Fixed CIO WebSockets client incorrectly sends Sec-WebSocket-Extensions header even if empty regression (KTOR-2388)
    • ⚑️ Updated serialization version to 1.2.2 (KTOR-2968)
    • πŸ“š Made code example complete in OAuth documentation(KTOR-1415)
    • βž• Added quick action on a Application.module(...) to generate tests for a given module with all the endpoints in plugin (KTOR-2411)
    • πŸ›  Fixed kotlin.native.concurrent.InvalidMutabilityException: mutation attempt of frozen @72c18 (KTOR-2883)
    • πŸ›  Fixed 404 errors in ktor docs (KTOR-2915)
    • βž• Added prometeus version to Ktor docs (KTOR-2015)
    • πŸ›  Fixed incorrect Structured Markup (LD+JSON) on Ktor docs (KTOR-2943)
    • πŸ›  Fixed confusing/incorrect JWT auth documentation (KTOR-979)
    • πŸ›  Fixed embedded Netty Server with watch paths is crashing in API level 22 when calling stopping server (KTOR-1613)
    • πŸ›  Fixed NoSuchMethodError: No virtual method getParameterCount on Android API 25 and lower regression (KTOR-2924)
    • πŸ›  Fixed X-Forwarded-Port Parse Exception when it contains comma separated list of ports regression (KTOR-2918)
    • πŸ”§ Made CookieConfiguration default to secure configuration and require user opt-out long-standing (KTOR-628)
    • ⚑️ Updated docs section about testing with cookies (KTOR-273)
    • πŸ›  Fixed "ApplicationEngineEnvironment was not started" when accessing application before server is started (KTOR-1854)
    • πŸ“š Updated HTTP/2 documentation (KTOR-267)
    • πŸ›  Fixed NPE in ApacheRequestProducer when "http://" is requested (KTOR-1405)
    • ⚑️ Updated vulnerable versions from sonatype report (KTOR-2875)
    • πŸ›  Fixed ByteReadChannel.readUTF8Line() indefinitely returns empty lines when \r is not followed by \n (KTOR-2868)
  • v1.6.1 Changes

    Published 1 July 2021

    • πŸ”— Linked back to site from Docs (KTOR-2843)
    • πŸ›  Fixed unbound public symbol for public io.ktor.network.sockets/SocketTimeoutException when iosArm64 framework (KTOR-2276)
    • πŸ›  Fixed configureBootstrap hook overwritten by Ktor settings (KTOR-356)
    • πŸ›  Fixed crypto is undefined in IE11 (KTOR-409)
    • βž• Added support for X-Forwarded-Port header in XForwardedHeaderSupport plugin (KTOR-2788)
    • πŸ›  Fixed StatusPages doesn't catch FreeMarker exceptions (KTOR-343)
    • πŸ›  Fixed java.nio.charset.IllegalCharsetNameException: %s (KTOR-2645)
    • βž• Added application startup and hot-reloading time log (KTOR-2816)
    • πŸ›  Fixed postpone (and don't cache) name resolution in cio client (KTOR-2513)
    • πŸ‘Œ Improved diagnostics for exceptions inherited from IOException (KTOR-2691)
    • πŸ›  Fixed refresh token gets stuck (KTOR-2797)
    • πŸ›  Fixed developmentMode is on by default in tests (KTOR-2727)
    • πŸ›  Fixed unable to run new Ktor project (KTOR-2586)
    • πŸ›  Fixed unhandled get freezes with CIO server (KTOR-333)
    • πŸ›  Fixed double host header (KTOR-379)
    • πŸ›  Fixed use kotlin.reflect.jvm.javaType instead of the type token pattern in io.ktor.util.reflect.typeInfo (KTOR-2709)
    • πŸ›  Fixed "JWK Public Key of type ""EC""" (KTOR-2387)
    • πŸ›  Fixed lots of Run Configurations Created for Ktor Project with the Similar Names (KTOR-2803)
    • πŸ›  Fixed ApplicationEngineEnvironmentBuilder.module { … } is executed twice on Exception (KTOR-2734)
    • Researched shared indexes for Ktor (KTOR-2774)
    • πŸ›  Fixed selecting custom package name in Ktor wizard still results in example.com import in ApplicationTest.kt (KTOR-2707)
    • πŸ›  Fixed generated project with specific security and session features selected fails to compile / run (KTOR-2636)
    • πŸ›  Fixed Wizard: Misleading comment in Static Feature (KTOR-2560)
    • πŸ›  Fixed "Update ktor 1.5.0 docs. Deprecated ""challenge"" function for form auth in docs." (KTOR-1974)
    • πŸ›  Fixed Auth Feature Code Snippet: form authentication the doesn't work (KTOR-821)
    • πŸ›  Fixed the '-ea' flag works differently when running a server using Application.module and embeddedServer (KTOR-1758)
    • πŸ›  Fixed enabled-by-default development mode breaks reflection by overriding classloader (KTOR-2306)
    • πŸ“š Reviewed documentation for the onUpload/onDownload client callbacks (KTOR-2710)
    • πŸ›  Fixed Ktor fails to deliver response with error: failed with exception: kotlinx.coroutines.JobCancellationException: Parent job is Completed; (KTOR-2711)
    • βœ… Replaced kotlin-test dependency with junit in ktor-server-test-host (KTOR-2555)
  • v1.6.0 Changes

    Published 28 May 2021

    • πŸ‘· Ktor fails to deliver response with error: failed with exception: kotlinx.coroutines.JobCancellationException: Parent job is Completed; (KTOR-2711)
    • Wrong Tabs Name in Code Blocks (KTOR-2726)
    • Apache HTTP Client does not send Content-Length header if body is empty content (KTOR-556)
    • Review Auth providers (KTOR-2637)
    • When the main thread executes runBlocking, using the iOS engine will cause a deadlock (KTOR-2683)
    • βœ… Deprecate TestApplicationCall.requestHandled (KTOR-2712)
    • ⚑️ Update Dokka: Dokka tasks fails with old dokka version and Gradle 7 (KTOR-2693)
    • πŸ“š Duplicate server Features Section on the Documentation Website (KTOR-2702)
    • πŸ“„ Duplicate entry "Features" in Server docs (KTOR-1546)
    • ⬆️ Upgrading from 1.4.3 to 1.5.2 introduced a routing precedence (KTOR-2278)
    • ⬆️ Sporadic OkHttp errors after upgrading to ktor 1.3.1 (KTOR-449)
    • Netty: server freezes after start error (KTOR-803)
    • aSocket().bind() sometimes throws Already bound SocketException (KTOR-638)
    • βœ… UDPSocketTest.testBroadcastSuccessful[jvm] is failing (KTOR-2616)
    • πŸ›  Fix flaky CIOHttpsTest.customDomainsTest[jvm] (KTOR-2065)
    • Occasionally empty response using Netty + Jackson (KTOR-1973)
    • '%3D' inside query of redirect target location will be replaced to '=' (KTOR-2057)
    • CIO: TLSConfigBuilder JVM allow null as password (KTOR-940)
    • route("{...}") stopped matching root (KTOR-1965)
    • call.respond() will not check or apply ContentNegotiation for some types (KTOR-2194)
    • βž• Add support for Velocity Tools (KTOR-2345)
    • πŸ”§ Base name of micrometer metrics is not configurable (KTOR-2210)
    • πŸ‘Œ Support for Compression Extensions for WebSocket (RFC 7692) (KTOR-688)
    • Document usage of Bearer token in Http Client (KTOR-2439)
    • How to track leaked buffers in ktor-io? (KTOR-2442)
    • Routing: Add PutTyped and PatchTyped Overload (KTOR-1344)
    • Migrate to Dokka 1.4.0 (KTOR-1032)
    • Client upload/download progress observer/handler/interceptor (KTOR-400)
    • HTTP-client auth with Bearer token (KTOR-331)
    • πŸ”¦ Expose TrailingSlashRouteSelector (KTOR-2511)
    • βž• Add an option to disable URL Encoding (KTOR-553)
    • ⬆️ Upgrade kotlin to 1.5.10 (KTOR-2722)
  • v1.5.4 Changes

    Published 30 Apr 2021

    • πŸ›  Fixed extra trailing slashes in Route.toString (KTOR-2427)
    • πŸ›  Fixed ByteReadChannel.read related issues (KTOR-2615, KTOR-2519)
    • πŸ›  Fixed silently ignored exceptions in HTML DSL with StatusPages feature (KTOR-756)
    • πŸ”„ Changed IosHttpRequestException supertype to IOException (KTOR-2566)
    • πŸ›  Fixed utility collection implementation for K/N (KTOR-2482)
    • πŸ›  Fixed client Digest auth realm handling (KTOR-1464)
  • v1.5.3 Changes

    Published 2 Apr 2021

    • ⬆️ Upgraded to coroutines 1.4.3 (KTOR-2254)
    • ⬆️ Upgraded kotlinx.serialization to 1.1.0 (KTOR-2238)
    • πŸ›  Fixed I/O readRemaining sometimes looses exception (KTOR-2263)
    • πŸ›  Fixed autoreload with 1.5.x when using embeddedServer NOT in debug mode regression (KTOR-2214)
    • βœ… Fixed flaky CIOSustainabilityTest.testBlockingConcurrency[jvm] (KTOR-2265)
    • πŸ’» Resolve 'node-fetch' on libs produced by jsBrowserProductionLibraryDistribution regression (KTOR-2230)
    • ⚑️ Updated doc string for FormPart (KTOR-2173)
    • πŸ›  Fixed java.lang.IllegalStateException: No instance for key AttributeKey: ExpectSuccessAttribyteKey regression (KTOR-2389)
    • πŸ”§ Supported overriding Kotlin module configuration using jackson dsl function (KTOR-1692)
    • πŸ›  Fixed CORS can't pass on some none standard orgin on jvm (KTOR-469)
    • πŸ›  Fixed unexpected exception when using Session feature: "Using blocking primitives on this dispatcher is not allowed" regression jvm (KTOR-1452)
    • πŸ”§ Fixed NettyApplicationEngine providing a configureBootstrap in the configuration throws IllegalStateException: group set already (KTOR-2078)
    • πŸ›  Fixed wrong indentation in Serving Static Content guide (KTOR-2017)
    • πŸ— Fixed InsufficientSpaceException trying to build ByteReadPacket jvm (KTOR-960)
    • βœ… Fixed flaky ProxyTest.testHttpProxy[CIO][jvm] (KTOR-2082)
    • πŸ›  Fixed invalid assertion for existence of the key in the key store (KTOR-2311)
    • πŸ›  Fixed incorrect grammar in exception messages (KTOR-2284)
    • βœ… Fixed flaky JavaEngineTests.testThreadLeak[jvm] (KTOR-2098)
    • βœ… Fixed flaky JettyStressTest.highLoadStressTest (KTOR-2080)
    • βœ… Fixed flaky ExceptionsJvmTest.testConnectionClosedDuringRequest[jvm] (KTOR-2063)
    • ⬆️ Upgrade kotlin to 1.4.32 (KTOR-2403)
  • v1.5.2 Changes

    Published 25 Feb 2021

    • πŸ›  Fixed Dokka building for master (KTOR-2206)
    • πŸ›  Fixed native build on linux machine (KTOR-2200)
    • πŸ›  Fixed docker doc is incorrect / does not work (KTOR-2179)
    • πŸ›  Fixed crash with Firebase Performance in iOS (KTOR-642)
    • πŸ›  Fixed Ktor Client CIO engine Jvm ignores Cipher suites with key strength more than 128 bits. (KTOR-1914)
    • πŸ›  Fixed mandatory Path Segment parameter can be empty, if no explicit route with trailing / is defined (KTOR-2054)
    • πŸ›  Fixed flaky ClientSocketTest.testSelfConnect[jvm] (KTOR-2060)
    • Switch JS Fetch API to Standard Library (org.w3c.fetch.*) (KTOR-1460)
    • πŸ›  Fixed CIO server always start on "0.0.0.0" - does not respect "connector" configuration (KTOR-334)
    • πŸ›  Fixed server/netty: IllegalReferenceCountException (KTOR-1801)
    • πŸ›  Fixed digest authentication: cannot successfully pass authentication using curl or web browser (KTOR-1466)
    • πŸ›  Fixed HTTP Client exception is masked by JobCancellationException with Ktor 1.5.0 (KTOR-1967)
    • πŸ›  Fixed changing requestTimeoutMillis in config of HttpTimeout feature doesn't change the CIO's timeout (KTOR-2000)
    • πŸ›  Fixed test a POST with MultiPart using TestApplicationEngine does not success or fail (KTOR-345)
    • πŸ›  Fixed default Headers feature adds duplicated Server header (KTOR-1976)
    • πŸ›  Fixed custom response validation is not running when default is disabled (KTOR-2007)
    • πŸ›  Fixed session cookie with very long max age duration (KTOR-692)
    • ⬆️ Upgrade kotlin to 1.4.30 (KTOR-1639)
  • v1.5.1 Changes

    Published 27 Jan 2021

    • Circular reference for SocketException and StackOverflowError when using SLF4J logger (KTOR-1080)
    • start.ktor.io - Incorrect import for websockets for ktor 1.2.4 (KTOR-274)
    • Unable to catch socket exceptions (KTOR-1166)
    • πŸ‘Œ Support explicit WebSocket session close (KTOR-340)
    • ktor-client-apache: thread stuck in ByteBufferChannel.readRemainingSuspend (KTOR-1463)
    • βœ… Logging tests fails due to floating log entries (KTOR-1870)
    • βž• Adding existing dropwizard metrics registry to Ktor (KTOR-1798)
    • πŸ‘» Exception kotlinx.serialization.SerializationException: Class 'ArrayList' is not registered for polymorphic serialization in the scope of 'Collection' in 1.5.0 (KTOR-1795)
    • Prevent double quotes on header params (KTOR-1797)
    • ⬆️ Post request shows empty body after upgrading v1.3.2 (KTOR-426)
    • CIO native selector doesn't select new descriptors (KTOR-1856)
    • 🌲 Client logging docs don't mention all required dependencies (KTOR-280)
    • πŸ“š Out of date self-signed-certificate documentation (KTOR-272)
    • ClosedReceiveChannelException when making request with CIO engine using a proxy to https (KTOR-1458)
    • Incorrect encoding function used for URL path by URLBuilder (KTOR-1543)
    • A single slash gets ignored for defining a route, but 1.5 requires them due to KTOR-372 (KTOR-1615)
    • πŸ”Œ Wrong shadow plugin version in Fat JAR docs (KTOR-1359)
    • πŸ“š ktor server documentation is returning 404 (KTOR-1602)
    • CORS doesn't reject bad headers (KTOR-1662)
    • OkHTTP client engine tries to close the connection twice during the closing handshake (KTOR-1374)
    • Dispatcher is closing earlier than client (KTOR-1661)
    • Server losing channel exceptions at receive (KTOR-1590)
    • Request parameters should have name (KTOR-378)
    • Status-code must be 3-digit (KTOR-370)
    • Connect request sends wrong status line (KTOR-1612)
    • 🌲 Response channel is always cancelled with Logging feature (KTOR-1598)
    • βœ… Java client logging tests are fluky (KTOR-1599)
    • βœ… HttpTimeoutTest.testConnect are flaky (KTOR-1583)
    • Jetty: requests to resources, that doesn't respond with HTTP/2, lead to unexpected behaviour (KTOR-874)
    • πŸ‘· "Unfinished workers detected" using client on native (KTOR-1220)
    • βœ… HttpTimeout.testSocketTimeoutWriteFail is flaky (KTOR-1584)
    • Reserved characters in path is not encoded (KTOR-570)
    • βœ… testTimeoutCancelsWhenParentScopeCancels is flaky (KTOR-1585)
    • Java client freeze (KTOR-1567)
    • βœ… CallLoggingTest is flaky (KTOR-1582)
    • Missing dependency information the Authentication and Authorization topic (KTOR-1575)
    • πŸ“„ "Using a Self-Signed Certificate" docs provide wrong dependency for 1.3.x (KTOR-21)
    • βœ… "Testing Http Client" docs page contains artifact name with -native suffix (KTOR-1006)
    • Custom JSON mapping with Jackson (KTOR-603)
    • Serialization for client section does not explain how to use it (KTOR-999)
    • βž• Add information about required artifacts to the WebSockets topic (KTOR-1532)
    • Missing dependency information the Client Auth topic (KTOR-1533)
    • πŸ†• New documentation lacks artifacts information for Gradle and Maven (KTOR-1167)
    • πŸ‘€ ResponseException is no longer serializable starting from 1.4.0 (breaking change) (KTOR-1552)
    • ⬆️ Upgrade kotlin to 1.4.21 (KTOR-1637)
  • v1.5.0 Changes

    Published 22 Dec 2020

    • πŸ›  Fixed crash when sending large responses in 1.4.2 (KTOR-1369)
    • Introduced URLBuilder function to append paths (KTOR-403)
    • πŸ‘ Allowed OkHttpConfig to configure WebSocket.Factory (KTOR-951)
    • Get client certificate information from request (KTOR-424)
    • πŸ›  Fixed quoting Content-Disposition additional parameters (KTOR-455)
    • πŸ‘Œ Support Java HTTP Client (KTOR-348)
    • Serializing collections of different element types (KTOR-1163)
    • Introduced Netty tcpKeepAlive option (KTOR-368)
    • Implemented development mode for Ktor (KTOR-1184)
    • πŸ‘» Implemented proper unhandled exception handling strategy (KTOR-835)
    • βž• Added OAuth feature config to avoid Dropbox issue (KTOR-715)
    • πŸ’₯ Breaking change: Fixed trailing slashes handling in routing (KTOR-372)
      Routes registered without trailing slashes no longer match URLs with trailing slashes, and vice versa. To keep the previous behavior, install the IgnoreTrailingSlash feature.
    • βž• Added CIO client proxy tunneling support (KTOR-1458)
    • πŸ‘Œ Supported Sealed Classes inside Session-Objects (KTOR-826)
    • πŸ›  Fixed code autoreload (KTOR-664)
    • βž• Added response text to the message of ResponseException and derived exceptions (KTOR-844)
    • βž• Added ability to send cookies with HttpRequestBuilder (KTOR-926)
    • βž• Added warning to HTTP/2 push API (KTOR-1329)
    • πŸ›  Fixed parsing Authorization header diagnostics (KTOR-1406)
    • πŸ›  Fixed CORS character encoding issue (KTOR-1370)
    • βž• Added CORS anyHeader in feature configuration (KTOR-977, KTOR-1263)
    • βž• Added curl engine option sslVerify (KTOR-1093)
    • πŸ›  Fixed client response validation in some cases (KTOR-1412)
    • πŸ‘ Introduced support for pre-compresed files (KTOR-1447)
    • πŸ›  Fixed Apache client engine sometimes hits an unrecoverable socket timeout when using ChannelWriterContent (KTOR-1149)
    • πŸ›  Fixed typo val socketTimeout in CIOEngineConfig cause it's a property in the config (KTOR-1240)
    • βž• Added excludeSuffix to HttpsRedirect feature (KTOR-1197)
    • πŸ›  Fixed CIO client connectRetryAttempts = 0 handling (KTOR-1125)
    • βž• Added option to use specific alias from keystore in CIO TLSConfigBuilder JVM (KTOR-941)
  • v1.4.3 Changes

    December 01, 2020

    Published 1 Dec 2020

    • Client: URL encode / escaping is wrong (KTOR-341)
    • HTTP/2 push fails with netty engine (KTOR-800)
    • Request headers exceeding expected threshold are not handled correctly (KTOR-905)
    • 🌲 iOS client fails with CoroutinesInternalError when Logging is used (KTOR-924)
    • Experimental API and compatibility guarantees (KTOR-1035)
    • CIO: client engine exceptions are both logged and thrown (KTOR-1127)
    • ⏱ Timeoutο»Ώ feature: android engine throws Java's SocketTimeoutException instead of ConnectTimeoutException (KTOR-1229)
    • Input.readTextExactBytes(n) on empty input different behavior per platform (KTOR-1235)
    • HttpRedirect feature alters Location header value (KTOR-1236)
    • πŸš€ Wrong pool is used to release IOBuffer after ByteChannelSequential.copyTo from static initialized instance. (KTOR-1237)
    • CIO Engine's HttpClient may fail when trying to send large size binary data. (KTOR-1247)
    • ByteBufferChannel.readRemaining doesn't read whole channel (KTOR-1268)
    • Cannot receive content via jackson negotiator since 1.4.2 (KTOR-1286)
    • 🐎 ktor-io: JVM shared function decrease performance starting from 1.4.0 (KTOR-1290)
    • Sessions + SSL (Netty) (KTOR-1292)
    • Netty HTTP/2 HEAD response hangs (KTOR-1298)
    • Using blocking primitives on this dispatcher is not allowed. Consider using async channel instead or use blocking primitives in withContext(Dispatchers.IO) instead. (KTOR-1305)
    • "Wrong HEX escape": gracefully handle invalid URLs (KTOR-1308)
    • βž• Add build parameter to build ktor with JVM IR compiler (KTOR-1336)
    • ⚑️ Update kotlin to 1.4.20 (KTOR-1346)
    • πŸ›  Fix configuration if project without VPN and cache (KTOR-1347)
    • Client: NPE in FormDataContentKt -> Input.copyTo (KTOR-1349)
    • ⬆️ Upgrade Netty to 4.1.54.Final (KTOR-1363)
    • πŸ– Handle failure in reading request body (KTOR-1367)
    • βœ‚ Remove copyTo usage from ServerPipeline (KTOR-1381)