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 with get(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 to ERROR 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 throw ContentTransformationException (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 to ktor-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)