Version 3.1.0 released 2022-08-21

* Leading and trailing whitespace in header values are now trimmed
  for better RFC 7230 compliance.
  https://github.com/mochi/mochiweb/pull/247
  https://github.com/mochi/mochiweb/pull/248

Version 3.0.0 released 2022-05-09

* rebar3 is now the preferred build tool (finally)
  https://github.com/mochi/mochiweb/pull/241
  https://github.com/mochi/mochiweb/pull/243
* Minimum OTP version is now 18, which
  allows us to remove a number of backwards
  compatibility hacks while still supporting
  almost 7 years of Erlang releases.
  https://github.com/mochi/mochiweb/pull/239
* Crashing client processes now exit with reason
  `{shutdown, Error}`. This ensures processes
  linked to the connection process are also
  cleaned up. If exit `normal` was caught in a
  request loop callback, for example in a
  `try ... catch exit:normal ...` expression,
  that expression might have to be updated to
  handle the `{shutdown, Error}` error reason.
  https://github.com/mochi/mochiweb/pull/238
  https://github.com/mochi/mochiweb/pull/242

Version 2.22.0 released 2021-08-23

* Renamed master branch to main
* Add unquote_path/1 for separate '+' encoding
  https://github.com/mochi/mochiweb/pull/231

Version 2.21.0 released 2021-06-06

* Upgrade crypto functions to support OTP 23
  https://github.com/mochi/mochiweb/pull/231
* Switch from Travis to GitHub Actions for testing
  https://github.com/mochi/mochiweb/pull/232

Version 2.20.1 released 2020-02-03

* Removed deprecated metadata from .app file

Version 2.20.0 released 2019-07-14

* Expand testing matrix to include Erlang/OTP 22.0 and Erlang/OTP 21.3
* Add support for SameSite=none in cookies
  https://github.com/mochi/mochiweb/pull/225
* Fix parsing of certain unquoted cookie values
  https://github.com/mochi/mochiweb/pull/212

Version 2.19.0 released 2019-01-17

* Fix warning in 21.2.3 and crash on incompatible releases
  (21.2, 21.2.1, 21.2.2 have a SSL bug)
  https://github.com/mochi/mochiweb/pull/210
* Erlang/OTP 21 compatibility
  https://github.com/mochi/mochiweb/pull/198
  https://github.com/mochi/mochiweb/pull/204
* New `{buffer, Buffer}` socket server option
  https://github.com/mochi/mochiweb/pull/208
* New `{format, map}` option for mochijson2:decode/2
  https://github.com/mochi/mochiweb/pull/206
* No longer crash when a socket is closed server-side
  https://github.com/mochi/mochiweb/pull/205
* Support for SameSite cookie setting
  https://github.com/mochi/mochiweb/pull/203

Version 2.18.0 released 2018-05-12

* Add the 100.64.0.0/10 private IP shared address range
  https://github.com/mochi/mochiweb/pull/193

Version 2.17.0 released 2017-08-12

* Fix deprecation warnings for Erlang/OTP 20.0
  https://github.com/mochi/mochiweb/pull/186
* Updated mochiweb_html singleton tag heuristic for HTML5
  https://github.com/mochi/mochiweb/pull/190
* Send 400 Bad Request if request line exceeds recbuf (regression fix)
  https://github.com/mochi/mochiweb/pull/191

Version 2.16.0 released 2016-12-19

* Added support for encoding maps to mochijson2 (where available)
  https://github.com/mochi/mochiweb/pull/184
* Added missing RFC1918 address spaces to the allowed x-forwarded-for header
  https://github.com/mochi/mochiweb/pull/183

Version 2.15.1 released 2016-06-24

* Fixed deprecation warnings in Erlang/OTP 19.0
  https://github.com/mochi/mochiweb/pull/177

Version 2.15.0 released 2016-05-08

* mochiweb_request now normalizes paths such that duplicate slashes are
  discarded (and thus all path segments except the last are non-empty).
  https://github.com/mochi/mochiweb/pull/173

Version 2.14.0 released 2016-04-11

