+++
date = "2017-12-13T12:00:00+01:00"
title = "Cowboy 2.2"

+++

Cowboy `2.2.0` has been released!

This release focused on adding features required for writing
gRPC servers and on completing test suites for the core
HTTP RFCs.

* The `cowboy_req:stream_trailers/2` function has been
  added. It terminates the streamed response by adding
  some trailer field values. This feature is required
  for gRPC.

* The `max_skip_body_length` option was added. It controls
  how much of the request body we are willing to skip
  to get to the next request for HTTP/1.1 keep-alive
  connections.

* The CONNECT and TRACE methods have been disabled
  entirely. They are currently not implemented and
  their behavior is very specific (unlike most other
  methods) so it is safer to prevent their use.

Many bugs have also been fixed. A more complete
list of changes can be found in the migration guide:
https://ninenines.eu/docs/en/cowboy/2.2/guide/migrating_from_2.0/[Migrating from Cowboy 2.1 to 2.2].

The next two releases will tentatively focus on improving
the support for cookies and CORS, but I'm open to suggestions.
If there is a pain point in Cowboy 2.2 I would love to hear
about it.

You can donate to this project via
https://salt.bountysource.com/teams/ninenines[BountySource]
because I need to eat snacks when I write code.
Thanks in advance!

As usual, any feedback is appreciated, and any issues
should be reported by opening a ticket. Thanks!
