Releases
2.0.0
Fix dokka version catalog generation
Update API docs for all plugins
Cleanup after migrating to version catalog
Update Kotlin to 1.6.20
Keep original content type when no registrations match
Fix body logging mixed with different request
Fix CIO client timeout
Migrate to version catalog
Support WebSockets in Darwin engine
Fix freeze with WriteChannelContent in test client
Use request timeout instead of socket timeout in Java client
Fix selector manager
Fix InvalidPathException in ApplicationEngineEnvironmentReloading.kt
Add native html builder support
Allow overriding dispatcher in MockEngine
Fix freeze in response observer
Fix allocation issues
CIO Native WebSockets
Change HttpClientCall fields visibility
Adjust CORS configuration names
Fix Deflater leak
Move ApplicationCallPlugin to companion object
Fix OAuth scopes encoded to %2B
Add more KtorDsl annotations
CORS allowHeadersPrefixed
should ignore case
Remove mutex from call logging
Reuse most useful hooks
Use secure random for nonce generation
SinglePageApplication plugin returns 404 for non-existent paths
The "charset=UTF-8" part is added for the Content-Type header
Add jte template support
Fix contextual serializer with kotlinx
Add isNotEmpty() and size methods to PlaceholderList
Add call to CachingHeadersConfig.options callback
Fix MDC context in client response body logging
Rewrite Netty Engine
Add links to a migration guide
Bump actions/checkout from 2 to 3
Break infinite refresh token cycle on 401
Use conditional headers from response
Ktor client content encoding: do not decode empty body
Clarify the selector problem in the exception message
Introduce BaseApplicationPlugin
Introduce file cache; Prevent blocking when receiving conte…
handleResponseException should have access to request to provide valuable information in exceptions
Rename the 'io.ktor.resources.serialisation' package to '...serialization' for consistency
Bump micrometer-core from 1.7.5 to 1.8.3
Update slf4j to 1.7.36
Update node_fetch_version to 2.6.7, remove kotlin-js-store/yarn.lock from .gitignore
Replace specify pattern for JSON.stringify
Drop obsolete dependency; cleanup configuration
Clean up of the plugins API
Handle any generic failures in CIO and debugger flag
Migrate rest of the plugins
Clarify exception message
multipart/form-data requests: No way of streaming data asynchronously
Convert (X)ForwardedHeader to new API and rename plugin
Drop ApplicationReceiveRequest
Fixes invalidating cookies cache on every request
Support query and fragment in default request
Drop before and after from new plugins API
Add HTTPS Connector to TestApplicationEngine
Remove explicit JVM 8 target
Add auth from single provider if no WWW-Auth header is present
Support streaming of body in curl
Use global DslMarker
Fix SPA javadoc
Rewrite CallLogging, PartialContent, HttpsRedirect, WebJars, Metrics, CallId, ConditionalHeaders, Compression, Auto Head, DoubleReceive, Auth, FreeMarker, CORS, HSTS, ContentNegotiation, Sessions, XHttpMethodOverride, DefaultHeaders, Thymeleaf to new plugins API
Fix SinglePageApplicationTest
Remove single page plugin from ktor-server
Fix SinglePageApplicationTest after rebase
Support routing scoped plugins in hooks
Add Single Page Plugin
Bump metrics-core from 4.2.6 to 4.2.8
Bump metrics-jvm from 4.2.4 to 4.2.8
Drop ExperimentalTime
Status pages Fixes
Use UTF-8 as default charset for text and forms
Delete jvmAndNix in ktor-server
Update slf4j to 1.7.35
Fix NoClassDefFoundError on android in debugger detector
Disable response validation by default
Migrate server plugins to multiplatform
Flush unread bytes after readAvailable
Remove unnecessary command from Linux CONTRIBUTING.md setup instructions
Drop headerSizeHint
Update logback to 1.2.10
Fix routing is called for handled requests
Drop old native memory model
Add apiDump for DefaultHeader plugin changes
Fix webSocketSession method suspends indefinitely on connection error
Add defaults to stop method
Change version to snapshot
Fix double slash when appending segments
Support java modules
Retry-after header value should be in seconds
Fixed appendIfNameAbsent
and appendIfNameAndValueAbsent
Fix receiving streaming body breaks client
Fix sockets on Android
Use DEFAULT_COMPRESSION for java.util.zip.Deflater
Fix binary compatibility with jdk8
Fix curl configuration
Update Dokka to 1.6.10 and remove ZipException workaround for JS files
Returning Thymeleaf fragments from Routes
Add protocol support to testApplication
Add option to choose value for X-Forwarded-* and Forwarded headers
You can’t perform that action at this time.