Skip to content
This repository has been archived by the owner on Jun 9, 2020. It is now read-only.

Releases: googlearchive/pywebsocket

pywebsocket-0.7.9

24 Aug 06:44
Compare
Choose a tag to compare

Changes from 0.7.8
(Typo fixes, comment addition, unittest changes and refactoring are omitted)

Bug fixes

  • Wrap IOErrors and socket.errors as ConnectionTerminatedExceptions
  • Fixed crash in _TLSSocket by adding missing methods
  • Convert pyOpenSSL specific exceptions into ones SocketServer knows
  • Send an internal endpoint error when a BadOperationException is thrown
  • Sec-WebSocket-Location header now includes the query part

New features

  • Added a SWIG based C++ fast masking library
  • Added extra_headers attribute to the request object to allow users to append their own headers
  • Added two-pass incompatibility check on extensions

TLS related

  • TLS client cert validation can now be set to optional
  • Added TLS module selection option

Deprecation

  • Moved deflate-stream processor to a separate file to prepare for removing it

Log and debugging

  • All log messages in headerparserhandler.py are now prefixed with "mod_pywebsocket: "
  • Refined log messages in standalone.py
  • Log the TLS module in use
  • Fixed Stream's log to be suitable also for use in client
  • Log the TLS/SSL cipher in use
  • Dispatcher now prints stack trace when AbortedByUserException is raised

Multiplexing experiment

  • Updated to conform to draft-ietf-hybi-websocket-multiplexing-07
  • Stop worker threads blocked for send quota shortage when the writer thread is done
  • Log exceptions thrown in set_read_state and on_writer_done method
  • Fixed invalid method call in worker termination code
  • Fixed mux parser to handle fragmented control frames inserted between fragmented non-control frames
  • Frame/message filters of logical channels are now applied to logical channel messages
  • Frame/message filters of the physical connection are now applied to multiplexed messages
  • Send a close message when the writer thread exits
  • Support extensions for logical channels
  • Support bad fragmentation drop code
  • Follow extra permessage cost rule

echo_client.py

  • Removed Hixie 75 protocol support
  • Added pyOpenSSL support
  • Added TLS/SSL version option
  • Added TLS module selection option
  • Fixed bugs of TLS socket closing and sendall method
  • Log the TLS/SSL cipher in use
  • Added an option to turn off TLS compression

console.html

  • When received an ArrayBuffer or Blob, print the size of them
  • Added UI to test subprotocol
  • Changed layout and style

New HTML tools

  • Added benchmark.html - a simple benchmark tool works with benchmark_helper_wsh.py
  • Added arraybuffer_benchmark.html - a simple ArrayBuffer read/write performance benchmark tool
  • Added eventsource.html - a simple EventSource example works with eventsource.cgi

New handler examples

  • abort_wsh.py and abort_handshake_wsh.py
  • internal_error_wsh.py
  • hsts_wsh.py
  • echo_noext_wsh.py

pywebsocket-0.7.8

24 Aug 06:43
Compare
Choose a tag to compare

Added bfinal = 1 blocks compression.

pywebsocket-0.7.7

24 Aug 06:43
Compare
Choose a tag to compare
  • Documentation
  • Drop hixie-75 support
  • Bug fixes

pywebsocket-0.7.6

24 Aug 06:43
Compare
Choose a tag to compare

New feature

  • Support client certificate authentication

Misc

  • Add new custom log level 'FINE' and 'FINER' for debug

pywebsocket-0.7.5

24 Aug 06:42
Compare
Choose a tag to compare

New feature

  • Allow handlers to send a close frame with empty body in response of a client initiated closing handshake
  • Implement perframe compression extension

Misc

  • Implement faster masking
  • Improve console.html for test
  • Implement strict check on sending close code and control frame body size

pywebsocket-0.7.4

24 Aug 06:42
Compare
Choose a tag to compare

New feature

  • support ssl library in addition to pyOpenSSL to support TLS

pywebsocket-0.7.3

24 Aug 06:41
Compare
Choose a tag to compare

Protocol update

  • made validation of Sec-WebSocket-Key strict to conform RFC 4648

New feature

  • when logging level is set to debug, shows compression ratio of compression extension

Bug fix

  • echo_client.py didn't work since ws_version was not set up correctly

Source code readability

  • cleaned up version names (draft 13 and draft 17 -> RFC 6455)

pywebsocket-0.7.1

24 Aug 06:39
Compare
Choose a tag to compare

No significant change:

  • Some bug fixes and refactoring
  • Changed "window_bits" deflate-frame extension parameter to "max_window_bits" to follow the current draft specification

pywebsocket-0.7

24 Aug 06:39
Compare
Choose a tag to compare

This is the first version which is supporsed to be fully compliant to Hybi-17

Differences from 0.6b6

  • Support multiple protocol versions negotiation
  • Strict check on header appearance counts
  • Attach sample configuration file for apache
  • Bug fix on dual stack service in OS X (Support WebKit layout)
  • Overlay layout support over apache (fallback to apache on resource path where is no ws handler)
  • Unit tests work on Python2.5.1

pywebsocket-0.6b6

24 Aug 06:38
Compare
Choose a tag to compare

Differences from 0.6b5

  • binary frame support for msgutil.
  • support python 2.7
  • support handlers of symbolic link to outside of root_dir
  • support minimum function of Hybi-13