Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Nov 6, 2025

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@tanstack/[email protected]

Minor Changes

  • Implement 3-valued logic (true/false/unknown) for all comparison and logical operators. (#765)
    Queries with null/undefined values now behave consistently with SQL databases, where UNKNOWN results exclude rows from WHERE clauses.

    Breaking Change: This changes the behavior of WHERE and HAVING clauses when dealing with null and undefined values.

    Example 1: Equality checks with null

    Previously, this query would return all persons with age = null:

    q.from(...).where(({ person }) => eq(person.age, null))

    With 3-valued logic, eq(anything, null) evaluates to null (UNKNOWN) and is filtered out. Use isNull() instead:

    q.from(...).where(({ person }) => isNull(person.age))

    Example 2: Comparisons with null values

    Previously, this query would return persons with age < 18 OR age = null:

    q.from(...).where(({ person }) => lt(person.age, 18))

    With 3-valued logic, lt(null, 18) evaluates to null (UNKNOWN) and is filtered out. The same applies to undefined values. To include null values, combine with isNull():

    q.from(...).where(({ person }) =>
      or(lt(person.age, 18), isNull(person.age))
    )

Patch Changes

  • Fix Uint8Array/Buffer comparison to work by content instead of reference. This enables proper equality checks for binary IDs like ULIDs in WHERE clauses using the eq function. (#779)

  • Updated dependencies [7aedf12]:

@tanstack/[email protected]

Patch Changes

@tanstack/[email protected]

Patch Changes

  • Fix Uint8Array/Buffer comparison to work by content instead of reference. This enables proper equality checks for binary IDs like ULIDs in WHERE clauses using the eq function. (#779)

@tanstack/[email protected]

Patch Changes

@tanstack/[email protected]

Patch Changes

@tanstack/[email protected]

Patch Changes

@tanstack/[email protected]

Patch Changes

@tanstack/[email protected]

Patch Changes

@tanstack/[email protected]

Patch Changes

@tanstack/[email protected]

Patch Changes

@tanstack/[email protected]

Patch Changes

@tanstack/[email protected]

Patch Changes

@tanstack/[email protected]

Patch Changes

@tanstack/[email protected]

Patch Changes

@github-actions github-actions bot force-pushed the changeset-release/main branch 7 times, most recently from 2625648 to 8cdf43e Compare November 11, 2025 00:44
@github-actions github-actions bot force-pushed the changeset-release/main branch from 8cdf43e to bab9ba3 Compare November 11, 2025 00:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant