Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update ktor monorepo to v3 (major) #5

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Oct 1, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
io.ktor:ktor-client-apache 1.6.8 -> 3.0.1 age adoption passing confidence
io.ktor:ktor-client-js 1.6.8 -> 3.0.1 age adoption passing confidence
io.ktor:ktor-client-core 1.6.8 -> 3.0.1 age adoption passing confidence

Release Notes

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

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)

v2.3.12

Compare Source

Published 20 June 2024

Bugfixes
  • NoSuchMethodError when using coroutines 1.9.0-RC (KTOR-7054)
  • Server: Content-Type header for static js, css and svg resources misses charset (KTOR-6655)
  • Embedded Linux device without iso-8859-1 and UTF-16 cannot use ktor-network (KTOR-7016)
Improvements

v2.3.11

Compare Source

Published 8 May 2024

Bugfixes
  • Test client ignores socket timeout (KTOR-6909)

v2.3.10

Compare Source

Published 8 April 2024

Bugfixes
  • CallLogging, StatusPages: response logged twice when status handler is used (KTOR-6839)
  • NodeJS WebSocket client sometimes drops a frame received immediately after handshake (KTOR-6883)
  • IPv6 addresses are not supported in NettyConnectionPoint and CIOConnectionPoint (KTOR-5383)
  • JS browser: "Maximum call stack size exceeded" on HTTP request when targeting es2015 (KTOR-6878)
  • CIO: File upload fails with NumberFormatException when uploading file larger than INT_MAX bytes (~2.1 GiB) since 2.3.0 (KTOR-6851)
  • CallLogging: the plugin completely overrides MDC if at least one entry is configured (KTOR-6642)
  • SSE plugin: Duplicated "Content-Type: text/event-stream" headers (KTOR-6735)
  • CIO: "getSubjectAlternativeNames(...) must not be null" when IP-addresses are verified and no SAN in the certificate (KTOR-6746)
Improvements
  • Inconsistent behavior of Netty and rest engines by returning null or empty string for query parameters without values (KTOR-6850)
  • Android: no logs are present in Logcat with Logger.ANDROID (KTOR-1219)

v2.3.9

Compare Source

Published 4 March 2024

Improvements
  • Allow to set secure cookie even with http scheme (KTOR-3159)
Bugfixes
  • ContentNegotiation: the plugin appends duplicated MIME type to Accept header (KTOR-6684)

v2.3.8

Compare Source

Published 31 January 2024

Bugfixes
  • "KeyStoreException: JKS not found" exception on Android when configuring secure connection (KTOR-6720)
  • URLBuilder crashes on React Native platforms (KTOR-6576)
  • CIO: Unable to perform WebSocket upgrade when Content-Type header is sent in the request (KTOR-6366)
  • ContentNegotiation: Adding charset to content type of JacksonConverter breaks request matching (KTOR-6420)
  • High Native Server Memory Usage (KTOR-6321)
  • Server ContentNegotiation no longer allows multiple decoders for one Content-Type (KTOR-5410)
  • Logging plugin blocks response body streaming when level is BODY (KTOR-6482)
  • WebSockets: Confusing error message when server doesn't respond with Upgrade (KTOR-6397)
  • {...} (tailcard) does not match URLs ending with '/' (KTOR-2121)
  • HttpCache: NumberFormatException for cache-control with max age more than Int.MAX_VALUE (KTOR-6505)
  • CORS: allowHost without the second argument doesn't allow the secure host (KTOR-6494)
  • "ReferenceError: 'self' is not defined" when using URLBuilder in a custom JS engine (KTOR-5978)
  • MDC diagnostic value is changed during logging of the request (KTOR-6528)
  • WebSocket doesn't get terminated when runBlocking is used (KTOR-6664)
  • CIO: "getSubjectAlternativeNames(...) must not be null" error on Android when using CA without SAN since 2.3.5 (KTOR-6396)
  • RequestConnectionPoint should implement toString() (KTOR-6577)

v2.3.7

Compare Source

Published 28 November 2023

Bugfixes
  • Server ContentNegotiation no longer allows multiple decoders for one Content-Type (KTOR-5410)
  • High Native Server Memory Usage (KTOR-6321)
  • WebSockets: Confusing error message when server doesn't respond with Upgrade (KTOR-6397)
  • ContentNegotiation: Adding charset to content type of JacksonConverter breaks request matching (KTOR-6420)

v2.3.6

Compare Source

Published 7 November 2023

Bugfixes
  • Resolved connectors job does not complete in TestApplicationEngine (KTOR-6411)
  • Darwin: Even a coroutine Job is canceled network load keeps high (KTOR-6243)
  • Darwin: EOFException when sending multipart data using Ktor 2.3.4 (KTOR-6281)
  • Ktor JS client unconfigurable logging in node (KTOR-6275)
  • CIO: getEngineHeaderValues() returns duplicated values (KTOR-6352)
  • "Server sent a subprotocol but none was requested" when using Node WebSockets (KTOR-4001)
  • YAML properties with literal value null cannot be read since 2.3.1 (KTOR-6357)
  • AndroidClientEngine cannot handle content length that exceeds Int range (KTOR-6344)
  • Client unable to make subsequent requests after the network disconnection and connection when ResponseObserver is installed (KTOR-6252)
  • Outdated Gradle jib plubin does not support application/vnd.oci.image.index.v1+json media type (KTOR-6280)
  • KTor 2.3.5 Kotlin 1.9.x upgrade is a breaking change (KTOR-6354)
  • WebSockets (CIO): Connection Failure Due to Lowercase 'upgrade' in 'Connection: upgrade' Header (KTOR-6388)
  • WinHttp: ArrayIndexOutOfBoundsException when sending WS frame with empty body (KTOR-6394)
  • Update dependency com.auth0:jwks-rsa to v0.22.1

v2.3.5

Compare Source

Published 5 October 2023

Bugfixes
  • 300+ ktor-client-java threads eat up lots of memory (KTOR-6292)
  • Apache5 engine limits concurrent requests to individual route to 5 (KTOR-6221)
  • DarwinClientEngine WebSocket rejects all received pongs (KTOR-5540)

v2.3.4

Compare Source

Published 31 August 2023

Bugfixes
  • The "charset=UTF-8" part is automatically added to the application/json Content-Type (KTOR-6183)
  • MicrometerMetricsConfig default registry leaks coroutine (KTOR-6178)
  • Darwin: App hangs when sending a huge MultiPart request without access to network (KTOR-6147)
  • NPE in JavaClientEngine body() call (KTOR-6190)
  • Digest Auth: algorithm isn't specified in the Authorization header (KTOR-3391)
  • Confusing NoTransformationFoundException (KTOR-6064)
  • Cookie name-value pairs should be separated by a semicolon instead of a comma (KTOR-5868)

v2.3.3

Compare Source

Published 1 August 2023

Bugfixes
  • java.util.zip.DataFormatException after enabling permessage-deflate (KTOR-5979)
  • DelegatingTestingClientEngine fails when ContentNegotiation with protobuf is installed and empty body (KTOR-6125)
  • KtorServlet does not support yaml configuration (KTOR-6108)
  • CIO ConnectionFactory leaks on cancellation (KTOR-6127)
  • staticFiles responds twice if both index and defaultPath are set (KTOR-6120)
  • Uncaught Kotlin exception: kotlin.IllegalArgumentException: Failed to open iconv for charset UTF-8 with error code 22 (KTOR-5980)
  • Not compatible with kotlinx-html 0.9.1 (KTOR-6124)
  • "Test engine is already completed" error while establishing Websockets connection (KTOR-6057)
  • s-maxage is not used, even if HttpCache.Config.isShared is true (KTOR-6087)
  • Cache returns null when vary header set different ways whatever it has same values (KTOR-6081)
  • DefaultRequest: a cookie appears twice in the request header when sending a request with another cookie (KTOR-5619)
Improvements
  • Drop linuxArm64 publication from ktor-client-curl (KTOR-6154)
  • Client: Target linuxArm64 (KTOR-872)
  • Server: Target linuxArm64 (KTOR-5753)
  • Add system property to disable automatic installation of runtime shutdown hook (KTOR-6070)

v2.3.2

Compare Source

Published 28 June 2023

Bugfixes
  • Linking release build leads to compilation error with coroutines of version 1.7.0-Beta (KTOR-5728)
  • MapApplicationConfig removes deeply nested properties when converting to a map (KTOR-6013)
  • Cache returns null when vary header has more fields in the cached response (KTOR-6001)
  • ContentType of a response body isn't set inside OkHttp's interceptor when a form request is sent (KTOR-5971)
Improvements
  • Update Kotlin to 1.8.22 (KTOR-6053)
  • The error message is not helpful when authenticating with a bearer header with a colon (KTOR-5409)

v2.3.1

Compare Source

Published 20 June 2024

Bugfixes
  • NoSuchMethodError when using coroutines 1.9.0-RC (KTOR-7054)
  • Server: Content-Type header for static js, css and svg resources misses charset (KTOR-6655)
  • Embedded Linux device without iso-8859-1 and UTF-16 cannot use ktor-network (KTOR-7016)
Improvements

v2.3.0

Compare Source

Published 19 April 2023

Features
  • Support loading multiple configuration files (KTOR-5658)
  • Static files filters or something similar to mod_rewrite (KTOR-818)
  • Built-in support for HEAD requests for static files (KTOR-4052)
  • Ability to set Content-Type of static resource (KTOR-2312)
  • Support regex patterns in routing (KTOR-5110)
  • Support Flow in ktor-serialization (KTOR-3788)
  • Upgrade Client Apache Engine Version to use Apache 5 (KTOR-4547)
  • Support for CURLOPT_CAINFO and CURLOPT_CAPATH in ktor-client-curl (KTOR-5614)
  • Allow passing multiple acceptable content types to accept route selector (KTOR-419)
  • Support 100 Continue (KTOR-829)
Improvements
  • The '425 Too Early' status code is missing in the HttpStatusCode enum (KTOR-4673)
  • Feature request: SO_REUSEADDR option for embedded server (KTOR-5529)
  • Add opportunity to pass type info into WebSockets serializing methods (KTOR-5740)
  • Ktor JS websocket client unconfigurable logging (KTOR-5456)
  • Update JTE to 2.3.0 (KTOR-5698)
  • Update Kotlin to 1.8.10 (KTOR-5544)
  • Migrate to the new Kotlin JS IR backend (KTOR-5543)
  • Prefer Node instead of browser behavior (KTOR-5650)
  • Update reported dependencies (KTOR-5662)
  • AutoHead should dispose response body (KTOR-5684)
  • Add append(String, List<String>) overload to FormBuilder (KTOR-5493)
  • Support serving static files from resources in GraalVM native image (KTOR-5580)
  • Comparable HttpStatusCode (KTOR-5629)
  • Support preCompressed with resources (KTOR-2677)
  • Add shutdown configuration for engine in stop method (KTOR-5560)
  • Logging: Add filter/sanitization of sensitive headers (KTOR-5523)
  • Add resource route builders accepting typed body as second parameter (KTOR-5589)
  • CallLogging: add config to avoid logging static file request (KTOR-5474)
  • Update Tomcat to 10 (KTOR-5266)
  • Update Jetty to version 11 (KTOR-5267)
  • Update Parameters and Headers DSL to be consistent with stdlib (KTOR-627)
  • Consider quoting Boolean during construction of multipart requests (KTOR-5405)
  • Simplify Static Content Plugin (KTOR-5265)
Bugfixes
  • Websockets: connection should be failed immediately when no continuation frame goes after a fragmented text frame (KTOR-5018)
  • Websockets: Connection should be failed immediately, since all data frames after the initial data frame must have opcode 0 (KTOR-5014)
  • Websockets: Connection should fail immediately (1002/Protocol Error) when control frame has a payload with more than 125 octets (KTOR-5006)
  • Java engine: Websockets client sends two PONG frames for each PING frame from a server (KTOR-5653)
  • Websockets: Erroneous trace log about expired websocket pings (KTOR-5672)
  • DarwinClientEngine: a request deadlocks on macOS since 2.2.2 (KTOR-5502)
  • Requests don't match in nested Regex Routing (KTOR-5750)
  • IllegalArgumentException in Regex Routing (KTOR-5748)
  • Unneeded escaping in Regex Routing isn't processed (KTOR-5746)
  • Native: Read from a closed socket doesn't throw an exception (KTOR-5093)
  • Reading response of HEAD request breaks when Content-Length > 0 (KTOR-5699)
  • "Serializer for class 'Any' is not found" error when responding with Any type since Ktor 2.2.4 (KTOR-5687)
  • BearerAuthProvider: Token is being refreshed multiple times when queued call finishes with 401 after refresh token succeeds (KTOR-5681)
  • CIO: nmap crashes server with "SocketException: Invalid argument" error (KTOR-5636)
  • DigestAuthProvider: realm sent from the server doesn't participate in the computation of response (KTOR-4514)
  • OAuth2: "JsonObject is not a JsonPrimitive" error when server replies with nested JSON object on a token request (KTOR-5669)
  • CallLogging: logs caused by an exception are suppressed when mdc provider is configured (KTOR-5665)
  • Metrics: ClassCastException when the DropwizardMetrics plugin is installed after the MicrometerMetrics plugin (KTOR-5595)
  • ByteBufferChannel throws exception when HttpCache, ContentEncoding and onDownload are used (KTOR-5532)
  • runBlocking in TestApplicationEngine loses coroutineContext (KTOR-5525)
  • Incorrect handling of private cache directive in HttpCachePlugin (KTOR-5570)
  • The default implementation of challengeFunction is empty, causing no session users to access protected resources (KTOR-5467)
  • Wrong ContentType for .mjs files (KTOR-5533)
  • Non-standard Content-Type headers for static files (KTOR-5311)
  • CIO: Client fails to parse response without Content-Length, Connection headers and chunked transfer encoding (KTOR-5327)
  • Conflict between ContentNegotiation and Mustache plugins (KTOR-5337)

v2.2.4

Compare Source

Published 28 February 2023

Bugfixes
  • Connect timeout is not respected when using the HttpRequestRetry plugin (KTOR-5466)
  • URLs with underscore fail to parse correctly in HTTP client request (KTOR-5591)
  • Routing: Wrong content-type results in 405 instead of 415 status code with two routes (KTOR-5535)
  • Compressing the response will result in unexpected ERROR log output after processing in the StatusPages (KTOR-5510)
  • Javadoc for Resources.kt cannot be compiled (KTOR-5492)
  • ContentNegotiation: The "charset=UTF-8" part is added for the Content-Type header (KTOR-3799)
  • kotlinx.serialization.SerializationException is lost for the classes that have generic type parameters (KTOR-5448)
  • OkHttp: Cancelling while writing to ByteWriteChannel when overriding WriteChannelContent causes propagation of CancellationException to a caller (KTOR-5518)

v2.2.3

Compare Source

Published 31 January 2023

Improvements
  • ContentNegotiation: "Skipping because the type is ignored" log message is unclear (KTOR-5479)
  • Make OAuth2 functionality multiplatform (KTOR-1144)
  • Log HTTP request time (KTOR-1250)
  • Add Client Plugins Trace Logging (KTOR-5264)
Bugfixes
  • FileStorage throws java.io.FileNotFoundException (File name too long) when request path is long (KTOR-5443)
  • HttpRequestRetry retries on FileNotFoundException thrown by FileStorage (KTOR-5444)
  • DropwizardMetricsPlugin logs status code incorrectly when is used together with StatusPages plugin (KTOR-5420)
  • Server ContentNegotiation no longer allows multiple decoders for one Content-Type (KTOR-5410)
  • Multipart File doesn't upload whole file, throws "Unexpected EOF: expected 4096 more bytes" for larger files (KTOR-3455)
  • Netty: Unable to set the tcpKeepAlive (KTOR-5370)
  • HOCON: CLI parameters don't override custom array properties since 2.1.0 (KTOR-5100)

v2.2.2

Compare Source

Published 3 January 2023

Improvements
  • Resource annotation should be MetaSerializable (KTOR-5397)
  • The swaggerUI method is too restrictive and cannot be called inside a route (KTOR-5307)
  • Engine shutdown grace period and timeout are not configurable (KTOR-5359)
  • Allow specifying immutable in CacheControl (KTOR-3757)
Bugfixes
  • Server cannot be started with the Swagger plugin (KTOR-5308)
  • Regression in 2.2.1: Got EOF but at least 0 bytes were expected (5372)
  • HttpRequestRetry: Memory leak of coroutines objects when using the plugin (KTOR-5099)
  • iOS unit test deadlocks with DarwinClientEngine (KTOR-5332)
  • Gzip encoding: IllegalStateException: Expected 112, actual 113 (KTOR-5300)
  • Netty, HSTS: UnsupportedOperationException is thrown when the server responds before HSTS plugin (KTOR-5276)

v2.2.1

Compare Source

Published 7 December 2022

The critical error java.lang.NoClassDefFoundError: kotlinx/atomicfu/AtomicFU in the 2.2.0 release is fixed

v2.2.0

Compare Source

Published 7 December 2022

  • Intergate Swagger UI Hosting as Ktor Feature (KTOR-774)
  • New plugins API for client (KTOR-5161)
  • Rate-Limit Support on Server (KTOR-1196)
  • Make sessions plugin multiplatform (KTOR-4960)
  • Add the ability to access the route inside a route-scoped plugin (KTOR-5112)
  • Add a method that returns a list of child routes recursively (KTOR-581)
  • Support Default Value for missing Env Variables in YAML (KTOR-5283)
  • Netty: ApplicationStarted event is fired before the server starts accepting connections (KTOR-4259)
  • parseAuthorizationHeader throws ParseException on header value with multiple challenges (KTOR-5216)
  • ByteChannel exception: Got EOF but at least 1 byte were expected (KTOR-5252)
  • Application data in OAuth State parameter (KTOR-5225)
  • NativePRNGNonBlocking is not found, fallback to SHA1PRNG (KTOR-668)
  • Not calling call.respond() at server results in 404 for the client (KTOR-721)
  • Restoring thread context elements when directly resuming to parent is broken (KTOR-2644)
  • Out of the box ContentConverter for Protobuf (KTOR-763)
  • Darwin: response is never returned when usePreconfiguredSession is used (KTOR-5134)
  • List.merge() should have reversed priority (KTOR-5208)
  • Allow nested authentications to be combined using AND (KTOR-5021)
  • The swaggerUI plugin should be placed in the io.ktor.server.plugins.swagger package (KTOR-5192)
  • CORS Plugin should log reason for returning 403 Forbidden errors (KTOR-4236)
  • The default path to an OpenAPI specification doesn't work for the 'openAPI' plugin (KTOR-5193)
  • JWT: JWTPayloadHolder.getListClaim() throws NPE when specified claim is absent (KTOR-5098)
  • Logging: the plugin instantiates the default logger even when a custom one is provided (KTOR-5186)
  • Java client engine doesn't handle HttpTimeout.INFINITE_TIMEOUT_MS properly (KTOR-2814)
  • SessionTransportTransformerMessageAuthentication: Comparison of digests fails when there is a space in a value (KTOR-5168)
  • Support serving OpenAPI from resources (KTOR-5150)
  • Remove check for internal class in Select (KTOR-5035)
  • Persistent Client HttpCache (KTOR-2579)
  • Support native windows HTTP client (KTOR-735)
  • Add Server BearerAuthenticationProvider (KTOR-5118)
  • Merged config: "Property *.size not found" error when calling configList method on an array property (KTOR-5143)
  • "POSIX error 56: Socket is already connected" error when a socket is connection-mode on Darwin targets (KTOR-4877)
  • StatusPages can't handle errors in HTML template (KTOR-5107)
  • HttpRequestRetry: Memory leak of coroutines objects when using the plugin (KTOR-5099)
  • CallLogging and CallId: exceptions thrown in WriteChannelContent.writeTo are swallowed (KTOR-4954)
  • Temp files generated by multipart upload are not cleared in case of exception or cancellation (KTOR-5051)
  • Websockets, Darwin: trusting a certificate via handleChallenge doesn't work for Websockets connections (KTOR-5094)
  • Digest auth: Support returning any objects which implement Principal interface (KTOR-5059)
  • Add Debug Logging to Default Transformers (KTOR-4529)
  • No way getting client's source address from IP packet (KTOR-2501)
  • Add Env Variable to Change Log Level on Native Server (KTOR-4998)
  • Add Debug Logging for Ktor Plugins and Routing (KTOR-4510)
  • Add Debug Logging to ContentNegotiation (KTOR-4518)
  • Add Debug Logging to Routing (KTOR-4524)
  • Add Debug Logging to Auth Plugin (KTOR-4519)
  • Add Debug Logging to Status Pages Plugin (KTOR-4527)
  • Add Debug Logging to PartialContent Plugin (KTOR-4525)
  • Add Debug Logging to Sessions Plugin (KTOR-4526)
  • Add Debug Logging to Call Id (KTOR-4520)
  • Add Debug Logging to WebSockets Plugin (KTOR-4528)
  • Add Debug Logging to Double Receive Plugin (KTOR-4530)
  • Add Debug Logging to Compression Plugin (KTOR-4521)
  • Make certificate generation helpers more flexible (KTOR-5023)
  • Jackson converter: Support requests with Content-Length header (KTOR-4904)
  • Add a way to get a client's port (KTOR-430)
  • Retry and timeout client plugins don't work together (KTOR-4652)
  • Server Session - Switch to Kotlinx serialization (KTOR-2572)
  • ApplicationCall.respondRedirect should have overload for Url (KTOR-1538)
  • Make API to Use Configuration in Application Plugins (KTOR-4533)
  • Way to block use of TLS 1.0/1.1 when using Ktor/Netty (KTOR-4587)
  • testApplication: application initialization block isn't eagerly called (KTOR-4819)
  • testApplication: test server lifecycle management (KTOR-4773)
  • The beginning character of encodedPath field(Url class) is wrong when relative path (KTOR-621)
  • Unable to access userPrincipal of servletRequest in ktor-server-servlet (KTOR-4784)
  • When unable to get JWKS, JWTAuth swallows the underlying exception and only logs the last message (KTOR-636)
  • CIO Server generates wrong URL for OAuth URL provider using Locations (KTOR-2143)
  • Inconsistency among server engines when determining port/host of an incoming request (KTOR-4141)
  • Update Versions of Dependencies (KTOR-5293)

v2.1.3

Compare Source

Published 26 October 2022

  • JS: window.location.origin returns null when executed in iframe via srcdoc attribute (KTOR-4993)
  • SensitivityWatchEventModifier - Move the reflection call of this modifier out from the Ktor Core (KTOR-1647)
  • "java.lang.IllegalArgumentException: Failed requirement." in SelectorManagerSupport (KTOR-2914)
  • HOCON: CLI parameters don't override custom properties since 2.1.0 (KTOR-5000)
  • Websockets timeout doesn't cause a close of a connection (KTOR-3504)
  • DefaultHeaders: a header is duplicated in a StatusPages's handler (KTOR-4990)
  • Websockets: timeout doesn't cause closing of incoming and outgoing channels (KTOR-2430)
  • RFC 3986 recommendation for encoding URI is NOT followed (KTOR-993)
  • Cookies: Invalid encoding of cookies' values since 1.4.0 (KTOR-917)
  • ByteReadChannel is unable to read files with long lines (KTOR-2588)
  • WebSocketDeflateExtension configureProtocols always failed with stackOverflow (KTOR-4916)
  • Update Kotlin to 1.7.20 (KTOR-4963)
  • Netty HTTP/2: response headers contain ":status" header and that leads to IllegalHeaderNameException in the ConditionalHeaders plugin (KTOR-4943)
  • Maven: ktor-server-test-host-jvm causes dependency error starting from Ktor 2.0.3 (KTOR-4900)
  • Autoreloading: "Flow invariant is violated" error since Ktor 2.0.3 (KTOR-4926)
  • Autoreloading: ClassCastException when retrieving plugins in testApplication (KTOR-4729)
  • CIO engine has wrong doc for request timeout (KTOR-4941)
  • CIO: A request through a proxy server results in 403 from Cloudflare (KTOR-4925)

