useSWR({ query: graphql`...`, variables }, fetcher)
useSWR({ query: graphql`...`, variables }, fetcher)
useSWR({ variables, query: graphql`...` }, fetcher)
// ^all recognized as the same resource
For array keys too, it's safe to do the following:
useSWR([ `...`, { variables } ], fetcher)
revalidateFirstPage for useSWRInfiniteThis is a new added option for useSWRInfinite (defaults to true), you can use it to control if the first page should be revalidated when changing the size or doing a mutation.

axios with fetch interceptor by @danestves in https://github.com/vercel/swr/pull/1548type: "module" and use .mjs extension by @shuding in https://github.com/vercel/swr/pull/1604getKey in useSWRInfinite by @shuding in https://github.com/vercel/swr/pull/1681Full Changelog: https://github.com/vercel/swr/compare/1.0.1...1.1.0
Fetched April 18, 2026