Packages
extreme
1.2.0
1.2.0
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.1-rc01
1.1.0
1.1.0-rc9
1.1.0-rc8
1.1.0-rc7
1.1.0-rc6
1.1.0-rc5
1.1.0-rc4
1.1.0-rc3
1.1.0-rc2
1.1.0-rc1
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.0
0.10.4
0.10.3
0.10.2
0.10.1
0.10.0
0.9.2
0.9.1
0.9.0
0.8.1
0.8.0
0.7.1
0.7.0
0.6.2
0.6.1
0.6.0
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.3
0.4.2
0.4.1
Elixir TCP client for EventStore.
Current section
Files
Jump to
Current section
Files
README.md
# Extreme
[](https://github.com/exponentially/extreme/actions/workflows/test.yml)
[](https://hex.pm/packages/extreme)
[](https://inch-ci.org/github/exponentially/extreme)
[](https://coveralls.io/github/exponentially/extreme?branch=v1.0.0)
Erlang/Elixir TCP client for [Event Store](http://geteventstore.com/).
This version is tested with EventStore 5.0.11 and 21.10.5, Elixir 1.18 - 1.20 and Erlang/OTP 25 - 29.
It requires Elixir 1.16 or later.
EventStore messages (`Extreme.Messages.*`) are generated by [protobuf](https://hex.pm/packages/protobuf)
from `include/event_store.proto`; regenerate them with `scripts/gen_messages.sh`.
Documentation is TBD
## Releasing
1. On a branch, bump `version` in `mix.exs` and make sure the top CHANGELOG heading is the new
version (`# vX.Y.Z`); merge the PR into `v1.0.0`.
2. Publish a GitHub Release whose new tag is the bare version (`X.Y.Z`, no `v`) targeting `v1.0.0`,
e.g. `gh release create X.Y.Z --target v1.0.0`.
3. The release workflow checks that the tag matches `mix.exs` and is on `v1.0.0`, runs the format,
warnings and test checks against EventStore 21.10.5, and publishes the package and docs to hex.
It needs the repository secret `HEX_API_KEY`, a hex key scoped to the `extreme` package.
Prereleases are not published until promoted.