### 0.10.7 / 2017-02-22

* Emit an error if `EventMachine::Connection#unbind` is called with an error

### 0.10.6 / 2017-01-22

* Forcibly close the I/O stream after a timeout if the peer does not respond
  after calling `close()`

### 0.10.5 / 2016-11-12

* Set the SNI hostname when making secure requests

### 0.10.4 / 2016-05-20

* Amend warnings issued when running with -W2

### 0.10.3 / 2016-02-24

* Use `PATH_INFO` and `QUERY_STRING` rather than the non-standard `REQUEST_URI` from the Rack env

### 0.10.2 / 2015-11-26

* Fix the `headers` and `status` methods on `Client`, which were broken in the
  last release

### 0.10.1 / 2015-11-06

* Make sure errors can be safely emitted if creating the driver fails
* Prevent a race condition when binding `EM.attach` to the socket

### 0.10.0 / 2015-07-08

* Add the standard `code` and `reason` parameters to the `close` method

### 0.9.2 / 2014-12-21

* Only emit `error` once, and don't emit it after `close`

### 0.9.1 / 2014-12-18

* Check that all options to the WebSocket constructor are recognized

### 0.9.0 / 2014-12-13

* Allow protocol extensions to be passed into websocket-extensions

### 0.8.0 / 2014-11-08

* Support connections via HTTP proxies

### 0.7.5 / 2014-10-04

* Allow sockets to be closed when they are in any state other than `CLOSED`

### 0.7.4 / 2014-07-06

* Stop using `define_method` to implement `Event` properties, since it blows the method cache
* Stop setup errors masking URI errors in `Client#initialize`
* Make the Goliath adapter compatible with goliath-1.0.4.

### 0.7.3 / 2014-04-24

* Remove an unneeded method override in the `WebSocket` class

### 0.7.2 / 2013-12-29

* Fix WebSocket detection in cases where the web server does not produce an `env`

### 0.7.1 / 2013-12-03

* Support the `max_length` websocket-driver option
* Expose a `message` property on `error` events

### 0.7.0 / 2013-09-09

* Allow the server to send custom headers with EventSource responses

### 0.6.3 / 2013-08-04

* Stop implicitly depending on Rack 1.4

### 0.6.2 / 2013-07-05

* Catch errors thrown by EventMachine and emit `error` and `close` events

### 0.6.1 / 2013-05-12

* Release a gem without log and pid files in it

### 0.6.0 / 2013-05-12

* Add support for custom headers

### 0.5.0 / 2013-05-05

* Extract the protocol handlers into the `websocket-driver` library
* Support the `rack.hijack` API
* Add support for Rainbows 4.5 and Puma
* Officially support JRuby and Rubinius

### 0.4.7 / 2013-02-14

* Emit the `close` event if TCP is closed before CLOSE frame is acked
* Treat the `Upgrade: websocket` header case-insensitively because of IE10
* Do not suppress headers in the Thin and Rainbows adapters unless the status is `101`

### 0.4.6 / 2012-07-09

* Add `Connection: close` to EventSource response

### 0.4.5 / 2012-04-06

* Add WebSocket error code `1011`.
* Handle URLs with no path correctly by sending `GET /`

### 0.4.4 / 2012-03-16

* Fix installation on JRuby with a platform-specific gem

### 0.4.3 / 2012-03-12

* Make `extconf.rb` a no-op on JRuby

### 0.4.2 / 2012-03-09

* Port masking-function C extension to Java for JRuby

### 0.4.1 / 2012-02-26

* Treat anything other than an `Array` as a string when calling `send()`
* Fix error loading UTF-8 validation code on Ruby 1.9 with `-Ku` flag

### 0.4.0 / 2012-02-13

* Add `ping()` method to server-side `WebSocket` and `EventSource`
* Buffer `send()` calls until the draft-76 handshake is complete

### 0.3.0 / 2012-01-13

* Add support for `EventSource` connections
* Support the Thin, Rainbows and Goliath web servers

### 0.2.0 / 2011-12-21

* Add support for `Sec-WebSocket-Protocol` negotiation
* Support `hixie-76` close frames and 75/76 ignored segments
* Improve performance of HyBi parsing/framing functions
* Write masking function in C

### 0.1.2 / 2011-12-05

* Make `hixie-76` sockets work through HAProxy

### 0.1.1 / 2011-11-30

* Fix `add_event_listener()` interface methods

### 0.1.0 / 2011-11-27

* Initial release, based on WebSocket components from Faye
