Cowboy 2.0 pre-release 4
2017 03 Jan
Cowboy 2.0.0-pre.4
has been released!
This is the new recommended version of Cowboy. While I would not recommend putting it in production just yet, I do recommend you start writing new applications with this Cowboy version.
The most significant changes in the pre-release are:
- A new architecture: there now is one process per connection and one process per request. This was done because HTTP/2 allows running requests concurrently.
- Stream handlers. Every request, response and data goes through stream handlers. They are meant to replace hooks and more. They will be documented in a future pre-release. Check
cowboy_stream
andcowboy_stream_h
if interested. - Numerous changes to the
cowboy_req
interface. This is very close to final. Check the manual for what changed. - The Req object is no longer passed in Websocket callbacks.
- It is now possible to send frames directly from
websocket_init/1
. - SPDY support was removed, now that we have HTTP/2.
- Update Ranch to 1.3. We still depend on Cowlib master for the time being.
- A much improved manual.
The manual received a lot of love. It now has one page per function with a detailed description, arguments list, return value, changelog and examples. It also links to the other relevant manual pages: https://ninenines.eu/docs/en/cowboy/2.0/manual/
I am quite proud of the manual right now. While more improvements can be made, what we have now is way better than before. Feedback for further improvements is welcome!
This is a significant step toward Cowboy 2.0. Almost all the breaking changes are in. A few more pre-releases are planned and will be released on a weekly basis (with exceptions).
Cowboy is now tested and supported with Erlang/OTP 18.0 or above on Arch Linux, FreeBSD, OSX, Ubuntu and Windows 7. Contact me if you can provide permanent access to another platform for the purposes of testing.
Cowboy is now available from four locations:
- https://git.ninenines.eu/cowboy.git
- https://github.com/ninenines/cowboy.git
- https://bitbucket.org/ninenines/cowboy.git
- https://gitlab.com/ninenines/cowboy.git
They are updated at the same time so there is no real difference.
Cowboy 2.0 will be released once all the breaking changes are completed and the temporarily removed features are added back.
Thanks for your patience. I know it took a long time.
Half-price on all donations because I need a new hat: