- Added support for array paths in
deletedIDFieldName
forRANGE_DELETE
mutations.
- Renamed
RelayStore#update
toRelayStore#commitUpdate
.RelayStore#commit
will be removed in v0.7.0. For an automated codemod that you can use to update your Relay app, visit https://github.com/relayjs/relay-codemod - Replaced
RelayTestUtils.unmockRelay();
withrequire('configureForRelayOSS');
in tests. - Fragment names in printed queries are now less verbose.
- Fixed a bug that caused queries to be printed incorrectly.
- Eliminated concrete fragment hashes.
- Connections now handle repeated edges more gracefully.
- Created a new
RelayTaskQueue
class. Used it to backRelayTaskScheduler
. - Reduced memory by only storing paths to container root nodes.
- Renamed
RelayTaskScheduler#await
toRelayTaskScheduler#enqueue
. - Fixed a series of memory leaks with a new GC implementation.
- Tests now run with Jasmine 2.
- Bump the
babel-relay-plugin
version to v0.6.0 (now Babel 6 compatible). - The keys in
rangeBehaviors
are now compared against the sorted filter arguments of a field. For the fieldfoo(first: 10, b:true, a:false)
the matching range behavior key will be'a(false).b(true)'
. - Relay will now throw an invariant if range behavior keys are unsorted.
- Fragments are now supported in mutation fat queries.
- Added
Relay.Store#applyUpdate
method to create a transaction optimistically without committing it. Returns a transaction object that you can use tocommit()
orrollback()
. - Added
RelayStoreData#clearCacheManager
method. - Renamed
RelayQuery#getHash
toRelayQuery#getConcreteFragmentHash
- Removed
RelayQueryPath#toJSON
andRelayQueryPath#fromJSON
- Bump the
babel-relay-plugin
version to v0.4.1.- Added validation of arguments for connections with
edges
orpageInfo
.- Connections without arguments in fat queries can add the new fragment
directive
@relay(pattern: true)
.
- Connections without arguments in fat queries can add the new fragment
directive
- Fixed validation of fields within inline fragments in connections.
- Print queries using a plain-object representation (instead of
GraphQL
objects).
- Added validation of arguments for connections with
RelayQueryField#getStorageKey
will now produce the same key regardless of the order of a field's arguments.- Range behavior keys in mutation configs are now guaranteed to be sorted.
- Added the
Relay.createQuery()
function which returns aRelayQuery.Root
(that can be used withRelay.Store
methods). - Optimistic response keys now use GraphQL OSS syntax. (Usage of old, call-like syntax is now deprecated and will warn.)
- Fix a bug where optimistic queries could cause the error "Could not find a type name for record ...".
- Bump the
babel-relay-plugin
version to v0.3.0.- Fixed the metadata for fields on abstract types.
- Directives are now validated against the schema.
- Mutations field arguments are now validated.
- Non-root
node(id: ...)
fields are now invalid. - Added support for
RelayQL
template tag. - Improvements to validation and error messages.
- The
__typename
of abstract types are now fetched and stored locally. - Fixed
hasOptimisticUpdate
returning true after mutation succeeds (#86). - Fixed printing mutations with generated
id
fields (#414). - Fixed updating views when removing the last element in a plural field (#401).
- Fixed sending mutations via classes without invalid GraphQL characters (#448).
- Added a
__DEV__
-only warning when data is passed down via the wrong prop.
- Bump the
babel-relay-plugin
version to v0.2.5.- Queries now preserve directives.
- Output is now generated by babel.
- Fix refragmenting diff queries (#305).
- Directives are now printed.
- Rebuild to replace faulty NPM package (no code changes).
- Fix query variable printing for non-null and list types (#203).
- Bumped React dependency to v0.14.0-rc.
- Switched to using
ReactDOM
rather thanReact
for performing batched updates (viaunstable_batchedUpdates
). - Updated the babel-relay-plugin to v0.2.3:
- Added support for compiling queries containing introspection fields such as
__schema
,__typename
and such. - Use of
field(before: ..., first: ...)
orfield(after: ..., last: ...)
is now an error.
- Added support for compiling queries containing introspection fields such as
- Various improvements to documentation, warnings and error messages.
- Support simplified route query definitions (previous API still supported).
- Upgraded jest to 0.5 and switched Relay to use iojs v2+ only.
- Changed
Relay.DefaultNetworkLayer
constructor to take aninit
object instead offetchTimeout
andretryDelays
. - Scalars other than strings are now allowed as cursors, so long as they serialize to strings.
- Added
npm run update-schema
to update the test schema.
- The 'main' entrypoint can now be used in non-ES6 projects (now built w/ Babel).
- Instance methods of
Relay.DefaultNetworkLayer
are bound to the instance, facilitating reuse. - Renamed
GraphQL_EXPERIMENTAL
toGraphQL
(internal change). - Update copyright headers.
- Remove invariant in
RelayQueryField.getCallType()
when argument is unknown. GraphQLRange
returns diff calls with numeric values instead of strings.- Example apps now include an ES6 polyfill.
- Moved React to peer dependencies; projects should depend on React directly.
- Variables in the default network layer are no longer double-JSON encoded.
- The default network layer now passed cookies along to the server.
- Initial public release.