mirror of
https://github.com/faye/websocket-driver-ruby.git
synced 2025-11-01 13:59:38 +00:00
4.7 KiB
4.7 KiB
0.8.0 / 2025-05-25
- Emit binary message as a string with
Encoding::BINARYinstead of an array - Add the option
:binary_data_formatto force the previous behaviour
0.7.7 / 2025-01-04
- Add
base64gem to the dependencies to support Ruby 3.4
0.7.6 / 2023-07-25
- Fix handling of default ports in
Hostheaders on Ruby 3.1+
0.7.5 / 2021-06-12
- Do not change the encoding of strings passed to
Driver#text
0.7.4 / 2021-05-24
- Optimise conversions between strings and byte arrays and related encoding operations, to reduce amount of allocation and copying
0.7.3 / 2020-07-09
- Let the client accept HTTP responses that have an empty reason phrase
following the
101status code
0.7.2 / 2020-05-22
- Emit
pingandpongevents from theServerdriver - Handle draft-76 handshakes correctly if the request's body is a frozen string
0.7.1 / 2019-06-10
- Catch any exceptions produced while generating a handshake response and send a
400 Bad Requestresponse to the client - Pick the RFC-6455 protocol version if the request contains any of the headers used by that version
- Handle errors encountered while handling malformed draft-76 requests
- Change license from MIT to Apache 2.0
0.7.0 / 2017-09-11
- Add
pingandpongto the set of events users can listen to
0.6.5 / 2017-01-22
- Provide a pure-Ruby fallback for the native unmasking code
0.6.4 / 2016-05-20
- Amend warnings issued when running with -W2
- Make sure message strings passed in by the app are transcoded to UTF-8
- Copy strings if necessary for frozen-string compatibility
0.6.3 / 2015-11-06
- Reject draft-76 handshakes if their Sec-WebSocket-Key headers are invalid
- Throw a more helpful error if a client is created with an invalid URL
0.6.2 / 2015-07-18
- When the peer sends a close frame with no error code, emit 1000
0.6.1 / 2015-07-13
- Fix how events are stored in
EventEmitterto fix a backward-compatibility violation introduced in the last release - Use the
Array#packandString#unpackmethods for reading/writing numbers to buffers rather than including duplicate logic for this
0.6.0 / 2015-07-08
- Use
SecureRandomto generate theSec-WebSocket-Keyheader - Allow the parser to recover cleanly if event listeners raise an error
- Let the
on()method take a lambda as a positional argument rather than a block - Add a
pongmethod for sending unsolicited pong frames
0.5.4 / 2015-03-29
- Don't emit extra close frames if we receive a close frame after we already sent one
- Fail the connection when the driver receives an invalid
Sec-WebSocket-Extensionsheader
0.5.3 / 2015-02-22
- Don't treat incoming data as WebSocket frames if a client driver is closed before receiving the server handshake
0.5.2 / 2015-02-19
- Don't emit multiple
errorevents
0.5.1 / 2014-12-18
- Don't allow drivers to be created with unrecognized options
0.5.0 / 2014-12-13
- Support protocol extensions via the websocket-extensions module
0.4.0 / 2014-11-08
- Support connection via HTTP proxies using
CONNECT
0.3.5 / 2014-10-04
- Fix bug where the
Serverdriver doesn't passpingcallbacks to its delegate - Fix an arity error when calling
fail_request - Allow
closeto be called beforestartto close the driver
0.3.4 / 2014-07-06
- Don't hold references to frame buffers after a message has been emitted
- Make sure that
protocolandversionare exposed properly by the TCP driver - Correct HTTP header parsing based on RFC 7230; header names cannot contain backslashes
0.3.3 / 2014-04-24
- Fix problems with loading C and Java native extension code
- Correct the acceptable characters used in the HTTP parser
- Correct the draft-76 status line reason phrase
0.3.2 / 2013-12-29
- Expand
max_lengthto cover sequences of continuation frames anddraft-{75,76} - Decrease default maximum frame buffer size to 64MB
- Stop parsing when the protocol enters a failure mode, to save CPU cycles
0.3.1 / 2013-12-03
- Add a
max_lengthoption to limit allowed frame size
0.3.0 / 2013-09-09
- Support client URLs with Basic Auth credentials
0.2.3 / 2013-08-04
- Fix bug in EventEmitter#emit when listeners are removed
0.2.2 / 2013-08-04
- Fix bug in EventEmitter#listener_count for unregistered events
0.2.1 / 2013-07-05
- Queue sent messages if the client has not begun trying to connect
- Encode all strings sent to I/O as
ASCII-8BIT
0.2.0 / 2013-05-12
- Add API for setting and reading headers
- Add Driver.server() method for getting a driver for TCP servers
0.1.0 / 2013-05-04
- First stable release
0.0.0 / 2013-04-22
- First release
- Proof of concept for people to try out
- Might be unstable