Releases: apollographql/apollo-client
v3.11.9
v3.12.0-alpha.0
Minor Changes
-
#12042
1c0ecbf
Thanks @jerelmiller! - Introduces data masking into Apollo Client. Data masking allows components to access only the data they asked for through GraphQL fragments. This prevents coupling between components that might otherwise implicitly rely on fields not requested by the component. Data masking also provides the benefit that masked fields only rerender components that ask for the field.To enable data masking in Apollo Client, set the
dataMasking
option totrue
.new ApolloClient({ dataMasking: true, // ... other options });
You can selectively disable data masking using the
@unmask
directive. Apply this to any named fragment to receive all fields requested by the fragment.query { user { id ...UserFields @unmask } }
To help with migration, use the
@unmask
migrate mode which will add warnings when accessing fields that would otherwise be masked.query { user { id ...UserFields @unmask(mode: "migrate") } }
v3.11.8
v3.11.7
Patch Changes
- #12052
e471cef
Thanks @jerelmiller! - Fixes a regression from where passing an invalid identifier tofrom
inuseFragment
would result in the warningTypeError: Cannot read properties of undefined (reading '__typename')
.
v3.11.6
Patch Changes
-
#12049
9c26892
Thanks @phryneas and @maciesielka! - Fix a bug whereuseFragment
did not re-render as expected -
#12044
04462a2
Thanks @DoctorJohn! - Cache theuseSubscription
hook'srestart
function definition between re-renders.
v3.11.5
Patch Changes
-
#12027
eb3e21b
Thanks @JavaScriptBach! - TypeMutationResult.reset
as an arrow function -
#12020
82d8cb4
Thanks @jerelmiller! - Better conform to Rules of React by avoiding write of ref in render foruseFragment
.
v3.11.4
Patch Changes
-
#11994
41b17e5
Thanks @jerelmiller! - Update theModifier
function type to allowcache.modify
to return deeply partial data. -
#11989
e609156
Thanks @phryneas! - Fix a potential crash when callingclearStore
while a query was running.Previously, calling
client.clearStore()
while a query was running had one of these results:useQuery
would stay in aloading: true
state.useLazyQuery
would stay in aloading: true
state, but also crash with a"Cannot read property 'data' of undefined"
error.
Now, in both cases, the hook will enter an error state with a
networkError
, and the promise returned by theuseLazyQuery
execute
function will return a result in an error state. -
#11994
41b17e5
Thanks @jerelmiller! - Prevent accidental distribution oncache.modify
field modifiers when a field is a union type array.
v3.11.3
Patch Changes
-
#11984
5db1659
Thanks @jerelmiller! - Fix an issue where multiple fetches with results that returned errors would sometimes set thedata
property with anerrorPolicy
ofnone
. -
#11974
c95848e
Thanks @jerelmiller! - Fix an issue wherefetchMore
would write its result data to the cache when using it with ano-cache
fetch policy. -
#11974
c95848e
Thanks @jerelmiller! - Fix an issue where executingfetchMore
with ano-cache
fetch policy could sometimes result in multiple network requests. -
#11974
c95848e
Thanks @jerelmiller! -Potentially disruptive change
When calling
fetchMore
with a query that has ano-cache
fetch policy,fetchMore
will now throw if anupdateQuery
function is not provided. This provides a mechanism to merge the results from thefetchMore
call with the query's previous result.
v3.11.2
Patch Changes
- #11980
38c0a2c
Thanks @jerelmiller! - Fix missinggetServerSnapshot
error when usinguseSubscription
on the server.
v3.11.1
Patch Changes
-
#11969
061cab6
Thanks @jerelmiller! - Remove check forwindow.__APOLLO_CLIENT__
when determining whether to connect to Apollo Client Devtools whenconnectToDevtools
ordevtools.enabled
is not specified. This now simply checks to see if the application is in development mode. -
#11971
ecf77f6
Thanks @jerelmiller! - Prevent thesetTimeout
for suggesting devtools from running in non-browser environments.