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.
- Test against Dgraph
v1.0.16 - Remove dependency
gun - Implement ping callback
- Implement disconnect callback
- Downgrade poison to
v3.1.0. - Test against Dgraph
v1.0.13 - Set the GRPC deadline and
DBConnectioncheckout timeout to use:timeout(contribution by @emhagman). - Update dependency
uuidtoelixir_uuid(contribution by @emhagman) - Some smaller tweaks (contribution by @optikfluffel).
- Update the docs.
- Handle
:gun_upand:gun_downmessages as debug level for now. - Update gun to stable
v1.2.0. - Test against Dgraph
v1.0.11. - Upgrade elixir-grpc to
v0.3.1. - Upgrade gun to
v1.3.0. - Upgrade poison to
v4.0.1. - Upgrade poolboy to
v1.5.2. - Upgrade retry to
v0.11.2. - Upgrade morphix to
v0.6.0. - Upgrade ex_doc to
v0.18.0. - Reduce duplicate code. Thanks to @optikfluffel for the contribution.
- Don't use module attribute for configuration values since they are set on compilation time. This prevented the enforce_struct_schema feature to work properly.
- New function
set_struct/2. This function allow you to convert an struct type into a mutation (json based) type in dgraph. It also allows you to enforce the schema in database (adding a "class name" info before every predicate, this class name is the single name given to the elixir module struct) by activating theenforce_struct_schemain the config files. The function sends the mutation to the server and returns{:ok, result}or{:error, error}otherwise. Internally it uses Dgraphsset_json. Thanks to @WolfDan. - New config option
keepalive. It defines the time in ms between pings to the server. Default value is:infinitywhich disables pings completely. Dgraph drops the connection on pings at the moment so it is disabled for now. Internally this uses:adapter_optsof grpc-elixir which in turn setshttp2_optsof gun. - I added a changelog.
- The
keepaliveoption fixes thegun_downerror for now. The connection was dropped by Dgraph when the server was pinged. The server sent a{goaway,0,enhance_your_calm,<<"too_many_pings">>}message. For now pings are disabled. This is not ideal since this way ExDgraph cannot check if the connection is still alive. But I have to wait for Dgraph to get back to me on this issue. You find the issue here: dgraph-io/dgraph#2444 - Removed some warnings and refactored a couple of things.