ChangeLog
============

- 0.56.0

 - Don't retry sockets with timeout set to 0(#536)

- 0.55.0

  - Add response headers in WebSocketBadStatusException (#501)
  - Manually assigning WebSocket-Version (#506)
  - SSL socket handling fix (#474)
  - Let setup.py use the same license as LICENSE file (#517)
  - Ensure that "timeout" is passed down, when calling WebSocket.connect() (#513)
  - Retry connect on "Interrupted system call" (#528)

- 0.54.0

  - Change license from LGPL to BSD.
  - Status return for WebSocketApp.run_forever() (#492)
  - Handle redirects in handshake (#491)
  - Make proxy_type option available in WebSocketApp.run_forever() (#486)
  - Fix typo in supress_origin (#485)
  - WebSocketApp's on_close never emits status code or reason (#479)

- 0.53.0

  - on_open() missing 1 required positional argument: 'ws' (#471)
  
- 0.52.0

  - fixed callback argument in _app.py (#468)
  - Fixing none compare bug in run_forever (#472)
  - Fix NoneType bug introduced by #386 fix (#476)

- 0.51.0

  - revert "WebSocketApp class to make it inheritable (#442)" because of breaking the compatibily

- 0.50.0

  - fixed pong before ping (#461)
  - pass proper arguments to method callbacks (#462)

- 0.49.0

  - WebSocketApp class to make it inheritable (#442)
  - Add option to disable sending the Origin header (#459)
  - Websocket.close() meaning of "close status: XXXXX" (#414)
  - Enable multithreading protection with ping_interval (#448)
  - reset WebsocketApp.sock (#450)
  - websocket.enableTrace not working (#455)
  - AttributeError: 'module' object has no attribute 'NullHandler' (#443)
  - WebSocketBadStatusException "not enough arguments for format string" (#454)
  - handshake should deal with None in headers (#432)

- 0.48.0

  - Add NullHandler to logger to fix python 2 issue. (#400)
  - Fix the issue that websocket status message may not present (#403)
  - Socket error not raised in nested try except in python2 (#408)
  - Load system default certificates if none are given (#415)
  - Fix waiting forever on ping/pong timeout (#411)
  - socks5 via pysocks support (#417)
  - v0.47.0 breaks ability to stop stream with `run_forever` (#410)
  - _http.py: fix windows proxy error due to socktype (#427)

- 0.47.0

  - Fix socket constructor in _open_socket to use all relevant variables from getaddrinfo. (#383)
  - .send() method is very slow (#340)
  - cross-platform aync multi-client solution (#375)
  - Fix detecting timeouts with SSL in recv (#387)
  - Fix WebSocketApp does not poll for data correctly when using SSL (#384)
  - Fix Infinite ping/pong timeouts in WebSocketApp.run_forever (#395)
  - Added status message when HTTP can't be upgraded to WS (#399)

- 0.46.0

  - fixed OSError on windows (#370)
  - fixed invalid character (#379)

- 0.45.0

  - change license to LGP v2.1
  - allow reuse of WebsocketApp.run_forever (#365)
  - Update example for python3 (#360)
  - add lock to recv function (#356)
  - Parse close frame response correctly when reason present (#354)
  - Fix SSL: SSLV3_ALERT_HANDSHAKE_FAILURE on Debian Stretch (#353)
  - Wrap socket.gaierror with subclass of WebsocketException (#352)
  - Resolve a proxy issue and a connection error (#345)
  - Allow empty Host header value (#369)
  - Fix undefined variable (#347)
  - fix: getting a value with the key 'ca_certs' in sslopt dict (#326)

- 0.44.0

  -renames key in sslopt dict (#326)

- 0.43.0

  - Unkown kwarg 'ca_cert' when calling ssl wrap_socket() (#326)
  - Race condition in WebSocket ping/pong (#327)

- 0.42.0

  - Implement simple cookie jar(#292)
  - fix: when using pppoe redial will block.(#301)
  - Fix insecure_pythons list in setup.py(#304)
  - Support WEBSOCKET_CLIENT_CA_BUNDLE being directory(#307)
  - WebSocketPayloadException under high traffic and limited network connection(#306)
  - Not working --nocert parameter in wsdump.py(#315)
  - Avoid the app to block on close on certain systems (#320)
  - Fix warning is not defined. (#323)

- 0.41.0

  - move to repository to https://github.com/websocket-client/websocket-client.git
  - _send_ping warning fails due to missing reference in _logging.__all__ (#294)

- 0.40.0
  - Fix opcode -> op_code (#286)

- 0.39.0
  - Shuffled around example code (#256)
  - _send_ping graceful error handling (#262)
  - Allow closing WebSocketApp with status/reason/timeout (#265)
  - Support universal wheels (#267)
  - _url: Added subnet IP address matching in no_proxy host detection (#270)
  - fixed Incorrect encoding in continued messages python3 (#261)
  - Pass headers for websocket handshake (#271)
  - setup.py: Import `logging` before calling it. (#272)
  - Implemented close code 1014 (#273)
  - Support CA bundle specified by environment variable (#279)
  - Response header values should not be converted to lower case (#264)

- 0.38.0
  - Exclude port 443 from host http header (#248)
  - Cleanup code (#249)
  - Modify a code block directive in README (#250)
  - fixed ping/pong timeouet (#253)

- 0.37.0
  - fixed failure that `websocket.create_connection` does not accept `origin` as a parameter (#246 )

- 0.36.0
  - added support for using custom connection class (#235)
  - use Named logger (#238)
  - implement ping/pong timeout (#241)
  - Corrects the syntax highlight code (#243)
  - fixed failure to join thread before it is started (#242)

- 0.35.0
  - Prints timings in console (#217)
  - use inspect.getfullargspec with Python 3.x (#219)
  - Check that exception message is actually a string before trying for substring check (#224)
  - Use pre-initialized stream socket (#226)
  - fixed TypeError: cafile, capath and cadata cannot be all omitted (#227)

- 0.34.0

  - Change import style (#203)
  - fix attribute error on the older python. (#215)

- 0.33.0

  - fixed timeout+ssl error handling bug  on python 2.7.10 (#190)
  - add proxy support to wsdump.py (#194)
  - use wsaccel if available (#193)
  - add support for ssl cert chains to support client certs (#195)
  - fix string formatting in exception (#196)
  - fix typo in README.rst (#197)
  - introduce on_data callback to pass data type. (#198)
  - WebSocketBadStatusException for Handshake error (#199)
  - set close timeout (#192)
  - Map dict to headers list (#204)
  - support client certification (#207)
  - security improvement during handshake (#211)
  - improve logging of error from callback (#212)

- 0.32.0

  - fix http proxy bug (#189)

- 0.31.0

  - Avoid deprecated BaseException.message (#180)
  - Add travis builds (#182)
  - fixed wsdump to work with piped input (#183)
  - fixed output of wsdump.py with python3 (#185)
  - add raw mode to wsdump.py (#186)

- 0.30.0

  - fixed if client is behind proxy (#169)
  - support SNI for python 2.7.9+ and 3.2+ (#172)
  - update Host HTTP header by user. (#171)
  - fix typo for isEnabledFor (#173)
  - can set verify_mode to CERT_NONE when check_hostname is enabled.(#175)
  - make websockets iterable (#178)

- 0.29.0

  - fixed ssl socket bug

- 0.28.0

  - Fix erroneous argument shadowing(#168)

- 0.27.0

  - remove unittest2 requirements for python 2.6 (#156)
  - fixed subprotocol case during header validation (#158)
  - get response status and headers (#160)
  - fix out-of-memory due to fragmentation when receiving a very large frame(#163)
  - fix error if the payload data is nothing.(#166)
  - refactoring.

- 0.26.0

  - all WebSocketException provide message string (#152)
  - fixed tests fail when not connected to the network (#155)
  - Add command line options and handle closed socket to wsdump.py (#153)

- 0.25.0

  - fixed for Python 2.6(#151)

- 0.24.0

  - Supporting http-basic auth in WebSocketApp (#143)
  - fix failure of test.testInternalRecvStrict(#141)
  - skip utf8 validation by skip_utf8_validation argument (#137)
  - WebsocketProxyException will be raised if we got error about proxy.(#138)

- 0.23.0

  - Remove spurious print statement. (#135)

- 0.22.0

  - Fix not thread-safe of Websocket.close() (#120)
  - Try to get proxy info from environment if not explicitly provided (#124)
  - support proxy basic authentication. (#125)
  - Fix NoneType exception at WebsocketApp.send (#126)
  - not use proxy for localhost (#132)

- 0.21.0

  - Check for socket before attempting to close (#115)
  - Enable turning off SSL verification in wsdump.py(#116)
  - Enable to set subprotocol(#118)
  - Better support for Autobahn test suite (http://autobahn.ws/testsuite) (#117)

- v0.20.0

  - fix typo.

- v0.19.0

  - suppress close event message(#107)
  - detect socket connection state(#109)
  - support for code and reason in on_close callback(#111)
  - continuation frame handling seems suspicious(#113)

- v0.18.0

  -  allow override of match_hostname usage on ssl (#105)

- v0.17.0

  - can't set timeout on a standing websocket connection (#102)
  - fixed local variable 'error' referenced before assignment (#102, #98)

- v0.16.0

  - lock some method for multithread. (#92)
  - disable cert verification. (#89)

- v0.15.0

  - fixed exception when send a large message (#84)

- v0.14.1

  - fixed to work on Python2.6 (#83)

- v0.14.0

  - Support python 3(#73)
  - Support IPv6(#77)
  - Support explicit web proxy(#57)
  - specify cookie in connect method option(#82)

- v0.13.0

  - MemoryError when receiving large amount of data (~60 MB) at once(ISSUE#59)
  - Controlling fragmentation(ISSUE#55)
  - server certificate validation(ISSUE#56)
  - PyPI tarball is missing test_websocket.py(ISSUE#65)
  - Payload length encoding bug(ISSUE#58)
  - disable Nagle algorithm by default(ISSUE#41)
  - Better event loop in WebSocketApp(ISSUE#63)
  - Skip tests that require Internet access by default(ISSUE#66)

- v0.12.0

  - support keep alive for WebSocketApp(ISSUE#34)
  - fix some SSL bugs(ISSUE#35, #36)
  - fix "Timing out leaves websocket library in bad state"(ISSUE#37)
  - fix "WebSocketApp.run_with_no_err() silently eats all exceptions"(ISSUE#38)
  - WebSocketTimeoutException will be raised for ws/wss timeout(ISSUE#40)
  - improve wsdump message(ISSUE#42)
  - support fragmentation message(ISSUE#43)
  - fix some bugs

- v0.11.0

  - Only log non-normal close status(ISSUE#31)
  - Fix default Origin isn't URI(ISSUE#32)
  - fileno support(ISSUE#33)

- v0.10.0

  - allow to set HTTP Header to WebSocketApp(ISSUE#27)
  - fix typo in pydoc(ISSUE#28)
  - Passing a socketopt flag to the websocket constructor(ISSUE#29)
  - websocket.send fails with long data(ISSUE#30)


- v0.9.0

  - allow to set opcode in WebSocketApp.send(ISSUE#25)
  - allow to modify Origin(ISSUE#26)

- v0.8.0

  - many bug fix
  - some performance improvement

- v0.7.0

  - fixed problem to read long data.(ISSUE#12)
  - fix buffer size boundary violation

- v0.6.0

  - Patches: UUID4, self.keep_running, mask_key (ISSUE#11)
  - add wsdump.py tool

- v0.5.2

  - fix Echo App Demo Throw Error: 'NoneType' object has no attribute 'opcode  (ISSUE#10)

- v0.5.1

  - delete invalid print statement.

- v0.5.0

  - support hybi-13 protocol.

- v0.4.1

  - fix incorrect custom header order(ISSUE#1)
