Skip to content

Releases: mobileoverlord/phoenix_client

v0.11.1

13 Jul 14:16
Compare
Choose a tag to compare
  • Enhancements
    • Remove delay when sending messages through the socket.

v0.11.0

13 Jul 14:16
Compare
Choose a tag to compare
  • 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

26 Nov 21:35
Compare
Choose a tag to compare

v0.10.0

  • Enhancements
    • Extra headers can be added to the initial socket connection through the
      socket_opts using the key headers: [{"header-name", "value"}]

v0.9.0

26 Sep 17:53
Compare
Choose a tag to compare
  • Enhancements
    • All out of band reply messages are delivered to the channel's caller
      as broadcast messages. This allows the use of push_async to send
      messages to the server that may :reply in an indeterminate amount of time.

v0.8.0

07 Aug 12:41
Compare
Choose a tag to compare
  • 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

07 Aug 12:41
Compare
Choose a tag to compare
  • Enhancements
    • Update to use the Phoenix message protocol version 2.0.0
    • Improved socket disconnect handling

v0.6.1

07 Aug 12:40
Compare
Choose a tag to compare
  • Enhancements
    • Do not exit if a call to join results in a timeout. Instead, return
      {:error, :timeout}.

v0.6.0

07 Aug 12:40
Compare
Choose a tag to compare
  • Enhancements

    • Removed Socket.status/1 in favor of Socket.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
  • 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.

v0.5.1

25 Jan 17:11
Compare
Choose a tag to compare
  • 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

25 Jan 17:11
Compare
Choose a tag to compare

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.
  • Enhancements

    • Removed the requirement to define Socket and Channel modules that implement
      their respective behaviours. Sockets are now started by calling
      PhoenixClient.Socket.start_link directly.
      Channels are started by calling PhoenixClient.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 use push_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.