v0.3 Sirinat
The third release of Farfetched includes the most requested feature — operator cache. It allows to cache any Query and make user interface respond immediately to the data that is already available. Read more about it in the API reference, tutorial, and deep-dive article.
import { cache, createQuery } from '@farfetched/core';
const languageQuery = createQuery({
handler: async () => {
const res = await fetch('/api/language');
return res.json();
},
});
cache(languageQuery);It also includes a couple of minor improvements and bug fixes.
Why Sirinat?
Sirinat National Park is quite a small park at the northwest coast of Phuket Island where Farfetched was born.

Migration guide
retry
retry(config) overload has been deprecated in favor of retry(operation, config) to support retrying of Mutations as well as Queries. The old overload will be removed in the next release.
retry(
someQuery,
{
query: someQuery,
times: 3,
delay: 1000,
}
);Effector 22.4
This release is compatible with Effector 22.4. If you are using Effector 22.3, you should upgrade to 22.4.
Full changelog
0.3.5
0.3.4
@farfetched/core
Patch Changes
- ffee151: Do not throw error on initializing stage for browser-only cache adapters in node-env
0.3.3
@farfetched/core
Patch Changes
- 733c0dd: Fix incorrect typings of
cacheoperator for Query with initial data
0.3.2
0.3.1
0.3.0
@farfetched/core
Minor Changes
- d1b5f5a: Add
cacheoperator - d1b5f5a: Allow passing Time as a
delayinretry - d1b5f5a: Add
sessionStorageCacheadapter - d1b5f5a: Add option
initialDataforcreateJsonQuery - d1b5f5a: Add option
initialDataforcreateQuery - d1b5f5a: Allow using
retrywith Mutation - d1b5f5a: Allow setting initial data for Query
- d1b5f5a: Add
inMemoryCacheadapter - d1b5f5a: Support custom serialization for
$datain Query with Effector 22.4 - d1b5f5a: Add
voidCacheadapter - d1b5f5a: Add
localStorageCacheadapter - d1b5f5a: Add
externalCacheadapter