Skip to content

Releases: ktorio/ktor

1.2.5

27 Sep 13:26
Compare
Choose a tag to compare

Published 27 Sep 2019

  • Fixed ClosedSendChannel exceptions in client and server
  • Fixed Android crash on client and server exceptions
  • Fixed server identity compression handling: keep original content length
  • Fixed partial content without the passed range doesn't have content length
  • Fixed curl request with empty body
  • Fixed empty client form data (#1297)
  • Fixed CIO engine no longer sends port in "Host" header (#1295)
  • Fixed potential deadlock in Android engine
  • Gradle Metadata 1.0 (Gradle 5.6.2)
  • kotlinx.coroutines 1.3.2
  • kotlinx.serialization 0.13.0
  • Dropwizard 4.1.0
  • jackson 2.9.9.3

1.3.0-beta-1

11 Sep 11:23
Compare
Choose a tag to compare
1.3.0-beta-1 Pre-release
Pre-release
  • ktor client proxy support
  • Eliminated kotlinx.io dependency
  • Fixed server identity compression handling: keep original content length
  • Fixed handling GET requests with body (#1302)
  • Fixed curl request with empty body
  • Added iOS url session configuration
  • Fixed CIO engine no longer sends port in "Host" header (#1295)
  • Add INTRINSIC value to TLS signature algorithms
  • Introduced ability to send string in request body
  • Improved client and server typeOf support with kotlinx.serialization
  • Gradle 5.4.1+ with newer metadata
  • Improved exceptions handling in client and server on Android
  • Added missing TLS parameters and relaxed TLS parsing to ignore unsupported features

There are breaking changes, see https://ktor.io/quickstart/migration/1.3.0.html

1.2.4

02 Sep 19:23
Compare
Choose a tag to compare

Published 2 Sep 2019

  • Fixed multipart form header entity separator
  • Fixed crypto in IE11 (#1283)
  • Marked response transient in the client exception (#1256)
  • Fixed network on main thread in okhttp engine close
  • Fixed follow redirect iOS (#1000)
  • Kotlin 1.3.50
  • kotlinx.coroutines 1.3.0

1.2.3

01 Aug 18:32
Compare
Choose a tag to compare

Published 1 Aug 2019

  • JS websocket bugs fixes and improvements
  • Eliminated Java9's Base64 implementation (useful for older JDK and Android)
  • Fixed bug of adding unexpected trailing slash (#1201) (#1206)
  • Improved apache and okhttp client engines performance
  • Fixed client response body cancellation
  • Added client response streaming on nodejs
  • Deprecated old client BasicAuth
  • Introduced a flag to send auth without negotiation
  • Added server kotlinx.serialization initial support (SerializationConverter)
  • Client TLS implementation fixes: cancellation and error handling.
  • Added web assembly content type.
  • Prohibited server double request content call.receive.
    • Introduce DoubleReceive feature that makes it work.
  • Server CORS support fixed and improved
  • Added initial kotlinx.serialization support for server including receiving generic collections.
  • Introduced ktor-bom for better dependency management.
  • Improved jetty server engine configuration to enable manual connectors setup.
  • Fixed client memory leak (#1223).
  • Upgraded Jetty, Netty and utility libraries.
  • Kotlin 1.3.41

Breaking changes/Migration steps:

  • CORS doesn't allow non-simple request body content types anymore by default
    • to allow extra content types such as json, enable allowNonSimpleContentTypes
  • At least Kotlin 1.3.41 IS REQUIRED

1.2.3-rc

23 Jul 23:14
Compare
Choose a tag to compare
1.2.3-rc Pre-release
Pre-release

1.2.2

20 Jun 07:00
Compare
Choose a tag to compare

Published 20 June 2019

  • Upgraded to Kotlin 1.3.40.
  • Netty server engine uses native transports when available (#1122).
  • Upgraded to Netty 4.1.36 (#1190).
  • Added JVM shutdown hooks in server engines (#1111, #1164).
  • Introduced challenge builder functions in server auth providers (#366, #921, #1130, #798).
  • Segmentation fault is fixed in native clients (#1135).
  • Improved gracefull shutdown in ktor client engines Jetty and Apache.
  • Removed kotlin-reflect from ktor jvm clients (#1162).
  • Client threads daemonized (#1170).
  • Relaxed client cookie value restrictions (#1069).
  • Fixed empty client requests with okhttp engine (#1175).
  • API cleanup, deprecations.
  • kotlinx.coroutines 1.2.2, kotlinx.serialization 0.11.1.

1.2.1

27 May 20:37
Compare
Choose a tag to compare

Published 27 May 2019

  • Fixed module function lookup (regress, #1132)
  • Fixed SessionTransportTransformers application order (#1147)
  • Fixed double content length header in requests on older Androids (#1060)
  • Fixed receiving a byte channel crash on Android (#1140)
  • Fixed websocket sockets lifecyle on Jetty engine
  • Downgraded Gradle to reduce gradle metadata version

1.2.0

14 May 13:49
Compare
Choose a tag to compare

14 May 2019

  • Introduced multiplatform websockets: jvm, js.
  • Added client certificates support.
  • Fixed updating session in directory storage (#963).
  • Added optional contentType to formDsl (#910).
  • MockEngine version which favors execution order and returns processed requests (#924).
  • Fixed Unit body serialization.
  • Allowed using preconfigured OkHttp client instance.
  • Defined the client default user agent.
  • Improved curl error diagnostics and resource management.
  • Fixed LogLevel.NONE with body bytes.
  • Added CIO endpoint config builder.
  • Fixed status code check in client Auth feature.
  • Fixed client close issue.
  • Fixed: GMTDate.toJvmDate() uses current date instead of given date. (#986)
  • Moved client auth to common.
  • Use UTF-8 as default charset in BasicAuth.
  • Introduced client content encoding feature.
  • Introduced client call validator feature.
  • Old API deprecations and removals.
  • Fixed gzip/deflate on JDK11
  • Introduced JWT auth header retrieval configuration (#1048)
  • CallLogging message format customization (#1047)
  • Fixed logging error with no call-related MDC (#1033)
  • Avoided using constant hash salt in UserHashedTableAuth
  • Added LDAP auth provider proper characters escaping
  • Minimized jetty core pool size and made it configurable (#1083)
  • Made servlet engine use servlet config instead of context (#1063)
  • Introduced accepted content types contributor in ContentNegotiation (#357)
  • Introduced ApplicationEnvironment.rootPath with servlet engine support (context path) (#738)
  • Support for rootPath in routing by default (#738)
  • Introduce ability to serve web resources from WAR
  • Added micrometer metrics (#1037)
  • Added Thymeleaf templating feature (#988)
  • Cookie session use / path by default (#1043)
  • Add hot reload experimental support for JDK9+ (VM option required)
  • HttpStatusCode equals check is amended
  • Added client AcceptCharset header support
  • KotlinxSerializer moved to a separate artifact
  • Client engine API simplified
  • Introduced client cache support
  • Server authenticator config reworked
  • Server digest auth updated to use UTF-8
  • Added experimental android client line-wrapping logger
  • Fixed webjars parameters handling and several minor fixes
  • Introduced JWTVerifier configure block when using JWKProvider
  • Added client json feature custom content types support
  • Fixed incorrect url encoding for some characters (#1094)
  • Fixed hanging jetty server engine
  • Introduced CIO client engine request timeout config
  • Added client multipart content length support
  • Jetty upgraded to 9.4.15.v20190215
  • okhttp client upgraded to 3.14.0
  • Fixed CIO client CPU utilization issue
  • Kotlin 1.3.31
  • kotlinx.coroutines 1.2.1

1.2.0-rc2

08 May 23:00
Compare
Choose a tag to compare
1.2.0-rc2 Pre-release
Pre-release

1.1.5

24 Apr 14:39
Compare
Choose a tag to compare

Published 24 Apr 2019

  • Minimized jetty core pool size and make it configurable (#1083)
  • Servlet engine fixed to use servlet config instead of context (#1063)