Skip to content

Releases: neo4j/graphql

@neo4j/[email protected]

26 Nov 12:07
bbc7aa6
Compare
Choose a tag to compare

Patch Changes

  • #5835 cc1a8dd Thanks @angrykoala! - Add support for filtering GraphQL only events in CDC subscriptions with the option onlyGraphQLEvents passed to Neo4jGraphQLSubscriptionsCDCEngine

    const engine = new Neo4jGraphQLSubscriptionsCDCEngine({
        driver,
        onlyGraphQLEvents: true,
    });
    
    const neoSchema = new Neo4jGraphQL({
        typeDefs,
        driver,
        features: {
            subscriptions: engine,
        },
    });
  • #5834 67f915e Thanks @angrykoala! - CDC subscription optimization. Only node events with labels present in the GraphQL schema will be queried. This will reduce the number of subscription events queried by skipping events to nodes that cannot be subscribed through GraphQL

@neo4j/[email protected]

18 Nov 15:40
426bded
Compare
Choose a tag to compare

Minor Changes

Patch Changes

  • #5738 c6ea37d Thanks @angrykoala! - Add deprecation warning when using @unique

  • #5788 62a9f61 Thanks @angrykoala! - Deprecate single element relationships:

    type Movie {
        director: Person @relationship(type: "DIRECTED", direction: "IN")
    }

    In favor of list relationships:

    type Movie {
        director: [Person!]! @relationship(type: "DIRECTED", direction: "IN")
    }

    1-1 relationships cannot be reliably enforced, leading to a data inconsistent between the schema and the database. For this reason, these have been removed in favor of the more accurate list relationships.

  • #5771 c56f9b0 Thanks @MacondoExpress! - Deprecate implicit SET:

    mutation {
        updateMovies(update: { id: "2" }) {
            movies {
                id
            }
        }
    }

    in favour of the explicit _SET version:

    mutation {
        updateMovies(update: { id_SET: "2" }) {
            movies {
                id
            }
        }
    }
  • #5771 f624668 Thanks @MacondoExpress! - Added implicitSet to the excludeDeprecatedFields setting, to disable generation of the deprecated mutation field without the suffix _SET.

  • #5758 7521476 Thanks @angrykoala! - Argument overwrite in connect operations has been deprecated

  • #5748 f23bb91 Thanks @darrellwarde! - The connectOrCreate operation has been deprecated and will be removed in the next major version of the Neo4j GraphQL Library. Its implementation has always been more limited than the other operations, so the decision has been taken to remove it for the time being with a view of potentially refocussing on it again in the future.

  • #5764 1ec1bd3 Thanks @darrellwarde! - Fix issues #5759 and #5760 to do with sorting vector search results

@neo4j/[email protected]

18 Nov 15:37
88627df
Compare
Choose a tag to compare

Minor Changes

Patch Changes

@neo4j/[email protected]

18 Nov 15:37
88627df
Compare
Choose a tag to compare

Patch Changes

@neo4j/[email protected]

31 Oct 09:44
2d8a040
Compare
Choose a tag to compare

Major Changes

Minor Changes

@neo4j/[email protected]

31 Oct 09:44
2d8a040
Compare
Choose a tag to compare

Major Changes

  • #5638 cab1a8d Thanks @darrellwarde! - The Neo4j GraphQL Library now requires a Neo4j 5.x database.

  • #5639 4438b60 Thanks @darrellwarde! - Remove aggregation filters which are not actually aggregation filters, which were deprecated in 5.x.

  • #5637 8832dd6 Thanks @darrellwarde! - Remove deprecated relationship filters without suffix. Queries which previously used these should migrate over to _SOME filters.

  • #5662 98e04db Thanks @angrykoala! - Remove support for relationship subscriptions:

    • *RelationshipCreated
    • *RelationshipDeleted
  • #5648 c716439 Thanks @darrellwarde! - Remove no-op option to remove stringAggregation deprecated fields.

  • #5634 7e356f1 Thanks @darrellwarde! - The deprecated bookmark field has been removed due to bookmarks now be handled internally by the database driver.

  • #5703 a3bd747 Thanks @MacondoExpress! - Fixed a bug that caused @cypher field to be added as sortable fields in the schema even for not supported cases

  • #5713 55c2ed6 Thanks @MacondoExpress! - Remove connectComponentsPlanner argument from the CypherQueryOptions

  • #5662 98e04db Thanks @angrykoala! - Removes support for non-cdc subscriptions. This means the only available engine for subscriptions is Neo4jGraphQLSubscriptionsCDCEngine:

    new Neo4jGraphQL({
        typeDefs,
        driver,
        features: {
            subscriptions: new Neo4jGraphQLSubscriptionsCDCEngine({
                driver,
            }),
        },
    });

    The default behaviour of subscriptions has also been updated to use CDC, so now passing true will use the CDC engine with the default parameters and driver:

    new Neo4jGraphQL({
        typeDefs,
        driver,
        features: {
            subscriptions: true,
        },
    });
  • #5624 87917e4 Thanks @MacondoExpress! - Removed deprecated _NOT filters, use the Boolean operator NOT instead.

    ** deprecated syntax **

    query {
        movies(where: { title_NOT: "The Matrix" }) {
            title
        }
    }

    ** recommended syntax **

    query {
        movies(where: { NOT: { title: "The Matrix" } }) {
            title
        }
    }

    As part of the change, the option: negationFilters was removed from the excludeDeprecatedFields settings.

  • #5649 8206edd Thanks @darrellwarde! - The deprecated options argument of assertIndexesAndConstraints has been removed. Database migrations are outside of the scope of the Neo4j GraphQL Library, and all indexes and constraints will have to be managed manually.

  • #5630 af866e0 Thanks @angrykoala! - Remove deprecated top level arguments for nested operations in mutations:

    • create
    • delete
    • connect
    • disconnect
    • connectOrCreate

    For example, the following is no longer valid:

    invalid

    mutation UpdatePeople {
        updatePeople(create: { movies: { node: { title: "The Good" } } }) {
            people {
                name
            }
        }
    }

    valid

    mutation UpdatePeople {
        updatePeople(update: { movies: { create: { node: { title: "The Good" } } } }) {
            people {
                name
            }
        }
    }
  • #5608 2174267 Thanks @MacondoExpress! - Changed the generated sort argument on the top-level Connection field as a list of non-nullable elements in case the target is an Interface.

    From:

    productionsConnection(after: String, first: Int, sort: [ProductionSort], where: ProductionWhere): ProductionsConnection!

    To:

    productionsConnection(after: String, first: Int, sort: [ProductionSort!], where: ProductionWhere): ProductionsConnection!
  • #5668 ffb2ae3 Thanks @angrykoala! - Remove exported types for custom subscriptions engine:

    • Neo4jGraphQLSubscriptionsEngine
    • SubscriptionsEvent
  • #5693 8322ec3 Thanks @angrykoala! - Throws an error when the same field is updated multiple times on same update operation.

    For example:

    mutation {
        updateMovies(update: { tags_POP: 1, tags_PUSH: "d" }) {
            movies {
                title
                tags
            }
        }
    }
  • #5654 3332ac6 Thanks @MacondoExpress! - Removed deprecated string aggregation filters as name_SHORTEST_GT in favor of the _LENGTH version: name_SHORTEST_LENGTH_GT.

  • #5638 cab1a8d Thanks @darrellwarde! - The Neo4j GraphQL Library now requires Node.js 20 or greater.

  • #5654 38be579 Thanks @MacondoExpress! - Removed aggregationFilters from excludeDeprecatedFields settings.

Minor Changes

  • #5636 74e4d30 Thanks @MacondoExpress! - Added aggregation filter count_EQ filters: { count_EQ: 10 }, this is the replacement for the deprecated version { count: 10 }.

  • #5567 233aac6 Thanks @MacondoExpress! - Added scalar _EQ filters: { title_EQ: "The Matrix" }, this is an alternative version of the deprecated version { title: "The Matrix" }.

Patch Changes

  • #5636 de984a2 Thanks @MacondoExpress! - Deprecated implicit aggregation filter: count, { count: 10 } in favor of the explicit version: { count_EQ: 10 }.

  • #5608 c64f6b4 Thanks @MacondoExpress! - Deprecated the options argument in favor of the limit, offset, and sort` arguments.

  • #5694 887a098 Thanks @MacondoExpress! - Deprecated DEFAULT_DIRECTED / DEFAULT_UNDIRECTED DIRECTED_ONLY / UNDIRECTED_ONLY as @relationship.queryDirection argument values. The options that started with the DEFAULT are deprecated following the deprecation of the generated directed argument. The options with the suffix _ONLY have been changed to DIRECTED / UNDIRECTED as the suffix _ONLY.

  • #5567 233aac6 Thanks @MacondoExpress! - Deprecated implicit scalar filter ...

Read more

@neo4j/[email protected]

29 Oct 15:11
574d4e7
Compare
Choose a tag to compare

Patch Changes

@neo4j/[email protected]

29 Oct 15:11
574d4e7
Compare
Choose a tag to compare

Patch Changes

@neo4j/[email protected]

22 Oct 12:04
1419ecc
Compare
Choose a tag to compare

Patch Changes

  • #5458 4104217 Thanks @renovate! - Added a fix in document validation for type definitions using @customResolver and authentication/authorization rules

@neo4j/[email protected]

22 Oct 12:05
1419ecc
Compare
Choose a tag to compare

Patch Changes