Skip to content

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jul 15, 2024

This PR contains the following updates:

Package Change Age Confidence
io.ktor:ktor-io-jvm 3.0.0-beta-1 -> 3.2.3 age confidence
io.ktor:ktor-utils-jvm 3.0.0-beta-1 -> 3.2.3 age confidence
io.ktor:ktor-http-jvm 3.0.0-beta-1 -> 3.2.3 age confidence
io.ktor:ktor-client-mock-jvm 3.0.0-beta-1 -> 3.2.3 age confidence
io.ktor:ktor-client-cio-jvm 3.0.0-beta-1 -> 3.2.3 age confidence
io.ktor:ktor-client 3.0.0-beta-1 -> 3.2.3 age confidence
io.ktor:ktor-client-core-jvm 3.0.0-beta-1 -> 3.2.3 age confidence
io.ktor:ktor-serialization-jvm 3.0.0-beta-1 -> 3.2.3 age confidence
io.ktor:ktor-server-call-logging-jvm 3.0.0-beta-1 -> 3.2.3 age confidence
io.ktor:ktor-server-status-pages-jvm 3.0.0-beta-1 -> 3.2.3 age confidence
io.ktor:ktor-server-cors-jvm 3.0.0-beta-1 -> 3.2.3 age confidence
io.ktor:ktor-server-swagger-jvm 3.0.0-beta-1 -> 3.2.3 age confidence
io.ktor:ktor-server-content-negotiation-jvm 3.0.0-beta-1 -> 3.2.3 age confidence
io.ktor:ktor-server-test-host-jvm 3.0.0-beta-1 -> 3.2.3 age confidence
io.ktor:ktor-serialization-kotlinx-json-jvm 3.0.0-beta-1 -> 3.2.3 age confidence
io.ktor:ktor-server-netty-jvm 3.0.0-beta-1 -> 3.2.3 age confidence
io.ktor:ktor-server-core-jvm 3.0.0-beta-1 -> 3.2.3 age confidence

Release Notes

ktorio/ktor (io.ktor:ktor-io-jvm)

v3.2.3

Compare Source

Published 29 July 2025

Improvements
  • Server only accepts yaml as the configuration file suffix (KTOR-8712)
  • JS / WASM error when process global is undefined (KTOR-8686)
  • DI async duplicate resolution (KTOR-8681)
Bugfixes
  • CIO: Expect 100-continue response is missing a final \r\n (KTOR-8687)
  • Intermittent "ParserException: No colon in HTTP header" when parsing multipart request (KTOR-8523)
  • Infinite loop in ByteReadChannel.readFully (KTOR-8682)
  • ShutDownUrl: The server cannot shut down since 3.2.0 (KTOR-8674)

v3.2.2

Compare Source

Published 14 July 2025

Improvements
  • SSE: Change the order of SSE field serialization: put event before data (KTOR-8627)
Bugfixes
  • CORS: server replies with the 405 status code on a preflight request when the plugin is installed in a route (KTOR-4499)
  • Darwin: The Content-Encoding header is removed since 3.0.3 (KTOR-8526)
  • JS/WASM: response doesn't contain the Content-Length header in a browser (KTOR-8377)
  • StatusPages: response headers of OutgoingContent aren't available in the status handlers (KTOR-8232)
  • testApplication: The client.sse() acts like a REST call and not a stream in test environment (KTOR-7910)
  • Config deserialization - default properties problem (KTOR-8654)
  • kotlinx.datetime is not available transitively in 3.2.1 (KTOR-8656)
  • Request builder block overrides HTTP method in specific request builders (get, post, etc) (KTOR-8636)

v3.2.1

Compare Source

Published 3 July 2025

Improvements
  • Replace kotlinx.datetime APIs with kotlin.time (KTOR-8635)
  • Thymeleaf: null values in template model (KTOR-8559)
  • Publish Javadoc as a maven artifact (KTOR-3962)
  • Netty: Invalid hex byte with malformed query string (KTOR-2934)
