Releases: mobileoverlord/phoenix_client
Releases · mobileoverlord/phoenix_client
v0.11.1
v0.11.0
- Enhancements
websocket_client
is no longer an optional dependency.- Delegate heartbeat to the transport instead of using the
phx_heartbeat
message. This results in a much smaller payload for keeping the connection
alive. - Add
:ssl
to extra_applications so it is included and started with OTP.
v0.10.0
v0.10.0
- Enhancements
- Extra headers can be added to the initial socket connection through the
socket_opts
using the keyheaders: [{"header-name", "value"}]
- Extra headers can be added to the initial socket connection through the
v0.9.0
- Enhancements
- All out of band reply messages are delivered to the channel's caller
as broadcast messages. This allows the use ofpush_async
to send
messages to the server that may:reply
in an indeterminate amount of time.
- All out of band reply messages are delivered to the channel's caller
v0.8.0
- Enhancements
- Add support for v1 and v2 phoenix channel message protocol.
- Bug fixes
- Remove the channels from the socket when disconnecting.
- Merge query params from original url when constructing new connection
url.
v0.7.0
- Enhancements
- Update to use the Phoenix message protocol version 2.0.0
- Improved socket disconnect handling
v0.6.1
- Enhancements
- Do not exit if a call to join results in a timeout. Instead, return
{:error, :timeout}.
- Do not exit if a call to join results in a timeout. Instead, return
v0.6.0
-
Enhancements
- Removed
Socket.status/1
in favor ofSocket.connected?/1
. - Channel.start_link and stop are now private. You should call
Channel.join/leave to manage the lifecycle of the channel connection. - Added a DynamicSupervisor for Channel connections
- Removed
-
Bug fixes
- Refactored socket channel leaves and joins. The socket is now responsible
for sending the join and leave messages. This fixes potential issues where
the socket could attempt to join a topic more than once.
- Refactored socket channel leaves and joins. The socket is now responsible
v0.5.1
- Bug fixes
- Attempt to reconnect the socket if transport exits abnormally.
- Prevent the channel from delivering multiple "phx_error" or "phx_close".
messages if the socket fails. - Set the socket status to :disconnected when the transport exits.
v0.5.0
Important
This version has been renamed and refactored. You will need to migrate existing
phoenix_channel_client
projects before first use. Please see the readme for
how to implement this new pattern.
-
Bug fixes
- The Socket will monitor linked channels for down messages and remove them
from the channel links.
- The Socket will monitor linked channels for down messages and remove them
-
Enhancements
- Removed the requirement to define
Socket
andChannel
modules that implement
their respective behaviours. Sockets are now started by calling
PhoenixClient.Socket.start_link
directly.
Channels are started by callingPhoenixClient.Channel
. - Calls to
PhoenixClient.Channel.push
happen synchronously. This helps to
reduce callback spaghetti code by making the reply available at the call site.
If you do not require a response from the server, you can usepush_async
. - Non-reply messages that are pushed from the server will be sent to the pid
of the process that called join. They will be delivered as%PhoenixClient.Message{}
.
See the main readme for an example of this.
- Removed the requirement to define