All Versions
10
Latest Version
Avg Release Cycle
74 days
Latest Release
-

Changelog History

  • v0.4.3 Changes

    โœจ Enhancements

    • โž• Added ssl_options documentation
      • Also support for dialyzer analysis

    ๐Ÿ› Bug Fixes

    • Properly hand-off when establishing a connection using :ssl
      • Before we could miss messages that were sent before hand-off
    • ๐Ÿ– Handle large but incomplete :continuation frames.
  • v0.4.2 Changes

    December 02, 2018

    โœจ Enhancements

    • โž• Added ssl_options to WebSockex.Conn struct.
      • Documentation Pending...

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fix pong frame not being a correct return type in spec
    • ๐Ÿ›  Fix bare ping and pong frames in spec
      • When there is no associated payload for their frame types
    • ๐Ÿ›  Fix handling SSL socket closings during the close_loop
    • โž• Add types and documentation for processes named with :via and :global
    • ๐Ÿ›  Fixed a crash when replying to a closed socket
  • v0.4.1 Changes

    January 22, 2018

    โœจ Enhancements

    • ๐Ÿ‘ Allow :via and :global tuples for named registration. This includes handling for cast/2 and send_frame/2.
    • Add access to response headers during handle_connect/2 via Conn.resp_headers.
    • โž• Add Conn.parse_url/1 to handle url to URI conversion.
    • ๐Ÿ‘ Allow Conn.new/2 to use a url string instead of a URI struct.
    • Automatically add a "/" path to a pathless url.
      • The HTTP request will break without a valid path!
    • โž• Add child_spec definitions for Elixir 1.5+
      • Or any version that exports Supervisor.child_spec/2
    • ๐Ÿ“š Some documentation tweaks

    ๐Ÿ› Bug Fixes

    • No longer invoke handle_disconnect if there is reason to exit from invoking a callback. (e.g. an exception was raised)
    • Properly handle unexpected SSL socket termination.
      • This seems pretty important, but I don't know...
    • Return a descriptive error when trying to use send_frame/2 in a callback.
  • v0.4.0 Changes

    July 12, 2017

    ๐Ÿ’ฅ Breaking Changes

    • ๐Ÿ”€ send_frame/2 is now synchronous and returns an error when connection is opening or closing.

    โœจ Enhancements

    • โž• Added debug printing for the :sys module.
    • Rework Conn.new to accept other protocols.
    • โž• Added an InvalidFrameError for frames unrecognized by Frame.encode_frame.
    • Go through the disconnect cycle when there's an error while with the {:reply, frame, state} callback response.
    • Send a close frame with the close code 1011 when there is an unexpected error. (Like an Exception in the middle of a callback)
    • โž• Add a more specific error when the :websockex application hasn't been started yet.
    • โž• Added a :name options for local registration.

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fix a couple of places where the call stack wasn't being properly tail-call optimized.
  • v0.3.1 Changes

    June 23, 2017

    โœจ Enhancements

    • ๐Ÿ– Handle system messages and parent exits while closing the connection.
    • The output from :sys.get_status didn't look pretty in :observer now it does!
    • format_status/2 now an optional callback.

    ๐Ÿ› Bug Fixes

    • SSL frames sent right after connecting will now be handled instead of being left in a dead Task mailbox.
    • ๐Ÿ›  Fixed some places where dialyzer told me I had my specs screwed up.
  • v0.3.0 Changes

    June 17, 2017

    ๐Ÿ’ฅ Breaking Changes

    • The parameters for the handle_connect/2 callback have been reversed. The order is now (conn, state).

    โœจ Enhancements

    • โž• Added initial connection timeouts. (:socket_connect_timeout and :socket_recv_timeout)
      • Can be used as start or start_link option or as a Conn.new option.
      • :socket_connect_timeout - The timeout for opening a TCP connection.
      • :socket_recv_timeout - The timeout for receiving a HTTP response header.
    • start and start_link can now take a Conn struct in place of a url.
    • โž• Added the ability to handle system messages while opening a connection.
    • โž• Added the ability to handle parent exit messages while opening a connection.
    • Improve :sys.get_status, :sys.get_state, :sys.replace_state functions.
      • These are undocumented, but are meant primarly for debugging.

    ๐Ÿ› Bug Fixes

    • Ensure terminate/2 callback is called consistently.
    • ๐Ÿšฆ Ensure when termination when a parent exit signal is received.
    • Add the system_code_change function so that the code_change callback is actually used.
  • v0.2.0 Changes

    June 03, 2017

    Major Changes

    • ๐Ÿšš Moved all the WebSockex.Client module functionality into the base WebSockex module.
    • Roll handle_connect_failure functionality into handle_disconnect.
    • Roll init functionality into handle_connect

    Detailed Changes

    • Roll init functionality into handle_connect
      • handle_connect will be invoked upon establishing any connection, i.e., the intial connection and when reconnecting.
      • The init callback is removed entirely.
    • ๐Ÿšš Moved all the WebSockex.Client module functionality into the base WebSockex module.
      • Changed the Application module to WebSockex.Application.
    • โž• Add WebSockex.start for non-linked processes.
    • โž• Add async option to start and start_link.
    • Roll handle_connect_failure functionality into handle_disconnect.
      • The first parameter of handle_disconnect is now a map with the keys: :reason, :conn, and :attempt_number.
      • handle_disconnect now has another return option for when wanted to reconnect with different URI options or headers: {:reconnect, new_conn, new_state}
      • Added the :handle_initial_conn_failure option to the options for start and start_link that will allow handle_disconnect to be called if we can establish a connection during those functions.
      • Removed handle_connect_failure entirely.
  • v0.1.3 Changes

    May 17, 2017
    • WebSockex.start_link will no longer cause the calling process to exit on
      connection failure and will return a proper error tuple instead.
    • ๐Ÿ”„ Change WebSockex.Conn.RequestError to WebSockex.RequestError.
    • Add handle_connect_failure to be invoked after initiating a connection
      ๐Ÿ›  fails. Fixes #5
  • v0.1.2 Changes

    April 21, 2017
    • Rework how disconnects are handled which should improve the handle_disconnect callback reliability.
  • v0.1.1

    April 17, 2017