- Improvement: Optimize out inspect calls when keys are not found (#84)
- KV source bug fixes (#75)
- Doc improvements
- Bug Fix: Depend on
ectoinstead 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/4orDatalaoder.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.GetErrorwhen one of thegetmethods are called. This is now the default behaviour for handling errors:tuples- this changes theget/4/get_many/4methods to return:ok/:errortuples 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_erroroption to keep the previous behavior. Dataloader.get/4will raise an error if you pass in anitem_keythat 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