Browse Source

Update CHANGELOG and ROADMAP

Loïc Hoguin 11 years ago
parent
commit
0a27247a91
2 changed files with 100 additions and 16 deletions
  1. 82 0
      CHANGELOG.md
  2. 18 16
      ROADMAP.md

+ 82 - 0
CHANGELOG.md

@@ -1,6 +1,88 @@
 CHANGELOG
 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
 0.9.0
 -----
 -----
 
 

+ 18 - 16
ROADMAP.md

@@ -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
 server. It is intended to be exhaustive but some elements
 might still be missing.
 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
 Under consideration
 -------------------
 -------------------