Skip to content

chore(deps): Bump @evolu/common from 8.18.0 to 8.22.1 - #67

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/evolu/common-8.22.1
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/evolu/common-8.22.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 16, 2026

Copy link
Copy Markdown
Contributor

Bumps @evolu/common from 8.18.0 to 8.22.1.

Release notes

Sourced from @​evolu/common's releases.

@​evolu/common@​8.22.1

Patch Changes

  • 2c20a45: Rejected loads and exports that SQLite fails instead of refusing the database

    Since 8.20.3, a query or an export that SQLite failed, such as a query with a syntax error in a raw SQL fragment or one calling json_extract on text that is not JSON, refused its database. Every tab got an UnknownError as evoluError, the load or export stayed pending, and mutations waiting behind it or made after it were never stored. Before 8.20.3, the database stopped answering while evoluError stayed null, and in React Native a failed query was fatal. A mutation was also rolled back and reported as failed when one of its instance's subscribed queries failed on the data it wrote.

    Now only the failed query fails. loadQuery rejects with an UnknownError of SQLite's error, other queries load, mutations are stored, and evoluError is not set. A rejected load stays cached until a mutation or sync invalidates it, so React's useQuery throws the error to the nearest error boundary instead of suspending again. When SQLite fails a subscribed query's refresh, the query keeps its rows, its loads reject until a refresh succeeds, and its subscribers are notified, so useQuery throws then. The mutation that caused the refresh is stored and its onComplete runs, unless the error, such as an I/O error, made SQLite roll the mutation back. exportDatabase rejects with an UnknownError, and the next call exports again.

    loadQuery no longer always resolves, so put React views whose queries can fail, such as ones built from SQL a user wrote, behind an error boundary, and catch where you await a load. Vue's useQuery and Svelte's queryState keep their rows. A failed load they start, and in Vue also a cached failed load, is reported as an unhandled rejection, and a failed refresh is not reported.

  • 8aa6676: Rejected Uint8Array values in Evolu's JSON query helpers at compile time

    evoluJsonArrayFrom, evoluJsonObjectFrom, and evoluJsonBuildObject build their results with SQLite's json_object, which cannot hold a blob. A query that selected a Uint8Array column through one of them compiled and loaded while the column was null, then failed in SQLite with "JSON cannot hold BLOB values" once a row held bytes, for example bytes synced from another device, or, when the bytes happened to be valid JSONB, silently returned a JSON value instead of them. Such a selection is now a compile-time error. The check needs a concrete row type, so a function generic over the selection no longer compiles when it passes the selection to these helpers. Select Uint8Array columns outside these helpers:

    import {
      assertType,
      createQueryBuilder,
      evoluJsonArrayFrom,
      id,
      Uint8Array as Uint8ArrayType,
    } from "@evolu/common";
    const PersonId = id("Person");
    const Schema = {
    person: { id: PersonId },
    photo: { id: id("Photo"), personId: PersonId, data: Uint8ArrayType },
    };
    const createQuery = createQueryBuilder(Schema);
    createQuery((db) =>
    db
    .selectFrom("person")
    .select("person.id")
    .select((eb) => [
    // @​ts-expect-error ⛔ evoluJsonArrayFrom error: SQLite JSON cannot hold a Uint8Array. Select it outside this helper.
    evoluJsonArrayFrom(
    eb
    .selectFrom("photo")
    .select(["photo.id", "photo.data"])
    .whereRef("photo.personId", "=", "person.id"),
    ).as("photos"),
    ]),
    );
    const photos = createQuery((db) =>
    db.selectFrom("photo").select(["id", "personId", "data"]),
    );

... (truncated)

Commits
  • 30d3e78 Version Packages
  • 8aa6676 Reject Uint8Array values in the JSON query helpers at compile time
  • 2c20a45 Answer queries and exports SQLite fails instead of refusing the database
  • 6a156dd Version Packages
  • 5949822 Add the Introducing leancase blog post
  • 76480a8 Add experimental leancase to @​evolu/common
  • aabf072 Make blog and docs text bigger
  • b14a1d9 Version Packages
  • 4aa2c7a Serve each relay connection's requests one at a time
  • 4493e77 Stream sync's timestamp reads through SqliteDriver.iterate
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [@evolu/common](https://github.com/evoluhq/evolu) from 8.18.0 to 8.22.1.
- [Release notes](https://github.com/evoluhq/evolu/releases)
- [Commits](https://github.com/evoluhq/evolu/compare/@evolu/common@8.18.0...@evolu/common@8.22.1)

---
updated-dependencies:
- dependency-name: "@evolu/common"
  dependency-version: 8.22.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Oct 16, 2026
@dependabot @github

dependabot Bot commented on behalf of github Oct 23, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #70.

@dependabot dependabot Bot closed this Oct 23, 2026
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/evolu/common-8.22.1 branch October 23, 2026 12:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants