Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
# [3.0.0](v2.11.1...v3.0.0) (2021-09-07) ### Bug Fixes * **dependencies:** add optional cli-app-scripts peer dependency requirement ([32733b5](32733b5)) * **logging:** silence react-query logger by default ([aa3dc1c](aa3dc1c)) * **refetch:** force refetch when variables resolve to identical query key ([524eb3e](524eb3e)) * **use-data-query:** drop context sharing ([f9af172](f9af172)) * **use-data-query:** enable swr by default ([76cb34a](76cb34a)) * **use-data-query:** only set variables if they've changed ([e96d984](e96d984)) * **use-data-query:** throw more specific error on serialization failure ([35a6b28](35a6b28)) * **use-data-query:** use isFetching for loading state ([728f346](728f346)) * **use-data-query:** use local stable value hashing function ([147ba28](147ba28)) * **use-data-query:** use ref to store variables hash ([3025dc7](3025dc7)) ### chore * **use-data-query:** list breaking changes ([89cb1e6](89cb1e6)) ### Features * **custom-data-provider:** include react-query provider in custom-data-provider ([99ff732](99ff732)) * **custom-data-provider:** use query client defaults for custom data provider ([a566c4d](a566c4d)) * **data-provider:** enable context sharing ([2018513](2018513)) * **use-data-query:** set conservative defaults for caching ([e5e4f69](e5e4f69)) * **use-data-query:** use react-query to cache queries ([87fdcd8](87fdcd8)) ### BREAKING CHANGES * **use-data-query:** loading will only be set to true when fetching and if there is no data. If there is data, loading will be false during fetching. This means that stale data will be shown during fetches by default. If you'd like to opt out of showing stale data during loading you can use the new `fetching` attribute that is now returned by the useDataQuery hook instead. * **use-data-query:** If you're using cli-app-scripts, these changes need @dhis2/cli-app-scripts version 7.1.1 or above. Since this is an optional peer-dependency you'll need to ensure you're using the proper version. * **use-data-query:** The DataProvider is now a required parent for all components that use the useDataQuery hook. For apps that use the dhis2 app-platform this will be done automatically, but for libraries (and storybook testing) you'll have to do this manually. * **use-data-query:** The variables supplied to refetch are not allowed to contain circular references. * **use-data-query:** The data and error values will not be cleared during a refetch (this allows for the opt-in stale-while-revalidate). This means that logic that relies on data or error being cleared during a refetch will now behave differently. For example, placing an if condition that checks if there is an error before a condition that checks for loading will now keep showing the error during a refetch, instead of showing the loading spinner. * **use-data-query:** There have been issues reported where yarn v1 had trouble installing the correct babel dependencies. For the situations where that occured, deduplicating the yarn.lock resolved the issue. * **use-data-query:** There is a rare but unresolved issue where it's possible for the timing in tests to behave differently from the timing in apps. This happens for tests that expect loading to be set to true immediately after calling refetch. Changing such an assertion to an assertion that waits for loading to eventually be true, i.e. @testing-library/react's waitFor(), resolves this issue.
- Loading branch information