-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(deps): update relay monorepo to v18 (major) #599
Open
renovate
wants to merge
1
commit into
master
Choose a base branch
from
renovate/major-relay-monorepo
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
March 24, 2021 14:16
32ae643
to
c668c85
Compare
renovate
bot
changed the title
chore(deps): update relay monorepo to v11 (major)
chore(deps): update relay monorepo (major)
Mar 24, 2021
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
March 24, 2021 16:43
c668c85
to
dc9b523
Compare
renovate
bot
changed the title
chore(deps): update relay monorepo (major)
chore(deps): update relay monorepo to v11 (major)
Mar 24, 2021
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
March 29, 2021 06:38
dc9b523
to
0912eb1
Compare
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
2 times, most recently
from
April 15, 2021 18:58
a64f09e
to
dd4544b
Compare
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
April 26, 2021 03:04
dd4544b
to
68803a7
Compare
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
June 20, 2021 17:18
68803a7
to
a694e35
Compare
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
October 18, 2021 18:10
a694e35
to
fec5439
Compare
renovate
bot
changed the title
chore(deps): update relay monorepo to v11 (major)
chore(deps): update relay monorepo to v12 (major)
Oct 18, 2021
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
March 7, 2022 13:47
fec5439
to
99ab4de
Compare
renovate
bot
changed the title
chore(deps): update relay monorepo to v12 (major)
chore(deps): update relay monorepo to v13 (major)
Mar 7, 2022
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
March 26, 2022 15:47
99ab4de
to
10e5b1c
Compare
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
April 7, 2022 17:14
10e5b1c
to
7b63111
Compare
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
June 18, 2022 22:45
7b63111
to
aa2d81f
Compare
renovate
bot
changed the title
chore(deps): update relay monorepo to v13 (major)
chore(deps): update relay monorepo to v14 (major)
Jun 18, 2022
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
August 24, 2022 16:59
aa2d81f
to
91d3d20
Compare
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
2 times, most recently
from
August 24, 2022 20:42
4b65c6d
to
720d50c
Compare
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
3 times, most recently
from
September 27, 2022 22:48
f7b03ee
to
b9ad629
Compare
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
November 20, 2022 15:19
b9ad629
to
7a4a34c
Compare
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
March 18, 2023 08:04
7a4a34c
to
54f14b7
Compare
renovate
bot
changed the title
chore(deps): update relay monorepo to v14 (major)
chore(deps): update relay monorepo to v15 (major)
Mar 18, 2023
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
October 19, 2023 20:37
54f14b7
to
ad0c45b
Compare
renovate
bot
changed the title
chore(deps): update relay monorepo to v15 (major)
chore(deps): update relay monorepo to v16 (major)
Oct 19, 2023
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
December 11, 2023 21:15
ad0c45b
to
1d57f8a
Compare
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
January 23, 2024 18:27
1d57f8a
to
333e0b1
Compare
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
June 15, 2024 00:16
333e0b1
to
d9afd23
Compare
renovate
bot
changed the title
chore(deps): update relay monorepo to v16 (major)
chore(deps): update relay monorepo to v17 (major)
Jun 15, 2024
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
September 7, 2024 02:24
d9afd23
to
280a04c
Compare
renovate
bot
changed the title
chore(deps): update relay monorepo to v17 (major)
chore(deps): update relay monorepo to v18 (major)
Sep 7, 2024
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
October 4, 2024 22:25
280a04c
to
25f17d7
Compare
renovate
bot
force-pushed
the
renovate/major-relay-monorepo
branch
from
November 21, 2024 19:12
25f17d7
to
9419b9b
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
None yet
0 participants
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^10.1.3
->^18.2.0
^12.0.0
->^18.2.0
^12.0.0
->^18.2.0
^12.0.0
->^18.2.0
Release Notes
facebook/relay (babel-plugin-relay)
v18.2.0
Compare Source
v18.1.0
: Version 18.1.0 Release NotesCompare Source
Following up from our v18.0.0 release last month, v18.1.0 provides a number of fixes and improvements, adds some new experimental APIs, and ships some long-running experimental features as stable.
Relay Resolvers are now stable
For the past several years we've been iterating on Relay Resolvers which provided a structured and typesafe way to model client state and derived data in your GraphQL graph. As of this release, Relay Resolvers are enabled by default and no-longer experimental. As part of this stabilization we shipped fixes for Relay Resolvers when used with TypeScript and fixed a few edge cases related to how errors encountered by resolvers are handled.
Improvements to error @catch
We released
@catch
in v18.0.0 and are very excited about the capabilities it enables. Check out Itamar Kestenbaum's GraphQL conf talk about it here: Build Confidently: How @Catch and Error Handling Pave Way in Field Nullability.Since that release we've made a few improvements:
@catch
directive that are marked as@semanticNonNull
in the schema now generate non-nullable TypeScript/Flow types. See semantic nullability.@catch
no-longer include the error message. This is because GraphQL error messages are generally not safe to show to users. These error messages can still be accessed by the field logger provided to your Relay Environment. In the future we plan to let users opt into allowing safe error messages through to product code.Compiler Error Reporting
We've improved how errors are reported by the Relay compiler to ensure we report as many errors as possible, and each error includes sufficient context.
New "Copy Operation" VSCode command
Our VSCode extension now includes a command to quickly copy the full text of a query directly from within your editor.
Experimental APIs for reading fragment data outside of React
In some cases it can be useful to read a fragment outside of a React hook. However, doing this requires handling a number of concerns.
@defer
or Relay Resolver suspense).@throwOnFieldError
,@required(action: THROW)
)To enable users to read fragment data while correctly handling these cases, we've added two experimental APIs:
observeFragment
: Read a fragment as a stream of states where each state might be loading, error, or value.waitForFragmentData
: Read a fragment as a promise which will resolve when data is available, or reject if an error is encountered.Docs
Thanks to members of our community for submitting pull requests to improve our docs:
Improvements
Experimental
We are always continuing to evolve and improve Relay. These changes are part of features or implementations which are either in progress or are being experimented with internally.
v18.0.0
: Version 18.0.0 Release NotesCompare Source
With version 18, the Relay team at Meta and our community of contributors have made several significant improvements to Relay:
@alias
released as stable@catch
to detect and granularly handle field errors@throwOnFieldError
and@semanticNonNull
to avoid having to handle the nullability of fields which are only null in the case of error.Read all about them in more detail below:
Breaking Changes
Improved validation of field and fragment arguments
Previously we were not correctly type-checking arguments passed to client-defined fields, such as Relay Resolvers and Client Schema Extensions. This new release adds that validation. If you need to opt out of this validation for any reason, you can enable the
disable_full_argument_type_validation
compiler feature flag.Major features
@alias fragment aliases released as stable
Aliased fragments are a Relay feature that lets you access fragments spreads and inline fragments as named properties. This can be especially helpful for fragments which might be conditionally fetched due to
@skip
/@include
or type conditions which might not match. With@alias
these fragments get typed as nullable properties allowing you to check at runtime if they've matched or not before trying to use the data.Read more about @alias
@catch
@catch
, enabled by default will let you check at runtime if a field errored. This can allow you to disambiguate between true nulls returned by your server, and fields which are null due to field level errors.Read more about @catch
@throwOnFieldError
@throwOnFieldError
can be added to fragments and queries and will cause any field errors within that fragment/query to throw when read. This ensures that all null values you encounter are true nulls as returned by your field resolvers on the server, and not field level errors that have been coerced to null.Read more about @throwOnFieldError
Semantic Nullability
@throwOnFieldError
unlocks a powerful new feature when combined with a schema that has fields annotated with@semanticNonNull
.@semanticNonNull
can be added to fields which have been made nullable in the schema only to enable more robust error handling, but are not expected to return null expect in the case of errors.Within fragments or queries annotated with
@throwOnFieldError
, fields annotated with@semanticNonNull
will be typed as non-nullable. This has the potential to dramatically reduce the number of null checks you need to perform inside your product code, while also making your product code more "correct" by treating all field errors as explicit errors.Read more about Semantic Nullability
Relay Resolvers can now have access to context
Thanks for Mark Polak and Drew Atkinson from Microsoft, Relay Resolvers can now be configured to accept a shared context object, similar to standard GraphQL resolvers.
Pull Request
Read more about Resolver context
Ability to opt out of Relay Compiler source control integration
Thanks also to for Mark Polak from Microsoft, the Relay compiler config now supports the option
"noSourceControl": true
which will ask the Relay compiler to not automatically try to add/remove files from Git or Mercurial.Pull Request
Editor Integration Improvements
Thanks to Tobias Tengler, Relay's editor support now includes:
Additional runtime logging integrations
Additional Improvements
D542067
: Validate edgeTypeName argument points to an existing type by Amy HwangDocumentation Improvements
Miscellaneous
Experimental Changes
IdOf
by Tianyu YaoAnd more
There were over 100 additional commits since our last release which have been omitted from this doc
v17.0.0
: Version 17.0.0 Release NotesCompare Source
Since our last release in January of this year, we've made many improvements to Relay. Themes include:
Breaking Changes
Schema Validation
Relay compiler now runs spec-compliant schema validation against your schema including client schema extensions and Relay Resolvers. You can opt out of this feature by disabling validation in your Relay compiler config.
[
ccc4465
] by Jordan EldredgeEdge Type Validation
We now validate that the names passed to directives like
@prependNode
and@appendNode
are valid typenames. You can opt out of this validation with the following feature flag in your compiler config:[
53b2436
] by tobias-tenglerBug fixes
f87e77d
]: Fix MockPayloadGenerator for deferred fragments in lists by Fernando Gorodscy24b557a
]: Use default values from mock resolver for Relay 3D payload by Andrey Lunyov59ff9c1
]: Mark resolves as clean again if we reread their fragment and find data unchanged by Jordan Eldredge0d7a3d0
]: Input fields with defaults shouldn't be required (#4647) by Graeme Coupar7cc4f2b
]: Check if condition on defer/stream fragments by Fernando Gorodscy05d64cc
]: Update GraphQL parser to consume escaped characters by Monica Tang448aa67
]: Fix Flow Types in RelayObservable by Jerry FrancoisImprovements
Runtime Improvements
This release includes a new implementation of our hooks which are significantly more efficient in terms of memory use. Thanks to Dave McCabe for his work on this huge project.
9f03ea5
]: Make new useFragment implementation the default by Andrey LunyovEditor Integration Improvements
Huge shout out to community contributor Tobias Tengler for many improvements to our Editor Support via our VSCode extension. Our VSCode extension is powered by the
relay-compiler
so upgrading to version17.0.0
of the compiler should unlock a number of great IDE features.dc2cb85
]: Add code action to rename fragment (#4697) by tobias-tengler68c7cca
]: Add SchemaDocument go to definition LSP support (#4669) by tobias-tengler8fd21e7
]: Attach previous location to duplicate type diagnostic by Jordan Eldredgedd9d3a0
]: Support inlay hints by Jordan Eldredge (Requires upgrading to v2.3.0 of our VSCode extension)964e078
]: Activate LSP for schema and schema extension files (#4652) by tobias-tenglerbb41169
]: Support go to definition for arguments (#4605) by tobias-tenglerbbddbf3
]: Report errors if location provider fails (#4588) by Jordan Eldredge964e078
]: Activate LSP for schema and schema extension files (#4652) by tobias-tenglerCompiler Performance Improvements
232985f
]: Parallel watchman queries for saved state and changed files by Gordy Frenchef22ae6
]: Run schema validation in parallel by Jordan Eldredgea7984bc
]: Speed upwatchman_query_time_before_subscribe
by Tianyu Yaoacd17ec
]: Use multithreaded zstd compression by Gordy Frencha7984bc
]: Speed upwatchman_query_time_before_subscribe
by Tianyu Yaof7b030e
]: Split a project into multiple chunks and parallelize by Tianyu Yaobafd56b
]: Parallelize GraphQLAsts::from_graphql_sources by Tianyu Yao69dbfee
]: Parallelize from_graphql_sources_map by Tianyu Yaoce12ecf
]: Parallelize building schemas by Tianyu Yao586483e
]: Parallelize from_file_source_changes by Tianyu Yaoee8523f
]: Implement SchemaDocument path resolution (#4639) by Tobias Tengler5f1eb8a
]: Add path resolution for fragment arguments (#4651) by tobias-tengler6601a35
]: Speed up LSP requests outside of GraphQL by Evan Yeunga5a7947
]: Incrementally build Enum schema changes by Evan Yeungce6ea74
]: Add go to definition support for type defined in variable definition (#4629) by tobias-tengler2ba726b
]: Add go to definition support for directives (#4625) by tobias-tenglerMisc. Improvements
29d9e55
]: AddpreferFetchable
argument to the @refetchable directive by Andrey Lunyovf45b35f
]: New feature flag that will allow to opt-out @fetchable types from thenode
query generation in @refetchable by Andrey Lunyov9958e56
]: Print raw response on persisting parsing error by Tianyu Yao9cf21af
]: Integrate with Sapling or Git if they exist (#4691) by Jon Janzenbadd538
]: Migrate relay hooks to hook-syntax by Alex Taylor (alta)349b5a8
]: Use client schema extension enum values as source of truth for Flow types by Jordan Eldredged3c8d1c
]: Add feature flag for fragment arguments (#4648) by tobias-tengler9e9428e
]: Add support for ENABLE_RELAY_OPERATION_TRACKER_SUSPENSE flag in the the new hooks implementation by Andrey LunyovDocumentation Improvements
acb227a
]: Fix search on relay.dev (#4715) by Paul O’Shannessy6b91a2e
]: Improve compiler explorer (#4698) by Jordan Eldredge4c5cd41
]: Add docs forpreferFetchable
argument by Andrey Lunyov95010c8
]: Relay: Update Obsolete Docs Reference toReactTestUtils
by Tim Yung51a82f6
]: Document Relay Resolvers (#4547) by Jordan Eldredgeff8e80d
]: Update docs to clarify behavior of refetchable variables with nullable fragment reference by Jordan Eldredge76d6d77
]: Demonstrate using custom scalar to replace RelayResolverValue by Jordan Eldredge05cf065
]: Fixing minor typo in website (#4673) by Jeshuran Paul906f5ed
]: Relay docs: Fix shell script getting Prism'd as a JS comment by Robin Giese0109168
]: Relay docs: Tutorial page should have proper title by Robin Gieseea2cbbc
]: Fix typos in the Relay Resolvers docs by Evan Yeungdc36b48
]: Fix typos in tutorial by Monica Tang14314f9
]: Escape asterisks in README.md (#4635) by Chris Morinee03182
]: Fix(docs): add instructions about installing watchman if necessary in the tutorial (#4620) by Mark Feng1256e73
]: Remove CodeSandbox Example by Jordan Eldredgeb7f59af
]: Chore(doc): improve relay compiler doc for persist (#4608) by eMerzh8e557f9
]: Fix typos (#4597) by Kenneth Lum615c2d2
]: Fix(doc): update config name following update (#4596) by eMerzhExperimental Changes
We are also continuing to evolve many experimental features which are not yet stable enough to be enabled by default in Relay.
Relay Resolvers
Relay Resolvers have been extended to support defining types which implement interfaces, and define resolvers that return client-defined interfaces where all implementing types are defined using Relay Resolvers. Relay Resolvers are now stable enough to have full documentation with instructions on how to enable them.
ba5e48f
]: Add model resolvers for interfaces by Monica Tang55b8716
]: Return an interface with multiple weak concrete types from a resolver field by Monica Tang46879b4
]: Multiple weak models implement an interface by Monica Tang98823ea
]: Add model resolvers for unions by Monica Tang245602f
]: Remove allow_legacy_verbose_syntax ParseOption by Lynn Yucdab89f
]: Remove ENABLE_CLIENT_EDGES runtime feature flag by Jordan Eldredgeb26f3be
]: Remove @outputType feature flag by Monica Tang7ce13bc
]: Remove LiveResolverStore from experimental export namespace by Jordan Eldredgef193cda
]: Invert the default for emit_normalization_node_for_client_edges by Jordan Eldredge0cac319
]: Define resolver on interface with weak types by Monica Tang6bda98c
]: Make interface model resolver fields compatible with client schema extension-defined concrete types by Monica TangAdditionally, we are exploring the ability to extract Resolver type and field definitions directly from your typed JavaScript code, similar to how Grats works. This work is still highly experimental, only supported for Flow, and not yet fully functional. If you are interested in working with us to help bring this support to TypeScript, please get in touch.
722b18f
]: Better error message for using an optional flow type for strong objects by Tianyu Yao4267075
]: Implement schema generation for weak object fields by Evan Yeung5d2fa70
]: Prevent docblock parsing error for new resolver syntax in LSP by Tianyu Yao36802d9
]: Properly support nullable strong return type by Tianyu Yao8e5c565
]: Add "description" to Flow schema generation by Evan Yeung7e41583
]: Fix passing empty documents to schema gen by Tianyu Yao8cce449
]: A RelayResolverValue generic by Tianyu Yao0d1b5c2
]: Add argument support for Flow schema generation by Evan Yeung95aaa48
]:IdOf<>
return type by Tianyu Yao5052062
]: Support boolean by Tianyu Yao77a87be
]: Add root fragment support to relay resolvers by Evan Yeung35f9763
]: Pass fragment information to Flow schema generation code by Evan Yeunga8a41e2
]: Treat existing resolve syntax fields as fields by Tianyu Yao16e28af
]: Add @live to Flow schema generation by Evan Yeung49563f1
]: Fix incorrect error message for Relay Resolver missing function param by Evan Yeung24510ae
]: Improve error messages for Relay Resolver schema generation imports by Evan Yeung433c93e
]: Improve error messages for resolver schema generation by Evan Yeungd1749df
]: Add weak type definitions to Flow resolvers by Evan Yeung8fa3d43
]: Crate for extracting type information from JS definitions by Tianyu Yao@alias
We've added an experimental new directive to allow fragments to appear as fields. This can enable you, or optionally require you, to check if a fragment was fetched before using it.
efab5ab
]: Complete @alias (#4699) by Jordan Eldredge868183c
]: Refine @alias enforcement by Jordan Eldredge6aaa9ce
]: Add directive to opt out of @alias enforcement by Jordan EldredgeError Handling and Semantic Nullability
As part of our involvement with the GraphQL Nullability Working Group we are exploring features to enable explicit error handling and semantic nullability. Neither of these features are officially available yet, but we're excited about what will become possible here.
af1f9de
]: Disallow required on non-null and semanticNonNull fields by Gordy French56c099a
]: Fix non-null-required validator's field traversal by Gordy French470c814
]: Create CatchField for @catch on Scalar by Itamar Kestenbaum38655ec
]: Create CatchField for @catch and throw unimplemented by Itamar Kestenbaum7bfd200
]: Emit proper Flow for semanticNonNull RelayResolverValue by Gordy French88a6ff9
]: Fix semanticNonNull levels support in resolver docblock by Gordy Frenchc7d46c3
]: Create CatchField feature flag by Itamar Kestenbaum696a1b3
]: Support @catch directive in RelayReader by Itamar Kestenbaumd1cf472
]: Emit semanticNonNull in generated schema by Gordy Frenchddfa2b0
]: Parse semanticNonNull from docblock by Gordy French145c788
]: Add allow_non_null_resolver_fields feature flag by Gordy Frenchcebc7f0
]: Experimental support for @semanticNonNull (#4601) by Jordan Eldredgev16.2.0
Compare Source
Minor breaking changes
This change is a breaking change, as the
customScalars
config option in the single-project config must now be specified ascustomScalarTypes
.Added
Bug fixes
Improvements
Parameters
and indexed access type to extract PreloadParams by Sam ZhouDocumentation Improvements
directives
argument for@refetchable
(#4520) by Daniel Lo NigroMiscellaneous
Experimental Changes
Full Changelog: facebook/relay@v16.1.0...v16.2.0
v16.1.0
Compare Source
Added
Enable flag
enable_strict_custom_scalars
to perform validations when custom scalar types are used, to check that the user doesn't try to pass literal values (strings, ints, etc) in positions where a custom scalar type is expected, as this can break type safety since Relay can't know whether those literals conform to the underlying custom type.Bug fixes
Improvements
EntryPointElementConfig
by Sam ZhouConfiguration
📅 Schedule: Branch creation - "before 4am" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.