mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 12:20:24 +00:00
Update CHANGELOG
This commit is contained in:
parent
0b14dbeb43
commit
5be3c5064e
1 changed files with 84 additions and 0 deletions
84
CHANGELOG.md
84
CHANGELOG.md
|
@ -1,6 +1,90 @@
|
|||
CHANGELOG
|
||||
=========
|
||||
|
||||
2.0.0-pre.1
|
||||
-----------
|
||||
|
||||
* Drop R16 support
|
||||
|
||||
* Breaking update of the cowboy_req interface
|
||||
|
||||
Simplify the interface for most cowboy_req functions. They all return
|
||||
a single value except the four body reading functions. The reply functions
|
||||
now only return a Req value.
|
||||
|
||||
Access functions do not return a Req anymore.
|
||||
|
||||
Functions that used to cache results do not have a cache anymore.
|
||||
|
||||
The interface for accessing query string and cookies has therefore
|
||||
been changed.
|
||||
|
||||
None of the functions return an error tuple anymore. It either works
|
||||
or crashes. Cowboy will attempt to provide an appropriate status code
|
||||
in the response of crashed handlers.
|
||||
|
||||
As a result, the content decode function has its return value changed
|
||||
to a simple binary, and the body reading functions only return on success.
|
||||
|
||||
* Change interface for reading the query string and cookies
|
||||
|
||||
There are now three query string functions: qs/1 provides access
|
||||
to the raw query string value; parse_qs/1 returns the query string
|
||||
as a list of key/values; match_qs/2 returns a map containing the
|
||||
values requested in the second argument, after applying constraints
|
||||
and default value.
|
||||
|
||||
Similarly, there are two cookie functions: parse_cookies/1 and
|
||||
match_cookies/2. More match functions will be added in future commits.
|
||||
|
||||
* Unify the init and terminate callbacks
|
||||
|
||||
`init/3` becomes `init/2`, its first argument was removed. Its return
|
||||
value has changed, it now returns an `ok` tuple or a `Mod` tuple, the
|
||||
latter allowing to switch to a different handler type and also able
|
||||
to take timeout and hibernate options. The sub protocol interface has
|
||||
been changed and receives these options now.
|
||||
|
||||
rest_init/2 and rest_terminate/2 have been removed.
|
||||
|
||||
websocket_init/3 and websocket_terminate/3 have been removed.
|
||||
|
||||
terminate/3 is now optional. It is called regardless of
|
||||
the type of handler, including REST and Websocket.
|
||||
|
||||
Terminate reasons for all handler types have been documented.
|
||||
The terminate callback is now appropriately called in all cases
|
||||
(or should be).
|
||||
|
||||
* Plain HTTP handlers are virtually removed
|
||||
|
||||
You can use the `init/2` function to do the work of a plain HTTP
|
||||
handler. The behavior is defined in `cowboy_handler`.
|
||||
|
||||
* Loop handlers are now the `cowboy_loop` sub protocol
|
||||
|
||||
* Loop handlers now use the same return values as Websocket
|
||||
|
||||
* Behaviors have been moved into the module implementing them
|
||||
|
||||
That means `cowboy_loop`, `cowboy_rest` and `cowboy_websocket`.
|
||||
|
||||
* Change the format for constraints used by the router
|
||||
|
||||
* Remove the onrequest hook
|
||||
|
||||
Use a middleware instead.
|
||||
|
||||
* Remove the `error` return value from middlewares
|
||||
|
||||
* Remove the REST `known_content_type` callback
|
||||
|
||||
* Improve absolute URI support
|
||||
|
||||
* Fix two edge cases when the request-line is invalid
|
||||
|
||||
* Guide reorganization and partial rewrite
|
||||
|
||||
1.0.0
|
||||
-----
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue