Commit Graph

  • 2824edc61b Update release date for 0.8.0 main 0.8.0 James Coglan 2025-05-25 18:40:28 +01:00
  • befd449e00 Prefer text frames over binary; if the input is in some non-UTF-8 text encoding, then transcode it James Coglan 2025-05-25 11:34:05 +01:00
  • e3155f726d Bump version to 0.8.0 James Coglan 2025-05-24 15:49:48 +01:00
  • 22e070485c Default to text frames if the input buffer is specifically UTF8-encoded James Coglan 2025-05-24 15:47:45 +01:00
  • 64ceaa4f69 Remove Ruby versions unsupported by GitHub James Coglan 2025-05-24 13:30:17 +01:00
  • 799c0229f2 Move the changelog_uri closer to other similar metadata James Coglan 2025-05-24 13:27:21 +01:00
  • 188c139303 Merge pull request #93 from mark-young-atg/provide_changelog_link_on_rubygems James Coglan 2025-05-24 13:25:48 +01:00
  • 61572944fb Update the documentation for representation of binary messages James Coglan 2025-05-24 13:19:06 +01:00
  • 370ac9b944 Emit binary frames as binary strings by default, and make Driver.frame() treat such strings as binary frames James Coglan 2025-05-24 13:16:00 +01:00
  • f1c9331b11 Merge pull request #95 from mackuba/binary_format James Coglan 2025-05-24 13:12:01 +01:00
  • 61bfc0725f added :binary_data_format option Kuba Suder 2025-05-08 02:19:07 +02:00
  • f662df08f1 Provide a 'Changelog' link on rubygems.org/gems/websocker-driver Mark Young 2025-01-13 14:35:33 +00:00
  • 3e099cb57b Bump version to 0.7.7 0.7.7 James Coglan 2025-01-04 11:24:15 +00:00
  • d97fcf892e Test on Ruby 3.3 and 3.4 James Coglan 2025-01-03 22:35:49 +00:00
  • 4662524fd3 Merge pull request #91 from HoneyryderChuck/patch-1 James Coglan 2025-01-03 22:35:20 +00:00
  • 3ae2cceb00 add base64 gem to gemspec Tiago 2024-07-18 10:24:29 +01:00
  • 58d4ed7427 Run tests on some additional Ruby versions James Coglan 2023-09-07 19:27:44 +01:00
  • 2e5faf6b2b Bump version to 0.7.6 0.7.6 James Coglan 2023-07-25 18:08:29 +01:00
  • f23ef0666f Test on Ruby 3.2 James Coglan 2023-07-25 18:02:26 +01:00
  • 3a2931751c Fix handling of default ports on Ruby 3.1 James Coglan 2022-09-10 15:37:55 +01:00
  • a5276e7875 Run tests on Ruby 3.1 James Coglan 2022-09-10 15:27:09 +01:00
  • 4739ec948d Merge pull request #85 from danielmorrison/support-frozen-by-default James Coglan 2022-02-06 23:01:21 +00:00
  • 720a0f23ba Remove implied wss support from the TCPSocket example James Coglan 2021-11-29 21:46:06 +00:00
  • 0e950c5134 Flag files that modify string literals Daniel Morrison 2021-09-13 10:15:25 -04:00
  • 911d14b96a Bump version to 0.7.5 0.7.5 James Coglan 2021-06-12 17:14:11 +01:00
  • 586c27f44e Clarify behaviour of Driver.encode to convert strings to UTF-8 and arrays to ASCII-8BIT fix-encoding-change James Coglan 2021-06-12 16:53:51 +01:00
  • 9a4f2f2d1d Do not change the encoding of strings passed to text() James Coglan 2021-06-09 21:39:40 +01:00
  • 41d20e42fe Bump version to 0.7.4 0.7.4 James Coglan 2021-05-24 23:25:48 +01:00
  • b10eb2bf3e Switch from Travis CI to GitHub Actions James Coglan 2021-05-17 19:56:05 +01:00
  • 91443b525e Enable Bundler caching for Travis James Coglan 2021-03-12 16:24:53 +00:00
  • 0f6a8ac9b3 Merge pull request #75 from matti/patch-1 James Coglan 2021-03-12 16:22:05 +00:00
  • 3ae2e3a0f6 Validate UTF-8 encoding of strings where needed, not on every call to Driver.encode optimise-encoding James Coglan 2021-02-26 16:21:15 +00:00
  • 9ec01dc328 Avoid allocating an array of the string bytes in Hybi#emit_frame James Coglan 2021-02-26 15:56:47 +00:00
  • 472569ad38 Avoid allocating so many arrays during Hybi#frame James Coglan 2021-02-26 15:37:45 +00:00
  • 219c409844 Use the Ruby Encoding constants instead of their string names James Coglan 2021-02-26 14:44:50 +00:00
  • c73f5bcf10 Update Ruby versions on Travis James Coglan 2021-02-26 14:42:18 +00:00
  • c021b23aef Merge pull request #77 from timcraft/patch-1 James Coglan 2021-01-06 15:32:11 +00:00
  • bd44d80c6e Test on ruby 3.0 timcraft 2021-01-06 14:55:22 +00:00
  • eb643f5949 Bump version to 0.7.3 0.7.3 James Coglan 2020-07-09 19:27:04 +01:00
  • e87bfef9bc Accept HTTP responses that have an empty reason-phrase, per RFC 2616 James Coglan 2020-07-09 19:06:13 +01:00
  • 4228ca5781 README: example of http response Matti Paksula 2020-06-14 10:21:23 +03:00
  • f882bc56d5 Bump version to 0.7.2 0.7.2 James Coglan 2020-05-22 16:06:12 +01:00
  • 46aafa4e99 Set {source,target}_version to work with the current version of javac on macOS James Coglan 2020-05-14 22:16:58 +01:00
  • fd9ed1bd3b [wip] Remove dist setting update-travis-dist James Coglan 2020-05-14 22:33:15 +01:00
  • 45a0c7680a Set {source,target}_version to work with the current version of javac on macOS James Coglan 2020-05-14 22:16:58 +01:00
  • db09a1af22 Update Ruby versions 2.4 to 2.7 on Travis James Coglan 2020-05-14 16:25:12 +01:00
  • 202e1800e0 Allow rack.input.read to return a frozen string pjaspers 2019-09-10 14:53:14 +02:00
  • b00f58701e Emit ping and pong events from the Server driver James Coglan 2020-02-14 14:41:43 +01:00
  • d05eb72d2d Mention license change in the changelog James Coglan 2019-06-13 11:40:48 +01:00
  • e568366f82 Formatting change: {...} should have spaces inside the braces James Coglan 2019-06-11 16:12:52 +01:00
  • 92334974c5 Bump version to 0.7.1 0.7.1 James Coglan 2019-06-10 12:40:06 +01:00
  • a6bb6a69a9 Change markdown formatting of docs. James Coglan 2019-05-29 15:34:34 +01:00
  • 019ba714cd Remove a redundant statement from the Hybi setup code. James Coglan 2019-05-28 17:33:55 +01:00
  • 03b46b8db6 Fail a draft-76 connection of a header does not contain any digits. James Coglan 2019-05-28 16:53:50 +01:00
  • 6b519eecc3 Depend on Rake < 12.3 if we're running on Ruby < 2.0. James Coglan 2019-05-28 16:49:48 +01:00
  • 77ae543784 Reformat the C and Java native extension modules. James Coglan 2019-05-28 16:25:34 +01:00
  • 8a6f9ef737 Fix an uninitialised variable warning. James Coglan 2019-05-24 14:59:01 +01:00
  • 5b957c6660 Update Travis target versions. James Coglan 2019-05-24 14:39:20 +01:00
  • 2c19210a69 Switch license to Apache 2.0. James Coglan 2019-05-24 14:38:29 +01:00
  • ee39af83d0 Test on Ruby 2.5.0. James Coglan 2018-02-19 21:02:43 +00:00
  • ec94a219e9 I think you have to use jruby-head instead of jruby-9 now. James Coglan 2017-11-23 23:14:37 +00:00
  • b14488aac5 Bump the Ruby versions for Travis. James Coglan 2017-11-23 23:03:01 +00:00
  • 11476318ea If any header used by Hybi is present, then pick Hybi, and likewise for Draft76. This means the driver is more likely to pick Hybi and report likely combinations of malformed headers as errors to the client. James Coglan 2017-11-23 23:02:15 +00:00
  • 2ec898c6a1 If any driver encounters a validation error in the request headers, it can throw an error and Driver#start will catch that and send a 400 response to the client. James Coglan 2017-11-23 23:01:26 +00:00
  • b8469386d5 Perform more stringent checks on request headers so that it should not be possible to get a driver for requests with invalid headers. request-validation James Coglan 2017-10-30 23:48:13 +00:00
  • 12d2aa8a80 Fix the version of Rubygems that Travis is using on Ruby 1.9. 0.7.0 James Coglan 2017-09-11 22:05:09 +01:00
  • 222e93a01c Bump version to 0.7.0. James Coglan 2017-09-11 22:00:08 +01:00
  • bc03ce72fe Refactor the client examples, and get the TCPSocket one into a runnable state so it can be run from the command line with a URI. James Coglan 2017-08-15 19:00:04 +01:00
  • bed599ae32 Don't require rubygems, this has not been necessary since Ruby 1.8. James Coglan 2017-08-08 23:41:48 +01:00
  • d3aee30def Merge pull request #53 from izwick-schachter/master James Coglan 2017-08-08 23:30:14 +01:00
  • 391c3d0426 Added TCPSocket client example izwick-schachter 2017-08-08 13:44:08 -04:00
  • 8739c7966f Rename tcp_server.rb to em_server.rb. James Coglan 2017-08-08 08:55:13 +01:00
  • 77e46d6fce Add an example EventMachine client. James Coglan 2017-08-08 08:54:50 +01:00
  • 06f215611e Flesh out the docs for the new ping/pong events. James Coglan 2017-08-02 21:55:14 +01:00
  • cd38349f9a Make the ping/pong tests check the content of the events. James Coglan 2017-08-02 21:54:59 +01:00
  • 5daa01be5e Emit ping and pong events after all other effects of those frames have been carried out. James Coglan 2017-08-02 21:32:17 +01:00
  • 1ea7205acf Merge pull request #51 from ably-forks/support-ping-in-event-emitter James Coglan 2017-08-02 21:28:31 +01:00
  • 7dba28caa2 Update Ruby versions in Travis config. James Coglan 2017-08-01 20:34:39 +01:00
  • dacae81312 Update docs to reflect ping & pong events Matthew O'Riordan 2017-05-16 15:01:27 +01:00
  • f22c97f977 Emit :ping and :pong events in the driver Matthew O'Riordan 2017-05-16 15:00:10 +01:00
  • 65c068b24d Merge pull request #50 from junaruga/feature/travis-ruby-head James Coglan 2017-04-14 10:32:59 +01:00
  • cab7ae1b29 Update Ruby 2.3, 2.4 to latest version on Travis. Jun Aruga 2017-04-03 19:31:18 +02:00
  • ba6c47dd77 Extract the Java integer parsing into a helper class. native-parser James Coglan 2017-03-26 12:08:49 +01:00
  • 92f4bdfb06 Use the bounds_check function to check preconditions for reading and writing uint16/uint64. James Coglan 2017-03-15 09:56:04 +00:00
  • 609d4feac0 Make the pointer-clearing macro shouty. James Coglan 2017-03-15 01:55:01 +00:00
  • 8818e7e176 Remove an unused iteration macro from queue.c. James Coglan 2017-03-15 01:54:46 +00:00
  • 83367d54f1 Only install memory_profiler on Ruby >= 2.1. James Coglan 2017-03-14 22:51:46 +00:00
  • ede40e2a3a Update the benchmark scripts to match what the API now looks like. James Coglan 2017-03-14 22:11:52 +00:00
  • 8fab2188c7 Update the valgrind script to include chunk.c and a callback for reserializing incoming messages, to test the unparser is not leaking. James Coglan 2017-03-14 22:03:30 +00:00
  • c22c952fb6 Rename ReadBuffer to StreamReader to match the Ruby version. James Coglan 2017-03-14 21:59:50 +00:00
  • 29dec87660 Wrap all buffers in the C implementation in an opaque struct that records the length of the buffer and an API that checks the offsets of common buffer operations. James Coglan 2017-03-14 21:41:33 +00:00
  • 6ef3c9cbb8 Rewrite the Ruby StreamReader class to use the same algorithm as the C/Java version. This radically reduces the amount of allocation Ruby has to do as it generates fewer new string objects. James Coglan 2017-03-14 20:53:15 +00:00
  • 15e7071c0b Add a script for reporting on the memory usage of different parsers. James Coglan 2017-03-14 20:54:17 +00:00
  • 5ba7910b17 Macros are SHOUTY. James Coglan 2017-03-07 09:46:52 +00:00
  • f95895f729 Check for hitting the max message size and max read buffer capacity without using additions that could overflow. James Coglan 2017-03-07 09:42:23 +00:00
  • 4564736fde Bring close frame handling into line between parser implementations. James Coglan 2017-03-06 21:12:27 +00:00
  • 2a0ebd9844 Remove an autoload for a nonexistent module. James Coglan 2017-03-04 12:42:16 +00:00
  • d488d3b050 Remove the unused wsd_Observer_on_frame() callback facility. James Coglan 2017-03-04 12:35:01 +00:00
  • 61fabc7337 Integrate hooks for calling valid_frame_rsv? into the native extensions, so that WebSocket extension modules can override RSV validation. James Coglan 2017-03-04 12:31:55 +00:00
  • 183674c99f Extract helpers for constructing JRuby values into their own class. James Coglan 2017-03-04 00:35:36 +00:00