###############################################################################
- PR 1399 - Have connectBlocking clean up after a timeout
- PR 1419 - Fix issue #1418: WebSocketServer sometimes misses GET request after SSL handshake
- PR 1407 - Allow setting custom TCP receive buffer size
- PR 1399 - Have connectBlocking clean up after a timeout
In this release 0 issues and 4 pull requests were closed.
###############################################################################
- Issue 1382 - WebSocketClient.upgradeSocketToSSL is enforcing TLS 1.2 (PR 1387)
- PR 1387 - Retrieve default SSL socket factory
- Issue 1390 - Thread created by NamedThreadFactory should be a daemon (PR 1391)
- PR 1391 - Provide way to start the client/server as daemons
In this release 2 issues and 2 pull requests were closed.
###############################################################################
- Issue 1365 - Hang on reconnectBlocking
- Issue 1364 - NPE during reconnect (PR 1367)
- PR 1367 - Fix multiple issues related to reconnect
In this release 2 issues and 1 pull request were closed.
###############################################################################
- Issue 1308 - Add support for Java modules (PR 1309)
- PR 1309 - Add support for Java modules
- PR 1259 - Replace usages of deprecated constructor Integer(String) with Integer.parseInt
In this release 1 issue and 2 pull requests were closed.
###############################################################################
- Issue 1230 - CONTINUOUS should be decoded depending on the first frame (PR 1232 by @marci4)
- Issue 1203 - Lost connection detection not working on delayed connect-Call (PR 1204 by @marci4)
- Issue 1164 - [Android & Node.js Server] Problem using PerMessageDeflateExtension with custom ping/pong messages ? (PR 1165 by @marci4)
- Issue 1160 -
WebSocketWorker
does not handleThrowable
(PR 1223 by @Serpion-ua) - Issue 1142 - Verifying server certificate (PR 1143 by @marci4)
- PR 1227 - Correct web socket closing, by @Serpion-ua
- PR 1223 - Issue-1160 Added java.lang.Error handling in WebSocketImpl and WebSocketServer, by @Serpion-ua
- PR 1212 - high cpu when channel close exception fix, by @Adeptius
In this release 5 issues and 8 pull requests were closed.
###############################################################################
- Issue 1132 - Draft_6455 flagged by Veracode CWE-331 replace Random with SecureRandom (PR 1133 by @marci4)
- Issue 1053 - It's an invalid check null with SEC_WEB_SOCKET_KEY . (PR 1054 by @dota17)
- Issue 1026 - Force client to use the valid schema (PR 1025 by @yindex)
- PR 1070 - Prioritise using provided socket factory when creating socket with proxy, by @marci4
- PR 1028 - Fixed typo in WebSocketClient.reset's error message, by @alphaho
- PR 1018 - Added missing return character, by @pawankgupta-se
- Issue 1008 - Improve Sec-WebSocket-Protocol usability (PR 1034 by @marci4)
- Issue 1050 - What about adding the CodeFormatterProfile.xml with the code format ? (PR 1060 by @dota17)
- PR 1072 - Improve code quality, by @marci4
- PR 1060 - Using Google Java Code Style To Reformat Code, by @dota17
In this release 5 issues and 9 pull requests were closed.
###############################################################################
- Issue 1011 - Crash on Android due to missing method
setEndpointIdentificationAlgorithm
on 1.5.0. (PR 1014)
In this release 1 issue and 1 pull request were closed.
###############################################################################
This release requires API Level 1.7.
This release contains a security fix for CVE-2020-11050.
Take a look at the advisory here for more information.
- Issue 574 - Implementation of per message deflate extension (PR 866)
- PR 866 - Add PerMessageDeflate Extension support, see #574
- Issue 997 - Access to SSLParameters used by the WebSocketClient (PR 1000)
- Issue 574 - Implementation of per message deflate extension (PR 866)
- PR 1001 - Allow user to specify max number of pending connections to a server
- PR 1000 - SSLParameters for WebSocketClient
- PR 866 - Add PerMessageDeflate Extension support, see #574
In this release 3 issues and 4 pull requests were closed.
###############################################################################
- Issue 940 - WebSocket handshake fails over WSS, if client uses TLS False Start (PR 943)
- Issue 921 - ConcurrentModificationException when looping connections
- Issue 905 - IOException wrapped in InternalError not handled properly (PR 901)
- Issue 900 - OnClose is not called when client disconnect (PR 914)
- Issue 869 - Lost connection detection is sensitive to changes in system time (PR 878)
- Issue 665 - Data read with end of SSL handshake is discarded (PR 943)
- PR 943 - Merge pull request #943 from da-als/master
- PR 922 - Fix ConcurrentModificationException when iterating through connection
- PR 914 - Merge pull request #914 from marci4/Issue900
- PR 902 - ConcurrentModificationException when using broadcast
- PR 901 - fix when proxy tunneling failed (IOException is hidden) JDK-8173
- PR 878 - Replace TimerTask with ScheduledExecutorService
- Issue 969 - Loggers should be declared non-static (PR 970)
- Issue 962 - Improvements in socket connect to server (PR 964)
- Issue 941 - How to send customized ping message on connectionLostTimeout interval (PR 944)
- Issue 890 - Would like to get SSLSession from WebSocket on server to examine client certificates (PR 893)
- Issue 865 - Append new headers to the client when reconnecting
- Issue 859 - Hot wo specify a custom DNS Resolver (PR 906)
- PR 971 - Enabled OSGi metadata in MANIFST-MF for created JAR
- PR 964 - Use socket isConnected() method rather than isBound()
- PR 944 - Add ability to customize ping messages with custom data
- PR 906 - Implemented a custom DNS resolver, see #859
- PR 893 - Provide a way to access the SSLSession of a websocket instance
- PR 868 - Add a way to put additional headers to handshake for connecting/reconnecting, see #865
- Issue 907 - build fails with Gradle 5+ (PR 908)
- Issue 869 - Lost connection detection is sensitive to changes in system time (PR 878)
- PR 970 - Made loggers non-static to support deployment in containers
- PR 931 - Create new github actions
- PR 908 - Remove outdated 'wrapper' task from build.gradle (#907)
- PR 878 - Replace TimerTask with ScheduledExecutorService
- PR 874 - Update dependencies
In this release 14 issues and 17 pull requests were closed.
- Issue 753 - Breaking changes in 1.4
- Issue 670 - Use a logging framework such as as SLF4J instead of System.out.println (PR 754)
- Issue 855 - WebSocketServer cannot be started without .start() (PR 856)
- Issue 847 - java.nio.BufferUnderflowException (PR 849)
- Issue 834 - Workers should not be started before the server
- Issue 827 - WebSocketClient close()
- Issue 784 - Building with gradle fails
- Issue 773 - Memory leak in WebSocketImpl.outQueue (PR 781)
- PR 856 - Move the startup of the WebSocketWorker inside of run()
- PR 850 - Fix issue #834 by starting WebSocketWorker of the WebSocketServer in the start function
- PR 849 - Fix issue #847
- PR 846 - Pass on exit code in WebSocketClient close function - fixes bug #827
- PR 824 - Synchronize AbstractWebSocket
- PR 785 - Update build.gradle
- PR 781 - Null the reference of the WebSocketImpl
- PR 771 - Test for 765
- PR 770 - Use a SocketFactory to support reconnecting
- PR 769 - Close WebSocketFactory when updated
- PR 757 - -keyalg RSA is needed or you'll get SSLHandshakeException: no cipher …
- Issue 845 - Generate changelog.md (PR 851)
- Issue 838 - Allow for two-way ssl(SSLEngine.setNeedClientAuth())
- Issue 670 - Use a logging framework such as as SLF4J instead of System.out.println (PR 754)
- Issue 598 - Memory Management (PR 761)
- PR 839 - SSLEngineWebSocketServerFactory allows more customization
- PR 761 - Implements Memory Management
- Issue 845 - Generate changelog.md (PR 851)
- Issue 819 - Ant build removed on master ?
- Issue 784 - Building with gradle fails
- Issue 753 - Breaking changes in 1.4
- Issue 749 - Improve code quality for 1.4.0
- PR 848 - Removed unused/unrelated imports (including deprecated CORBA)
- PR 833 - Fix some sonarqube errors
- PR 824 - Synchronize AbstractWebSocket
- PR 821 - Remove outdated build instructions from README
- PR 805 - More improvement
- PR 789 - WebSocketServer code quality
- PR 785 - Update build.gradle
- PR 768 - Fixed several issues related to the code quality
- PR 754 - Using SLF4J and refactored code
In this release 16 issues and 22 pull requests were closed.
- Issue 694 - AssertionError at WebSocketImpl.isOpen
- Issue 685 - Exclude default port from wss host (PR 683)
- PR 746 - Fixed typo in Draft_6455
- PR 722 - Catch exceptions in AbstractWebSocket
- PR 708 - Enable and Disable ping/pong
- Issue 711 - broadcasting a ByteBuffer
- Issue 699 - Enable and Disable ping/pong
- PR 738 - Adjust readme
- PR 737 - Prepare for automatic snapshot deploy
- PR 724 - added a timeout option for connectBlocking
- PR 712 - Added a broadcast method for ByteBuffers
- PR 708 - Enable and Disable ping/pong
- PR 739 - Exception when using reconnect in websocket thread
- PR 736 - Change example section
- PR 733 - Remove static from synchronize object
- PR 702 - Removed assertion from WebSocketImpl.isOpen (see #694)
- PR 682 - Deprecate Connecting and additional tests
In this release 4 issues and 13 pull requests were closed.
- Issue 668 - When a server fails to start it does not cleanup its WebSocketWorker threads
- PR 662 - NPE on already bound port
- Issue 256 - how to reconnect websocket (PR 654)
- PR 654 - WebSocketClient supports reconnecting
- PR 651 - Support for close code 1012-1014
- Issue 669 - Include information in the onClose call for the connection lost detection (PR 671)
- Issue 666 - Give the main WebSocketClient thread and AbstractWebSocket Timer a name (PR 667)
- PR 675 - Change thread name
- PR 671 - Include reason for dc due to lost connection detection
- PR 667 - Give all threads a custom name
In this release 4 issues and 6 pull requests were closed.
- Issue 621 - conn.close() in server's onOpen method causes null pointer exception (PR 622)
- Issue 620 - Investigate cause for #580 (PR 628)
- Issue 609 - A connection will be in readystate Open when onWebSocketClose is called (PR 610)
- Issue 606 - WebsocketNotConnectedException in Timer-0 ping
- PR 628 - Graceful shutdown on stop()
- PR 622 - Fix for #621
- PR 610 - Check if connection is open on sendPing & change readystate on closeConnection
- Issue 608 - Sec-WebSocket-Protocol header not supported (PR 614)
- PR 627 - Added setAttachment and getAttachment to WebSocket interface
- PR 614 - Protocol
- PR 635 - Mark AbstractClientProxyChannel as deprecated
- PR 614 - Protocol
- PR 610 - Check if connection is open on sendPing & change readystate on closeConnection
In this release 5 issues and 8 pull requests were closed.
- Issue 579 - Exception with sending ping without server access
- PR 603 - Check for sending a close frame
- Issue 577 - Improve onClose behaviour on client side
- PR 597 - Code cleanups
- PR 596 - Improved OpeningHandshakeRejection test
- PR 591 - Adjusted examples
- PR 589 - Include whole invalid status line
- PR 578 - Refactoring and improved onClose behaviour
In this release 2 issues and 6 pull requests were closed.
- Issue 564 - Continuous binary getting swallowed? (PR 570)
- Issue 530 - onWebsocketHandshakeReceivedAsServer throwing InvalidDataException has no effect
- Issue 512 - AssertionError in WebSocketServer.removeConnection
- Issue 508 - Ant fails due to missing
dist/
directory - Issue 504 - Clean up connections after connection closed
- Issue 390 - Websocket server returning 401; can't handle on client side
- PR 506 - Connections dont always get cleaned up after lost connection
- Issue 528 - so_reuseaddr
- Issue 463 - Support for Compression Extensions for WebSocket
- PR 529 - Added setter for SO_REUSEADDR
- PR 510 - Add true WSS support to WebSocketClient
- Issue 545 - java.io.IOException: Broken pipe
- Issue 539 - Improve memory usage
- Issue 516 - Improve handling of IOExceptions causing eot()
- PR 558 - Code cleanups
- PR 553 - Removal of deprecated drafts
- PR 510 - Add true WSS support to WebSocketClient
- PR 500 - Making WebSocket.send() thread-safe
In this release 11 issues and 7 pull requests were closed.
- Issue 478 - Draft_10, Draft_17, Draft_75 and Draft_76 are now deprecated
- Issue 484 - Problems with WSS running on linux and Edge(or ie) browser
- Issue 481 - No Javadoc attached when using from Gradle
- Issue 473 - Improve lost connection detection
- Issue 466 - Instability on WSS Connections, only works when one client abandon connection
- Issue 465 - Bad rsv 4 on android
- Issue 294 - Issue in SSL implementation : protocole ws:// is always use in Draft_76.java
- Issue 222 - Worker threads do not close if bind() fails
- Issue 120 - Closing wss connections might not work as expected
- PR 477 - Fix for #222
- PR 472 - Fix for #466
- PR 470 - Fix #465
- PR 497 - Added new AutobahnServerTest for SSL and fixed errors in closeframe
- PR 493 - Clear implementations for frames and SSLWebsocketServerFactory
- PR 489 - Possibility to override worker thread allocation logic in WebSocketSe…
- PR 487 - Example for LetsEncrypt
- PR 483 - Introduction of Draft_6455
- PR 480 - Lostconnection
- Issue 473 - Improve lost connection detection
- Issue 222 - Worker threads do not close if bind() fails
- PR 493 - Clear implementations for frames and SSLWebsocketServerFactory
- PR 488 - New SSLSocketChannel
- PR 486 - ByteBuffer and JUnitTests
- PR 483 - Introduction of Draft_6455
- PR 480 - Lostconnection
- PR 469 - Cleanups & JavaDocs
In this release 11 issues and 15 pull requests were closed.
- Issue 458 - 100% cpu when using SSL
- Issue 362 - race problem when starting server with port 0
- Issue 302 - Client blocking connect and close methods return too soon
- Issue 452 - Unable to verify hostname after handshake
- Issue 339 - setTCPNoDelay inaccessible
- Issue 271 - There is no notification for websocket server success start
- PR 462 - Make TCP_NODELAY accessible
In this release 6 issues and 1 pull request were closed.