- ensure correct port is always specified for handshake
- avoid ruby -w warnings
- restore support for Ruby 2.0+
- fix bug in previous version for Ruby 2.3
- duplicate variables passed in initializers to avoid changing them
- make handshake server resilient to non-string Rack env keys
- add subprotocol handling for both server and client
- fix for draft 76 when challenge might sometimes fail
- multiple small optimizations
- fix handshake for draft 11+ sending Sec-WebSocket-Origin instead of Origin
- fix error for draft 76 when leftovers are empty
- Remove support for Ruby 1.8
- Add support for sending custom headers for Client
- Better detection and handling of draft 76
- Multiple small fixes and optimizations
- verify valid close codes according to spec
- return error on invalid UTF-8 payload
- expose error message
- fix close code support
- fix support for rack input that is blocking (i.e. Passenger)
- fix handling close code for frames version 5+
- allow raising ruby errors instead of setting
error
flag - allow access to handshake headers
- add from_rack method
- add from_hash method
- stop extending handlers - it should improve performance for opening connection
- fix requiring url under Ruby 1.9.1
- support for Ruby 2.0.0
- support text frame types instead of only symbol ones
- support for sending masked frames
- add support for close codes
- nicer inspect - handful during debugging
- improve pure ruby implementation performance by ~30%
- add support for native extension
- allow configuration of max frame size via WebSocket.max_frame_size option
- much better documentation
- remove handler-specific methods from public list
- refactor code for easier use
- make parsers return more consistent values
- fix server handshake #to_s when no version was found
- add #uri to server handshake
- allow creating client with :uri and :url options
- prevent strange results when header is mailformed
- set client path to '/' when :uri option is provided but without trailing slash
- initial release