All Versions
37
Latest Version
Avg Release Cycle
20 days
Latest Release
79 days ago

Changelog History
Page 3

  • v1.1.3

    Published 21 Feb 2019

    • 🛠 Fixed NoSuchMethodError on Android (#927)
    • 🛠 Fixed upload file error on JS (#956)
    • 🛠 Fixed several encodings issues caused corrupted jsons and receive pipeline erros (#920, #787, #866)
    • 🛠 Fixed curl connection errors reporting
    • ⚡️ Updated jackson dependency (#952)
  • v1.1.2

    Published 24 Jan 2019

    • Introduced native curl client engine (#479)
    • ➕ Added iosArm32 target (except curl)
    • 🏗 Host and port route builders (#825)
    • 🛠 Fixed host() and port() functions to respect proxy (#834)
    • 🛠 Fixed classloading issue affecting hot-reload (#825)
    • 🛠 Fixed hanging CIO client (#800, #806)
    • ➕ Added CIO client CBC support (#623, #560, #394)
    • ⬆️ Upgraded JWKS/JWT (#856)
    • 🛠 Fixed server MessageDigest concurrent issues
    • 🗄 Introduced NonceManager, deprecated OAuth2StateProvider
    • Prohibited setting session at server after responding the call (#864)
    • 🛠 Fixed loosing errors in StatusPages if there was already a response sent
    • Introduced application property on ApplicationEngine interface
    • Introduced experimental ktor server exceptions
      • BadRequestException
      • NotFoundException
      • MissingRequestParameterException
      • ParameterConversionException
      • supported in locations out of the box (including #767)
      • experimental parameters delegation support
    • ➕ Added routing tailcard prefix support (#876, #526)
    • 🛠 Fixed registering content converters with custom content type pattern (#872)
    • 👌 Improved GSON error diagnostics (#811)
    • 0️⃣ Exclude several content types in Compression feature by default: audio, video, event-stream (#817)
    • 🛠 Fixed hanging handleWebSocketConversation
    • 🛠 Fixed cookie session max-age value to be bumped to Int.MAX_VALUE (#892)
    • 🛠 Fixed CIO headers parsing: allowed headers with no values
    • 🛠 Fixed client websocket nonce size (#861)
    • 🛠 Fixed client scheme parsing
    • 👌 Supported client relative redirects by making #takeFrom() resolve relative urls. (#849)
    • 🛠 Fixed network on main thread in CIO (#764)
    • 🔄 Changed the default algorithm to SHA-256 from SHA-1 for signed server cookies
    • 🛠 Fixed conflicting WebSockets and StatusPages (#889)
    • ⚡️ Update gradle to 4.10
    • Kotlin 1.3.20, kotlinx.coroutines 1.1.1, kotlinx.serialization 0.10.0
  • v1.1.1

    Published 26 Dec 2018

    • 🛠 Fixed broken pom files
  • v1.1.0

    Published 24 Dec 2018

    • ⬇️ Reduced JDK7/8 dependencies (including #762)
    • 🗄 Discarded deprecated API
    • 👍 Coroutines debug agent support
      • see Kotlin/kotlinx.coroutines/core/kotlinx-coroutines-debug/README.md
    • 🛠 Fixed IndexOutOfBounds during main module function search
    • okhttp-client: pass contentLength for multipart form data
    • 👌 Improved auto-reloading feature in corner-cases (#783)
    • 🛠 Fixed HTTP server upgrade to delay socket close (#674)
    • ➕ Added Mustache templating feature (#713)
    • ➕ Added ability to configure Logger instance for CallLogging
    • 🛠 Fixed session HMAC to do a constant time comparison
    • ➕ Added Node.js suport for js http client (#791)
    • 🗄 SessionTransportTransformerDigest is deprecated (#792)
      • also switched to SHA-384 by default that is not vulnerable
    • 🛠 Fixed jetty server thread names (#756)
    • 🛠 Fix conditional headers zoned dates (#476)
    • NettyChannelInitializer made public (#286)
    • 🛠 Fixed slf4j dependency (#808)
    • 🛠 Fixed client logging freeze
    • ➕ Added client DigestAuth feature
    • 🛠 Fixed apache client response reading freeze
    • 🛠 Fixed apache client engine errors handling
    • Kotlin 1.3.11, kotlinx.coroutines 1.1.0
  • v1.0.1

    Published 4 Dec 2018

    • 🌲 Client logging feature (Logging in ktor-client-logging)
    • 👀 Client user agent feature (see UserAgent)
    • 👍 Client top-level list serialization support (#739)
    • JS client body handling fix (#746)
    • 🛠 Client redirect edge cases fixed
    • Client close/cancel handling improved
    • 🛠 CIO client bugfixes
    • 👍 Unicode filenames support in multipart fileupload (#757, #687, #596)
    • ContentNegotiation and WebSocket server features compatibility (#745)
    • Server session cookie duration is optional (#736)
    • 🛠 Server autreload support fixed (#736)
    • 🛠 CachingOptions resolution ambiguity fixed (#741)
  • v1.0.0

    Published 19 Nov 2018

    • 👌 Improved documentation
    • 👌 Improved performance
    • Kotlin 1.3.10
    • 👍 kotlinx.coroutines 1.0.1 and structured concurrency support:
      • Coroutine scopes introduced per pipeline, call, application and web socket session
    • 🛠 Fixed client response cancelation via receive<Unit>() and response.cancel()
    • 0️⃣ Disabled client pipelining by default to provide safe behavior by default
    • GMTDate improvements on js and native
    • ➕ Added client response observer for response logging purpose
    • ✅ Test client and mock engine improvements
    • 🛠 Cookies dates, domains and dupicate parameters processing fixed
    • 🛠 Server pipeline fixed to discard request body if not used (#609, #574)
    • 🛠 Websocket session lifecycle fixed during close sequence
    • 🛠 Several Url and UrlBuilder fixes and improvements
    • Introduced ExpectSuccess client feature
    • 🛠 Fixed StatusPages to handle child job failures (#646)
    • 🛠 Compression bugfixes (including #708, #685)
    • 🛠 Fixed timeouts in websockets with Jetty
    • 📇 Renamed DevelopmentEngine to EngineMain
    • Restricted @Location annotation targets, allow on a typealias (#539)
    • ✂ Removed default connector on port 80 (#670)
    • 🛠 Several JWT and OAuth bugfixes and error habdling improvements (#664, #676, #550)
    • 👌 Improved serialization client feature
  • v0.9.5

    Published 19 Sept 2018

    • ➕ Added shorthand client functions for HEAD, OPTIONS, PATCH and DELETE methods (#562)
    • 📜 URLBuilder's parser improved (#553, #567)
    • 👌 Improved client's cookie matching and processing
    • Introduced CallId feature
    • ➕ Added MDC support to CallLogging feature
    • 🛠 Fixed setting charset encoding for non-text content types
    • ➕ Added respondOutputStream { } response function
    • Migrated to Kotlin 1.2.70
    • Split Infrastructure phase into Monitoring and Features phases
  • v0.9.4

    Published 29 Aug 2018

    • ➕ Added multiplatform client support (android and ios)
    • ➕ Added Android client engine (UrlConnection)
    • ➕ Added OkHttp client engine (Android support)
    • ➕ Added Jackson feature support
    • ➕ Added Ios client engine
    • 🗄 Deprecated response.contentType and response.contentLength
    • 🗄 Strengthened IncomingContent deprecation
    • ⬆️ Upgraded Jetty ALPN, Tomcat
    • 🛠 Fixed config evaluation issues (#488)
    • ⬆️ Disabled async incoming upgrade stream at Tomcat
    • Prohibited appending unsafe headers to request headers
    • 📇 Renamed XForwardedHeadersSupport to XForwardedHeaderSupport (#547)
    • ➕ Added HttpResponse.receive<T> method to run response pipeline on raw response
    • 📜 Introduced kotlin multiplatform url-parser
    • 👌 Supported client form data and multipart
    • ➕ Added missing client builders for post and put methods
    • 🔧 Simplify client configuration API
    • 🛠 Fixed several compression issues
    • 🛠 Fixed client attributes evaluation
    • 🛠 Fixed CIO engine random algorithm selection
    • 🛠 Fixed url parsing (#511)
    • 🛠 Fixed ambiguity in writing client Content-Type and Content-Length headers
    • 🐎 Minor performance fixes
    • 🛠 Netty HTTP/2 fixes
    • 🛠 Fixed IOOBE in satic resource resolution (#493)
    • 🛠 Fixed JWT error handling
    • Kotlin 1.2.61, kotlinx.coroutines 0.25.0
  • v0.9.3

    Published 26 Jun 2018

    • 👌 Improved WebSocket API
    • Websocket header Sec-WebSocket-Key is now optional
    • 🛠 Fixed client cookies rendering to avoid x-enc
    • 🛠 Fixed plain text client reader (#392)
    • Added EC support in CIO TLS (#394: ECDHE_RSA_AES256_SHA384, ECDHE_RSA_AES128_SHA256)
    • 🛠 Fix client certificate validation
    • Introduced optional authentication
    • ➕ Added ApplicationCall as receiver for auth validate functions
    • Introduced call.respondBytes (#395)
    • 👌 Improved JWT support: multiple schemes, nullable issuer
    • Conversion service enum type diagnostics improved (#403)
    • 👍 Avoided using apos entity in HTML escaping as IE doesn't support it (#400)
    • 👍 Converter support for java big numbers
    • Ability to add auth methods to existing feature on the fly
    • 👌 Improved auth header scheme and contents validation (#415)
    • 0️⃣ Default charset for BasicAuth is now UTF-8 (#420)
    • ➕ Added ByteArrayContent.contentLength (#421)
    • 🛠 Fixed headersOf case insensitive issue (#426)
    • Client deserialization improved by using type token
    • 0️⃣ Ability to disable client default transformers
    • Explicit Accept header in client request
    • Turn on masking in client websockets (#423)
    • 🛠 Fixed inverted PartialContent.Configuration.maxRangeCount check (#440)
    • 🛠 Fixed uncaught UnsupportedMediaTypeException from receiveOrNull() (#442)
    • 🛠 Fix multipart boundary header parsing
    • ⬆️ Upgraded jwks/jwt, applied RSA256 by default if unspecified (#434, #435)
    • ⬆️ Upgrade coroutine version to 0.23.3
    • ⬆️ Upgrade Jetty version to 9.4.11.v20180605
    • ➕ Add client-mock-engine for testing purpose
    • 0️⃣ Use default available engine by deafult
    • ⬆️ Upgrade kotlin to 1.2.50

    🚚 Move ktor-samples to a separate repository (#340). https://github.com/ktorio/ktor-samples

  • v0.9.2

    Published 23 Apr 2018

    • 🆕 New auth DSL, more suspendable functions (such as verify/validate)
    • RoutingResolveTrace for introspecting routing resolution process
    • 🛠 HTTP client improvements and bugfixes (DSL, reconnect, redirect, cookies, websockets and more)
    • 👍 CIO http client pipelining support, chunked and more
    • 👍 CIO initial TLS support
    • Session authentication provider
    • OAuth2: introduce ability to generate and verify state field
    • OAuth: fix scopes parameter to conform to RFC (#329)
    • OAuth2: fix bug with double scopes encoding (#370)
    • OAuth2: add ability to intercept redirect URL
    • CORS: introduce allowSameOrigin option
    • Auth: provide application call as receiver for validate functions (#375 and related)
    • ✅ Test host reworked, handleRequest reads the body and redirects the exceptions correctly
    • 🛠 Servlets: fixed inputStream acquisition, fixed error handling
    • Java 9 compatibility improved (no modules yet)
    • 🛠 Digest auth fixes (#380)
    • 🌲 Log running connectors details for better development experience (#318)
    • Last-Modified header and related functionality to work in proper GMT time zone (#344)
    • 🗄 IncomingContent is deprecated
    • 🛠 URLBuilder fixes and improvements
    • 📚 Documentation improvements
    • 🐎 Performance optimizations (Netty, CIO server backends)
    • CIO server improved stability
    • 👍 Encrypted session support (SessionTransportTransformerEncrypt)
    • Empty (null) model for freemarker (#291)
    • 👍 ContentNegotiation missing Accept header support (#317)