- Fix uneccesary rerender on cache hit
- Officially release new components!
- Turn back on TypeScript definitions
- Fix regression on refetchQueries #1794
- Added a new
called
prop for mutations #1775 - Fix inconsistency in naming of subscription document prop #1774
- remove .mjs support
- attempt to fix .mjs support for create react app
- Fix default values being set as falsy in options merging
- Remove console.error call for unhandled errors for query-hoc (but keep in place for graphql hoc for backwards compat)
- Ensure context can be passed as props
- bad build
- Refactored and removed old
graphql
implementation in favor of new components - Removed QueryRecycler!! :yay:
- Added
query
,mutation
, andsubscription
higher order components - Aded
<Subscription />
to the public API - Added
prop-types
validation to the<Query />
,<Subscription />
and<ApolloConsumer />
component #1587 - Added
<Mutation />
component #1520 - HoC
props
result-mapping function now receives prior return value as second argument. - Fix errorPolicy when 'all' not passing data and errors
- Fix bundles and run test suite on all shippable code
- Rollback importing non esm packages. Fixes the previous broken version #1621
- Stricter type checking in the codebase. #1617
- Improved TS types (even more) in both
Query
component andgraphql
HoC. #1617 - Fix React Component detection bug in
getDataFromTree
#1604
- Beta release of all 2.1 features!
- Change package to produce ES2015 as
module
and commonjs formain
#1576 - Make
Query
component work withgetDataFromTree
by definingfetchData
[#1579] - Added back in support for browser / main bundles #1578
-
NEW FEATURES
-
BREAKING CHANGES [Removal of deprecated code]
- Remove deprecated
operationOptions.options.skip
, useoperationOptions.skip
instead
- Remove deprecated
-
BREAKING CHANGES [TypeScript and Flow only]
- typescript -
graphql
parameterized types streamlined for a) full typing; and b) ease of use; and c) consistency. New parameterized is:graphql<TProps,TData, TGraphQLVariables, TChildProps>
where none are required and full typing only requires the first three params (TChildProps
can be derived). #1402 - Rename type
ProviderProps
toApolloProviderProps
#1467 - Rename
getDataFromTree
typeQueryResult
toQueryTreeResult
#1467 - Rename type
QueryProps
toGraphqlQueryControls
#1467 #1478 - Remove deprecated
options.updateQueries
, useoptions.update
instead #1485
- typescript -
-
Fixes and Improvements
- Fixed bug where link error prevents future requests
- Fixed stack traces on non chrome browsers #1568
- Fixed bug #1412 where the
MockedProvider
ignored variables when doing matching. This is potentially breaking because tests could break for which the variables don't match #1501 - Update all dependencies, scripts' usage, prettier and typescript setup #1402
- Tests are now linted and verified valid typescript #1402
- Typescript - updated
types
for consistency and potential to pass through all types e.g.TProps, TData, TGraphQLVariables
#1402 - Typescript - added
ChildDataProps
andChildMutateProps
for optional stronger typed usage version ofChildProps
#1402 - Typescript - fix
graphql
HOC inference #1402 - Made prettier solely responsible for formatting, removed all formatting linting rules from tslint #1452
- Convert
Query.test
totsx
and parameterize types forQuery
#1462 - Remove copied
shallowEqual
code and delegate tofbjs
#1465 - Update rollup configurations, refine package exports #1467
- Removed unused gzip script #1468
- Minify umd and ensure umd name consistency #1469
- Converted
test/test-utils/test-utils.test.js
totest/test-utils.test.tsx
#1475 - Updates to
examples/typescript
#1471 - Mutation test cleanup #1480
- Removed react-native from the test suite #1451
- Add
client
toQuery
'sQueryResult
#1488 - Disregard falsy elements when walking tree in SSR #1495
- Removed the key
variables
from the render prop result in the<Query />
#1497 - Added
<Subscription />
component #1483 - Render callback should be typed with TData #1519
- Use lodash-es to allow lodash functions to be used in ES modules #1344
- turn back on flow checking
- upgraded required apollo-client for bugfix for subscriptions
- add component name in unhandled error message #1362
- upgraded flow support to 0.59.0 🎉 #1354
- skip null / undefined items on SSR if present #1355
- fix skip on component update #1330
- Correctly provide the generic cache type to ApolloProvider #1319
- Correctly initializes component state as null (not undefined) #1300
- BREAKING: removed cleanupApolloState as it is no longer needed!
- Exported getDataFromTree on the client
- Removed
redux
from peer dependencies. Issue #1223 PR #1224 - Support arrays being returned from render in SSR #1158
- Support passing an updater function to
setState
in SSR mode #1263
- upgrade to Apollo Client 2.0
- remove direct dependencies on Apollo Client, graphql-tag
- fix skip on component update.
- Fix: ensure
client
option can be used with mutation query #1145 - Made
OptionProps.data
'sTResult
partial #1231
- upgrade to react-16
- fix shallowEqual bug.
- Added notifyOnNetworkStatusChange to QueryOpts and MutationOpts Typesccript definitions #1034
- Added variables types with Typescript #997
- Made
ChildProps.data
non-optional #1143
- Fix: handle calling refetch in child componentDidMount
- Fix: ensure options gets up to date props #1025
- Fix: ensure queryRecycler exists before using it
- MockNetworkInterface match mock requests regardless of variable order #973
- Allow to pass removeTypenames to MockedProvider #1001
- Fix: Scope query recyclers by client #876
- Support apollo-client 2.0
- Fix: fix issue with bad deploy
- Replace string refs with callback refs #908
- Fix: fix UMD bundle pointing to apolloClient for some reason
- Fix: fix matching types with exports for flow and ts
- Fix: Ensure typescript and flow type definitions match in name
- Feature: Add support for flow typecheck to work out of the box (without any configuration)
- Fix: Fix issue where
withRef
-option ofgraphql
did not work when the query was skipped #865
- Fix: export all types from main type file
- Fix: Fix issue around hoisting non react statics for RN #859
- Fix: Fix issue where options was called even though skip was present #859
- Improvement: Allow for better typescript usage with improved types #862
- Feature: You can now supply a client in options object passed to the
graphql
high oder component. PR #729 - Fix: Fix issue when using flow definitions PR# 787
- Improvement: Reduce re-renders by using forceUpdate instead of setState({ }) PR #775
- Improvement: Refactor dataForChild to use bound function to reduce rerenders PR #772
- Fix: Add in missing types for MutationOpts PR #770
- Fix: Fix component reference and variable statement for flow types
- Fix: Fix compilation of test-utils from move to ES bundles
- Feature: Enhanced typescript definitions to allow for more valid type checking of graphql HOC PR #695
- Feature: Flow types: PR #695
- Fix: Fix bug with sync re-renders and recyled queries PR #740
- Feature: Support tree shaking and smaller (marginally) bundles via rollup PR #691
- Fix: Render full markup on the server when using the
cache-and-network
fetchPolicy PR #688
- Fix: Use
standby
fetchPolicy for recycled queries PR #671
- Perf: Removed unneeded usage of shouldComponentUpdate PR #661 inspired by PR #653
- Perf: Removed unneeded usage of shouldComponentUpdate in Provider PR #669
- Chore: remove unused immutable prop PR #539
- Fix: Re-export all Apollo Client exports from react-apollo PR #650
- Chore: Include React 16 alpha in dependency version range PR #647
- Fix: move prop-types from devDependencies to dependencies PR #656
- Pass cached data to the child component along with the error. PR #548
- Fix version lock down for peer dependency version of React. PR #626
- Switch
graphql-tag
dependency to2.0.0
. This isn't really a breaking change because we only exportgql
fromreact-apollo
. - Fix: convert deprecated
React.PropTypes
toPropTypes
provided by theprop-types
package. PR #628
- Exposed
createBatchingNetworkInterface
from apollo-client so that it can be imported from react-apollo just likecreateNetworkInterface
. PR #618
- Fix: Make sure recycled queries are in cache only mode so they do not trigger network requests. PR #531
- ApolloProvider now won't put its
store
oncontext
unless it was given. PR #550 - MockedProvider now accepts a
store
prop to be passed to ApolloProvider so that react-redux store is not overwritten
- Fix bug where
options
was mutated causing variables to not update appropriately. PR #537 - Make sure that all queries resolve or reject if an error was thrown when server side rendering. PR #488
- ApolloProvider now changes its client and store when those props change. PR #479
- Update dependency to Apollo Client 1.0.0-rc.1 PR #520
- Make sure that the cached rendered element has the correct type before returning it. PR #505
- Move constructor initializing of props to componentWillMount. PR #506 (Issue #509).
- Address deprecation warnings coming from
graphql-tag
graphql-tag#54 - Make sure ApolloClient and gql are exported from browser bundle PR #501
- Add apollo-client ^0.10.0 to dependency range
- Make apollo-client and graphql-tag dependencies and re-export them from this package PR #490
- Print errors to console if they are not handled by component PR #476
- Update Apollo Client to 0.9.0 and bump a lot of other dependencies PR #484
- Remove
@types/chai
dev dependency which called a reference to thechai
types in the production build. PR #471
- Fix
updateQueries
not running for queries attached to unmounted components. PR #462
- Fix wrong invariant sanity checks for GraphQL document PR #457
- Feature: [typescript] Add better typings to graphql HOC Issue #379
- Update apollo-client peerDependency to 0.8.0 PR #438
- Bug: Issue #404 fix issue with network errors thrown when changing variables.
- Feature: Allow access to
withApollo
's wrapped instance thanks to{withRef: true}
option Issue #331. - Feature: Add an
alias
option to thegraphql
function to allow customizing the display name of the wrapped component (Issue #354).
- Chore: PR #403 move react-dom to be an optional dependency for better react-native builds.
- Same as 0.8.0, but properly built
-
Update typings dependency from typed-grapqhl to @types/graphql PR #393
-
Chore: PR #390 gets rid of warning during queries test.
-
Chore: PR #391 gets rid of warnings during redux test.
-
Feature: PR #389 added a shouldResubscribe option to allow subscriptions to automatically resubscribe when props change.
- Identical to 0.7.2 because 0.7.3 contained breaking change (updated typings)
-
Chore: PR #390 gets rid of warning during queries test.
-
Chore: PR #391 gets rid of warnings during redux test.
-
Feature: PR #389 added a shouldResubscribe option to allow subscriptions to automatically resubscribe when props change.
-
Bug: fix issue where changing variables while unskipping didn't result in the variables actually changing - Issue #374
-
Bug: fix issue with no longer passing errors to components w/
[email protected]
- Issue #378 -
Add
react-dom
topeerDependencies
because since React 15.4 it is no longer "secretly" included. (ref: https://github.com/facebook/react/releases/tag/v15.4.0)
// old
import { getDataFromTree, renderToStringWithData } from 'react-apollo/server';
// new
import { getDataFromTree, renderToStringWithData } from 'react-apollo';
- Feature: Better packaging PR #306
- Feature: Add networkStatus prop to connected componentsIssue #322
- Feature: Pass component display name as watchQuery metadata for experimental devtools PR #363
- Feature: Removed use of
createFragment
and bumped AC version PR #357 - Bug: fix issue with Redux's
connect
and SSR - Issue #350
// old -- we attempted to get the state out of your apollo provider for your
renderToStringWithData(component).then({ markup, initialState });
// new -- you must get it yourself
renderToStringWithData(component).then(markup => {
const initialState = client.store.getState()[client.reduxRootKey];
// ...
});
This release refactors the server side rendering and data access code, hopefully making it easier to contribute to in the future and fixing a few bugs along the way:
- Bug: Fix bug in SSR in React Production mode Issue #237
- Bug: Fix issue fetching multiple levels of queries Issue #250
- Bug: Fix issue with Stateless components in SSR Issue #297
- Feature: Refactored to collect data in one place Issue 264
- Feature: Added test utilities and examples to library.
- Bug: Fix issue with usage in TypeScript projects caused by 'compose' re-export. PR #291
- Bug: Fix issue with forceFetch during SSR PR #293
- Full support for both Apollo Client 0.4.21 and 0.5.0. PR #277
- Bug: Fix issue with SSR queries running twice when a mutation wraps a query #274
- Bug: Fix issue with changing outer props and not changing variables, ultimately caused by apollographql/apollo-client#694
- Bug: Fix and test some subtle bugs around skipping and subscriptions. #260
- Feature: Remove nested imports for apollo-client. Making local development eaiser. #234
- Feature: Move types to dev deps #251
- Feature: New method for skipping queries which bypasses HOC internals #253
- Feature: Integrated subscriptions! #256
- Feature: Refactor loading state managment to use apollo-client fully. Reduces library size by ~50% #211
- Bug: Passing immutable to ApolloProvider breaks ssr.
renderToStringWithData
fails to reference the right store. #222 - Bug: Fixed issue with context in SSR #218
- Bug: Fixed lifecycle events for componentWillMount() on the server #205
- Bug: Created better reference to updateQuery when bound early. It will also throw if called before it should be.
- Bug: Fixed issue with updateQuery not being present during componentWillMount #203
- Feature: Allow optional variables by passing null value on behalf of the variable #200
- Feature: Added link to recompose to use the
compose
function. This makes it easy to combine multiple queries on a single component. #194
// old
renderToStringWithData(component).then(markup); // markup had a script tag
// new
renderToStringWithData(component).then({ markup, initialState }); // markup has not tag, and state is passed
-
Feature: Removed client as a prop and fixed warnings when not using ApolloProvider #189
-
Feature: Added updateQuery to data props
-
Bug: Fixed renderToStringWithData causing react warning #169
-
Bug: Fixed ssr fragment issue #178
-
Bug: Fixed loading state for skipped queries #190
-
Bug: Fixed loading state on remounted component with different variables
- Bug: Fixed SSR issue with context #165
- Bug: Fixed issue when context changes in parent container not going through to child; #162
- Bug: Fixed loading state on remount of forceFetch operations; #161
- Bug: Fixed issue with variable merging after fetchMore #150
- Feature: Allow options value to be an object instead of a method. #144
- Bug: Fixed issue with missing methods on initial props #142
- Bug: Fixed oddity with multi nested enhancers on SSR #141
- Bug: Fixed issue with variable merging #139
- Feature: Support a different store in the tree that is immutable (support immutable redux) #137
- Bug: Fixed refetch methods when no result is returned
- BREAKING Feature: Brand new API! See the docs for more information;
- Bug: Fixed loading state on refetch more when data doesn't change
- Feature: added fetchMore #123
- Bug: Retain compatibility with version 0.3.0 of Apollo Client via a backcompat shim. #109
- Bug: Fixed but where SSR wouldn't get calculated props from redux actions #103
- Feature: integrated SSR #83
- Feature: added ability to hoist statics on components #99
- Bug: Don't strip data away from the component when the query errors #98
- Bug: Fixed issue where react native would error on aggressive cloneing of client
- Feature: pass through all methods on apollo client
- Bug: fixed issue causing errors to be passed to apollo-client #89
- Bug: fixed overrendering of components on redux state changes
- Bug: fixed bug where SSR would fail due to later updates. This should also prevent unmounted components from throwing errors.
- Feature: provide add
watchQuery
to components viaconnect
- Bug: Don't use old props on store change change
- Bug: Reset loading state when a refetched query has returned
- Bug: Loading state is no longer true on uncalled mutations.
- Improvement: don't set the loading state to false if forceFetch is true
Return promise from the refetch method
- Bug: Fix bug where state / props weren't accurate when executing mutations.
-
- Improvement: Increase performance by limiting re-renders and re-execution of queries. Chore: Split tests to make them easier to maintain.
- Feature: add
startPolling
andstopPolling
to the prop object for queries - Bug: Fix bug where full options were not being passed to watchQuery
- Feature: Support 0.3.0 of apollo-client
- Feature: Change Provider export to be ApolloProvider and use Provider from react-redux
- Feature: Support 0.1.0 and 0.2.0 of apollo-client
Breaking change:
- Feature: Remove
result
key in favor of dynamic key matching root fields of the query or mutation. (apollographql#31)
{
loading: false,
result: {
posts: []
}
}
becomes
{
loading: false,
posts: []
}
- Bug: Get state directly from redux store internally
- Bug: Fix bug with willReceiveProps
Bug: - Adjust loading lifecycle marker to better match the behavior of apollo-client #11
Feature: - Update to support new observable API from apollo-client #9
Initial release. Brings in support for binding GraphQL data to components easily as well as perform mutations.
We didn't track changes before this version.