Changelog
v1.0.5 - 2019-02-03
- Bug Fix: Fix dialyzer spec for run_batch function
v1.0.4 - 2018-09-14
- Bug Fix: Poor supervisor structure has been improved, which fixes large memory usage issues
v1.0.3 - 2018-08-19
Enhancement: Improved error handling when sources fail to load This provides two additional configurable methods of error handling (these options can be passed to
Dataloader.new/1
)::return_nil_on_error
- This is the previous default. Errors are logged, and values returnnil
.:raise_on_error
- this will raise aDataloader.GetError
when one of theget
methods are called. This is now the default behaviour for handling errors:tuples
- this changes theget/4
/get_many/4
methods to return:ok
/:error
tuples instead of just the value. This frees up the caller to handle errors any way they see fit
Enhancement: Improved caching characteristics on the KV source
Enhancement: More flexible cardinality mapping for Ecto source
Enhancement: Uniq the batched KV and Ecto values
Bug Fix: When using the Ecto source it properly coerces all inputs for known fields.
Note: when upgrading it may be necessary to clear out your _build
directory so
that the compiler picks up the protocol change.
Breaking Changes
- Errors are raised instead of silently returning nil. See
:return_nil_on_error
option to keep the previous behavior. Dataloader.get/4
will raise an error if you pass in anitem_key
that was not previously loaded. See https://github.com/absinthe-graphql/dataloader/issues/52 for discussion.
v1.0.2 - 2018-04-10
- Enhancement: Custom batch functions for Ecto
v1.0.1 - 2018-02-04
- Bug Fix: Ecto source properly caches results now.
v1.0.0 - 2017-11-13
- Initial release