|
2 | 2 |
|
3 | 3 | ## pre-v4.0.0
|
4 | 4 |
|
5 |
| - * Headers are now properly treated as case-insensitive |
6 |
| - * Original headers that have not had `string:casefold/1` run on each header |
7 |
| - name are still available in the request through `elli_request:original_headers` |
| 5 | +* Headers are now properly treated as case-insensitive |
| 6 | +* Original headers that have not had `string:casefold/1` run on each header |
| 7 | +name are still available in the request through `elli_request:original_headers` |
8 | 8 |
|
9 | 9 | ## v3.3.0
|
10 | 10 |
|
11 |
| - * Do not use x-forwarded-for for peer #75 |
12 |
| - * Handle arguments with no value in (post|get)_arg_decoded #82 |
13 |
| - * Fix compile-time warnings on missing record info. from aleppo #81 |
| 11 | +* Do not use x-forwarded-for for peer #75 |
| 12 | +* Handle arguments with no value in (post|get)_arg_decoded #82 |
| 13 | +* Fix compile-time warnings on missing record info. from aleppo #81 |
14 | 14 |
|
15 | 15 | ## v3.2.0
|
16 | 16 |
|
17 |
| - * Quell warnings on OTP-21: https://github.com/elli-lib/elli/pull/61 |
| 17 | +* Quell warnings on OTP-21: <https://github.com/elli-lib/elli/pull/61> |
18 | 18 |
|
19 |
| - * Generate HTML docs: https://github.com/elli-lib/elli/pull/58 |
| 19 | +* Generate HTML docs: <https://github.com/elli-lib/elli/pull/58> |
20 | 20 |
|
21 |
| - * Add OTP-21 to Travis build matrix: https://github.com/elli-lib/elli/pull/62 |
| 21 | +* Add OTP-21 to Travis build matrix: <https://github.com/elli-lib/elli/pull/62> |
22 | 22 |
|
23 |
| - * Remove unnecessary `stacktrace_compat` dependency: https://github.com/elli-lib/elli/pull/63 |
| 23 | +* Remove unnecessary `stacktrace_compat` dependency: <https://github.com/elli-lib/elli/pull/63> |
24 | 24 |
|
25 |
| - * Export `elli_request/uri_decode/1` and improve performance: https://github.com/elli-lib/elli/pull/67 |
| 25 | +* Export `elli_request:uri_decode/1` and improve performance: <https://github.com/elli-lib/elli/pull/67> |
26 | 26 |
|
27 |
| - * Update Travis config: https://github.com/elli-lib/elli/pull/69 |
| 27 | +* Update Travis config: <https://github.com/elli-lib/elli/pull/69> |
28 | 28 |
|
29 |
| - * Drop support for OTP-16: https://github.com/elli-lib/elli/pull/71 |
| 29 | +* Drop support for OTP-16: <https://github.com/elli-lib/elli/pull/71> |
30 | 30 |
|
31 |
| - * Prefer `OTP_RELEASE` over `rebar_erl_vsn` plugin: https://github.com/elli-lib/elli/pull/73 |
| 31 | +* Prefer `OTP_RELEASE` over `rebar_erl_vsn` plugin: <https://github.com/elli-lib/elli/pull/73> |
32 | 32 |
|
33 |
| - * Remove old `maintainers` metadata: https://github.com/elli-lib/elli/pull/74 |
| 33 | +* Remove old `maintainers` metadata: <https://github.com/elli-lib/elli/pull/74> |
34 | 34 |
|
35 | 35 | ## v3.1.0
|
36 | 36 |
|
37 |
| - * Update docs: https://github.com/elli-lib/elli/pull/57 |
| 37 | +* Update docs: <https://github.com/elli-lib/elli/pull/57> |
38 | 38 |
|
39 |
| - * Logging and stacktrace OTP-21 support: https://github.com/elli-lib/elli/pull/55 |
| 39 | +* Logging and stacktrace OTP-21 support: <https://github.com/elli-lib/elli/pull/55> |
40 | 40 |
|
41 |
| - * Include req_body size in sizes list: https://github.com/elli-lib/elli/pull/52 |
| 41 | +* Include req_body size in sizes list: <https://github.com/elli-lib/elli/pull/52> |
42 | 42 |
|
43 |
| - * Update CHANGELOG.md for 3.0.0: https://github.com/elli-lib/elli/pull/49 |
| 43 | +* Update CHANGELOG.md for 3.0.0: <https://github.com/elli-lib/elli/pull/49> |
44 | 44 |
|
45 | 45 | ## v3.0.0
|
46 | 46 |
|
47 |
| - * `scheme`, `host`, and `port` added to the `#req{}` record. Corresponding |
48 |
| - helper functions added to the `elli_request` module. |
| 47 | +* `scheme`, `host`, and `port` added to the `#req{}` record. Corresponding |
| 48 | + helper functions added to the `elli_request` module. |
49 | 49 |
|
50 | 50 | ## v2.1.2
|
51 | 51 |
|
52 |
| - * Update dependencies and re-enable linting |
| 52 | +* Update dependencies and re-enable linting |
53 | 53 |
|
54 |
| - * Increase test coverage |
| 54 | +* Increase test coverage |
55 | 55 |
|
56 |
| - * Declare optional callbacks to elli_handler |
| 56 | +* Declare optional callbacks to elli_handler |
57 | 57 |
|
58 |
| - * Add TLS sendfile implementation by James Fish (from Andrew Thompson) |
| 58 | +* Add TLS sendfile implementation by James Fish (from Andrew Thompson) |
59 | 59 |
|
60 |
| - * Use hackney instead of httpc in tests, due to httpc bug |
| 60 | +* Use hackney instead of httpc in tests, due to httpc bug |
61 | 61 |
|
62 | 62 | ## v2.0.2
|
63 | 63 |
|
64 |
| - * Adapt [knutin/elli#108](https://github.com/knutin/elli/pull/108) by Michael Zazaian |
| 64 | +* Adapt [knutin/elli#108](https://github.com/knutin/elli/pull/108) by Michael Zazaian |
65 | 65 |
|
66 |
| - * Incomplete request regression fix by Evan Vigil-McClanahan |
| 66 | +* Incomplete request regression fix by Evan Vigil-McClanahan |
67 | 67 |
|
68 |
| - * Handle binary URIs on OTP >=20 |
| 68 | +* Handle binary URIs on OTP >=20 |
69 | 69 |
|
70 |
| - * Bespoke uri_decode/1 to obviate inets dependency by Christoffer Vikström |
| 70 | +* Bespoke uri_decode/1 to obviate inets dependency by Christoffer Vikström |
71 | 71 |
|
72 | 72 | ## v2.0.1
|
73 | 73 |
|
74 |
| - * Miscellaneous tooling, test, and type spec tweaks |
| 74 | +* Miscellaneous tooling, test, and type spec tweaks |
75 | 75 |
|
76 |
| - * Helper functions to reduce redundancy |
| 76 | +* Helper functions to reduce redundancy |
77 | 77 |
|
78 |
| - * Request start timing fix |
| 78 | +* Request start timing fix |
79 | 79 |
|
80 | 80 | ## v2.0.0
|
81 | 81 |
|
82 |
| - * Code and documentation cleanup |
| 82 | +* Code and documentation cleanup |
83 | 83 |
|
84 |
| - * Instrumentation facilities |
| 84 | +* Instrumentation facilities |
85 | 85 |
|
86 |
| - * RFC 2616 section 8.2.3 implementation by Martin Karlsson |
| 86 | +* RFC 2616 section 8.2.3 implementation by Martin Karlsson |
87 | 87 |
|
88 |
| - * Send 500 and close connection if file operations fail |
| 88 | +* Send 500 and close connection if file operations fail |
89 | 89 |
|
90 | 90 | ## v1.0.5
|
91 | 91 |
|
92 |
| - * Optimization of SSL accept by Tristan Sloughter |
| 92 | +* Optimization of SSL accept by Tristan Sloughter |
93 | 93 |
|
94 |
| - * Dependency cleanup by Adam Lindberg |
| 94 | +* Dependency cleanup by Adam Lindberg |
95 | 95 |
|
96 | 96 | ## v1.0.4
|
97 | 97 |
|
98 |
| - * OTP 18.0 compatibility, contributed by Florian Odronitz. |
| 98 | +* OTP 18.0 compatibility, contributed by Florian Odronitz. |
99 | 99 |
|
100 | 100 | ## v1.0.3
|
101 | 101 |
|
102 |
| - * Various internal cleanup fixes from Andreas Stenius (github.com/kaos) |
| 102 | +* Various internal cleanup fixes from Andreas Stenius (github.com/kaos) |
103 | 103 |
|
104 | 104 | ## v1.0.2
|
105 | 105 |
|
106 |
| - * Added `elli_request:get_args_decoded/1` which returns the list of |
107 |
| - query args decoded each time it's called. |
108 |
| - |
| 106 | +* Added `elli_request:get_args_decoded/1` which returns the list of |
| 107 | + query args decoded each time it's called. |
109 | 108 |
|
110 | 109 | ## v1.0.1
|
111 | 110 |
|
112 |
| - * Fix bug in SSL acceptor pool where due to failed handshakes, Elli |
113 |
| - runs out of acceptors. Thanks to Stefan Grundmann. |
| 111 | +* Fix bug in SSL acceptor pool where due to failed handshakes, Elli |
| 112 | + runs out of acceptors. Thanks to Stefan Grundmann. |
114 | 113 |
|
115 |
| - * In case a handler (or middleware) returns a response Elli does not |
116 |
| - understand, Elli will now respond with a 500 error. Thanks to |
117 |
| - Johannes Huning. |
| 114 | +* In case a handler (or middleware) returns a response Elli does not |
| 115 | + understand, Elli will now respond with a 500 error. Thanks to |
| 116 | + Johannes Huning. |
118 | 117 |
|
119 |
| - * Added `elli_request:get_arg_decoded/2,3` which HTTP URI decodes the |
120 |
| - value passed in the request. Thanks to Mariano Valles. |
| 118 | +* Added `elli_request:get_arg_decoded/2,3` which HTTP URI decodes the |
| 119 | + value passed in the request. Thanks to Mariano Valles. |
121 | 120 |
|
122 | 121 | ## v1.0
|
123 | 122 |
|
124 |
| - * SSL using built-in ssl from Erlang/OTP. Thanks to Maas-Maarten Zeeman. |
| 123 | +* SSL using built-in ssl from Erlang/OTP. Thanks to Maas-Maarten Zeeman. |
125 | 124 |
|
126 |
| - * "Handover" a socket to user code, making it possible to implement |
127 |
| - WebSockets(https://github.com/mmzeeman/elli_websocket |
| 125 | +* "Handover" a socket to user code, making it possible to implement |
| 126 | + WebSockets(<https://github.com/mmzeeman/elli_websocket>). |
128 | 127 |
|
129 |
| - * Type fixes from Ingo Struck and Andreas Hasselberg. |
| 128 | +* Type fixes from Ingo Struck and Andreas Hasselberg. |
130 | 129 |
|
131 | 130 | ## v0.4.1
|
132 | 131 |
|
133 |
| - * Fix from Christian Lundgren for browsers that include spaces in the |
134 |
| - value of the Content-Length header. |
| 132 | +* Fix from Christian Lundgren for browsers that include spaces in the |
| 133 | + value of the Content-Length header. |
135 | 134 |
|
136 | 135 | ## v0.4
|
137 | 136 |
|
138 |
| - * Added support for sending ranges of a file with sendfile by |
139 |
| - returning `{Code, Headers, {file, Filename, {Offset, Length}}}`. If |
140 |
| - no offset and length is specified, the entire file is sent. The |
141 |
| - user must provide an appropriate "Content-Length" and |
142 |
| - "Content-Range" header, see the example in |
143 |
| - `elli_example_callback.erl` |
144 |
| - (https://github.com/knutin/elli/blob/master/src/elli_example_callback.erl#L99). Thanks |
145 |
| - Vincent Siliakus (zambal). |
146 |
| - |
| 137 | +* Added support for sending ranges of a file with sendfile by |
| 138 | + returning `{Code, Headers, {file, Filename, {Offset, Length}}}`. If |
| 139 | + no offset and length is specified, the entire file is sent. The |
| 140 | + user must provide an appropriate "Content-Length" and |
| 141 | + "Content-Range" header, see the example in |
| 142 | + `elli_example_callback.erl` |
| 143 | + (<https://github.com/knutin/elli/blob/master/src/elli_example_callback.erl#L99>). |
| 144 | + Thanks Vincent Siliakus (zambal). |
147 | 145 |
|
148 | 146 | ## v0.3
|
149 | 147 |
|
150 |
| - * Breaking change: Timeouts used in the HTTP protocol are now |
151 |
| - configurable. To implement this, changing a record and some |
152 |
| - callbacks was necessary. To upgrade, a restart of Elli is needed. |
| 148 | +* Breaking change: Timeouts used in the HTTP protocol are now |
| 149 | + configurable. To implement this, changing a record and some |
| 150 | + callbacks was necessary. To upgrade, a restart of Elli is needed. |
153 | 151 |
|
154 |
| - * Elli now supports pipelining of any type of request. Some proxies |
155 |
| - or special clients (like ibrowse) will pipeline requests to reduce |
156 |
| - latency. |
| 152 | +* Elli now supports pipelining of any type of request. Some proxies |
| 153 | + or special clients (like ibrowse) will pipeline requests to reduce |
| 154 | + latency. |
157 | 155 |
|
158 |
| - * If there are no more file descriptors, Elli will shut down. This |
159 |
| - mimics the behaviour found in Yaws. |
| 156 | +* If there are no more file descriptors, Elli will shut down. This |
| 157 | + mimics the behaviour found in Yaws. |
160 | 158 |
|
161 |
| - * Chunked transfer responses will now exit the Elli process when the |
162 |
| - client closes the connection. Sending a synchronous chunk will |
163 |
| - return `{error, closed}` if client has closed the connection and |
164 |
| - the `chunk_complete` event is sent to your callback including which |
165 |
| - end closed the connection. |
| 159 | +* Chunked transfer responses will now exit the Elli process when the |
| 160 | + client closes the connection. Sending a synchronous chunk will |
| 161 | + return `{error, closed}` if client has closed the connection and |
| 162 | + the `chunk_complete` event is sent to your callback including which |
| 163 | + end closed the connection. |
166 | 164 |
|
167 | 165 | ## v0.2.0
|
168 | 166 |
|
169 |
| - * Breaking change: moved elli_access_log into a separate repository |
170 |
| - at github.com/wooga/elli_access_log. Thanks martinrehfeld. |
| 167 | +* Breaking change: moved elli_access_log into a separate repository |
| 168 | + at github.com/wooga/elli_access_log. Thanks martinrehfeld. |
171 | 169 |
|
172 | 170 | ## v0.1.3
|
173 | 171 |
|
174 |
| - * Added elli_test which makes it easy to write unit tests for your |
175 |
| - callbacks. Thanks anha0825. |
| 172 | +* Added elli_test which makes it easy to write unit tests for your |
| 173 | + callbacks. Thanks anha0825. |
176 | 174 |
|
177 |
| - * Added sendfile support. Thanks chrisavl. |
| 175 | +* Added sendfile support. Thanks chrisavl. |
178 | 176 |
|
179 | 177 | ## v0.1.2
|
180 | 178 |
|
181 |
| - * Added option to specify listen IP address. Thanks hukl. |
| 179 | +* Added option to specify listen IP address. Thanks hukl. |
182 | 180 |
|
183 | 181 | ## v0.1.1
|
184 | 182 |
|
185 |
| - * Don't look up the peer ip address on every request anymore, do it |
186 |
| - on demand using elli_request:peer/1. |
| 183 | +* Don't look up the peer ip address on every request anymore, do it |
| 184 | + on demand using elli_request:peer/1. |
187 | 185 |
|
188 | 186 | ## v0.1
|
189 | 187 |
|
190 |
| - * Initial release. |
| 188 | +* Initial release. |
0 commit comments