relay

Relay is a JavaScript framework for building data-driven React applications.

MIT License

Downloads
25.4M
Stars
18.4K
Committers
848

Bot releases are hidden (Show)

relay - v0.6.0

Published by wincent over 8 years ago

  • 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 field foo(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 to commit() or rollback().
  • Added RelayStoreData#clearCacheManager method.
  • Renamed RelayQuery#getHash to RelayQuery#getConcreteFragmentHash
  • Removed RelayQueryPath#toJSON and RelayQueryPath#fromJSON
relay - v0.6.1

Published by wincent over 8 years ago

  • Renamed RelayStore#update to RelayStore#commitUpdate. RelayStore#commit will be removed in v0.8.0. For an automated codemod that you can use to update your Relay app, visit https://github.com/relayjs/relay-codemod
  • Replaced RelayTestUtils.unmockRelay(); with require('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 back RelayTaskScheduler.
  • Reduced memory by only storing paths to container root nodes.
  • Renamed RelayTaskScheduler#await to RelayTaskScheduler#enqueue.
  • Fixed a series of memory leaks with a new GC implementation.
  • Tests now run with Jasmine 2.
relay - v0.7.0

Published by wincent over 8 years ago

  • Eliminated a race condition that would cause RelayGarbageCollector to fatal when, in the middle of a readRelayDiskCache traversal, a container attempts to subscribe to a record not yet registered with the garbage collector.
  • The garbage collector now strictly increments references to all subscribed nodes, and strictly decrements references to all previously subscribed nodes, eliminating a class of race condition by ensuring an exact 1:1 correspondence of increment/decrement calls for a given node.
  • Replaced GraphQLStoreDataHandler with RelayRecord, and added the RelayRecord#isRecord method.
  • Introduced RelayQueryIndexPath which tracks fragment indexes to the nearest parent field during query traversal. This replaces the existing logic used to generate field serialization keys.
  • Added RelayContext, a step toward making all Relay state contextual.
  • Improved query printing performance via short circuiting and inlining.
  • Moved record writing functions out of RelayRecordStore and into a new RelayRecordWriter class.
  • The Babel plugin now prints canHaveSubselections metadata on object-like fields that can contain child fields, making it possible to determine if a given field in a query is a true leaf node, or an object-type field having no subselections. This replaces RelayQueryNode#isScalar with RelayQueryNode#canHaveSubselections.
  • RANGE_DELETE mutation configs now allow you to specify an array path to a deleted node, rather than just a deletedIDFieldName.
  • Renamed Records to RecordMap.
  • Record reads from cache managers are now abortable. If the network request finishes before the cache read, for instance, the cache read can be cancelled.
  • Added USERS.md; a catalog of products and developers that use Relay.
  • You can now interpolate an array of fragments into a Relay.QL query. eg. ${containers.map(c => c.getFragment('foo'))}
  • Fixed a bug where invalid queries could be printed due to different variables having the same value; duplicates are now avoided.
relay - v0.7.1

Published by wincent over 8 years ago

  • Having fixed a bug, now you can actually interpolate an array of fragments into a Relay.QL query. eg. ${containers.map(c => c.getFragment('foo'))}
relay - v0.7.2

Published by wincent over 8 years ago

  • Identifying arguments on root fields can now be of any type - boolean, number, string, or array/object of the the same.
  • Fixes a bug when we read connections or fragments without allocating a record until we encounter a child field that is not null. We now ensure that we allocate the record for connections and fragments (if it exists) regardless.
  • Made babelAdapter compatible with Babel 6.6
  • npm run build now works on Windows
  • Tests now pass when using Node 5 / NPM 3
  • Passing an empty array as a prop corresponding to a plural fragment no longer warns about mock data. The empty array is now passed through to the component as-is.
  • Removed uri from RelayQueryConfigSpec. The uri property was part of RelayRoute, but never RelayQueryConfig. This revision simply cleans up the Flow shape in RelayContainer.
  • RelayRenderer now runs queries after mount to make sure RelayRenderer does not run queries during synchronous server-side rendering.
Package Rankings
Top 0.37% on Npmjs.org
Top 21.21% on Repo1.maven.org
Top 10.87% on Bower.io
Top 3.57% on Proxy.golang.org
Badges
Extracted from project README
GitHub license npm version