Bugfixes
  • "Space characters in SimpleName" error when executing R8 mergeExtDex task with 3.2.0 (KTOR-8583)
  • ForwardedHeaders: the plugin does not handle parameters case-insensitively (KTOR-8622)
  • Potential race condition in socket.awaitClosed (hangs indefinitely) since 3.2.0 (KTOR-8618)
  • Module parameter type Application.() -> kotlin.Unit is not supported in 3.2.0 (KTOR-8602)
  • OkHttp: java.net.ProtocolException when sending MultiPartFormDataContent with onUpload (KTOR-6790)
  • OAuth2 authentication provider breaks form-urlencoded POST requests when receiving request body (KTOR-4420)
  • 404 for a link in KDoc for io.ktor.server.plugins.contentnegotiation.ContentNegotiation (KTOR-8597)
  • Ktor fails to boot with default jvminline argument (KTOR-8608)
  • Flow invariant is violated since 3.2.0 (KTOR-8606)
  • ResponseSent hook handler of the plugin installed into a route isn't executed when an exception is thrown from the route (KTOR-6794)

v3.2.0

Compare Source

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)

v3.1.3

Compare Source

Published 5 May 2025

Improvements
  • Implement toString for staticContentRoute (KTOR-8451)
  • Don't send Authorization header for requests marked with markAsRefreshTokenRequest (KTOR-8107)
  • ByteChannel single-byte operations are slow (KTOR-8412)
  • Receiving multipart without Content-Length is very slow (KTOR-8407)
  • MicrometerMetrics: different path 404s requests can be abused to trigger OOM (KTOR-8276)
  • Compression & Static Content: No Vary Header when serving a compressed resource (KTOR-8326)
  • HttpTimeout: Reference to nonexistent INFINITE_TIMEOUT_MS in the exception message (KTOR-8358)
Bugfixes
  • Websockets: Unable to send a frame when ktor-serialization-kotlinx-json-jvm dependency is defined in Maven build (KTOR-7662)
  • OkHttp: Cancelling of SSE request job doesn't cancel the connection (KTOR-8409)
  • OkHttp: Exceptions are not propagated to flow collectors (KTOR-7947)
  • OOM in CountedByteReadChannel while copying from multipart/form-data part channel (KTOR-8317)
  • Apache5: "ProtocolException: OPTIONS request must have Content-Type header" is thrown when body isn't set (KTOR-8318)
  • Netty/Websockets: server processes hanging in CLOSE_WAIT state after many concurrent requests (KTOR-7965)
  • Update JTE to the version supporting Kotlin 2.1.0 (KTOR-8030)

v3.1.2

Compare Source

Published 27 March 2025

Improvements
Bugfixes
  • URL-safe base64 decoding problem (KTOR-8292)
  • Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (KTOR-8312)
  • Android: "Array has more than one element" error when starting a server with release build (KTOR-7298)
  • WebSockets: extensions in sec-websocket-extensions header must be separated by comma (KTOR-6384)
  • OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (KTOR-8244)

v3.1.1

Compare Source

Published 24 February 2025

Improvements
  • Logging: messages are printed per line with OkHttp logger format (KTOR-8218)
  • WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (KTOR-8206)
Bugfixes
  • formData: implementation of copying Source is broken (KTOR-8210)
  • Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (KTOR-8105)
  • TLS client: IOException while writing to a closed TLS socket since 3.0.0 (KTOR-7860)
  • Exception thrown in onCallRespond makes the client wait for response indefinitely (KTOR-7139)
  • HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (KTOR-7104)
  • OOM on SourceByteReadChannel for large input (KTOR-8190)
  • ArrayIndexOutOfBounds kotlinx-io (KTOR-8096)
  • NPE in readBuffer (KTOR-8086)
  • JS/WASM fails with "IllegalStateException: Content-Length mismatch" on requesting gzipped content (KTOR-7934)
  • Resources: a / route isn't resolved when there is a sibling staticResources (KTOR-6671)
  • Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (KTOR-8015)

v3.1.0

Compare Source

Published 11 February 2025

Features
  • Add reconnection in ClientSSESession (KTOR-6242)
  • Add heartbeat to SSE (KTOR-7908)
  • Add serialization for SSE (KTOR-7435)
  • Support WebSockets in Curl engine (KTOR-5199)
  • Support conversion between byte channel interfaces and kotlinx-io primitives (KTOR-7327)
  • Support CIO server on WasmJS and JS targets (KTOR-865)
  • Logging: Format log like OkHttp client does (KTOR-7806)
  • Support static linking for curl on all platforms (KTOR-6754)
  • Support ARM target in Ktor client with Kotlin/Native and Curl (KTOR-4570)
  • Unix Domain Socket Support for Native Targets (KTOR-6960)
  • Support receiving multipart data with Ktor client (KTOR-6632)
  • Client CIO engine support for wasm-js and js (KTOR-7675)
  • Support NodeJs target for ktor-network (KTOR-6004)