* mochiweb_html now requires a letter to begin a HTML tag
  https://github.com/mochi/mochiweb/pull/171

Version 2.13.2 released 2016-03-18

* Allow mochijson2 to handle code points that xmerl_ucs considered
  invalid
  https://github.com/mochi/mochiweb/issues/168

Version 2.13.1 released 2016-03-13

* Fix mochiweb_html regression parsing invalid charref sequences
  https://github.com/mochi/mochiweb/issues/167

Version 2.13.0 released 2016-02-08

* Support parsing of UTF-16 surrogate pairs encoded as character
  references in mochiweb_html
  https://github.com/mochi/mochiweb/issues/164
* Avoid swallowing messages that are not related to the socket
  during request parsing
  https://github.com/mochi/mochiweb/pull/161
* Ensure correct ordering of Set-Cookie headers: first in, first out
  https://github.com/mochi/mochiweb/issues/162
* Improve response times by caching a formatted date once per second
  for the response headers with a mochiweb_clock service
  https://github.com/mochi/mochiweb/pull/158

Version 2.12.2 released 2015-02-21

* Close connections quietly when setopts fails with a closed socket.
  https://github.com/mochi/mochiweb/pull/152

Version 2.12.1 released 2015-02-01

* Fix active_socket accounting
  https://github.com/mochi/mochiweb/issues/149
* Added full MIT license preludes to each source file to make it
  easier for mochiweb's code to be used piecemeal
  https://github.com/mochi/mochiweb/pull/148

Version 2.12.0 released 2015-01-16

* Send "Connection: close" header when the server is going to close
  a Keep-Alive connection, usually due to unread data from the
  client
  https://github.com/mochi/mochiweb/issues/146

Version 2.11.2 released 2015-01-16

* Fix regression introduced in #147
  https://github.com/mochi/mochiweb/pull/147

Version 2.11.1 released 2015-01-16

* Accept range end position which exceededs the resource size
  https://github.com/mochi/mochiweb/pull/147

Version 2.11.0 released 2015-01-12

* Perform SSL handshake after releasing acceptor back into the pool,
  and slow accept rate when file descriptors are not available,
  to mitigate a potential DoS attack. Adds new mochiweb_socket
  functions transport_accept/1 and finish_accept/1 which should be
  used in preference to the now deprecated accept/1 function.
  https://github.com/mochi/mochiweb/issues/138

Version 2.10.1 released 2015-01-11

* Fixes issue with SSL and mochiweb_websocket. Note that
  mochiweb_websocket is still experimental and the API
  is subject to change in future versions.
  https://github.com/mochi/mochiweb/pull/144

Version 2.10.0 released 2014-12-17

* Added new `recbuf` option to mochiweb_http to allow the receive
  buffer to be configured.
  https://github.com/mochi/mochiweb/pull/134

Version 2.9.2 released 2014-10-16

* Add timeouts to SSL connect to prevent DoS by opening a connection
  and not doing anything.
  https://github.com/mochi/mochiweb/pull/140
* Prevent using ECDH cipher in R16B because it is broken
  https://github.com/mochi/mochiweb/pull/140
* For default SSL connections, remove usage of sslv3 and not-so-secure
  ciphers.
  https://github.com/mochi/mochiweb/pull/140

Version 2.9.1 released 2014-09-29

* Fix Makefile rule for building docs
  https://github.com/mochi/mochiweb/issues/135
* Minimize gen_tcp:send calls to optimize performance.
  https://github.com/mochi/mochiweb/pull/137

Version 2.9.0 released 2014-06-24

* Increased timeout in test suite for FreeBSD
  https://github.com/mochi/mochiweb/pull/121
* Updated rebar to v2.5.0 and fixed associated build issues
  https://github.com/mochi/mochiweb/issues/131

Version 2.8.0 released 2014-01-01

* Websocket support
  https://github.com/mochi/mochiweb/pull/120
* Force files named "crossdomain.xml" to have MIME type
  text/x-cross-domain-policy.
  https://github.com/mochi/mochiweb/pull/118

Version 2.7.0 released 2013-08-01

* Fix 0-length range responses
  https://github.com/mochi/mochiweb/pull/87
