Skip to content

Commit e1da36b

Browse files
Merge pull request #5714 from neo4j/changeset-release/7.x
changesets for branch `7.x` (alpha)
2 parents 9faf0f8 + 1d4dbec commit e1da36b

File tree

7 files changed

+249
-8
lines changed

7 files changed

+249
-8
lines changed

.changeset/pre.json

+18-1
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,22 @@
88
"@neo4j/introspector": "4.0.0",
99
"@neo4j/package-tests": "1.0.0"
1010
},
11-
"changesets": []
11+
"changesets": [
12+
"beige-poets-move",
13+
"chatty-plants-dress",
14+
"clean-hairs-pretend",
15+
"cyan-grapes-laugh",
16+
"healthy-swans-shave",
17+
"little-lemons-fail",
18+
"loud-phones-march",
19+
"perfect-zoos-push",
20+
"red-cows-shop",
21+
"short-pillows-itch",
22+
"sixty-clocks-design",
23+
"slow-dolls-whisper",
24+
"soft-planets-exercise",
25+
"strong-jobs-eat",
26+
"tame-melons-confess",
27+
"ten-starfishes-attend"
28+
]
1229
}

packages/apollo-federation-subgraph-compatibility/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"dependencies": {
1111
"@apollo/server": "^4.7.0",
1212
"@graphql-tools/wrap": "^10.0.0",
13-
"@neo4j/graphql": "^6.2.3",
13+
"@neo4j/graphql": "^7.0.0-alpha.0",
1414
"graphql": "16.9.0",
1515
"graphql-tag": "^2.12.6",
1616
"neo4j-driver": "^5.8.0"

packages/graphql/CHANGELOG.md

+214
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,219 @@
11
# @neo4j/graphql
22

3+
## 7.0.0-alpha.0
4+
5+
### Major Changes
6+
7+
- [#5899](https://github.com/neo4j/graphql/pull/5899) [`7335d8f`](https://github.com/neo4j/graphql/commit/7335d8f416bbfa08feab0fe4983f89590f984e1c) Thanks [@darrellwarde](https://github.com/darrellwarde)! - Nested mutation operations now follow the relationship direction behaviour as defined in `queryDirection`
8+
9+
- [#5872](https://github.com/neo4j/graphql/pull/5872) [`925ad8d`](https://github.com/neo4j/graphql/commit/925ad8dedc307200d1c3fd813e531325940d8f8f) Thanks [@angrykoala](https://github.com/angrykoala)! - Remove `@private` directive. This directive was intended to be used with the library `@neo4j/graphql-ogm` which is no longer supported.
10+
11+
- [#5895](https://github.com/neo4j/graphql/pull/5895) [`6afcadd`](https://github.com/neo4j/graphql/commit/6afcaddbfc62549c6c610a2199513bf4c719486c) Thanks [@angrykoala](https://github.com/angrykoala)! - Fails schema generation if there are conflicting plural names in types. For example, the following schema will fail, due to ambiguous `Techs` plural
12+
13+
```graphql
14+
type Tech @node(plural: "Techs") {
15+
name: String
16+
}
17+
18+
type Techs {
19+
value: String
20+
}
21+
```
22+
23+
- [#5755](https://github.com/neo4j/graphql/pull/5755) [`9c75f92`](https://github.com/neo4j/graphql/commit/9c75f925884de42f64e1b5c3086cc87c114727bd) Thanks [@angrykoala](https://github.com/angrykoala)! - Remove support for `connectOrCreate` operations
24+
25+
- [#5778](https://github.com/neo4j/graphql/pull/5778) [`56022ba`](https://github.com/neo4j/graphql/commit/56022ba38d8beb6cb5d7bbfb5e856fd57d9660c5) Thanks [@darrellwarde](https://github.com/darrellwarde)! - The deprecated `directed` argument has been removed, and `queryDirection` now only accepts two possible values - `DIRECTED` (default) and `UNDIRECTED`.
26+
27+
Additionally, the `directedArgument` setting of `excludeDeprecatedFields` has been removed as these deprecated fields have been removed.
28+
29+
- [#5819](https://github.com/neo4j/graphql/pull/5819) [`ac1fa62`](https://github.com/neo4j/graphql/commit/ac1fa629f1eb8b248116bd9dedaabc02117fdbee) Thanks [@angrykoala](https://github.com/angrykoala)! - Single element relationships have been removed in favor of list relationships:
30+
31+
Before
32+
33+
```graphql
34+
type Movie {
35+
director: Person @relationship(type: "DIRECTED", direction: "IN")
36+
}
37+
```
38+
39+
After
40+
41+
```graphql
42+
type Movie {
43+
director: [Person!]! @relationship(type: "DIRECTED", direction: "IN")
44+
}
45+
```
46+
47+
This requires updating filters, clients and auth rules to use the list filter operations.
48+
49+
Single element relationships cannot be reliably enforced, leading to a data inconsistent with the schema. If the GraphQL model requires 1-1 relationships (such as in federations) these can now be achieved with the `@cypher` directive instead:
50+
51+
```graphql
52+
type Movie {
53+
director: Person
54+
@cypher(
55+
statement: """
56+
MATCH(this)-[:ACTED_IN]->(p:Person)
57+
RETURN p
58+
"""
59+
columnName: "p"
60+
)
61+
}
62+
```
63+
64+
- [#5762](https://github.com/neo4j/graphql/pull/5762) [`87e416b`](https://github.com/neo4j/graphql/commit/87e416b2547b75824d9782fd5da90c003437e7c0) Thanks [@darrellwarde](https://github.com/darrellwarde)! - There have been major changes to the way that full-text search operates.
65+
66+
The directive now requires the specification of an index name, query name, and indexed fields.
67+
68+
```graphql
69+
input FulltextInput {
70+
indexName: String!
71+
queryName: String!
72+
fields: [String]!
73+
}
74+
75+
"""
76+
Informs @neo4j/graphql that there should be a fulltext index in the database, allows users to search by the index in the generated schema.
77+
"""
78+
directive @fulltext(indexes: [FulltextInput]!) on OBJECT
79+
```
80+
81+
Here is an example of how this might be used:
82+
83+
```graphql
84+
type Movie @node @fulltext(indexName: "movieTitleIndex", queryName: "moviesByTitle", fields: ["title"]) {
85+
title: String!
86+
}
87+
```
88+
89+
Full-text search was previously available in two different locations.
90+
91+
The following form has now been completely removed:
92+
93+
```graphql
94+
# Removed
95+
{
96+
movies(fulltext: { movieTitleIndex: { phrase: "The Matrix" } }) {
97+
title
98+
}
99+
}
100+
```
101+
102+
The following form as a root-level query has been changed:
103+
104+
```graphql
105+
# Old query
106+
query {
107+
moviesByTitle(phrase: "The Matrix") {
108+
score
109+
movies {
110+
title
111+
}
112+
}
113+
}
114+
115+
# New query
116+
query {
117+
moviesByTitle(phrase: "The Matrix") {
118+
edges {
119+
score
120+
node {
121+
title
122+
}
123+
}
124+
}
125+
}
126+
```
127+
128+
The new form is as a Relay connection, which allows for pagination using cursors and access to the `pageInfo` field.
129+
130+
- [#5820](https://github.com/neo4j/graphql/pull/5820) [`d8d59f8`](https://github.com/neo4j/graphql/commit/d8d59f80480017d27b49b062321a9a15b6494a96) Thanks [@MacondoExpress](https://github.com/MacondoExpress)! - Change the way how `@node` behaves, `@node` is now required, and GraphQL Object types without the directive `@node` will no longer considered as a Neo4j Nodes representation.
131+
Queries and Mutations will be generated only for types with the `@node` directive.
132+
133+
- [#5801](https://github.com/neo4j/graphql/pull/5801) [`95ce8bb`](https://github.com/neo4j/graphql/commit/95ce8bb884bddaf20d751f2448b5504a7b94d081) Thanks [@darrellwarde](https://github.com/darrellwarde)! - Implicit filtering fields have been removed, please use the explicit versions:
134+
135+
```graphql
136+
# Old syntax
137+
{
138+
movies(where: { title: "The Matrix" }) {
139+
title
140+
}
141+
}
142+
143+
# New syntax
144+
{
145+
movies(where: { title_EQ: "The Matrix" }) {
146+
title
147+
}
148+
}
149+
```
150+
151+
The `implicitEqualFilters` option of `excludeDeprecatedFields` has been removed.
152+
153+
- [#5755](https://github.com/neo4j/graphql/pull/5755) [`9c75f92`](https://github.com/neo4j/graphql/commit/9c75f925884de42f64e1b5c3086cc87c114727bd) Thanks [@angrykoala](https://github.com/angrykoala)! - Remove support for `@unique` directive
154+
155+
- [#5768](https://github.com/neo4j/graphql/pull/5768) [`e338590`](https://github.com/neo4j/graphql/commit/e338590d25216cced8252cfe3d0789d97952c20d) Thanks [@angrykoala](https://github.com/angrykoala)! - Remove `overwrite` field in connect operations
156+
157+
- [#5777](https://github.com/neo4j/graphql/pull/5777) [`0ecfd71`](https://github.com/neo4j/graphql/commit/0ecfd71a1431c5f98fde30319eefd5b018a06701) Thanks [@darrellwarde](https://github.com/darrellwarde)! - The deprecated `options` argument has been removed.
158+
159+
Consider the following type definitions:
160+
161+
```graphql
162+
type Movie {
163+
title: String!
164+
}
165+
```
166+
167+
The migration is as below:
168+
169+
```graphql
170+
# Old syntax
171+
{
172+
movies(options: { first: 10, offset: 10, sort: [{ title: ASC }] }) {
173+
title
174+
}
175+
}
176+
177+
# New syntax
178+
{
179+
movies(first: 10, offset: 10, sort: [{ title: ASC }]) {
180+
title
181+
}
182+
}
183+
```
184+
185+
The `deprecatedOptionsArgument` of `excludeDeprecatedFields` has been removed as it is now a no-op.
186+
187+
- [#5802](https://github.com/neo4j/graphql/pull/5802) [`99cb9aa`](https://github.com/neo4j/graphql/commit/99cb9aa866eed04224d790bfccab9c3d3add78b7) Thanks [@darrellwarde](https://github.com/darrellwarde)! - Implicit set operations have been removed. For example:
188+
189+
```graphql
190+
# Old syntax
191+
mutation {
192+
updateMovies(where: { title_EQ: "Matrix" }, update: { title: "The Matrix" }) {
193+
movies {
194+
title
195+
}
196+
}
197+
}
198+
199+
# New syntax
200+
mutation {
201+
updateMovies(where: { title_EQ: "Matrix" }, update: { title_SET: "The Matrix" }) {
202+
movies {
203+
title
204+
}
205+
}
206+
}
207+
```
208+
209+
The `implicitSet` argument of `excludeDeprecatedFields` has been removed.
210+
211+
- [#5789](https://github.com/neo4j/graphql/pull/5789) [`1a07d40`](https://github.com/neo4j/graphql/commit/1a07d40888e89c5cd9a40edc16f1742e27bff687) Thanks [@darrellwarde](https://github.com/darrellwarde)! - The Neo4j GraphQL Library and Introspector now required Node.js 22 or greater.
212+
213+
### Patch Changes
214+
215+
- [#5837](https://github.com/neo4j/graphql/pull/5837) [`721691a`](https://github.com/neo4j/graphql/commit/721691a84eaa34996c0c97edb7ede1ae4775dd2f) Thanks [@MacondoExpress](https://github.com/MacondoExpress)! - Added a validation rule to avoid defining fields as lists of nullable elements, as Neo4j does not support this.
216+
3217
## 6.2.3
4218

5219
### Patch Changes

packages/graphql/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@neo4j/graphql",
3-
"version": "6.2.3",
3+
"version": "7.0.0-alpha.0",
44
"description": "A GraphQL to Cypher query execution layer for Neo4j and JavaScript GraphQL implementations",
55
"keywords": [
66
"neo4j",

packages/introspector/CHANGELOG.md

+10
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# @neo4j/introspector
22

3+
## 5.0.0-alpha.0
4+
5+
### Major Changes
6+
7+
- [#5789](https://github.com/neo4j/graphql/pull/5789) [`1a07d40`](https://github.com/neo4j/graphql/commit/1a07d40888e89c5cd9a40edc16f1742e27bff687) Thanks [@darrellwarde](https://github.com/darrellwarde)! - The Neo4j GraphQL Library and Introspector now required Node.js 22 or greater.
8+
9+
### Patch Changes
10+
11+
- [#5837](https://github.com/neo4j/graphql/pull/5837) [`721691a`](https://github.com/neo4j/graphql/commit/721691a84eaa34996c0c97edb7ede1ae4775dd2f) Thanks [@MacondoExpress](https://github.com/MacondoExpress)! - Changed how "@neo4j/introspector" generates list fields that now are generated as a list of non-nullable elements, as a list of nullable elements is not supported by Neo4j.
12+
313
## 4.0.1
414

515
### Patch Changes

packages/introspector/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@neo4j/introspector",
3-
"version": "4.0.1",
3+
"version": "5.0.0-alpha.0",
44
"description": "Introspect a Neo4j database model/schema",
55
"keywords": [
66
"neo4j",
@@ -34,7 +34,7 @@
3434
},
3535
"author": "Neo4j Inc.",
3636
"devDependencies": {
37-
"@neo4j/graphql": "^6.2.2",
37+
"@neo4j/graphql": "^7.0.0-alpha.0",
3838
"@types/jest": "29.5.14",
3939
"@types/node": "22.9.2",
4040
"@types/pluralize": "0.0.33",

yarn.lock

+3-3
Original file line numberDiff line numberDiff line change
@@ -2072,7 +2072,7 @@ __metadata:
20722072
languageName: node
20732073
linkType: soft
20742074

2075-
"@neo4j/graphql@npm:^6.2.2, @neo4j/graphql@npm:^6.2.3, @neo4j/graphql@workspace:packages/graphql":
2075+
"@neo4j/graphql@npm:^7.0.0-alpha.0, @neo4j/graphql@workspace:packages/graphql":
20762076
version: 0.0.0-use.local
20772077
resolution: "@neo4j/graphql@workspace:packages/graphql"
20782078
dependencies:
@@ -2134,7 +2134,7 @@ __metadata:
21342134
version: 0.0.0-use.local
21352135
resolution: "@neo4j/introspector@workspace:packages/introspector"
21362136
dependencies:
2137-
"@neo4j/graphql": "npm:^6.2.2"
2137+
"@neo4j/graphql": "npm:^7.0.0-alpha.0"
21382138
"@types/jest": "npm:29.5.14"
21392139
"@types/node": "npm:22.9.2"
21402140
"@types/pluralize": "npm:0.0.33"
@@ -3843,7 +3843,7 @@ __metadata:
38433843
"@apollo/federation-subgraph-compatibility": "npm:2.2.0"
38443844
"@apollo/server": "npm:^4.7.0"
38453845
"@graphql-tools/wrap": "npm:^10.0.0"
3846-
"@neo4j/graphql": "npm:^6.2.3"
3846+
"@neo4j/graphql": "npm:^7.0.0-alpha.0"
38473847
fork-ts-checker-webpack-plugin: "npm:9.0.2"
38483848
graphql: "npm:16.9.0"
38493849
graphql-tag: "npm:^2.12.6"

0 commit comments

Comments
 (0)