Improvements
  • Auth: BasicAuthProvider caches credentials until process death (KTOR-7775)
  • CallLogging: Unhelpful log output "Application started: ..." (KTOR-7797)
  • Add operator contains to ContentType objects (KTOR-8145)
  • Darwin: Ambiguous DarwinHttpRequestException for SSL Pinning failure (KTOR-6759)
  • Introduce ServerSocket.port to simplify port access for the bound server (KTOR-8136)
  • Java, Js, Darwin: Response header Sec-WebSocket-Protocol is missing (KTOR-6970)
  • Fail to parse url: file:/path/to/file.txt (KTOR-6709)
  • Auth: Make re-auth/refresh status codes configurable (KTOR-7644)
  • Add media type for Yaml (KTOR-8064)
  • Logging: HTTP method is logged with the class name (KTOR-8011)
  • Uncaught cannot write to a channel errors from ws-pinger (KTOR-8008)
  • Apache5 client: Upgrade HttpClient to 5.4 (KTOR-8080)
  • Swagger: Add deepLinking configuration (KTOR-8074)
  • Access to the configuration options of a HttpClient plugin to tweak or wrap them with additional logic (KTOR-7213)
  • Don't publish internal test artifacts (KTOR-8058)
  • Micrometer: Add UptimeMetrics to standard meterBinders (KTOR-8061)
  • MicrometerMetrics: Do not write unknown HTTP method names to metrics (KTOR-7658)
  • Update to Kotlin 2.1.0 (KTOR-7866)
  • ByteWriteChannel is missing writeFloat()/readFloat() (KTOR-7651)
  • Engine exclusion from clientTests is confusing (KTOR-7723)
  • UrlBuilder: Support telephone scheme (KTOR-4816)
  • Swagger UI: Missing Favicon while browsing the UI (KTOR-7893)
  • ContentNegotiation client plugin: no way to opt out of Accept on a per-request basis (KTOR-7722)
  • receiveMultipart throws IllegalStateException instead of UnsupportedMediaTypeException (KTOR-7470)
  • Implement a suspending version of EmbeddedServer.start(wait=true) (KTOR-7459)
  • Allow to Disable Body Decompression on the Server for a specific call (KTOR-7679)
  • UDPSocketBuilder missing bind overload with hostName and port (KTOR-7663)
  • Make Url class @​Serializable and JVM Serializable (KTOR-7620)
  • Improve parsing of supported media types (MIME types) (KTOR-7586)
  • Migrate to kotlin.AutoCloseable (KTOR-7606)
Bugfixes
  • ByteChannel read issue on min > 1 (KTOR-8172)
  • CIO Server Engine fails for requests with more than 64 headers (KTOR-8164)
  • OutOfMemoryError when sending a large binary file through ByteReadChannel converted from InputStream (KTOR-6185)
  • Native Windows tests failing due to port exhaustion (KTOR-7392)
  • Unable to close socket with open read/write channels on Native (KTOR-8144)
  • Jetty idleTimeout not working (KTOR-8138)
  • Fix concurrent flush and close in the reader (KTOR-8133)
  • Socket.accept doesn't throw an exception on closing a socket on Native (KTOR-8135)
  • "AbortError: BodyStreamBuffer was aborted" error when canceling parent job (KTOR-7734)
  • Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (KTOR-8105)
  • ArrayIndexOutOfBounds kotlinx-io (KTOR-8096)
  • NPE in readBuffer (KTOR-8086)
  • JS/WASM fails with "IllegalStateException: Content-Length mismatch" on requesting gzipped content (KTOR-7934)
  • SessionStorage.read() is called for non-authenticated routes and static assets (KTOR-7194)
  • Read mutipart upload regression from 2.x to 3.x (KTOR-8082)
  • HttpRequestRetry: race condition for isClosedForRead leads to EOFException: Channel is already closed (KTOR-8051)
  • ktor-client-curl artifacts aren’t published after EAP 1146 (KTOR-8091)
  • DoubleReceive: NullPointerException caused by race condition (KTOR-8045)
  • Uncaught ClosedWatchServiceException exception thrown by finalizer when closing the server (KTOR-7963)
  • Curl: Error linking curl in linkDebugExecutableLinuxX64 on macOS (KTOR-6361)
  • ktor-server-core: Test files are part of the distribution code (KTOR-8003)
  • Windows: undefined symbols in linker when ktor-client-curl is used (KTOR-4307)
  • SaveBodyPlugin: UninitializedPropertyAccessException when reading response body within receivePipeline (KTOR-7952)