* Add support for all possible `erlang:decode_packet/3` responses,
  previously these would just crash.
  https://github.com/mochi/mochiweb/pull/114
* Makefile fixed to make `make test` work before `make all`
  https://github.com/mochi/mochiweb/pull/116
* Usage of the crypto module made R16B01+ compatible
  https://github.com/mochi/mochiweb/pull/115
* Build fixed for R16B01
  https://github.com/mochi/mochiweb/pull/112
* `mochiweb_socket_server:stop/1` is now a synchronous
  call instead of an asynchronous cast
* `mochiweb_html:parse_tokens/1` (and `parse/1`) will now create a
  html element to wrap documents that have a HTML5 doctype
  (`<!doctype html>`) but no html element
  https://github.com/mochi/mochiweb/issues/110

Version 2.6.0 released 2013-04-15

* Enable R15B gen_tcp workaround only on R15B
  https://github.com/mochi/mochiweb/pull/107

Version 2.5.0 released 2013-03-04

* Replace now() with os:timestamp() in acceptor (optimization)
  https://github.com/mochi/mochiweb/pull/102
* New mochiweb_session module for managing session cookies.
  NOTE: this module is only supported on R15B02 and later!
  https://github.com/mochi/mochiweb/pull/94
* New mochiweb_base64url module for base64url encoding
  (URL and Filename safe alphabet, see RFC 4648).
* Fix rebar.config in mochiwebapp_skel to use {branch, "master"}
  https://github.com/mochi/mochiweb/issues/105

Version 2.4.2 released 2013-02-05

* Fixed issue in mochiweb_response introduced in v2.4.0
  https://github.com/mochi/mochiweb/pull/100

Version 2.4.1 released 2013-01-30

* Fixed issue in mochiweb_request introduced in v2.4.0
  https://github.com/mochi/mochiweb/issues/97
* Fixed issue in mochifmt_records introduced in v2.4.0
  https://github.com/mochi/mochiweb/issues/96

Version 2.4.0 released 2013-01-23

* Switch from parameterized modules to explicit tuple module calls for
  R16 compatibility (#95)
* Fix for mochiweb_acceptor crash with extra-long HTTP headers under
  R15B02 (#91)
* Fix case in handling range headers (#85)
* Handle combined Content-Length header (#88)
* Windows security fix for `safe_relative_path`, any path with a
  backslash on any platform is now considered unsafe (#92)

Version 2.3.2 released 2012-07-27

* Case insensitive match for "Connection: close" (#81)

Version 2.3.1 released 2012-03-31

* Fix edoc warnings (#63)
* Fix mochiweb_html handling of invalid charref sequences (unescaped &) (#69).
* Add a manual garbage collection between requests to avoid worst case behavior
  on keep-alive sockets.
* Fix dst cookie bug (#73)
* Removed unnecessary template_dir option, see
  https://github.com/basho/rebar/issues/203

Version 2.3.0 released 2011-10-14

* Handle ssl_closed message in mochiweb_http (#59)
* Added support for new MIME types (otf, eot, m4v, svg, svgz, ttc, ttf,
  vcf, webm, webp, woff) (#61)
* Updated mochiweb_charref to support all HTML5 entities. Note that
  if you are using this module directly, the spec has changed to return
  `[integer()]` for some entities. (#64)

Version 2.2.1 released 2011-08-31

* Removed `mochiweb_skel` module from the pre-rebar era

Version 2.2.0 released 2011-08-29

* Added new `mochiweb_http:start_link/1` and
  `mochiweb_socket_server:start_link/1` APIs to explicitly start linked
  servers. Also added `{link, false}` option to the `start/1` variants
  to explicitly start unlinked. This is in expectation that we will
  eventually change the default behavior of `start/1` to be unlinked as you
  would expect it to. See https://github.com/mochi/mochiweb/issues/58 for
  discussion.

Version 2.1.0 released 2011-08-29

* Added new `mochijson2:decode/2` with `{format, struct | proplist | eep18}`
  options for easy decoding to various proplist formats. Also added encoding
  support for eep18 style objects.
