- Improvement: Optimize out inspect calls when keys are not found (#84)
- KV source bug fixes (#75)
- Doc improvements
- Bug Fix: Depend on
ecto
instead ofecto_sql
. Fixes Ecto 2.x support (#67)
- Improvement: Ecto 3 support (which is just improving the tests)
- Improvement: Better error messages if you pass a non-ecto schema to
Dataloader.load/4
orDatalaoder.get/4
- Bug Fix: Fix dialyzer spec for run_batch function
- Bug Fix: Fix loading of nested through associations (#65)
Breaking change: Dependency changed from ecto
to ecto_sql
which
unintentionally breaks Dataloader.Ecto
on Ecto 2.x projects
(#67).
- Bug Fix: Poor supervisor structure has been improved, which fixes large memory usage issues
-
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.
- 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 absinthe-graphql#52 for discussion.
- Enhancement: Custom batch functions for Ecto
- Bug Fix: Ecto source properly caches results now.
- Initial release