Tags give the ability to mark specific points in history as being important
  • v0.3.1   v0.3.1
    9036321d · release 0.3.1 ·
  • v0.3.0
    957e1170 · release 0.3.0 ·
    Release v0.3.0

    Breaking changes:

    • The Polyjuice.Client module has been reworked.
      • Rather than creating a Polyjuice.Client struct, Polyjuice.Client.start_link should be called to start the client, and Polyjuice.Client.API.stop should be called to stop it. Read the documentation for Polyjuice.Client.start_link for more information.
      • The sync process is started automatically (but can be disabled).
      • A new client does not need to be created when the access token changes (e.g. on login)
      • A new Polyjuice.Client.LowLevel module has been added for situations where the old Polyjuice.Client would work better.
    • The Polyjuice.Client.Endpoint.HttpSpec struct now takes path and query parameters rather than a url parameter. Several helper methods have been added for creating the structs.
    • Polyjuice.Client.Endpoint.Proto.http_spec/1 method no longer takes a base_url parameter.
    • prefix_r0 and prefix_unstable have been moved from Polyjuice.Client to Polyjuice.Client.Endpoint.HttpSpec.
    • Endpoints that used to return {:ok} now return :ok instead.

    Features:

    • Add media upload/download methods. (Polyjuice.Client.Media)
    • Room requests are queued, to ensure that messages are sent in order.
    • New methods for leaving/forgetting rooms. (Polyjuice.Client.Room.leave and Polyjuice.Client.Room.forget)
    • The Polyjuice.Client client sends events on login and logout.
    • Add methods for server discovery using .well-known (Polyjuice.Client.WellKnown)

    Hex links:

  • v0.2.3
    Release v0.2.3

    Features:

    • Add support for getting room state (thanks to Pierre de Lacroix)

    Bug fixes:

    • Fix the sync.

    Hex links:

  • v0.2.2
    4b11ca86 · release 0.2.2 ·
    Release v0.2.2

    Breaking changes:

    • The Polyjuice.Client.Storage protocol adds a namespace parameter to the key-value storage functions. Code that uses the function must add this parameter to their calls, and modules that implement the protocol must add this parameter to their implementations. Existing stored data should be migrated.
    • The Polyjuice.Client.Storage protocol adds a kv_del function. Modules that implement the protocol must add this function to their implementations.
    • Client APIs return a different format on errors.

    Features:

    • Add more filtering methods.
    • Support for more endpoints:
      • setting room state
      • getting/streaming room history
    • Sync listeners can be functions instead of processes.

    Hex links:

  • v0.2.1
    eb7e8186 · release 0.2.1 ·
    Release v0.2.1

    Features:

    • Add a tutorial.

    Bug fixes:

    • Fix ETS storage so that the sync process can write to it.

    Hex links:

  • v0.2.0
    Release v0.2.0

    Breaking changes:

    • The Polyjuice.Client struct has some extra fields that are required by some functions.
    • The Polyjuice.Client.API.sync_child_spec function no longer takes a storage as a separate argument -- it is passed in as part of the client.
    • Functions for sending events were moved from Polyjuice.Client to Polyjuice.Client.Room, and the order of arguments was changed.

    Features:

    • New methods and endpoint for setting filters, as well as support in sync.
    • Sync sends more messages to update on more of the sync result.
    • New function for joining rooms.

    Hex links:

  • v0.1.0
    62794b9d · remove unneeded comments ·
    Release v0.1.0

    Initial release.