A GraphQL to Cypher query execution layer for Neo4j and JavaScript GraphQL implementations.
APACHE-2.0 License
Bot releases are hidden (Show)
Published by neo4j-team-graphql over 1 year ago
#3673 aa11d5251
Thanks @darrellwarde! - Programmatic toggling of debug logging is now done using the debug
option of the constructor.
#3645 7df67be49
Thanks @darrellwarde! - The minimum version of neo4j-driver
is now 5.8.0
, please upgrade. The boomkark
field in the selection set has been marked as deprecated and will be removed in version 5.0.0
of the library.
#3671 b3951fa81
Thanks @darrellwarde! - Remove nodes
from the public API of the OGM
class.
#3687 1ad4328e4
Thanks @darrellwarde! - Validation of type definitions is now configured using the validate
boolean option in the constructor, which defaults to true
.
#2598 257aa4c97
Thanks @darrellwarde! - Remove all arguments from IExecutableSchemaDefinition apart from typeDefs
and resolvers
. This is to simplify the API and to remove any unexpected behaviours from arguments which we blindly pass through.
#3674 59e369992
Thanks @darrellwarde! - cypherQueryOptions
moved into context-only, as a per-request option.
ea1bae3c3
, 0fb2592b4
, c9ee9e757
, 4a78e7a8d
, 8d3aff007
, b3951fa81
, 2167c9ac1
, 29d68ad51
, 395e12f14
, 15a7f0418
, 93b9d806b
, d4aea32c6
, 5ea18136e
, aa11d5251
, f1225baa7
, 7df67be49
, 7743399d3
, e5b53a597
, 3896544b5
, 8f0656b35
, c9f35f10c
, 1ad4328e4
, 2ab3d5212
, 257aa4c97
, ce84c47cc
, 5b5f08ce7
, 9f5a44545
, 9f3a9374e
, 59e369992
]:
Published by neo4j-team-graphql over 1 year ago
Published by neo4j-team-graphql over 1 year ago
ea1bae3c3
, 0fb2592b4
, c9ee9e757
, 4a78e7a8d
, 8d3aff007
, b3951fa81
, 2167c9ac1
, 29d68ad51
, 395e12f14
, 15a7f0418
, 93b9d806b
, d4aea32c6
, 5ea18136e
, aa11d5251
, f1225baa7
, 7df67be49
, 7743399d3
, e5b53a597
, 3896544b5
, 8f0656b35
, c9f35f10c
, 1ad4328e4
, 2ab3d5212
, 257aa4c97
, ce84c47cc
, 5b5f08ce7
, 9f5a44545
, 9f3a9374e
, 59e369992
]:
Published by neo4j-team-graphql over 1 year ago
#3062 ea1bae3c3
Thanks @mjfwebb! - The deprecated @callback
directive has been removed. Any remaining usages of @callback
should be replaced with @populatedBy
. See https://github.com/neo4j/graphql/blob/dev/docs/modules/ROOT/pages/guides/v4-migration/index.adoc#callback-renamed-to-populatedby for more information.
#3013 0fb2592b4
Thanks @darrellwarde! - Remove aggregation fields for relationships to a single node (non-List relationships) - these serve no functional utility
#2863 c9ee9e757
Thanks @darrellwarde! - Support for Neo4j database 4.3 has been dropped. Please use the current Neo4j 5 release, or the LTS 4.4 release.
#2996 4a78e7a8d
Thanks @mjfwebb! - Aliased properties are now automatically escaped using backticks. If you were using backticks in the property
argument of your @alias
directives, these should now be removed.
#2834 8d3aff007
Thanks @a-alle! - Deprecated @node
directive arguments label
and additionalLabels
have been removed. Please use the labels
argument.
#3671 b3951fa81
Thanks @darrellwarde! - Remove nodes
and relationships
from the public API of the Neo4jGraphQL
class.
#3628 2167c9ac1
Thanks @darrellwarde! - Specifying Cypher query options to be used is now cypherQueryOptions
instead of just queryOptions
, and each option accepts a simple string rather than an enum.
#3242 29d68ad51
Thanks @angrykoala! - Escape properties and relationships if needed, using |
and &
as part of the label is no longer supported
#3043 15a7f0418
Thanks @mjfwebb! - It was possible to define schemas with types that have multiple relationship fields connected by the same type of relationships. Instances of this scenario are now detected during schema generation and an error is thrown so developers are informed to remedy the type definitions.
An example of what is now considered invalid with these checks:
type Team {
player1: Person! @relationship(type: "PLAYS_IN", direction: IN)
player2: Person! @relationship(type: "PLAYS_IN", direction: IN)
backupPlayers: [Person!]! @relationship(type: "PLAYS_IN", direction: IN)
}
type Person {
teams: [Team!]! @relationship(type: "PLAYS_IN", direction: OUT)
}
For more information about this change and how to disable this validation please see the 4.0.0 migration guide
#2818 93b9d806b
Thanks @a-alle! - Removed deprecated argument plural
from @node
directive. Please use the @plural
directive instead.
#3670 d4aea32c6
Thanks @darrellwarde! - Removal of the following exports: Neo4jGraphQLAuthenticationError
, Neo4jGraphQLForbiddenError
, EventMeta
, Neo4jGraphQLAuthPlugin
and RelationField
. This are either redundant, or internals which shouldn't have been exported.
#3679 5ea18136e
Thanks @darrellwarde! - Remove unused DeleteInfo
, GraphQLSortArg
, GraphQLOptionsArg
and GraphQLWhereArg
type exports.
#3673 aa11d5251
Thanks @darrellwarde! - Programmatic toggling of debug logging is now done using the debug
option of the constructor.
#3234 f1225baa7
Thanks @angrykoala! - Change subscriptions setup, this requires changes to constructor options passed to Neo4jGraphQL. See https://neo4j.com/docs/graphql-manual/current/guides/v4-migration/#subscriptions-options
For single instance subscriptions use true
:
const neoSchema = new Neo4jGraphQL({
typeDefs,
features: {
subscriptions: true,
},
});
For any other engine, pass it features.subscriptions
:
const neoSchema = new Neo4jGraphQL({
typeDefs,
features: {
subscriptions: subscriptionEngine,
},
});
#3645 7df67be49
Thanks @darrellwarde! - The minimum version of neo4j-driver
is now 5.8.0
, please upgrade. The bookmark
field in the selection set has been marked as deprecated and will be removed in version 5.0.0
of the library.
#2922 7743399d3
Thanks @Liam-Doodson! - The requires
argument of the @customResolver
directive now accepts a graphql selection set. This means it is now possible to require non-scalar fields such as related types.
#2769 e5b53a597
Thanks @angrykoala! - @cypher
directive now requires the parameter columnName
.
This requires all cypher queries to be made with a valid alias that must be referred in this new parameter.
For Example:
@neo4j/graphql@3
@cypher(statement: "MATCH (i:Item) WHERE i.public=true RETURN i.name")
@neo4j/graphql@4
@cypher(statement: "MATCH (i:Item) WHERE i.public=true RETURN i.name as result", columnName: "result")
#3630 3896544b5
Thanks @darrellwarde! - neo4jDatabaseInfo
has been removed from the context. It is our belief that this has little utility in the library. If you regularly use different drivers connected to different versions of Neo4j and require this feature, please raise an issue: https://github.com/neo4j/graphql/issues/new/choose
#2944 8f0656b35
Thanks @Liam-Doodson! - Made @relationshipProperties
mandatory for relationship property interfaces
#3099 c9f35f10c
Thanks @mjfwebb! - config.callbacks has been deprecated and replaced with features.populatedBy.callbacks. See https://neo4j.com/docs/graphql-manual/current/guides/v4-migration/#_callback_renamed_to_populatedby for more information.
#3687 1ad4328e4
Thanks @darrellwarde! - Validation of type definitions is now configured using the validate
boolean option in the constructor, which defaults to true
.
#2819 2ab3d5212
Thanks @a-alle! - Removed @computed
directive. Please use @customResolver
instead.
#2598 257aa4c97
Thanks @darrellwarde! - Remove all arguments from IExecutableSchemaDefinition
apart from typeDefs
and resolvers
. This is to simplify the API and to remove any unexpected behaviours from arguments which the library blindly passes through.
#3653 5b5f08ce7
Thanks @angrykoala! - All labels and field names are escaped if needed in the generated Cypher
#3097 9f5a44545
Thanks @mjfwebb! - enableRegex
has been removed and replaced with MATCHES
filters in the features configuration object. See the migration guide for more information: https://neo4j.com/docs/graphql-manual/current/guides/v4-migration
#2955 9f3a9374e
Thanks @mjfwebb! - Relationship type strings are now automatically escaped if needed using backticks. If you were using backticks in the type
argument of your @relationship
directives, these should now be removed to avoid backticks being added into your relationship type labels.
#3674 59e369992
Thanks @darrellwarde! - cypherQueryOptions
moved into context-only, as a per-request option.
ce84c47cc
Thanks @darrellwarde! - The evaluation of authorization rules is now supported when using the Neo4j GraphQL Library as a Federation Subgraph.Published by neo4j-team-graphql over 1 year ago
ea1bae3c3
, 0fb2592b4
, c9ee9e757
, 4a78e7a8d
, 8d3aff007
, b3951fa81
, 2167c9ac1
, 29d68ad51
, 395e12f14
, 15a7f0418
, 93b9d806b
, d4aea32c6
, 5ea18136e
, aa11d5251
, f1225baa7
, 7df67be49
, 7743399d3
, e5b53a597
, 3896544b5
, 8f0656b35
, c9f35f10c
, 1ad4328e4
, 2ab3d5212
, 257aa4c97
, ce84c47cc
, 5b5f08ce7
, 9f5a44545
, 9f3a9374e
, 59e369992
]:
Published by neo4j-team-graphql over 1 year ago
ea1bae3c3
, 0fb2592b4
, c9ee9e757
, 4a78e7a8d
, 8d3aff007
, b3951fa81
, 2167c9ac1
, 29d68ad51
, 395e12f14
, 15a7f0418
, 93b9d806b
, d4aea32c6
, 5ea18136e
, aa11d5251
, f1225baa7
, 7df67be49
, 7743399d3
, e5b53a597
, 3896544b5
, 8f0656b35
, c9f35f10c
, 1ad4328e4
, 2ab3d5212
, 257aa4c97
, ce84c47cc
, 5b5f08ce7
, 9f5a44545
, 9f3a9374e
, 59e369992
]:
Published by neo4j-team-graphql over 1 year ago
Published by neo4j-team-graphql over 1 year ago
09cc28ef2
Thanks @darrellwarde! - Encourages switching from driverConfig
to sessionConfig
in both constructor and context. Can be used to switch database, and to use impersonation and user switching.#3607 12ee8b8f4
Thanks @MacondoExpress! - Ignore the schema configuration directives for OGM purposes. Fix #3591
Updated dependencies [c55a2b6fd
, cd884be5c
, 09cc28ef2
]:
Published by neo4j-team-graphql over 1 year ago
09cc28ef2
Thanks @darrellwarde! - Encourages switching from driverConfig
to sessionConfig
in both constructor and context. Can be used to switch database, and to use impersonation and user switching.#3678 c55a2b6fd
Thanks @darrellwarde! - Fix generation of schema for fields to an interface relationship when using subscriptions.
#3627 cd884be5c
Thanks @MacondoExpress! - Fixing argument parsing Flat/Int wrongly coerced as String.
Published by neo4j-team-graphql over 1 year ago
0a5e91bb2
]:
Published by neo4j-team-graphql over 1 year ago
#3601 5556221c8
Thanks @darrellwarde! - Ignore @authentication
, @authorization
and subscriptionsAuthorization
directives in the OGM.
Updated dependencies [0a5e91bb2
]:
Published by neo4j-team-graphql over 1 year ago
0a5e91bb2
Thanks @darrellwarde! - Ensure that label checks are done against parameters.Published by neo4j-team-graphql over 1 year ago
775fdea1d
]:
Published by neo4j-team-graphql over 1 year ago
#3581 775fdea1d
Thanks @ID!! - This release includes the addition of three new directives for authentication and authorization:
The @authentication
directive is used to configure authentication checks at either the schema, object or field level:
type Post @authentication(operations: [CREATE]) {
content: String!
}
The @authorization
directive is used to configure fine-grained authorization against node properties:
type User @authorization(validate: [{ where: { node: { id: "$jwt.sub" } } }]) {
id: ID!
}
The @subscriptionsAuthorization
directive is used to configure fine-grained authorization specifically for Subscriptions events:
type Post @subscriptionsAuthorization(filter: [{ where: { node: { author: "$jwt.sub" } } }]) {
likes: Int!
}
These three directives supersede the @auth
directive, which will be removed in version 4.0.0 of the Neo4j GraphQL Library.
775fdea1d
]:
Published by neo4j-team-graphql over 1 year ago
#3581 775fdea1d
Thanks @darrellwarde!! - This release includes the addition of three new directives for authentication and authorization:
The @authentication
directive is used to configure authentication checks at either the schema, object or field level:
type Post @authentication(operations: [CREATE]) {
content: String!
}
The @authorization
directive is used to configure fine-grained authorization against node properties:
type User @authorization(validate: [{ where: { node: { id: "$jwt.sub" } } }]) {
id: ID!
}
The @subscriptionsAuthorization
directive is used to configure fine-grained authorization specifically for Subscriptions events:
type Post @subscriptionsAuthorization(filter: [{ where: { node: { author: "$jwt.sub" } } }]) {
likes: Int!
}
These three directives supersede the @auth
directive, which will be removed in version 4.0.0 of the Neo4j GraphQL Library. Please see the migration guide to learn how to upgrade today.
Published by neo4j-team-graphql over 1 year ago
f779a0061
, cc201e6fc
, 56a733023
]:
Published by neo4j-team-graphql over 1 year ago
#3117 c30569a97
Thanks @g10! - feat: expose assertIndexesAndConstraints
on OGM
#3556 4f221fdb2
Thanks @darrellwarde! - Preserve library generated casing when generating TypeScript types using the OGM.
Updated dependencies [f779a0061
, cc201e6fc
, 56a733023
]:
Published by neo4j-team-graphql over 1 year ago
#3509 cc201e6fc
Thanks @MacondoExpress! - Introduced schema configuration directive: @filterable
.
Usage:
type User {
name: String @filterable(byValue: true, byAggregate: true)
}
#3542 f779a0061
Thanks @Liam-Doodson! - Fixed #3541 which caused an error when using @key
and other directives on the same type
#3538 56a733023
Thanks @Liam-Doodson! - Fixed #3537 which prevented extending the schema with @neo4j/graphql
directives when calling getSubgraphSchema()
Published by neo4j-team-graphql over 1 year ago
#3520 ecb370f9d
Thanks @tbwiss! - feat: Toolbox - major version bump to version 2.0.0
A high-level overview of changes made:
8f4af1641
Thanks @mjfwebb! - Toolbox: updates look and feel of favorites and adds ability to sort and download snippets#3491 4d6db92f9
Thanks @mjfwebb! - fix: Toolbox - Tabs no longer have scrollbars
fix: Toolbox - DocExplorer no longer has a flash of an error when loading
feat: Toolbox - The "Build Schema" button now shows a loading state
fix: Toolbox - Tabs only have a close button when there is more than one tab
#3481 67800df06
Thanks @tbwiss! - feat: Toolbox - address several small editor issues
#3518 f386b950c
Thanks @tbwiss! - feat: Toolbox - additional product tracking events for new UI elements
#3498 0be64e79d
Thanks @tbwiss! - feat: Toolbox - clean-up after CodeMirror v6 integration
#3487 0c526615c
Thanks @tbwiss! - feat: Toolbox - warning dialog when attempting to switch database
#3504 da8bd8799
Thanks @tbwiss! - fix: Toolbox - right-hand sider overflow and font-family for components
Published by neo4j-team-graphql over 1 year ago
#3410 f2375d4e2
Thanks @tbwiss! - feat: Toolbox - replace custom-implemented components with NDL components
#3480 545b30481
Thanks @tbwiss! - fix: Toolbox - editor height and scroll
#3464 4014842d5
Thanks @tbwiss! - feat: Toolbox - replace view switcher with tabs
#3447 9146b1a6b
Thanks @tbwiss! - feat: Toolbox - tooltip with clickable link gets a larger area
#3412 a33b368c4
Thanks @tbwiss! - feat: Toolbox - top bar updates: Connection Menu, updated styles, Connection information
#3407 e2455956a
Thanks @tbwiss! - feat: Toolbox - introduce query editor tabs
#3462 ffabf14f4
Thanks @tbwiss! - feat: Toolbox - login window styling and layout
Updated dependencies [baa787745
, 8c99be2fe
, b891355e5
, 0f32311ea
, 5616aa662
, f19a57ca2
, 1d5506525
, 0a444662b
, 8c99be2fe
, cc7c8e6a9
, f4d691566
]: