This project follows semantic versioning.
Possible log types:
[added]
for new features.[changed]
for changes in existing functionality.[deprecated]
for once-stable features removed in upcoming releases.[removed]
for deprecated features removed in this release.[fixed]
for any bug fixes.[security]
to invite users to upgrade in case of vulnerabilities.
- [changed] Dependency upgrades
- [security] Added a dependency version override for jackson-databind which had some CVEs reported against the previously used version
- [added] Optionally provide a custom
SSLSocketFactory
(#128)
- [fixed] Protocol errors triggered by new clients after task state (#101)
- [fixed] Validation of 'send-error' message (#104)
- [fixed] Synchronisation issues (#123, #124)
- [added] Dual stack mode configuration (#116)
- [changed] Update dependencies (for proper dual stack mode)
- [changed] Minor optimisations and general cleanup (#109, #112, #118, #126)
Contributors:
- [@ovalseven8][@ovalseven8]
- [added] Add close code 3008 (timeout) (#87)
- [added] Precalculate shared keys (#91)
- [added] Add
CryptoProvider
abstraction to make NaCl implementation pluggable (#95) - [added]
Box
instances are now comparable - [changed] Use Java 8 (#93)
- [fixed] Fix potential NPE when WebSocket is closed (#85)
- [fixed] Accept server messages during/after peer handshake
- [fixed] If message nonce has an invalid source, discard it
- [added] Implement support for 'disconnected' messages (#84)
- [changed] Upgrade nv-websocket-client (#81)
- [changed] Upgrade msgpack libraries (#82)
- [changed] Upgrade json library (#83)
- [fixed] Fix potential race condition in websocket message handling (#76)
- [added] Improve documentation for events (#74)
- [added] Configurable WS connection retry attempts and linear backoff (#72)
- [added] Helper function for Byte array to hex string conversion
- [fixed] Fix bug in ValidationHelper
- [changed] Increase default WebSocket connection timeout to 10 seconds (#63)
- [added] Make WebSocket connect timeout configurable (#63)
- [added] When connecting to WebSocket fails, retry once (#63)
- [added] Add
allowNull
parameter to ValidationHelper.validateTypedList (#61) - [changed] Update dependencies
- [fixed] Fix problem in build process
- [fixed] Upgrade msgpack-java library to 0.8.12 which includes a fix for an IllegalArgumentException that may occur on Android 4
- [changed] Change subprotocol to
v1.saltyrtc.org
(#60) - [added] Add new close code: 3007 Invalid Key (#58)
- [added] Add support for multiple server permanent keys (#58)
- [fixed] If connection is closing or closed while sending a message, don't throw a ProtocolException
- [fixed] The previous release was broken, this release should fix it
- [changed]
SaltyRTC.sendApplicationMessage
now throws anInvalidStateException
if SaltyRTC instance is not inTASK
state - [fixed] Stop logging private key
- [changed] "Secret key" renamed to "private key" everywhere
- [added] Implement dynamic server endpoints (#53)
- [added] Add clearAll method to event registry (#39)
- [added] Add support for
ping_interval
(#46) - [added] Support sending Application messages (#47)
- [added] Allow hex strings as keys in
KeyStore
andSaltyRTCBuilder
(#38) - [fixed] Properly handle signaling errors (#36)
- [fixed] Send close message on disconnect
- [fixed] Close websocket on handover (#43, #49)
- [fixed] Drop inactive responders (#33)
- [fixed] Validate source in send-error message
- [fixed] The
CloseEvent
should now be emitted even if the server closes the connection - [fixed] Fix and simplify nonce validation
- [fixed] Synchronize disconnect method (#41)
- [fixed] Fix for double-encryption of signaling messages (#42)
- [added] Implement MITM prevention by accepting server keys in SaltyRTCBuilder (#29)
- [added] Update drop-responder messages (#35)
- [added] Support send-error messages (#37)
- [changed] Use custom
InvalidKeyException
instead ofjava.security.InvalidKeyException
- [fixed] Proper cookie / CSN scoping (#30)
- [fixed] Various small bugfixes and improvements
- [fixed] Fix concurrency bug in
CombinedSequence
, introduceCombinedSequenceSnapshot
- [changed]
Task.sendSignalingMessage
now throwsSignalingException
, notConnectionException
- [fixed] Make sure that new responders aren't already known
- [added] Implement support for tasks
- [added] Implement close messages
- [added] Add support for permanent server keys
- [added] Add
KeyStore(publicKey, secretKey)
constructor - [changed]
keyStore.getPrivateKey()
is nowkeyStore.getSecretKey()
- [changed] Rename
OPEN
SignalingState toTASK
- [changed] Vendorize jnacl library
- [changed]
ProtocolException
is now a subclass ofSignalingException
- [removed] Remove all WebRTC related functionality
- [removed] Remove restart message
- [changed] Introduce
SaltyRTCBuilder
(#15) - [added] Implement trusted keys (#16)
- Initial release