v3.0.3

Compare Source

Published 18 December 2024

Bugfixes
  • "Module not found" errors when executing browserProductionWebpack task since 3.0.2 (KTOR-7912)
  • Darwin: "IllegalStateException: Content-Length mismatch" on requesting gzipped content (KTOR-7943)
  • JS/WASM fails with "IllegalStateException: Content-Length mismatch" on requesting gzipped content (KTOR-7934)
  • FormFieldLimit is overwritten by default arg (KTOR-7946)
  • A Performance issue reading with ByteReadChannel.readUTF8LineTo request body (KTOR-7941)
  • Installing HttpCache before ContentEncoding prevents response body to be decoded (KTOR-7830)
  • TestApplication.stop() doesn't stop the application anymore (KTOR-7682)
  • File is not commited after closing writeChannel() of the file (KTOR-7845)

v3.0.2

Compare Source

Published 3 December 2024

Bugfixes
  • ServletResponseBody is corrupted due to the wrong offset (KTOR-7904)
  • File is not commited after closing writeChannel() of the file (KTOR-7845)
  • CIO: Response body truncated because read amount of bytes isn't compared against Content-Length (KTOR-7828)
  • HttpCache: IndexOutOfBoundsException on malformed Cache-Control header (KTOR-7172)
  • call.respondSource returns empty response but passes in tests (KTOR-7683)
  • ByteReadChannel.{readShort/readInt/readLong} leads to infinite loop when required bytes distributed in flush and read buffers (KTOR-7746)
  • Routing: ContentType.match doesn't match wildcard content types (KTOR-7278)
  • Connections aren't released properly if there are multiple parallel connections to the same address (KTOR-7777)
  • FileItem.streamProvider is deprecated and doesn't have implementation (KTOR-7731)
  • MergedApplicationConfig.toMap replaces nested configs completely without merging (KTOR-7008)
  • Digest Auth: Ktor 3.0.1 uses the wrong "nc" value to calculate digest (KTOR-7681)
  • JS: "ReferenceError: require is not defined" when compiling to ES Module (KTOR-6158)
  • Chunked transfer encoding failure not caught with retry (KTOR-7618)
  • HttpCookies: IllegalArgumentException when server returns a raw cookie with not allowed characters (KTOR-7469)
  • DefaultRequest: Content-Type header of default request is not overridable (KTOR-6946)
Improvements
  • Support binary (Smile) encoding in JacksonConverter (KTOR-7726)
  • ServiceLoader.load call is slow on Android (KTOR-7698)

v3.0.1

Compare Source

Published 29 October 2024

Bugfixes
  • Remove space from the default client user agent (KTOR-7655)
  • Url.segments throws on URLs with root path (KTOR-7625)
  • Digest Auth does not implement nc parameter correctly according to RFC 7616 (KTOR-4318)
  • about:blank URL should be parsed correctly as about:blank (KTOR-7410)
  • ByteReadChannel.{readShort/readInt/readLong} could lead to CPU-bound indefinite loop since 3.0.0 (KTOR-7571)
  • CIO: Requests face connection timeouts when executed on the Android main dispatcher (KTOR-6803)
  • receiveMultipart fails with "IOException: Failed to parse multipart" when content-type is capitalized (KTOR-7596)
Improvements
  • WebSockets logging: The plugin calls toString() unnecessarily on transformed response body (KTOR-7623)
  • INFO log message with all server interceptors on server startup (KTOR-7326)
  • Digest auth: username and cnonce parameters aren't surrounded with quotes (KTOR-7561)
  • ContentType.fromFilePath for newer file formats HEIC, AVIF, HEIF (KTOR-7536)
  • Support missing native targets in ktor-serialization-kotlinx-xml (KTOR-7583)

v3.0.0

Compare Source

Published 9 October 2024

