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.
- Add
add_listener/2
andremove_listener/2
functions toFreddy.Adapter.Sandbox
.
- Add OpenTelemetry support
0.16.0 (2020-12-18)
- Catch open_channel messages (#36)
- Elixir 1.8 deprecation warnings (#33)
0.15.1 (2019-02-05)
- Add
unbind_queue
functionality to AMQP and Sandbox adapters (#31)
0.15.0 (2019-01-11)
- Add
delete_queue
functionality to AMQP and Sanddox adapters (#28)
- Fix incorrect example in
Freddy.Adapter.Sandbox
documentation (#26)
- Remove
amqp
runtime dependency. Users must manually include this library intomix.exs
if they still want to use it directly (#29, #30)
0.14.0 (2018-07-17)
Freddy.RPC.Server
behaviour (#18)- Support for connection to multiple hosts (#19)
- Support for exponential backoff intervals when re-establishing disrupted connection (#21)
- This changelog
Freddy.RPC.Client
doesn't require response to have%{success: true, output: result}
structure (c4b8aa3)- Freddy now uses CircleCI to run tests (#20)
- Default connection options changed to have
[heartbeat: 10, connection_timeout: 5000]
options (ca44419)
Freddy.Notifications.Listener
behaviour will be removed in 1.0Freddy.Notifications.Broadcaster
behaviour will be removed in 1.0
- Fix crashing actors when connection couldn't be established in 5 seconds (ebc12c3)
- Fix
FunctionClauseError
inFreddy.Consumer
inhandle_info/2
callback (#24)
0.13.1 - 2018-06-08
- Fix a bug when option
:durable
was ignored when declaring an exchange (a8b59b5)
0.13.0 - 2018-06-07
- Freddy actors now communicate with broker through adapters layer
- Real AMQP adapter (#15)
- Sandbox adapter (#16)
0.12.1 - 2018-06-04
- Improved documentation (#13)
- Allow specifying pre-request timeout in
Freddy.RPC.Client
(#14)
0.12.0 - 2018-06-01
- New callback
decode_message/3
toFreddy.Consumer
behaviour - New callback
encode_message/4
toFreddy.Publisher
behaviour - New callbacks
encode_request/2
anddecode_response/4
toFreddy.RPC.Client
behaviour - New configuration option
:consumer
toFreddy.Consumer
{:noreply, state, timeout}
as a possible return value ofFreddy.RPC.Client.handle_ready/2
callback{:noreply, state, timeout}
as a possible return value ofFreddy.Consumer.handle_ready/2
callbackFreddy.Connection
as a replacement forFreddy.Conn
module
- Callback
handle_connected/1
inFreddy.Consumer
,Freddy.Publisher
andFreddy.RPC.Client
now accepts two arguments - a connection meta-information and an internal state
- Callback
Freddy.Consumer.handle_error/4
callback is removed - Built-in logging from
Freddy.RPC.Client
. Users who need logging, need to implement it themselves inon_response
,on_timeout
andon_return
callbacks - Support for different adapters in
Freddy.Connection
- Support for custom reconnection backoff intervals in
Freddy.Connection
hare
dependency
- Fix a bug with crashing processes during reconnection
0.11.0 - 2018-05-12
- New callbacks
handle_connected/1
andhandle_disconnected/2
inFreddy.Consumer
,Freddy.Publisher
andFreddy.RPC.Client
behaviours (#11)
0.10.2 - 2018-05-12
- Make default implementation of
Freddy.Consumer.handle_call/3
callback overridable (#10)
- Code is formatted with Elixir formatter
0.10.1 - 2017-08-29
- Project dependencies are relaxed (#9)
0.10.0 - 2017-07-07
on_return/2
andon_timeout/2
callbacks toFreddy.RPC.Client
(#8)
Freddy.RPC.Client.before_request/3
now accepts two arguments - a request structure and an internal state (#8)Freddy.RPC.Client.on_response/3
now accepts request structure as a second argumentFreddy.RPC.Client
isn't bound to fixed routing key anymore (#8)