OLD | NEW |
(Empty) | |
| 1 ## 0.6.3 |
| 2 |
| 3 * Messages returned by `Request.change()` and `Response.change()` are marked |
| 4 read whenever the original message is read, and vice-versa. This means that |
| 5 it's possible to read a message on which `change()` has been called and to |
| 6 call `change()` on a message more than once, as long as `read()` is called on |
| 7 only one of those messages. |
| 8 |
| 9 ## 0.6.2+1 |
| 10 |
| 11 * Support `http_parser` 1.0.0. |
| 12 |
| 13 ## 0.6.2 |
| 14 |
| 15 * Added a `body` named argument to `change` method on `Request` and `Response`. |
| 16 |
| 17 ## 0.6.1+3 |
| 18 |
| 19 * Updated minimum SDK to `1.9.0`. |
| 20 |
| 21 * Allow an empty `url` parameter to be passed in to `new Request()`. This fits |
| 22 the stated semantics of the class, and should not have been forbidden. |
| 23 |
| 24 ## 0.6.1+2 |
| 25 |
| 26 * `logRequests` outputs a better message a request has a query string. |
| 27 |
| 28 ## 0.6.1+1 |
| 29 |
| 30 * Don't throw a bogus exception for `null` responses. |
| 31 |
| 32 ## 0.6.1 |
| 33 |
| 34 * `shelf_io` now takes a `"shelf.io.buffer_output"` `Response.context` parameter |
| 35 that controls `HttpResponse.bufferOutput`. |
| 36 |
| 37 * Fixed spelling errors in README and code comments. |
| 38 |
| 39 ## 0.6.0 |
| 40 |
| 41 **Breaking change:** The semantics of `Request.scriptName` and |
| 42 [`Request.url`][url] have been overhauled, and the former has been renamed to |
| 43 [`Request.handlerPath`][handlerPath]. `handlerPath` is now the root-relative URL |
| 44 path to the current handler, while `url`'s path is the relative path from the |
| 45 current handler to the requested. The new semantics are easier to describe and |
| 46 to understand. |
| 47 |
| 48 [url]: http://www.dartdocs.org/documentation/shelf/latest/index.html#shelf/shelf
.Request@id_url |
| 49 [handlerPath]: http://www.dartdocs.org/documentation/shelf/latest/index.html#she
lf/shelf.Request@id_handlerPath |
| 50 |
| 51 Practically speaking, the main difference is that the `/` at the beginning of |
| 52 `url`'s path has been moved to the end of `handlerPath`. This makes `url`'s path |
| 53 easier to parse using the `path` package. |
| 54 |
| 55 [`Request.change`][change]'s handling of `handlerPath` and `url` has also |
| 56 changed. Instead of taking both parameters separately and requiring that the |
| 57 user manually maintain all the associated guarantees, it now takes a single |
| 58 `path` parameter. This parameter is the relative path from the current |
| 59 `handlerPath` to the next one, and sets both `handlerPath` and `url` on the new |
| 60 `Request` accordingly. |
| 61 |
| 62 [change]: http://www.dartdocs.org/documentation/shelf/latest/index.html#shelf/sh
elf.Request@id_change |
| 63 |
| 64 ## 0.5.7 |
| 65 |
| 66 * Updated `Request` to support the `body` model from `Response`. |
| 67 |
| 68 ## 0.5.6 |
| 69 |
| 70 * Fixed `createMiddleware` to only catch errors if `errorHandler` is provided. |
| 71 |
| 72 * Updated `handleRequest` in `shelf_io` to more gracefully handle errors when |
| 73 parsing `HttpRequest`. |
| 74 |
| 75 ## 0.5.5+1 |
| 76 |
| 77 * Updated `Request.change` to include the original `onHijack` callback if one |
| 78 exists. |
| 79 |
| 80 ## 0.5.5 |
| 81 |
| 82 * Added default body text for `Response.forbidden` and `Response.notFound` if |
| 83 null is provided. |
| 84 |
| 85 * Clarified documentation on a number of `Response` constructors. |
| 86 |
| 87 * Updated `README` links to point to latest docs on `www.dartdocs.org`. |
| 88 |
| 89 ## 0.5.4+3 |
| 90 |
| 91 * Widen the version constraint on the `collection` package. |
| 92 |
| 93 ## 0.5.4+2 |
| 94 |
| 95 * Updated headers map to use a more efficient case-insensitive backing store. |
| 96 |
| 97 ## 0.5.4+1 |
| 98 |
| 99 * Widen the version constraint for `stack_trace`. |
| 100 |
| 101 ## 0.5.4 |
| 102 |
| 103 * The `shelf_io` adapter now sends the `Date` HTTP header by default. |
| 104 |
| 105 * Fixed logic for setting Server header in `shelf_io`. |
| 106 |
| 107 ## 0.5.3 |
| 108 |
| 109 * Add new named parameters to `Request.change`: `scriptName` and `url`. |
| 110 |
| 111 ## 0.5.2 |
| 112 |
| 113 * Add a `Cascade` helper that runs handlers in sequence until one returns a |
| 114 response that's neither a 404 nor a 405. |
| 115 |
| 116 * Add a `Request.change` method that copies a request with new header values. |
| 117 |
| 118 * Add a `Request.hijack` method that allows handlers to gain access to the |
| 119 underlying HTTP socket. |
| 120 |
| 121 ## 0.5.1+1 |
| 122 |
| 123 * Capture all asynchronous errors thrown by handlers if they would otherwise be |
| 124 top-leveled. |
| 125 |
| 126 * Add more detail to the README about handlers, middleware, and the rules for |
| 127 implementing an adapter. |
| 128 |
| 129 ## 0.5.1 |
| 130 |
| 131 * Add a `context` map to `Request` and `Response` for passing data among |
| 132 handlers and middleware. |
| 133 |
| 134 ## 0.5.0+1 |
| 135 |
| 136 * Allow `scheduled_test` development dependency up to v0.12.0 |
| 137 |
| 138 ## 0.5.0 |
| 139 |
| 140 * Renamed `Stack` to `Pipeline`. |
| 141 |
| 142 ## 0.4.0 |
| 143 |
| 144 * Access to headers for `Request` and `Response` is now case-insensitive. |
| 145 |
| 146 * The constructor for `Request` has been simplified. |
| 147 |
| 148 * `Request` now exposes `url` which replaces `pathInfo`, `queryString`, and |
| 149 `pathSegments`. |
| 150 |
| 151 ## 0.3.0+9 |
| 152 |
| 153 * Removed old testing infrastructure. |
| 154 |
| 155 * Updated documentation address. |
| 156 |
| 157 ## 0.3.0+8 |
| 158 |
| 159 * Added a dependency on the `http_parser` package. |
| 160 |
| 161 ## 0.3.0+7 |
| 162 |
| 163 * Removed unused dependency on the `mime` package. |
| 164 |
| 165 ## 0.3.0+6 |
| 166 |
| 167 * Added a dependency on the `string_scanner` package. |
| 168 |
| 169 ## 0.3.0+5 |
| 170 |
| 171 * Updated `pubspec` details for move to Dart SDK. |
| 172 |
| 173 ## 0.3.0 2014-03-25 |
| 174 |
| 175 * `Response` |
| 176 * **NEW!** `int get contentLength` |
| 177 * **NEW!** `DateTime get expires` |
| 178 * **NEW!** `DateTime get lastModified` |
| 179 * `Request` |
| 180 * **BREAKING** `contentLength` is now read from `headers`. The constructor |
| 181 argument has been removed. |
| 182 * **NEW!** supports an optional `Stream<List<int>> body` constructor argumen
t. |
| 183 * **NEW!** `Stream<List<int>> read()` and |
| 184 `Future<String> readAsString([Encoding encoding])` |
| 185 * **NEW!** `DateTime get ifModifiedSince` |
| 186 * **NEW!** `String get mimeType` |
| 187 * **NEW!** `Encoding get encoding` |
| 188 |
| 189 ## 0.2.0 2014-03-06 |
| 190 |
| 191 * **BREAKING** Removed `Shelf` prefix from all classes. |
| 192 * **BREAKING** `Response` has drastically different constructors. |
| 193 * *NEW!* `Response` now accepts a body of either `String` or |
| 194 `Stream<List<int>>`. |
| 195 * *NEW!* `Response` now exposes `encoding` and `mimeType`. |
| 196 |
| 197 ## 0.1.0 2014-03-02 |
| 198 |
| 199 * First reviewed release |
OLD | NEW |