Bugfixes
  • Darwin: The maxFrameSize option has no effect (KTOR-6963)
  • KotlinReflectionInternalError (createClientPlugin) when running release APK on Android (KTOR-7479)
  • Netty: UnsupportedOperationException is thrown when responding in CallSetup and CORS plugin is installed (KTOR-4433)
  • MicrometerMetrics: Prometheus meter registry 1.13.0 generates configuration warning (KTOR-7035)
  • Websockets/Auth: ProtocolException when requesting protected WebSockets endpoint (KTOR-7363)
  • Data truncated in receiveParameters and receiveMultipart (KTOR-7201)
  • The pathSegments returns empty strings for trailing slashes (KTOR-4402)
  • HttpRequestRetry: exponential delay doesn't work for delays <= 1 second (KTOR-7294)
  • JS browser: "Error: HttpClientCall expected" on HTTP request when targeting es2015 (KTOR-6882)
  • Incomplete write using io.ktor.util.cio.FileChannelsKt#writeChannel (KTOR-1618)
  • response.content.copyAndClose(targetFile.writeChannel()) sometimes loses some bytes (KTOR-3003)
  • ByteWriteChannel.flush is not Waiting Until Flushing the Internal Buffer to the Destination (KTOR-3102)
  • CORS check fails when the Origin header has a value without trailing slash (KTOR-5936)
  • Closing socket and selector leaks descriptor on native (KTOR-7255)
  • ConnectionUtilsNative leaks descriptors on error (KTOR-6977)
  • withTimeout doesn't cancel socket connection on native (KTOR-5289)
  • MockEngine: the ability to set dispatcher is removed (KTOR-6417)
Improvements
  • Misleading readBytes method name (KTOR-6596)
  • Remove reflection utils used only on JVM target from common source set (KTOR-7540)
  • Weak security algorithm (MD5) in FileCacheStorage (KTOR-6589)
  • Missing constants for AcceptEncoding (KTOR-6412)
  • Add respondFile overload with Path parameters (KTOR-7202)
  • MalformedInputException confusingly is a Throwable but not an Exception (KTOR-7316)
  • CSRF: The allowOrigin method enables the Origin Header validation (KTOR-6695)
  • Auth: Drop marker interface requirements (KTOR-7323)
  • Routing: Support accessing the request body in RouteSelector (KTOR-7084)
  • Make Cookie class Serializable (KTOR-6258)
  • Make the internal Route.swaggerUI method public (KTOR-6491)
  • Ktor clients and servers should use Dispatchers.IO.limitedParallelism(...) wherever possible (KTOR-6462)
Features
  • Support androidNative targets (KTOR-7289)
  • Provide the API that simplifies disabling CORS for testing purposes (KTOR-3329)
  • Add support for mingw to ktor-network in order to make server and client work on windows (KTOR-4080)

v3.0.0-rc-2

Compare Source

Published 2 October 2024

Bugfixes
  • Sessions: custom SessionSerializer is no longer supported (KTOR-7442)
  • Multipart/form-data: Request timeout when receiving FileItem with 3.0.0-rc-1 (KTOR-7484)
  • MultiPartData.readPart does not return null when stream ends (KTOR-7500)
  • Multipart/form-data: Form limit applied for binary and file items (KTOR-7356)
  • Autoreload not working by default under Windows (KTOR-3031)
  • HttpCache: Cache collision in the plugin when Authorization header is used (KTOR-7483)
  • Gradle sync issue with kotlin-serialization 1.7.2 on 3.0.0-rc-1 (KTOR-7477)
  • The ApplicationStopping event isn't raised when application is terminated with SIGINT (KTOR-7448)
  • respondOutputStream reads entire contents into memory before returning response (KTOR-7461)
  • UninitializedPropertyAccessException for request property when using MonitoringEvent(RoutingCallStarted) (KTOR-7449)
  • Preconfigured NSURLSession causes requests to hang (KTOR-7355)
  • Failures after upgrading Ktor in test server (KTOR-7431)
  • InputStream.toByteReadChannel creates unattached job (KTOR-7012)
  • Maven builds not working (KTOR-7425)
Improvements
  • Breaking change Deprecate withTestApplication APIs with ERROR and migrate to testApplication (KTOR-7284)
  • Breaking change Replace java.time options in Websockets plugin (KTOR-7446)
  • Ktor doesn't read System properties from jvm (KTOR-7492)
  • Redirect dependencies from ktor-server-test-base (KTOR-7393)
  • Include relocation notes for old Ktor modules (KTOR-6826)
  • ByteReadChannel.readFully(dst: ByteArray, offset: Int, length: Int) is missing since 3.0.0-beta-2 (KTOR-7427)
  • ByteChannel.readUtf8Line() backwards compatibility (KTOR-7474)
  • Kotlinx-io response extension (KTOR-7504)
