0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 12:20:24 +00:00

Update CHANGELOG and ROADMAP

This commit is contained in:
Loïc Hoguin 2014-06-10 12:00:30 +02:00
parent c81b94160e
commit 0a27247a91
2 changed files with 100 additions and 16 deletions

View file

@ -1,6 +1,88 @@
CHANGELOG
=========
0.10.0
------
* Update Ranch to 0.10 and Cowlib to 0.6.2
* Update the body reading API to allow controlling rate of transfer
The lack of this feature was causing various timeout issues
in some environments.
The body/2 function now takes a Req and a list of options. The older
interface can still be used until Cowboy 1.0.
The body_qs/2, part/2 and part_body/2 also accept this list of
options, and pass it down to the body/2 call. The default options
vary between the different functions.
The return value of the function has changed. Older code should work
without modification but you should definitely still test it.
All functions appropriately decode transfer and content encoding.
There is no need to have a special case for that anymore.
The body/1,2 function supports streaming, with the same interface
as the part_body/1,2 function.
* Deprecate the cowboy_req:init_stream, stream_body and skip_body functions
They will be removed in Cowboy 1.0.
* Add support for multipart
The cowboy_req:part/1,2 and cowboy_req:part_body/1,2 can be
used for reading a multipart body.
Documentation has been added.
The old undocumented multipart functions were removed.
* Allow the onresponse hook to override only status and headers
Previously it wasn't possible to override them without also
overriding the body. The new return value is currently marked
as experimental.
* Make loop handlers work with SPDY
* Fix a race condition with loop handlers and keepalive requests
* Fix parsing of accept-language header
* Fix parsing of authorization header with empty passwords
* Fix multiline headers handling
* Various optimizations
All code that is moved to cowlib is optimized at the same time
and benchmarks get added for all functions.
The parsing of connection, content-length and transfer-encoding
has been optimized.
Chunked transfer decoding has been optimized.
* Enable +warn_missing_spec by default and fix specs
* Remove the non-documented cowboy_client module; use gun instead
* Numerous documentation updates and tweaks
The guide now has a REST principles chapter and revised
and completed Websocket chapters, alongside a new multipart chapter.
* Add a multipart file upload example
* Test suites are being reworked and greatly improved
* Test Cowboy across all releases from R15B01 to 17.0, plus maint and master
* The Autobahn test suite is now always ran (as long as it's installed)
* Expected error reports are now silenced (but still logged)
* Applications are now only started once from a ct hook
0.9.0
-----

View file

@ -6,30 +6,32 @@ list of planned changes and work to be done on the Cowboy
server. It is intended to be exhaustive but some elements
might still be missing.
1.0
---
1.0 (R16 and R17)
-----------------
* Parse support for all standard HTTP/1.1 headers
We are now in the final push to Cowboy 1.0. Further changes
are expected to be bug fixes and documentation improvements.
* Support for multipart requests and responses
2.0 (R17 and R18)
-----------------
* Add Range support to REST
* HTTP/2.0
* Complete the user guide
* Websocket permessage deflate compression
1.1
---
* Better cowboy_req usability
* Check if using maps instead of a record improves performance
The number one usability concern with Cowboy today is
the need to keep the Req object. Most functions in
cowboy_req don't actually modify it and probably never
will. This change will make sure that only the required
function return a new Req.
2.0
---
At the same time, some of the functions that cache their
results will stop to do so. This will save memory and
allow us to not modify the Req.
* Support for HTTP/2.0
* Simplify cowboy_req access functions
They do not need to return Req. So let's not.
* Start experimenting with maps.
Under consideration
-------------------