v2.1.2

Compare Source

Published 29 September 2022

  • HttpCacheEntry ignoring Request Cache-Control directives (KTOR-4894)
  • testApplication does not handle port and connectors (KTOR-4875)
  • Native: Wrong status code when requesting with DELETE method and body (KTOR-3566)
  • Default host address 0.0.0.0 isn't reachable on Windows (KTOR-4834)
  • TestApplicationEngine error handling is inconsistent with DefaultEnginePipeline, breaking clients (KTOR-4009)
  • Routing: Wrong content-type results in 400 Bad Request instead of 415 Unsupported Media type (KTOR-4849)

v2.1.1

Compare Source

Published 6 September 2022

  • CIO: responses are received with a huge delay on JVM Windows (due to reverse DNS lookup internally) (KTOR-4827)
  • Netty HTTP/2 not working (KTOR-578)
  • HTTP/2 push fails with Netty engine (KTOR-800)
  • HttpCookies: no space between cookie pairs (KTOR-3854)
  • Netty ALPN provider detection not working (KTOR-4712)
  • CIO: Connection reset by peer on MacOS (KTOR-2036)
  • CallLogging MDC with sessions: Application feature Sessions is not installed (KTOR-550)
  • Deprecate Public API with Atomicfu Declarations (KTOR-4774)
  • Deprecate receiveOrNull because it's confusing (KTOR-4772)
  • Server ContentNegotiation Plugin doesn't check ignoredTypes for Request Body (KTOR-4770)
  • IllegalArgumentException is thrown when UnixSocketAddress.path is accessed on JVM (JDK 16+) (KTOR-4695)
  • WebSocketDeflateExtension not following RFC (KTOR-4696)
  • The parseWebSocketExtensions function behaves incorrectly (KTOR-3189)
  • Receive non-Nullable Type Throws NPE in Case of Failure (KTOR-4771)
  • Darwin: Symbol not found: OBJC_CLASS$_NSURLSessionWebSocketMessage on iOS 12 (KTOR-4159)
  • Fix Merging Date Headers on the Client (KTOR-4782)
  • Replace exception in InputStreamAdapter and OutputStreamAdapter constructors with warning message If parking (KTOR-4736)
  • Clearing Session Cookie in Chrome 80+ with SameSite and Secure (KTOR-437)
  • The OutgoingContent.toByteArray() stalls when used in combination with a OutgoingContent.WriteChannelContent (KTOR-2126)
  • Missing Content-Type header in a request (KTOR-1407)
  • Crash when making requests from browser inside of web worker (KTOR-4715)
  • An error occurs when there is a binary such as protobuf in the response body of error (KTOR-1619)
  • CallLogging configured MDC entries are not passed to StatusPages exception handlers (KTOR-4193)
  • LocalFileContent incorrectly relies on the last modification time of a file to check its existence (KTOR-4707)
  • Sessions: WSS in combination with Secure cookies throws IllegalArgumentException (KTOR-4697)
  • Json request failure with configured form authentication (KTOR-678)

v2.1.0

Compare Source

Published 11 August 2022

  • Add YAML Configuration Format Support (KTOR-3572)
  • Allow overriding HSTS settings per host (KTOR-4578)
  • CORS: Pattern matching for origin (KTOR-316)
  • Darwin: Allow setting custom NSURLSession (KTOR-583)
  • Support setting caching options on call (KTOR-457)
  • Revert default behavior of string encoding for ContentNegotiation and JsonPlugin (KTOR-4739)
  • Make Content-Length header validation optional (KTOR-4655)
  • Client resources plugin miss builders for PATCH method (KTOR-4658)
  • The awaitSuspend method wakes up early in closed ByteChannelSequential (KTOR-4597)
  • HttpCache plugin does not support max-stale directive (KTOR-4610)
  • Incoming request body validation (KTOR-503)
  • Client does not support sending or receiving json null value (KTOR-745)
  • Jetty: Content Length exception when body size is greater than 4096 bytes (KTOR-4622)
  • Darwin: configureRequest doesn't actually configure a NSMutableURLRequest when HTTP request is made (KTOR-4719)
  • OAuth2: Allow sending extra parameters for authorization and access token requests (KTOR-2128)
  • Java engine: Allow configuring HTTP version (KTOR-4609)
  • ContentEncoding: body<ByteArray>() receives truncated array (KTOR-4653)
  • Support configuring Netty codec limits via application config (KTOR-4636)
  • [OkHttp] StreamRequestBody should override isOneShot or allow multiple reads of request body (KTOR-4637)
  • OverridingClassLoader fails to delegate to parent for resources (KTOR-4004)
  • OkHttp and iOS: request with only-if-cache directive in Cache-Control header fails with 504 when match is stale (KTOR-4127)
  • Allow Pebble to use Accepted Language header for built-in i18n support (KTOR-4593)
  • Test engine can't handle concurrent requests (KTOR-4572)
  • Parameters of cloned UrlBuilder affect parameters of an original builder (KTOR-4573)
  • Reified type causes ApplicationCall.receive() throw UnsupportedOperationException (KTOR-3715)
  • ApplicationConfig lacks the ability to export a part of the config to a third-party library (KTOR-4416)
  • Path parameter doesn't get encoded in type safe requests (KTOR-3953)
  • Update Kotlin to 1.7.0 (KTOR-4450)
  • Bump jteVersion from 2.0.3 to 2.1.2 (KTOR-4648)

v2.0.3

Compare Source

Published 28 June 2022

  • Development mode class loader leads to ClassCastException within a CouroutineScope (KTOR-4164)
  • Validate that the body of an incoming request is received completely (KTOR-4379)
  • UrlBuilder escapes fragment parameters (KTOR-4412)
  • CallLogging: JVM crashes when jansi checks whether a file descriptor refers to a terminal (KTOR-3476)
  • WebSocket client closes connection due to an HTTP request timeout (KTOR-4419)
  • [JS client] Cannot change redirect policy by followRedirects=false (KTOR-326)
  • CIO engine doesn't apply a request timeout from the HttpTimeout plugin (KTOR-4473)
  • CIO: Websockets request doesn't include query parameters (KTOR-4390)
  • Ignore SIGPIPE for server sockets (KTOR-4474)
  • Direct byte buffers are increased in size when server slowly processes request (KTOR-4397)
  • UDP responses are received with a huge delay on JVM Windows (due to reverse DNS lookup internally) (KTOR-4423)
  • "No instance for key AttributeKey: ApplicationPluginRegistry" when exception is thrown during the Call phase (KTOR-4448)
  • Non-decipherable exception "No result transformation found" (KTOR-4287)
  • Unable to set the Content-Type header in a request (KTOR-620)
  • Update kotlinx.coroutines to 1.6.2 (KTOR-4451)
  • Support the HttpTimeout capability in the DelegatingTestClientEngine (KTOR-4436)
  • Limit the number of parallel running requests in Netty (KTOR-4575)
  • Resources plugin fails to process parameters of type UShort (KTOR-4424)
  • Resources plugin doesn't respect default values for Enum (KTOR-4411)
  • Invalid request line produced by CIO engine for URL with parameters and without path (KTOR-4347)
  • call.receiveText

Configuration

📅 Schedule: Branch creation - "before 3am on the first day of the month" (UTC), 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 renovate bot force-pushed the renovate/major-ktor-monorepo branch from 05a7a3a to b435b9a Compare October 10, 2024 05:50
@renovate renovate bot changed the title Update ktor monorepo to v2 (major) Update ktor monorepo to v3 (major) Oct 10, 2024
@renovate renovate bot force-pushed the renovate/major-ktor-monorepo branch from b435b9a to d2bf9db Compare October 31, 2024 05:38
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