Skip to content

Releases: ktorio/ktor

1.1.4

15 Apr 20:09
Compare
Choose a tag to compare

Upgrade kotlin release:

  • kotlin 1.3.30
  • kotlinx.coroutines 1.2.0

1.1.3

21 Feb 16:55
Compare
Choose a tag to compare

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)

1.1.2

24 Jan 21:56
Compare
Choose a tag to compare

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)
  • 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

1.1.1

26 Dec 16:10
Compare
Choose a tag to compare

Fix release for 1.1.0

  • Fixed broken pom files

1.1.0

24 Dec 17:43
Compare
Choose a tag to compare

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

1.0.1

04 Dec 19:12
Compare
Choose a tag to compare

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)

1.0.0

19 Nov 18:12
Compare
Choose a tag to compare
  • 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()
  • 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

0.9.5

18 Sep 23:38
Compare
Choose a tag to compare

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

0.9.4

06 Sep 16:53
Compare
Choose a tag to compare

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

Migration from 0.9.3 -> 0.9.4 http://ktor.io/quickstart/migration/0.9.4.html

0.9.3

26 Jun 11:50
Compare
Choose a tag to compare

0.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)
  • 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
  • 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
  • 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