- Updated dependencies.
- Improved how adapters disconnect from an unexistent manager.
- Updated dependencies.
- Improved how supervisors stop their children.
- Updated
Yggdrasil.Subscriber.Manager
so it starts faster.
- Updated the dependencies including
Phoenix.PubSub
. - Upgraded
Yggdrasil.Registry
:- Using
:pg
instead of:pg2
. - Using
:persistent_term
instead of:ets
.
- Using
- Upgraded
Yggdrasil.Subscriber.Manager
to use:pg
instead of:pg2
.
- Updated dependencies.
- Added dialyzer.
- Fixed dialyzer warnings.
- [
Yggdrasil
] AddedYggdrasil
behaviour which is aGenServer
wrapper for receivingYggdrasil
messages. - [
Yggdrasil.Adapter.Bridge
] Added:bridge
adapter for adding multi-node support to every adapter. - Updated dependencies.
- Support for Elixir 1.8 and Erlang 21
- Updated Skogsra.
- Added formatter.
- Fixed channel defaults
- [
Yggdrasil
] Nowsubscribe/1
,unsubscribe/1
andpublish/3
can receive a map or aKeyword
list as channel as well as theYggdrasil.Channel
struct. - Added Yggdrasil logo to documentation.
- Added Yggdrasil Ethereum adapter to documentation.
- Added Yggdrasil GraphQL adapter to documentation.
- Fixed connection messages. They weren't reliable.
- [
Yggdrasil.Subscriber.Adapter
] Simplified the subscriber adapter behaviour. - [
Yggdrasil.Subscriber.Manager
] Improved subscriber manager to distribute connection and disconnection messages from the adapters.
- [
Yggdrasil.Adapter
] Added behaviour to add adapters easily. - [
Yggdrasil.Backend
] Added behaviour to add backends easily. - [
Yggdrasil.Transformer
] Improved the transformer behaviour. - [
:yggdrasil_redis
,:yggdrasil_rabbitmq
,:yggdrasil_postgres
] Separated Redis, RabbitMQ and PostgreSQL adapters to three other repositories. This makes Yggdrasil really agnostic. - Updated the code to follow the new Supervisor child specs.
- Fixed bug in Redis and Postgres adapters that didn't publish the disconnection message correctly. Closes #6 and #7.
- Improved disconnection handling.
- [
Yggdrasil.Subscriber.Adapter.Postgres
] Exponential backoff on connection retries.
- [
Yggdrasil.Subscriber.Adapter.RabbitMQ
] Exponential backoff on connection retries. - Improved disconnection handling.
- [
Yggdrasil.Subscriber.Adapter.RabbitMQ
] Now properly closes the open channels when the client unsubscribes.
- [
Yggdrasil.Distributor
] Now the subscriptions to channels are managed by the subscription process tree instead of a process outside of this tree. - [
Yggdrasil
] On unsubscription or disconnection, a new message is sent to subscribers:{:Y_DISCONNECTED, Yggdrasil.Channel.t()}
. - Improved documentation.
- Updated dependencies.
- Added
docker-compose.yml
file that starts a PostgreSQL database, a RabbitMQ server and a Redis server (useful for testing).
- Consistency between versions in the documentation and the code.
- [
Yggdrasil.Subscriber.Adapter.RabbitMQ
] For the adapter configuration, thehost
is now set ashostname
. - [
Yggdrasil.Subscriber.Adapter.Redis
] For the adapter configuration, thehost
is now set ashostname
. - [
Yggdrasil.Settings
] Added this module to handle the application configuration usingSkogsra
. This allows Yggdrasil to be configured by using OS environment variables. Also, this module has all the configuration settings properly documented.
.travis.yml
was simplified by just setting an environment variable during the tests.