diff options
-rw-r--r-- | CHANGELOG.md | 82 | ||||
-rw-r--r-- | ROADMAP.md | 34 |
2 files changed, 100 insertions, 16 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c25385..8041d1f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 ----- @@ -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 ------------------- |