ktor v2.0.0-beta Release Notes
-
Published 23 December 2021
- EAP Naming: main-number conflicts with dependencies (KTOR-2724)
- ktor.io/learn typo (KTOR-3563)
- β¬οΈ Multiple messages around upgrading to new version (KTOR-3494)
- π Deploy Ktor application to docker topic contains hard coded project name (KTOR-2852)
- π Improvements for Docker sample in documentation (KTOR-3294)
- π¦ "io.ktor.serializaion.gson" - package naming in 2.0 (KTOR-3527)
- β¬οΈ Drop
client.get
Operator Because of Ambiguity withget(URL)
(KTOR-3487) - Option "Add imports for Ktor modules automatically" doesn't work (KTOR-3226)
- Migrations are unavailable (KTOR-3570)
- AttributeKey instance is identified by its identity instead of its name (KTOR-3538)
- π Fix Log Size for Java 11 Windows Build (KTOR-3535)
- ByteChannelSequential freezes after closing due to race condition (KTOR-2776)
- Apple Arm: 'Resolving NPM dependencies using yarn' returns 139 (KTOR-3561)
- π Change log level from
INFO
toERROR
for tests only (KTOR-3466) - Responding without contentLength freezes on CIO native (KTOR-3492)
- webSocketSession freeze every time (KTOR-3460)
- Exceptions are Swallowed in
HttpClient.wss
block (KTOR-3461) - π Support receiving headers before sending body in CIO client engine (KTOR-3491)
- [netty] Headers are only flushed after first byte is written (KTOR-3364)
- π Fix
testErrorHandling
with JS (KTOR-3510) - π Build and test on Apple Silicon Arm (KTOR-3248)
- π Fix old metadata publication (KTOR-3469)
- β Remove checking body transformation from ContentNegotation (KTOR-3272)
- π Ktor-Utils references a Java API not supported by Android (KTOR-3426)
- β
With test application should load environment from the
application.conf
(KTOR-2794) - β Inconsistent TestApplicationRequest and Client HttpRequestBuilder API's (KTOR-1246)
- Server features instead of client in the client
install
block (KTOR-3412) - Using proguard and CallLogging feature causes JVM crashes (KTOR-3345)
- π
ContentNegotiation
is missing in the plugins completion window (KTOR-3411) - π Code Snippets use Groovy in build files as opposed to default Kotlin option for Wizard (KTOR-2190)
- IJ locked after attempt to create new run config in a dialog (KTOR-3385)
- π ContentNegotiation plugins don't accept null-responses from ContentConverts (KTOR-3346)
- π High CPU consumption/Lock after project opening in org.jetbrains.kotlin.storage.getValue ; org.jetbrains.kotlin.idea.caches.resolve.IdeaResolverForProject (KTOR-3337)
- β‘οΈ Update Ktor Plugin Description (KTOR-3388)
- Project Generated with eap-256 has Errors in Imports (KTOR-3397)
- β‘οΈ Update non-generic samples to 2.0 (KTOR-3285)
- π Simplify plugin descriptions in wizard, remove empty options (KTOR-3386)
- Bearer Authentication: Queue requests until refresh of tokens is completed (KTOR-3325)
- Article about storing sensitive data and accessing it in application.conf (KTOR-3340)
- Android: Failed resolution of: Ljava/nio/file/Paths using API 25 and lower (KTOR-3269)
- IDE action to migrate to 2.0.0 (KTOR-3225)
- π² Passing port 0 to start server on random port doesn't publish correct port to log (KTOR-3288)
- π XForwardedHeaderSupport is installed late in the pipeline (KTOR-731)
- Error in 2.0 doc/sample for HttpClient retry (KTOR-3303)
- β Cyclic dependency issue in latest 2.0 (main branch) (KTOR-3240)
- π§ An error occurred when running a sample with the configured XML serializer (KTOR-3286)
- respondOutputStream behind nginx fails (KTOR-346)
- ProxyConfig.type checking for DIRECT instead of SOCKS (KTOR-1733)
- Freeze the screen when I create routes (KTOR-3004)
- π httpMethod is not affected by X-Http-Method-Override (in opposite to docs) (KTOR-404)
- π Client: DefaultRequest apply defaults before request builder (KTOR-2877)
- KDoc: HttpRequestBuilder.header actually appends header value, does not set it (KTOR-2492)
- π· TLS relared tests are failing on CI (KTOR-3224)
- π» Jackson: receiveOrNull crashes with an exception when sending empty content (KTOR-727)
- Content Negotiation: Gson: Should be able to return 400 for badly formatted request. (KTOR-373)
- Jackson-backed
ApplicationCall.receive
does not throwContentTransformationException
(KTOR-614) - β Remove Obsolete Check Cast from SuspendFunctionGun (KTOR-3178)
- π Support 2.0.0 in IDE (KTOR-3196)
- Client HttpCache feature is not documented (KTOR-1279)
- β‘οΈ Update server dependencies and imports in docs for 2.0.0 (KTOR-3150)
- Prioritize text found in feature titles over descriptions (KTOR-2488)
- SerializationException when serializing request body object of generic class type (KTOR-1019)
- β The 'Create test for Ktor module' intention actions changes files from other modules for a multimodule Gradle project (KTOR-3062)
- π Wizard Plugin listing strange link (KTOR-2882)
- β Nothing happens when no test routes is selected when generating Ktor test for module (KTOR-3095)
- β The 'Create test for Ktor module' intention action doesn't create any tests if routes are defined inside the extension function (KTOR-3079)
- π Allow using the client itself inside Auth plugin in the refreshTokens lambda. (KTOR-2977)
- β‘οΈ ADE at io.ktor.ide.plugins.add.KtorMarketplacePluginsUpdater.checkForUpdates (KTOR-3076)
- Ktor Client JS: request to /example requests http://localhost/example (KTOR-453)
- π URLBuilder: Move Default Values to build() function (KTOR-1345)
- Impossible to modify response headers (KTOR-2822)
- Missing Locations params result in 404 instead of 400 (KTOR-447)
- Should return 405 when route exists but not for given method instead of 404 (KTOR-737)
- π Fix 2.0.0 branch compilation (KTOR-2603)
- Query of pre-signed URL has been altered after decode and re-encode process (KTOR-778)
- ApplicationCall.locationOrNull raises error (KTOR-1684)
- π Make
body
nullable for request builder (KTOR-1400) - π Provide better support for Ktor clients (KTOR-883)
- Retry on HttpCode or network error (KTOR-572)
- HttpRequestRetry in KTOR 2.0 should allow for request altering between retries (KTOR-3544)
- π HttpCookies: parse / in the name of a cookie (KTOR-3497)
- π Support for adding values to the MDC later on in the pipeline. (KTOR-536)
- β‘οΈ Pull Request - fix #1970 - update MultiPartFormDataContent to allow contentType override using optional builder (KTOR-1833)
- 0οΈβ£ Pull Request - KTOR-1264 - Add UUID to DefaultConversionService (KTOR-1815)
- π Pull Request - Intercept pipeline at Setup phase for XForwardedHeaderSupport featureβ¦ (KTOR-1844)
- Pull Request - Add locale to ThymeleafContent (KTOR-1838)
- π Pull Request - KTOR-404 Introduce support for X-Http-Method-Override (KTOR-1825)
- Objections to changing boundary to internal on MultiPartFormDataContent? (KTOR-325)
- π Prototype anchors in new plugins API (KTOR-3392)
- π Rename the 'Ios' client engine to more generic term to cover all Apple operating systems (KTOR-3394)
- β‘οΈ Update Samples to Ktor 2.0 (KTOR-3218)
- Implement new
Locations
feature (KTOR-1706) - π Feature: Use websockets with serialization (KTOR-423)
- π· JS Client doesn't support ServiceWorker (KTOR-3448)
- π Move Server Related Code from
ktor-http-cio
toktor-server-cio
(KTOR-3462) - π Client request builder: add shortcuts for authentication headers (KTOR-2876)
- β Add Check if Feature is installed for
WebSocket
builders (KTOR-3459) - β
Implementation for Create
ktor-test
module with mocks of engine and clients for writing tests (KTOR-3236) - β TestEngineApplication - implement HttpClient API (KTOR-2416)
- β Add explicit menu action for migration (KTOR-3400)
- β Add possibility to fully configure metricName in ktor-server-metrics-micrometer (KTOR-3302)
- π Support New Native Memory Model (KTOR-3217)
- Server for Kotlin Native (KTOR-746)
- call.request.queryParameters decode plus as space (KTOR-3297)
- π Migrate existing plugins to RoutingScoped (KTOR-3201)
- π Support receiving OAuth code response as form post (KTOR-3342)
- β Add parameter for specifying content-length in ApplicationCall#respondBytes (KTOR-3087)
- π Allow application environment configuration when running via commandLineEnvironment (KTOR-3027)
- β Add locale to ThymeleafContent (KTOR-3313)
- β Add support for ports in withTestApplication (KTOR-725)
- π¦ Expose non-reified request methods (KTOR-2590)
- π XML Support in Ktor (KTOR-489)
- Start ktor server on random port (KTOR-686)
- parameterOf() should have a variant that takes in a Map> (KTOR-399)
- [Ktor Client] CborFeature (KTOR-3174)
- Can't set a base url that includes path data (KTOR-730)
- Ktor: Fold internal stack frames for HTTP server (KTOR-2274)
- β Add method to Client and ServerResponseException (KTOR-3128)
- β Add UUID to DefaultConversionService (KTOR-1264)
- Implementation for Simple API for writing features (KTOR-2480)
- β Add filtering support in Ktor client response interceptor (KTOR-2992)
- Define completion priorities for Ktor keywords (KTOR-2773)
- β Adding features action in IDE (KTOR-2893)
- Implement design about moving features from ktor-server-core (KTOR-1239)
- π¦ Move server code to io.ktor.server.* package (KTOR-2865)
- ApplicationConfig: how to iterate over keys and values of config (KTOR-2318)
- Implementation for Events Feature For Client Metrics (KTOR-2472)
- ContentConverter.convertForSend should receive a KType (KTOR-444)
- Send 100 Continue response only when getting a request to receive
IncomingContent
(KTOR-855) - π Update Documentation and Code for HttpsRedirect Feature (KTOR-1879)
- π Improve documentation for native/Apple client engines (KTOR-3375)
- π Update Documentation and Code for CallId Feature (KTOR-1874)
- π Feature to Plugin changes in Documentation (KTOR-2372)