Features

v3.0.0-rc-1

Compare Source

Published 9 September 2024

Bugfixes
  • Bytecode incompatibility in AttributeKey (KTOR-7334)
  • ContentEncoding: request hangs when using 3.0.0-beta-2 (KTOR-7265)
  • Revert Routing API changes from Route to Routing (KTOR-7238)
  • IOException: startIndex (0) > endIndex (-1) when making concurrent requests via thread pool (KTOR-7254)
  • ByteReadChannel.copyTo sometimes throws "IllegalArgumentException: Buffer is empty" (KTOR-7220)
  • Redirect dependencies from ktor-server-test-base (KTOR-7393)
  • CIO: EmbeddedServer.stop always blocks for shutdownGracePeriod (KTOR-7360)
  • SSE: the plugin doesn't follow the spec when multiline data is sent (KTOR-7391)
  • Infinite creation of CancellableContinuationImpl on ByteChannel.flush (KTOR-7324)
Improvements
  • Include relocation notes for old Ktor modules (KTOR-6826)
  • Deprecate old jetty / tomcat / servlet engines (KTOR-7315)
  • Backwards compatibility for monitor (KTOR-7264)
  • ApplicationProperties naming is confusing (KTOR-7270)
Features
  • staticZip: Support watching for changes and reloading of zip files (KTOR-7243)

v3.0.0-beta-2

Compare Source

Published 15 July 2024

Bugfixes
  • io.ktor.util.TextKt.chomp doesn't work on strings with more than one character (KTOR-7209)
  • DefaultRequest plugin overwrites http protocol (KTOR-5586)
  • Ktor build problem; cannot compile native targets (KTOR-6666)
  • SSEException is thrown instead of JobCancellationException when coroutine's job is cancelled (KTOR-6571)
  • SSE request drops request body (KTOR-6659)
  • SSE: UnsupportedContentTypeException when sending POST request using OKHttp engine (KTOR-6911)
  • SSE: NoTransformationFoundException when Logging plugin with LogLevel.ALL is used (KTOR-6912)
  • Installing SSE breaks GET/POST functionality (KTOR-6614)
  • Cookies with a long Max-Age incorrectly expire in AcceptAllCookiesStorage (KTOR-6646)
  • Some dependency versions not tracked (KTOR-7123)
  • CSRF: false positive originMatchesHost validation when default port is explicitly defined (KTOR-6701)
  • Double Transfer-Encoding header while using respondOutputStream on Tomcat (KTOR-6574)
Improvements
  • HttpCalValidatorConfig class name is misspelled (KTOR-6625)
  • CallLogging: package is misspelled (KTOR-4273)
  • Ambiguous coroutineContext warning in routing handler (KTOR-5181)
  • Tracing: allow changing log level at runtime for routing (KTOR-7193)
  • io.ktor.network.tls.TLSException has internal visibility (KTOR-6767)
  • Auth: Make refreshToken of BearerTokens class nullable (KTOR-6928)
  • Ktor test application library references internal module (KTOR-6668)
  • CSRF: Confusing error message when Origin validation is enabled and only Referrer header is sent (KTOR-6702)
  • CSRF: validations probably shouldn't be applied to GET/HEAD/OPTIONS requests (KTOR-6698)
  • CSRF: Empty onFailure option is misleading (KTOR-6687)
  • Misleading assertion message in the testEmbeddedServerCancellation test (KTOR-6657)
  • Allow setting "Secure" flag for cookies on localhost (KTOR-6593)
  • SSE: Unable to access response headers (KTOR-6660)
  • SSE: Improve support for testing (KTOR-3290)
  • OAuth handler does not propagate redirection errors to the caller (KTOR-6605)
  • HttpTimeoutTest.testConnect are flaky (KTOR-1583)
Features
  • Migrate to new kotlinx.io library (KTOR-6030)
  • Change default session serializer to the one that uses kotlinx-serializaion (KTOR-6175)
  • Replace custom withTimeout implementation using WeakTimeoutQueue with coroutines.withTimeout (KTOR-3658)
  • Add Url capability: parsing/validating url strings (KTOR-360)
  • SSE: Support handling HTTP failures (KTOR-6808)
  • Ktor client for Kotlin/Wasm (KTOR-5587)
  • CSRF protection feature (KTOR-2910)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/ktor-monorepo branch from bb01009 to 49ba7e1 Compare July 19, 2024 15:47
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch 4 times, most recently from 5a60932 to 72cde07 Compare August 10, 2024 13:30
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch 3 times, most recently from bd94734 to 9f674ef Compare August 28, 2024 23:01
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch 4 times, most recently from 3a53c49 to 354ee53 Compare September 9, 2024 17:42
@renovate renovate bot changed the title fix(deps): update ktor monorepo to v3.0.0-beta-2 fix(deps): update ktor monorepo to v3.0.0-rc-1 Sep 9, 2024
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch 2 times, most recently from 09b942c to b17fbaa Compare September 19, 2024 22:09
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch 2 times, most recently from 41c19da to 296811a Compare October 3, 2024 09:12
@renovate renovate bot changed the title fix(deps): update ktor monorepo to v3.0.0-rc-1 fix(deps): update ktor monorepo to v3.0.0-rc-2 Oct 3, 2024
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch from 296811a to 0d134f8 Compare October 9, 2024 15:54
@renovate renovate bot changed the title fix(deps): update ktor monorepo to v3.0.0-rc-2 fix(deps): update ktor monorepo to v3.0.0 Oct 9, 2024
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch from 0d134f8 to 741aa94 Compare October 10, 2024 14:48
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch 3 times, most recently from 4b1005e to 3425296 Compare October 29, 2024 23:34
@renovate renovate bot changed the title fix(deps): update ktor monorepo to v3.0.0 fix(deps): update ktor monorepo to v3.0.1 Oct 29, 2024
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch 5 times, most recently from a35c5e5 to e8266bf Compare December 3, 2024 18:42
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch from 3881cdb to 997d040 Compare March 27, 2025 12:34
@renovate renovate bot changed the title fix(deps): update ktor monorepo to v3.1.1 fix(deps): update ktor monorepo Mar 27, 2025
@renovate renovate bot changed the title fix(deps): update ktor monorepo fix(deps): update ktor monorepo to v3.1.2 Mar 28, 2025
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch 3 times, most recently from 39935c5 to 6c21bf7 Compare April 1, 2025 22:59
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch from 6c21bf7 to 78a7365 Compare April 16, 2025 18:41
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch from 78a7365 to 6b19d74 Compare April 25, 2025 08:37
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch from 6b19d74 to e27e235 Compare May 5, 2025 11:02
@renovate renovate bot changed the title fix(deps): update ktor monorepo to v3.1.2 fix(deps): update ktor monorepo to v3.1.3 May 5, 2025
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch from e27e235 to b400aa0 Compare May 13, 2025 17:35
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch from b400aa0 to c11bf1d Compare June 12, 2025 20:53
@renovate renovate bot changed the title fix(deps): update ktor monorepo to v3.1.3 fix(deps): update ktor monorepo to v3.2.0 Jun 12, 2025
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch from c11bf1d to 90dbb51 Compare June 14, 2025 10:07
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch 3 times, most recently from 1987220 to cf52eb6 Compare June 27, 2025 23:01
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch from cf52eb6 to f595a55 Compare July 3, 2025 19:27
@renovate renovate bot changed the title fix(deps): update ktor monorepo to v3.2.0 fix(deps): update ktor monorepo to v3.2.1 Jul 3, 2025
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch from f595a55 to 019195d Compare July 14, 2025 10:57
@renovate renovate bot changed the title fix(deps): update ktor monorepo to v3.2.1 fix(deps): update ktor monorepo to v3.2.2 Jul 14, 2025
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch from 019195d to 9f616f7 Compare July 19, 2025 03:15
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch from 9f616f7 to 0130b3c Compare July 29, 2025 11:44
@renovate renovate bot changed the title fix(deps): update ktor monorepo to v3.2.2 fix(deps): update ktor monorepo to v3.2.3 Jul 29, 2025
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch 3 times, most recently from 1aea689 to 63ca78a Compare August 6, 2025 21:33
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch from 63ca78a to 79c1b36 Compare August 14, 2025 13:09
@renovate renovate bot force-pushed the renovate/ktor-monorepo branch from 79c1b36 to 59e9ac9 Compare August 20, 2025 00:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants