Skip to content

Latest commit

 

History

History
683 lines (419 loc) · 30.4 KB

Changelog.md

File metadata and controls

683 lines (419 loc) · 30.4 KB

Change log

vNext

2.1.1

  • Fix uneccesary rerender on cache hit

2.1.0

  • Officially release new components!

2.1.0-rc.5

  • Turn back on TypeScript definitions

2.1.0-rc.4

  • Fix regression on refetchQueries #1794
  • Added a new called prop for mutations #1775
  • Fix inconsistency in naming of subscription document prop #1774

2.1.0-rc.3

  • remove .mjs support

2.1.0-rc.2

  • attempt to fix .mjs support for create react app

2.1.0-rc.1

  • 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

2.1.0-rc.0

  • bad build

2.1.0-beta.3

  • Refactored and removed old graphql implementation in favor of new components
  • Removed QueryRecycler!! :yay:
  • Added query, mutation, and subscription 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

2.1.0-beta.2

  • Rollback importing non esm packages. Fixes the previous broken version #1621

2.1.0-beta.1

  • Stricter type checking in the codebase. #1617
  • Improved TS types (even more) in both Query component and graphql HoC. #1617
  • Fix React Component detection bug in getDataFromTree #1604

2.1.0-beta.0

  • Beta release of all 2.1 features!

2.1.0-alpha.2

  • Resubscribe after error for Query #1580
  • Improved TypeScript types of Query Component #1581

2.1.0-alpha.1

  • Change package to produce ES2015 as module and commonjs for main #1576
  • Make Query component work with getDataFromTree by defining fetchData [#1579]
  • Added back in support for browser / main bundles #1578

2.1.0-alpha.0

  • NEW FEATURES

    • Added <Query /> component #1398
    • Add <ApolloConsumer /> component #1399 #1484
    • Added support for Preact when using getDataFromTree #1561
  • BREAKING CHANGES [Removal of deprecated code]

    • Remove deprecated operationOptions.options.skip, use operationOptions.skip instead
  • 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 to ApolloProviderProps #1467
    • Rename getDataFromTree type QueryResult to QueryTreeResult #1467
    • Rename type QueryProps to GraphqlQueryControls #1467 #1478
    • Remove deprecated options.updateQueries, use options.update instead #1485
  • 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 and ChildMutateProps for optional stronger typed usage version of ChildProps #1402
    • Typescript - fix graphql HOC inference #1402
    • Made prettier solely responsible for formatting, removed all formatting linting rules from tslint #1452
    • Convert Query.test to tsx and parameterize types for Query #1462
    • Remove copied shallowEqual code and delegate to fbjs #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 to test/test-utils.test.tsx #1475
    • Updates to examples/typescript #1471
    • Mutation test cleanup #1480
    • Removed react-native from the test suite #1451
    • Add client to Query's QueryResult #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

2.0.4

  • rolled back on the lodash-es changes from #1344 due to build errors reported on slack #1393

2.0.3

  • Use lodash-es to allow lodash functions to be used in ES modules #1344
  • turn back on flow checking

2.0.2

  • 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

2.0.1

  • fix skip on component update #1330
  • Correctly provide the generic cache type to ApolloProvider #1319
  • Correctly initializes component state as null (not undefined) #1300

2.0.0

  • 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

2.0.0-beta.0

  • 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's TResult partial #1231

1.4.16

  • 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

1.4.15

  • 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

1.4.14

  • Fix: Scope query recyclers by client #876

1.4.13 [DEPRECATED]

  • Support apollo-client 2.0

1.4.12

  • Fix: fix issue with bad deploy

1.4.11 (BROKEN)

  • Replace string refs with callback refs #908

1.4.10

  • Fix: fix UMD bundle pointing to apolloClient for some reason

1.4.9

  • Fix: fix matching types with exports for flow and ts

1.4.8

  • Fix: Ensure typescript and flow type definitions match in name

1.4.7

  • Feature: Add support for flow typecheck to work out of the box (without any configuration)

1.4.6

  • Fix: Fix issue where withRef-option of graphql did not work when the query was skipped #865

1.4.5

  • Fix: export all types from main type file

1.4.4

  • 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

1.4.3

  • 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

1.4.2

  • Fix: Fix component reference and variable statement for flow types

1.4.1

  • Fix: Fix compilation of test-utils from move to ES bundles

1.4.0

BREAKING FOR TYPESCRIPT USERS

  • 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

1.3.0

  • 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

1.2.0

  • Fix: Use standby fetchPolicy for recycled queries PR #671

1.1.3

  • 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

1.1.2

  • Fix: Re-export all Apollo Client exports from react-apollo PR #650
  • Chore: Include React 16 alpha in dependency version range PR #647

1.1.1

  • Fix: move prop-types from devDependencies to dependencies PR #656

1.1.0 (deprecated)

  • 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 to 2.0.0. This isn't really a breaking change because we only export gql from react-apollo.
  • Fix: convert deprecated React.PropTypes to PropTypes provided by the prop-types package. PR #628

1.0.2

  • Exposed createBatchingNetworkInterface from apollo-client so that it can be imported from react-apollo just like createNetworkInterface. PR #618

1.0.1

  • Fix: Make sure recycled queries are in cache only mode so they do not trigger network requests. PR #531

1.0.0

  • ApolloProvider now won't put its store on context 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

1.0.0-rc.3

  • 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

1.0.0-rc.1

  • Update dependency to Apollo Client 1.0.0-rc.1 PR #520

0.13.3

  • 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).

0.13.2

  • Address deprecation warnings coming from graphql-tag graphql-tag#54
  • Make sure ApolloClient and gql are exported from browser bundle PR #501

0.13.1

  • Add apollo-client ^0.10.0 to dependency range

0.13.0

  • 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

0.12.0

  • Update Apollo Client to 0.9.0 and bump a lot of other dependencies PR #484

0.11.2

  • Remove @types/chai dev dependency which called a reference to the chai types in the production build. PR #471

0.11.1

  • Fix updateQueries not running for queries attached to unmounted components. PR #462

0.10.1

  • Fix wrong invariant sanity checks for GraphQL document PR #457

0.10.0

  • Feature: [typescript] Add better typings to graphql HOC Issue #379

0.9.0

  • Update apollo-client peerDependency to 0.8.0 PR #438

0.8.3

  • 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 the graphql function to allow customizing the display name of the wrapped component (Issue #354).

0.8.2

  • Chore: PR #403 move react-dom to be an optional dependency for better react-native builds.

0.8.1

  • Same as 0.8.0, but properly built

0.8.0 (deprecated - build was missing files)

  • 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.

v0.7.4

  • Identical to 0.7.2 because 0.7.3 contained breaking change (updated typings)

v0.7.3 (deprecated - contained breaking changes)

  • 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.

v0.7.2

v0.7.1

Breaking

// 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

v0.6.0

Breaking

// 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

v0.5.15

  • Feature: Added test utilities and examples to library.

v0.5.14

  • Bug: Fix issue with usage in TypeScript projects caused by 'compose' re-export. PR #291
  • Bug: Fix issue with forceFetch during SSR PR #293

v0.5.12

  • Full support for both Apollo Client 0.4.21 and 0.5.0. PR #277

v0.5.11

  • Bug: Fix issue with SSR queries running twice when a mutation wraps a query #274

v0.5.10

v0.5.9

  • Bug: Fix and test some subtle bugs around skipping and subscriptions. #260

v0.5.8

  • 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

v0.5.7

  • Feature: Upgraded to typescript 2.0 #217
  • Feature: Allow usage of redux key or selector #226

v0.5.6

  • Bug: Passing immutable to ApolloProvider breaks ssr. renderToStringWithData fails to reference the right store. #222
  • Bug: Fixed issue with context in SSR #218

v0.5.5

  • Bug: Fixed lifecycle events for componentWillMount() on the server #205

v0.5.4

  • Bug: Created better reference to updateQuery when bound early. It will also throw if called before it should be.

v0.5.3

  • Bug: Fixed issue with updateQuery not being present during componentWillMount #203

v0.5.2

  • Feature: Allow optional variables by passing null value on behalf of the variable #200

v0.5.1

  • Feature: Added link to recompose to use the compose function. This makes it easy to combine multiple queries on a single component. #194

v0.5.0

Breaking

// 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

v0.4.7

  • 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

v0.4.6

  • Bug: Fixed issue with variable merging after fetchMore #150

v0.4.5

  • 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

v0.4.4

  • Bug: Fixed issue with variable merging #139

v0.4.3

  • Feature: Support a different store in the tree that is immutable (support immutable redux) #137

v0.4.2

  • Bug: Fixed refetch methods when no result is returned

v0.4.1

v0.3.20

  • Bug: Fixed loading state on refetch more when data doesn't change
  • Feature: added fetchMore #123

v0.3.19

  • Bug: Retain compatibility with version 0.3.0 of Apollo Client via a backcompat shim. #109

v0.3.18

  • Feature: Support 0.4.0 of Apollo Client, and pass through new mutation options #105 #106

v0.3.17

  • Bug: Fixed but where SSR wouldn't get calculated props from redux actions #103

v0.3.16

  • 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

v0.3.15

  • Bug: Fixed issue where react native would error on aggressive cloneing of client

v0.3.14

  • Feature: pass through all methods on apollo client

v0.3.13

  • Bug: fixed issue causing errors to be passed to apollo-client #89

v0.3.11/12

  • Bug: fixed overrendering of components on redux state changes

v0.3.10

  • Bug: fixed bug where SSR would fail due to later updates. This should also prevent unmounted components from throwing errors.

v0.3.9

  • Feature: provide add watchQuery to components via connect

v.0.3.8

  • Bug: Don't use old props on store change change

v.0.3.7

  • Bug: Reset loading state when a refetched query has returned

v0.3.6

  • Bug: Loading state is no longer true on uncalled mutations.
  • Improvement: don't set the loading state to false if forceFetch is true

v0.3.5

Return promise from the refetch method

v0.3.4

  • 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.

v0.3.2 || v0.3.3 (publish fix)

  • Feature: add startPolling and stopPolling to the prop object for queries
  • Bug: Fix bug where full options were not being passed to watchQuery

v0.3.1

  • Feature: Support 0.3.0 of apollo-client

v0.3.0

  • Feature: Change Provider export to be ApolloProvider and use Provider from react-redux

v0.2.1

  • Feature: Support 0.1.0 and 0.2.0 of apollo-client

v0.2.0

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: []
}

v0.1.5

  • Bug: Get state directly from redux store internally

v0.1.4

  • Bug: Fix bug with willReceiveProps

v0.1.2

Bug: - Adjust loading lifecycle marker to better match the behavior of apollo-client #11

v0.1.1

Feature: - Update to support new observable API from apollo-client #9

v0.1.0

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.