UpgradeAll icon indicating copy to clipboard operation
UpgradeAll copied to clipboard

fix(deps): update ktor monorepo to v3.2.0

Open renovate[bot] opened this issue 1 year ago • 0 comments

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
io.ktor:ktor-client-cio 3.0.1 -> 3.2.0 age adoption passing confidence
io.ktor:ktor-client-core 3.0.1 -> 3.2.0 age adoption passing confidence

Release Notes

ktorio/ktor (io.ktor:ktor-client-cio)

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)

Configuration

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

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, 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[bot] avatar Dec 03 '24 18:12 renovate[bot]