Download Latest Version 3.2.0 source code.tar.gz (15.4 MB)
Email in envelope

Get an email when there's a new version of Ktor

Home / 3.2.0
Name Modified Size InfoDownloads / Week
Parent folder
3.2.0 source code.tar.gz 2025-06-12 15.4 MB
3.2.0 source code.zip 2025-06-12 17.4 MB
README.md 2025-06-12 5.1 kB
Totals: 3 Items   32.8 MB 2

Published 12 June 2025

Features

  • Dependency injection Ktor extension (KTOR-8267)
  • Support Version Catalog (KTOR-8162)
  • Unix domain socket support at the Ktor Engine level (KTOR-4766)
  • Allow suspend Ktor modules (KTOR-8005)
  • Ability to use browser cookie storage (KTOR-539)
  • Configuration file deserialization (KTOR-7874)
  • HttpCache: Support evicting/clearing cache (KTOR-6653)
  • File configuration for dependencies (KTOR-8304)

Improvements

  • Excessive allocation of ApplicationConfig when loading multiple files from CLI (KTOR-8563)
  • Linux curl engine doesn't work for simultaneous websocket and http request (KTOR-8259)
  • ktor-network produces ProGuard warning (KTOR-8525)
  • More overloads for StringValuesBuilder.appendAll (KTOR-8573)
  • HttpClientCall: Deprecate wrapWithContent and wrap (KTOR-8378)
  • Add a way to create an ApplicationCall for testing (KTOR-7607)
  • Configuration access API improvements (KTOR-8185)
  • Application instance access in testApplication (KTOR-8215)
  • The TestApplication client should be configurable and mutable (KTOR-8465)
  • Support accessing resolved IP address on an instance of io.ktor.network.sockets.InetSocketAddress (KTOR-8490)
  • Deprecate SaveBodyPlugin in favor of HttpClientCall.save (KTOR-8367)
  • Obscure log message on server startup (KTOR-8519)
  • Routing: accept should return 406 if the Accept header isn't matched (KTOR-8416)
  • MicrometerMetrics: the route label can exceed length limit (KTOR-7274)
  • Micrometer: Make route label configurable (KTOR-8183)
  • Add more common ContentType values (KTOR-7108)

Bugfixes

  • Logging/Darwin: IOException is thrown when detecting if body is a binary (KTOR-8581)
  • Netty: NoSuchElementException or empty headers when responding with 204 (KTOR-8528)
  • YAML configuration: NoSuchElementException when parameter is expanded with curly braces (KTOR-8575)
  • ApplicationConfig: Most of the content is absent after merging configs (KTOR-8565)
  • Android: "ProtocolException: TRACE does not support writing" when sending TRACE request (KTOR-8352)
  • The "Content-Length: 0" header is added for GET requests sent to some servers (KTOR-6508)
  • HttpRequestRetry: requests with some IOException's thrown by Java engine aren't retried (KTOR-6770)
  • HttpCookies: Encoding of request cookies is not preserved in CookiesStorage (KTOR-8343)
  • Url class mangles data URLs (KTOR-5708)
  • SaveBodyPlugin: Logging plugin consumes response body (KTOR-6474)
  • Config deserialization does not respect testApplication environment (KTOR-8436)
  • Resources: Exclude a parent from query params when it is an object (KTOR-8507)
  • BearerAuthProvider does not clear token if refreshTokens returns null (KTOR-8470)
  • Coroutines launched from RoutingContext are not cancelled upon server shutdown (KTOR-8338)
  • Application job is not joined during shutdown (KTOR-8291)
  • HttpCache: InvalidCacheStateException thrown when Vary header has different entries is overly severe (KTOR-8345)
  • Fix socket channel close handling (KTOR-8201)
Source: README.md, updated 2025-06-12