This repository has been archived by the owner on Jun 9, 2020. It is now read-only.
Releases: googlearchive/pywebsocket
Releases · googlearchive/pywebsocket
pywebsocket-0.7.9
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
Added bfinal = 1 blocks compression.
pywebsocket-0.7.7
- Documentation
- Drop hixie-75 support
- Bug fixes
pywebsocket-0.7.6
New feature
- Support client certificate authentication
Misc
- Add new custom log level 'FINE' and 'FINER' for debug
pywebsocket-0.7.5
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
New feature
- support ssl library in addition to pyOpenSSL to support TLS
pywebsocket-0.7.3
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
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
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
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