Skip to content

Releases: ktorio/ktor

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)

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)