Empty methods list allowed
Change some module calls to local function calls
Add two missing terminate reasons to http/loop handlers specs
Fix incorrect spec for the middleware callback
The return value of cowboy_req:peer/1 is never undefined
The cookie value can only be binary()
Fix two incorrect comments in cowboy_req
Fix the cowboy_websocket:frame/0 type

It accepts iodata() and not binary() for the payload.
Remove cowboy_req:fragment/1

Clients do not send it. We skip the value if we receive it now,
as it shouldn't happen, and won't for all the mainstream clients.
Make the HTTP version type more practical

Now instead of {1, 1} we have 'HTTP/1.1', and instead of {1, 0}
we have 'HTTP/1.0'. This is more efficient, easier to read in
crash logs, and clearer in the code.
Make the return value of AcceptResource callback consistent
Improve the specs for cowboy_req:init_stream/4
Move cowboy_http:version() to cowboy:http_version()
Move cowboy_http:headers() to cowboy:http_headers()
Move cowboy_http:status() to cowboy:http_status()
Move cowboy_protocol:onrequest_fun() to cowboy:onrequest_fun()
Move cowboy_protocol:onresponse_fun() to cowboy:onresponse_fun()
charsets_provided/2 returns a list of charsets

It incorrectly returned a tuple containing the charset and an
associated quality which wasn't being used.
The charset iso-8859-1 is added only if not explicitely mentioned

It was added all the time when * was missing, the RFC specifies it
should only be added if it wasn't already present, though.
Add cowboy_protocol:opts() type

Should improve the detection of wrong protocol options.