|
| 1 | +# Changelog |
| 2 | + |
| 3 | +## [pending (master)](https://github.com/fhessel/esp32_https_server/tree/master) |
| 4 | + |
| 5 | +New functionality: |
| 6 | + |
| 7 | +– |
| 8 | + |
| 9 | +Bug fixes: |
| 10 | + |
| 11 | +– |
| 12 | + |
| 13 | +Breaking changes: |
| 14 | + |
| 15 | +– |
| 16 | + |
| 17 | +## [v1.0.0](https://github.com/fhessel/esp32_https_server/releases/tag/v1.0.0) |
| 18 | + |
| 19 | +New functionality: |
| 20 | + |
| 21 | +* #78: Control keep-alive behavior by calling `res->setHeader("Connection", "close")` |
| 22 | +* #77: Normalize header names |
| 23 | +* #72: Support for body parsers. See the [HTML Forms example](examples/HTML-Forms/HTML-Forms.ino) for usage |
| 24 | +* #71: `HTTPRequest` supports `getClientIP()` |
| 25 | +* #65: New interface to request and path parameters. Allows iterating over path parameters to retrive multi-value parameters |
| 26 | + |
| 27 | +Bug fixes: |
| 28 | + |
| 29 | +* #69: Treat `+` correctly during URL decoding |
| 30 | + |
| 31 | +Breaking changes: |
| 32 | + |
| 33 | +* HTTP header names are normalized for requests and responses: Each header name starts with a capital letter, all letters after a non-printable character are also capitalized, all other letters are converted to lower case. |
| 34 | + * If you want to retrieve header values: |
| 35 | + * Use `Connection` instead of `connection` |
| 36 | + * Use `Content-Type` instead of `CONTENT-TYPE` |
| 37 | +* Interface to Request and URL parameters has changed |
| 38 | + * Former *request paremters* are now called *query parameters* |
| 39 | + * `ResourceParameters::getRequestParameterInt()` does no longer exist. Use `std::atoi(str.c_str())` |
| 40 | + * `ResourceParameter::isRequestParameterSet()` is now `ResourceParameter::isQueryParameterSet()` |
| 41 | + * `std::string ResourceParameter::getRequestParameter(std::string const &name)` is replaced by `bool ResourceParameter::getQueryParameter(std::string const &name, std::string &val)` |
| 42 | + * The return value reflects whether a request parameter was specified. The request parameter value is written to the second argument. |
| 43 | + * See issue #62 for mor details |
| 44 | + * `getQueryParameter()` will return the first occurence of a parameter with a given name (that did not change). You can access additional parameter values using the new `ResourceParameters::beginQueryParameters()` and `ResourceParameters::endQueryParameters()` functions (for a URL like `/?foo=bar&foo=baz` this will yield `(foo, bar)` and `(foo, baz)`. |
| 45 | + * Former *URL parameters* are now called *path parameters* |
| 46 | + * `ResourceParameters::getUrlParameterInt()` does no longer exist. Use `std::atoi(str._cstr())` |
| 47 | + * `std::string ResourceParameter::getURLParameter(std::string const &name)` is now `std::string ResourceParameter::getPathParameter(std::string const &name)` |
| 48 | + * `uint8_t HTTPNode::getUrlParamCount()` is now `size_t HTTPNode::getPathParamCount()` |
| 49 | + |
| 50 | +## [v0.3.1](https://github.com/fhessel/esp32_https_server/releases/tag/v0.3.1) |
| 51 | + |
| 52 | +Bug Fixes: |
| 53 | + |
| 54 | +- Issues regarding websockets (#58, #59) |
| 55 | + |
| 56 | +## [v0.3.0](https://github.com/fhessel/esp32_https_server/releases/tag/v0.3.0) |
| 57 | + |
| 58 | +New "Features" and other changes: |
| 59 | + |
| 60 | +* Add HTTP Status Code 431 - Header too long |
| 61 | +* Added doxgen documentation |
| 62 | +* Some Typos |
| 63 | +* Allow modification of HTTPSServerConstants using CFLAGS |
| 64 | +* Configurable logging |
| 65 | +* Use spaces everywhere |
| 66 | + |
| 67 | +Bug Fixes: |
| 68 | + |
| 69 | +* Clean close connections correctly when stopping the server |
| 70 | +* Fix off-by-one error in number formatting (e.g. content-length) |
| 71 | +* Close WebSockets properly when shutting down the server. |
| 72 | +* Handle percent encoding of URL and request parameters. |
| 73 | +* WebSocket example: Hostname instead of IP |
| 74 | + |
| 75 | +Breaking Changes: |
| 76 | + |
| 77 | +* (internal) HTTPConnection::clientError/serverError -> raiseError(code, reason) |
| 78 | + |
| 79 | +_For earlier versions, see [releases on GitHub](https://github.com/fhessel/esp32_https_server/releases)._ |
0 commit comments