Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.6.2 - 2021-03-01
Fixed
await_join!/2
andawait_leave!/2
have been changed toawait_join!/3
andawait_leave!/3
matching their intended usage- the
topic
parameter has been added which coincides with the API ofawait_join/3
andawait_leave/3
- the
0.6.1 - 2021-02-27
Fixed
- Fixed dialyzer warnings arising from some code macro-injected by
Slipstream.__using__/1
- thanks
@jjcarstens
!
- thanks
0.6.0 - 2021-02-24
Removed
- Removed dependency on Phoenix
0.5.4 - 2021-02-22
Fixed
- Slipstream will now gracefully handle failures from
:gun.open/3
- errors will result in an invocation of a client's
Slipstream.handle_disconnect/2
callback (if the client is a module) or return an error tuple fromawait_connect/2
in the case of a synchronous client
- errors will result in an invocation of a client's
0.5.3 - 2021-02-11
Changed
- Synchronous functions are now grouped under "Synchronous Functions" in the documentation
0.5.2 - 2021-02-10
Fixed
- The timer reference for the heartbeat interval is now properly matched upon
in the connection process
- this fixes some behavior where the timer reference would not be canceled
(with
:timer.cancel/1
) upon disconnection - this has not manifested itself as a bug as far as we are aware, but this fix should properly clean up the timer when it is no longer needed
- this fixes some behavior where the timer reference would not be canceled
(with
0.5.1 - 2021-02-08
Added
- Added an example guide on how to use GenServer operations for a client
- Added an example on using Slipstream to script interactions with remote
Phoenix.Channel
s
0.5.0 - 2021-02-07
Added
- Added
Slipstream.Socket.update/3
which emulatesPhoenix.LiveView.update/3
- Added an example on the rejoin-after-reconnect pattern for clients which dynamically join topics
0.4.4 - 2021-02-07
Fixed
- Link to post-cutover-metrics image made absolute
0.4.3 - 2021-02-07
Added
- Added examples to the documentation
- "Graceful Startup" and "Repeater-style Client"
- Added a note about post-cutover performance changes after we (NFIBrokerage)
cutover to Slipstream in our stack
- This is a new section in the "Why :gun?" guide
- Added documentation on counting the number of Slipstream connection processes
to
Slipstream.ConnectionSupervisor
0.4.2 - 2021-02-05
Fixed
- Added channel config to socket on
Slipstream.connect/2
orSlipstream.connect!/2
- this fixes an issue reconnecting when faking a connection through
Slipstream.SocketTest.accept_connect/1
- this fixes an issue reconnecting when faking a connection through
0.4.1 - 2021-02-04
Fixed
- Changed the default behavior of
Slipstream.terminate/2
to disconnect gracefully withSlipstream.disconnect/1
Added
- Added better documentation on the
Slipstream.terminate/2
callback and how to disconnect in it to leave a connection gracefully
0.4.0 - 2021-02-04
Added
- Added telemetry support for clients
- see the telemetry guide for more details
0.3.4 - 2021-02-04
Fixed
- Fixed spelling and grammar mistakes in the implementation guide
0.3.3 - 2021-02-04
Added
- increased documentation around retry mechanisms
- added a page on the choice of
:gun
as the low-level webscket client
0.3.2 - 2021-02-03
Fixed
- Fixed edge case where the remote server shutting down would not emit a
ChannelClosed
event- this and heartbeats caused the odd
:gun_error
atom from #12
- this and heartbeats caused the odd
0.3.1 - 2021-02-03
Fixed
- The telemetry event for message handles in the connection process should now
correctly publish the
:events
key, not the:event
key - The telemetry guide now correctly states that the
:start_state
key holds the connection state for handle-style events
Added
- Published the connection state at the end of the message handle for
handle-type telemetry events in the connection process
- this is published in the
:end_state
key
- this is published in the
0.3.0 - 2021-02-03
Added
:telemetry
events are executed for each message handled by theSlipstream.Connection
process- this should aide in debugging in scenarios in which one wants to see the full event history of a connection
0.2.4 - 2021-02-02
Fixed
- Emit
ChannelClosed
event on HTTP close from remote websocket server- See #11
0.2.3 - 2021-02-02
Changed
- docs: the main page now shows the
Slipstream
module- frankly, I just want people to see the Basic Usage section as soon as possible so they get a taste for the library
0.2.2 - 2021-02-01
Fixed
- The connection now properly disconnects when the server's heartbeat replies
timeout with requests
- disconnects for this reason will send have
:heartbeat_timeout
as the reason referenced inSlipstream.handle_disconnect/2
- disconnects for this reason will send have
0.2.1 - 2021-02-01
Fixed
- Connection now correctly emits ChannelClosed events for
:gun
events which occur when a service's network access is terminated
0.2.0 - 2021-02-01
Added
- Added a testing framework
Slipstream.SocketTest
0.1.4 - 2021-01-31
Fixed
- Published license to hex
0.1.3 - 2021-01-30
Changed
- Widened dependency on
:gun
from~> 1.3
to~> 1.0
- as far as I can tell, there aren't any real changes to the websocket interface, so any of these versions should be OK
0.1.2 - 2021-01-30
Added
- More documentation
- including a Basic Usage section with a minimalistic example
0.1.1 - 2021-01-30
Removed
- Removed direct dependency on
:telemetry
- see #4
0.1.0 - 2021-01-30
Added
- Initial implementation and initial publish
0.0.0 - 2021-01-22
Added
- This project was generated by Gaas