Migrating 1.1.1 → 1.1.2

1.1.2

Ktor has reached 1.1.2! 🎉

Published 24 Jan 2019

Version bumps:

  • Kotlin: 1.3.11 -> 1.3.20
  • Kotlinx IO: 0.1.3 -> 0.1.4
  • Kotlinx Coroutines: 1.1.0 -> 1.1.1
  • Kotlinx Serialization: 0.9.0 -> 0.10.0
  • AtomicFU: 0.12.0 -> 0.12.1

Added:

  • Client:
    • Native curl client engine #479.
    • IOS ARM32 target (except curl).
    • CIO client CBC support (#623, #560, #394).
  • Server:
    • host and port route builders.
    • NonceManager for digest auth and OAuth.
    • Experimental ktor server exceptions:
      • BadRequestException
      • NotFoundException
      • MissingRequestParameterException
      • ParameterConversionException
      • supported in locations out of the box (including #767 )
      • experimental parameters delegation support
    • Routing tailcard prefix support (#876, #526 )
    • ContentType.Text.EventStream, excluded from compression by default

Fixes:

  • Added iosArm32 target (except curl)
  • Fixed host() and port() functions to respect proxy (#834 )
  • Fixed classloading issue affecting hot-reload (#825)
  • Fixed hanging CIO client (#800, #806)
  • Upgraded JWKS/JWT (#856)
  • Fixed server MessageDigest concurrent issues
  • Prohibited setting session at server after responding the call (#864)
  • Fixed loosing errors in StatusPages if there was already a response sent
  • Fixed registering content converters with custom content type pattern (#872)
  • Improved GSON error diagnostics (#811)
  • 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
  • Fixed network on main thread in CIO (#764)
  • Fixed conflicting WebSockets and StatusPages (#889)

Breaking changes:

  • kotlinx.serialization upgrade is required from 0.9.0 to 0.10.0 due to binary compatibility issues
  • Several deprecated API is error-level, will be removed in 1.2.0

Known issues:

  • Still there are issues with threadless containers
  • curl arm32 target is not supported