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.5.0 - 2021-04-19

Added

  • Added the gossip API
    • this API is very small: just one function Spear.cluster_info/2
    • also added Spear.Client.cluster_info/1
    • under the hood, this also added the ability to decode structured UUIDs received from the EventStoreDB, as are received in the Spear.ClusterMember.instance_id field. See Spear.Uuid for the interesting implementation.
    • added the record interface Spear.Records.Gossip

Fixed

  • Properly grouped free-floating modules under the proper structures and types or record interface groupings in the documentation

0.4.0 - 2021-04-19

Fixed

  • Updated security guide to use new configuration style

Added

0.3.0 - 2021-04-18

Added

0.2.1 - 2021-04-17

Added

0.2.0 - 2021-04-17

Changed

  • Refactored connection configuration to go through validation
    • :opts option has been renamed to :mint_opts
    • credentials are passed through the :connection_string option or as :username and :password options

Added

  • Implemented and documented keep-alive
    • This can be configured through the keepAliveInterval and keepAliveTimeout query params in :connection_string or by the new :keep_alive_interval and :keep_alive_timeout configuration options

0.1.4 - 2021-04-16

Added

  • {:eos, :closed} is now emitted when a subscription is broken due to the connection between closed between Spear.Connection and EventStoreDB
  • Spear.Connection now monitors subscription processes and cancels EventStoreDB subscriptions upon subscriber process exit

0.1.3 - 2021-04-15

Added

0.1.2 - 2021-04-14

Added

Changed

  • Changed the internals of Spear.Connection to take advantage of the new Connection dependency
    • A failure to connect on GenServer init for a connection will no longer take down the supervision tree
    • Failures to connect will result in back-off retries in 500ms segments
    • The life-cycle of the HTTP2 connection spawned by a Spear.Connection is now divorced from the life-cycle of the Spear.Connection process

0.1.1 - 2021-04-14

Removed

  • Removed dependency on elixir-protobuf/protobuf
    • see #4
    • also removed all generated files from protobuf

Added

  • Added dependency on :gpb
    • and associated generated erlang files
  • Added Spear.Records.* interface for interacting with gpb-generated records

0.1.0 - 2021-04-12

Added

  • Initial implementation of a client for the streams API
    • all notable functions are labeled with the since: "0.1.0" doc attribute