CHANGELOG.md 7,9 КБ
Newer Older
Sergey Mashkov's avatar
Sergey Mashkov включено в состав коммита
1
# 0.9.3
Sergey Mashkov's avatar
Sergey Mashkov включено в состав коммита
2
> Published 26 Jun 2018
Sergey Mashkov's avatar
Sergey Mashkov включено в состав коммита
3
4
5
6
7
8

* Improved WebSocket API
* Websocket header `Sec-WebSocket-Key` is now optional
* Fixed client cookies rendering to avoid `x-enc`
* Fixed plain text client reader
* Added EC support in CIO TLS
Sergey Mashkov's avatar
Sergey Mashkov включено в состав коммита
9
* Introduced optional authentication 
Sergey Mashkov's avatar
Sergey Mashkov включено в состав коммита
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
* Added `ApplicationCall` as receiver for auth `validate` functions
* Introduced `call.respondBytes`
* 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
* A lot of bugfixes in CIO client and server
* Turn on masking in client websockets (#423)
* Fixed inverted `PartialContent.Configuration.maxRangeCount` check (#440)
Sergey Mashkov's avatar
Sergey Mashkov включено в состав коммита
27
28
* Fixed uncaught `UnsupportedMediaTypeException` from `receiveOrNull()` (#442)
* Upgraded jwks/jwt, applied RSA256 by default if unspecified (#434, #435)
Sergey Mashkov's avatar
Sergey Mashkov включено в состав коммита
29

Sergey Mashkov's avatar
Sergey Mashkov включено в состав коммита
30
# 0.9.2
Sergey Mashkov's avatar
Sergey Mashkov включено в состав коммита
31
> Published 23 Apr 2018
Sergey Mashkov's avatar
Sergey Mashkov включено в состав коммита
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

* New auth DSL, more suspendable functions (such as `verify`/`validate`)
* `RoutingResolveTrace` for introspecting routing resolution process
* HTTP client improvements and bugfixes (DSL, reconnect, redirect, cookies, websockets and more)
* CIO http client pipelining support, chunked and more
* CIO initial TLS support
* Session authentication provider
* OAuth2: introduce ability to generate and verify state field
* OAuth: fix scopes parameter to conform to RFC (#329)
* OAuth2: fix bug with double scopes encoding (#370)
* OAuth2: add ability to intercept redirect URL
* CORS: introduce `allowSameOrigin` option
* Auth: provide application call as receiver for validate functions (#375 and related)
* Test host reworked, `handleRequest` reads the body and redirects the exceptions correctly
* Servlets: fixed `inputStream` acquisition, fixed error handling
* Java 9 compatibility improved (no modules yet)
* Digest auth fixes (#380)
* Log running connectors details for better development experience (#318)
* `Last-Modified` header and related functionality to work in proper GMT time zone (#344)
* `IncomingContent` is deprecated
* `URLBuilder` fixes and improvements
* Documentation improvements
* Performance optimizations (Netty, CIO server backends)
* CIO server improved stability
* Encrypted session support (`SessionTransportTransformerEncrypt`)
* Empty (`null`) model for freemarker (#291)
* `ContentNegotiation` missing `Accept` header support (#317)

Sergey Mashkov's avatar
Sergey Mashkov включено в состав коммита
60
61
62
# 0.9.1
> Published 29 Jan 2018

Sergey Mashkov's avatar
Sergey Mashkov включено в состав коммита
63
* Support for blocking servlets and GAE
Sergey Mashkov's avatar
Sergey Mashkov включено в состав коммита
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
* `Headers` and `Parameters` types instead of `ValuesMap`
* Velocity templates support
* Unsafe (Forbidden) headers checks added
* Deprecated `Resource` type
* Added support for extensible version providers to ConditionalHeaders feature 
* Engine-specific configuration support for application.conf
* Added filtering and customisation of log level to CallLogging feature
* Added ability to skip authentication using a predicate, add documentation to Authentication feature
* Introduced auth0 JWT/JWKS authentication (#266)
* ktor http client DSL improvements
* CIO engine improvements, stability and performance
* Introduced [OutgoingContent] properties `contentLength`, `contentType` and `status` 
* Upgrade Netty in the corresponding engine implementation
* Introduced `shareWorkGroup` option for Netty engine
* More documentation
* Bump versions of dependencies

Sergey Mashkov's avatar
Sergey Mashkov включено в состав коммита
81
# 0.9.0
Sergey Mashkov's avatar
Sergey Mashkov включено в состав коммита
82
> Published 31 Oct 2017
Sergey Mashkov's avatar
Sergey Mashkov включено в состав коммита
83
84
85

* Package structure reworked
* Packages and maven groupId renamed org.jetbrains.ktor -> io.ktor
Sergey Mashkov's avatar
Sergey Mashkov включено в состав коммита
86
* Server-related artifacts having ktor-server-* name prefix (ktor-netty -> ktor-server-netty)
Sergey Mashkov's avatar
Sergey Mashkov включено в состав коммита
87
88
89
90
91
92
93
94
95
96
97
98
99
* Application Host renamed to Application Engine  
* FinalContent renamed to OutgoingContent as opposite to IncomingContent (introduced in 0.4.0)
* Added Application Engine configure facilities so one can specify thread pool size or some engine-specific parameter
* Initial idiomatic ktor HTTP client implementation (artifacts prefixed with ktor-client-*)
* Metrics support, DropWizard integration
* Improve routing API, tune resolution mechanics, hide some implementation details
* ContentNegotiation feature to support variable content on send and receive 
* Jackson support
* Experimental pure kotlin application engine on coroutines (CIOApplicationEngine) and CIO-based http client backend
* Improved stability under load
* Status pages processing improvements 
* A lot of documentation

Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
100
# 0.4.0
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
101
> Published 16 Aug 2017
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
102

Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
103
* Built with Kotlin 1.1.4
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
104
* Refactored receive/response pipelines and moved them into respective ApplicationRequest & ApplicationResponse classes 
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
105
* Fixes, improvements and integration tests for HTTP/2 support
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
106
107
* Update `ContentType` to treat all parts case insensitively
* Remove `ApplicationLog` and use SLF4J `Logger` directly
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
108
* Add HttpMethod.Patch and respective builder functions 
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
109
* `routing` function will now install `Routing` feature or use existing installed feature for easier modules 
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
110
* Convert sessions to proper feature, support multiple sessions, improve DSL 
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
111
* HeadRequestSupport feature is renamed to AutoHeadResponse (with deprecated typealias)
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
112
113
114
115
116
117
118
* Replace ApplicationTransform with receive pipeline
* Introduce send/receive pipelines for all call pipelines
* Gson application feature for JSON transformation of incoming & outgoing data objects
* Added HttpBin sample (thanks to @jmfayard)
* Employ `DslMarker` annotation to prevent accidental use of route functions in get/post handlers 
* Improve diagnostics for untransformed content
* Ensure missing file (`FileNotFoundException`) can be handled properly with `StatusPages` feature 
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
119
* Websocket fixes for large frames, fragmentation and more
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
120
121
122
123
* Support for specifying config file with command line
* Improvements in Servlet-based hosts
* Memory allocation and performance optimisations
* Add Apache 2 LICENSE file
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
124
125
126
* Add documentation to some types
* New sample for static content
* Bump versions of dependencies
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
127

Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
128
# 0.3.3
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
129
> Published 22 Jun 2017
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
130
131
132
133

* Execution model slightly changed to avoid global executors. ApplicationEnvironment doesn't provide `executor` anymore
* Websockets refactored with channels instead of callback functions
* Fixed bug with compression not preserving status code (thanks Diego Rocha)
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
134
135
* Fixes in Netty support: performance issues under heavy load and keep-alive connections, cancellation, closed sockets
* Fixes in session serialization, enums support
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
136
137
138
* Optimisations in Servlet and Jetty hosts, fixes in edge cases
* Fixes in chat sample

Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
139
# 0.3.2
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
140
> Published 24 Apr 2017
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
141
142
143

* Fix bug in byte array response that missed Content-Length header
* Fix default encoding in FreeMarker to be UTF-8
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
144
145
146
* Fix FreeMarker writer
* Fix charset for text/* content types to be UTF-8 by default
* Fix Kweet sample application in kweet deletion
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
147
* Fix form authentication to adhere to removal of post parameters from `parameters`
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
148
149
150
151
152
153
154
* Rework static content DSL to improve usability
* Improve Accept header handling in routes
* Support local class in locations, improve diagnostics
* Add servlet host tests running in Jetty, but using servlet deployment model
* Benchmarks can now measure GC performance (and any other JMH profiler)
* Performance optimisations

Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
155

Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
156
# 0.3.1
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
157
> Published 7 Apr 2017
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
158
159
160
161
162
163
164
165
166
167
168

* Replace routing function `contentType` with `accept`
* Major refactoring in internal host system to simplify and unify code
  * Use `embeddedServer(Netty, …)` instead of `embeddedNettyServer(…)`
  * Support automatic reloading in embedded hosts
  * Fix ApplicationTransform problems preventing Freemarker templates from working
* Fix json and logback dependencies to avoid propagating to clients 
* Bug fixes & performance optimisations
* Documentation

# 0.3.0
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
169
> Published 8 Mar 2017
Ilya Ryzhenkov's avatar
Ilya Ryzhenkov включено в состав коммита
170

Sergey Mashkov's avatar
Sergey Mashkov включено в состав коммита
171
* Major refactor to coroutines