Revision history for Perl module Net::WebSocket

0.01 Wed Mar 22 2017
- Initial release

0.02 Thu Mar 23 2017
- Add this Changes file. :)

- BREAKING: Rename Endpoint “timeout” method to “check_heartbeat”.

- Fix missing Call::Context dependency.

0.021 Thu Mar 23 2017
- Remove stray Call::Always usage in tests

0.022 Sat Apr 22 2017
- Remove stray Try::Tiny dependency

0.023 Sat Apr 22 2017
- Fix another test dependency.

0.03 Wed May 3 2017
- BREAKING: Endpoint’s “out” parameter must now be an instance of
  IO::Framed::Write (or implement the same behavior).

- BREAKING: Parse’s parameter must now implement IO::Framed::Read.

- BREAKING: Because we now farm the I/O out to IO::Framed
  (or whatever replacement class you may prefer), some of the thrown
  exceptions are changed:

    Net::WebSocket::X::ReadFilehandle is gone. If you use IO::Framed,
    you’ll now receive IO::Framed::X::ReadError

    Net::WebSocket::X::EmptyRead is gone. If you use IO::Framed,
    you’ll now receive IO::Framed::X::EmptyRead.

- BREAKING: I’ve removed the before_send_control_frame() handler.

- Net::WebSocket::Parser now instantiates the “target” frame class object,
  not the base Net::WebSocket::Frame class. So there’s no more of the
  AUTOLOAD shenanigans of before.

- Removed the Bytes::Random::Secure::Tiny dependency. It doesn’t seem we
  really need cryptographically strong random numbers for masking or
  handshakes.

- Frame I/O logic is now distributed separately as IO::Framed. It’s not
  a strict dependency of this library, but you’re probably going to want
  it nonetheless, unless you want to reimplement that logic yourself.

- EINTR-trapping logic is now distributed separatedly as IO::SigGuard.
  (… which is used in IO::Framed)

- Added documentation for Net::WebSocket::Streamer

- Refactor ping handling behavior into its own module. It could be
  reusable potentially?

- Demos now favor IO::Events.

- Shell server demo now included. Hook it up to a nice JavaScript terminal
  emulator like xterm.js, and impress all your friends. :)

0.031 Tue May 9 2017
- Sync documentation with 0.03 API changes

- Document SERVER_ERROR anomaly re RFC erratum

- Straighten out a bit of POD in the main distro docs

0.04 Tue Sep 26 2017
- Support extensions in handshake.

- Allow get_next_message() not to throw an exception on a close frame.

- Add received_close_frame() and sent_close_frame() methods.

- Further documentation updates to accommodate 0.03 API changes

- Replace more plain exceptions with objects

0.05 Tue Oct 24 2017
- PMCE support, including permessage-deflate

- Major revamp of handshake logic: Net::WebSocket can now handle
the entire handshake.

0.051 Tue Oct 24 2017
- No code changed; documentation updated.

0.052 Sat Nov 4 2017
- Perl 5.12 and 5.10 are now supported.
- Fix exception creation boo-boos, added tests.

0.053 Thu Nov 9 2017
- Update tests and docs for up-to-date IO::Framed syntax
- Add README.pod

0.054 Wed Nov 29 2017
- Use Digest::SHA1 instead of Digest::SHA (SHA1 is lighter)
- Tweak Makefile.PL dependencies

0.06 Thu Nov 30 2017
- Normalize naming conventions for frame classes.
- Have frames receive “payload” instead of “payload_sr”.

0.061 Thu Nov 30 2017
- Copyright update
- A few other documentation tweaks

0.062 Wed Dec 13 2017
- Fix Parser.pm bug that corrupted parsed frames’ to_bytes() representation.
- Fix compatibility with reader objects that don’t die() on empty read.
- Fix spurious warnings when creating close frames via code/reason.
- Add SERVICE_RESTART, TRY_AGAIN_LATER, and BAD_GATEWAY statuses.
- Remove more old/inaccurate documentation in Endpoint.pm.
- Clarify (intended) divergence from RFC vis-à-vis 1005 status codes.
- Document do_not_die_on_close().

0.063 Wed Dec 13 2017
- Fix frame ->to_bytes() logic for large frames on 32-bit perls.
