Skip to content

chore(deps): update Zod to patched v4.6.7 [security] - #2251

Merged
KyleAMathews merged 6 commits into
mainfrom
renovate/npm-zod-vulnerability
Oct 28, 2026
Merged

KyleAMathews merged 6 commits into
mainfrom
renovate/npm-zod-vulnerability

Conversation

@renovate

@renovate renovate Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Zod releases through 4.6.5 are affected by GHSA-mrhx-c7xc-m3w5. Upgrade the workspace Zod dependencies to patched v4.6.7 and regenerate the lockfile after merging current main.

Update the existing schema tests for Zod 4's explicit record key/value schemas and exact validation messages. The tests retain rejection, error-path, and unchanged-data checks; production code is unchanged.

Validation:

  • Frozen pnpm install passed.
  • The full DB run passed 15,612 tests and identified one validation-message mismatch and three record-signature type errors. After those migrations, both affected DB suites passed all 25 tests with no type errors.
  • All 193 PowerSync tests passed with no type errors after building workspace declarations.
  • Removed one obsolete schema-example failure waiver now that it compiles under Zod 4. All 791 documentation examples passed the existing baseline check with no new failures.
  • Pre-commit checks and pnpm lint:changed passed.

After the Angular and UUID merges, refresh current main and align Vite ranges on ^7.3.7 so CI checks the combined dependency set. Frozen installation and dependency consistency passed again.

CI on the updated head is the final merge gate.

Refresh the lockfile after the Vite security update merged. Regeneration starts from current main and retains patched Zod/Vite versions; frozen installation, configured dependency consistency, and lint passed.

@changeset-bot

changeset-bot Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: bd87f2a

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai

coderabbitai Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 0396c898-8684-48ca-8f3b-94c425dfebbd

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Size Change: 0 B

Total Size: 238 kB

ℹ️ View Unchanged
Filename Size
packages/db/dist/esm/client.js 5.39 kB
packages/db/dist/esm/collection-options-brand.js 219 B
packages/db/dist/esm/collection-options.js 258 B
packages/db/dist/esm/collection/change-events.js 1.76 kB
packages/db/dist/esm/collection/changes.js 3.06 kB
packages/db/dist/esm/collection/cleanup-queue.js 828 B
packages/db/dist/esm/collection/config-errors.js 547 B
packages/db/dist/esm/collection/events.js 504 B
packages/db/dist/esm/collection/health-tree.js 698 B
packages/db/dist/esm/collection/index.js 6.32 kB
packages/db/dist/esm/collection/indexes.js 2.3 kB
packages/db/dist/esm/collection/lifecycle.js 5.59 kB
packages/db/dist/esm/collection/mutations.js 2.95 kB
packages/db/dist/esm/collection/state.js 7.69 kB
packages/db/dist/esm/collection/subscription.js 9.9 kB
packages/db/dist/esm/collection/sync.js 6.51 kB
packages/db/dist/esm/collection/validate-config.js 1.17 kB
packages/db/dist/esm/deferred.js 207 B
packages/db/dist/esm/error-message.js 642 B
packages/db/dist/esm/errors.js 7.27 kB
packages/db/dist/esm/event-emitter.js 1.06 kB
packages/db/dist/esm/index.js 4.79 kB
packages/db/dist/esm/indexed-db-wrapper.js 1.91 kB
packages/db/dist/esm/indexed-db.js 3.81 kB
packages/db/dist/esm/indexes/auto-index.js 924 B
packages/db/dist/esm/indexes/base-index.js 1.92 kB
packages/db/dist/esm/indexes/basic-index.js 1.93 kB
packages/db/dist/esm/indexes/btree-index.js 1.62 kB
packages/db/dist/esm/indexes/index-registry.js 916 B
packages/db/dist/esm/indexes/reverse-index.js 1.01 kB
packages/db/dist/esm/live-query-adapter.js 845 B
packages/db/dist/esm/live-query-observer-client.js 2.17 kB
packages/db/dist/esm/live-query-observer.js 3.3 kB
packages/db/dist/esm/live-query-options.js 2.02 kB
packages/db/dist/esm/live-query-primitives.js 406 B
packages/db/dist/esm/live-query-window-binding.js 1.56 kB
packages/db/dist/esm/live-query-window-controller.js 4.02 kB
packages/db/dist/esm/local-only.js 1.02 kB
packages/db/dist/esm/local-storage.js 4.58 kB
packages/db/dist/esm/optimistic-action.js 359 B
packages/db/dist/esm/paced-mutations.js 1.11 kB
packages/db/dist/esm/proxy.js 3.51 kB
packages/db/dist/esm/query/builder/clone-query.js 854 B
packages/db/dist/esm/query/builder/functions.js 1.61 kB
packages/db/dist/esm/query/builder/group-keys.js 157 B
packages/db/dist/esm/query/builder/include-functions.js 229 B
packages/db/dist/esm/query/builder/index.js 7.72 kB
packages/db/dist/esm/query/builder/query-ir.js 312 B
packages/db/dist/esm/query/builder/ref-proxy-identity.js 292 B
packages/db/dist/esm/query/builder/ref-proxy.js 1.67 kB
packages/db/dist/esm/query/builder/wrapper-identity.js 221 B
packages/db/dist/esm/query/compiler/evaluators.js 2.51 kB
packages/db/dist/esm/query/compiler/expressions.js 603 B
packages/db/dist/esm/query/compiler/find-aggregate.js 328 B
packages/db/dist/esm/query/compiler/group-by.js 4.42 kB
packages/db/dist/esm/query/compiler/grouping.js 161 B
packages/db/dist/esm/query/compiler/index.js 10.4 kB
packages/db/dist/esm/query/compiler/joins.js 3.42 kB
packages/db/dist/esm/query/compiler/lazy-targets.js 1.11 kB
packages/db/dist/esm/query/compiler/order-by.js 2.8 kB
packages/db/dist/esm/query/compiler/parent-routes.js 319 B
packages/db/dist/esm/query/compiler/query-equivalence.js 568 B
packages/db/dist/esm/query/compiler/route-metadata.js 1.24 kB
packages/db/dist/esm/query/compiler/select.js 1.5 kB
packages/db/dist/esm/query/effect.js 5.79 kB
packages/db/dist/esm/query/equality-conjunct.js 486 B
packages/db/dist/esm/query/equality-value-identity.js 736 B
packages/db/dist/esm/query/expression-helpers.js 1.61 kB
packages/db/dist/esm/query/ir-stable-identity.js 4.29 kB
packages/db/dist/esm/query/ir.js 2.26 kB
packages/db/dist/esm/query/join-conditions.js 257 B
packages/db/dist/esm/query/live-query-collection.js 391 B
packages/db/dist/esm/query/live/bucket-facade-adapter.js 3.17 kB
packages/db/dist/esm/query/live/collection-config-builder.js 8.52 kB
packages/db/dist/esm/query/live/collection-registry.js 264 B
packages/db/dist/esm/query/live/collection-subscriber.js 2.68 kB
packages/db/dist/esm/query/live/graph-scheduler.js 305 B
packages/db/dist/esm/query/live/includes-runtime.js 212 B
packages/db/dist/esm/query/live/internal.js 145 B
packages/db/dist/esm/query/live/materialized-pipeline.js 1.94 kB
packages/db/dist/esm/query/live/ordered-source-loader.js 6.52 kB
packages/db/dist/esm/query/live/public-key-reduction.js 970 B
packages/db/dist/esm/query/live/subset-demand-controller.js 2.44 kB
packages/db/dist/esm/query/live/utils.js 1.35 kB
packages/db/dist/esm/query/optimizer.js 2.95 kB
packages/db/dist/esm/query/pooled-live-query.js 5.14 kB
packages/db/dist/esm/query/pooled-source.js 219 B
packages/db/dist/esm/query/query-once.js 359 B
packages/db/dist/esm/query/runtime-reference-identity.js 630 B
packages/db/dist/esm/query/subset-dedupe.js 493 B
packages/db/dist/esm/scheduler.js 1.23 kB
packages/db/dist/esm/SortedMap.js 1.77 kB
packages/db/dist/esm/strategies/commit-completion.js 156 B
packages/db/dist/esm/strategies/debounceStrategy.js 658 B
packages/db/dist/esm/strategies/queueStrategy.js 523 B
packages/db/dist/esm/strategies/serial-pacer.js 486 B
packages/db/dist/esm/strategies/throttleStrategy.js 738 B
packages/db/dist/esm/sync-persistence.js 626 B
packages/db/dist/esm/sync-receipt.js 211 B
packages/db/dist/esm/transaction-commit-work.js 351 B
packages/db/dist/esm/transactions.js 4.57 kB
packages/db/dist/esm/utils.js 1.77 kB
packages/db/dist/esm/utils/array-utils.js 270 B
packages/db/dist/esm/utils/browser-polyfills.js 304 B
packages/db/dist/esm/utils/btree.js 3.02 kB
packages/db/dist/esm/utils/callbacks.js 219 B
packages/db/dist/esm/utils/comparison.js 1.95 kB
packages/db/dist/esm/utils/cursor.js 753 B
packages/db/dist/esm/utils/error.js 262 B
packages/db/dist/esm/utils/get-or-create.js 155 B
packages/db/dist/esm/utils/index-optimization.js 2.58 kB
packages/db/dist/esm/utils/source-record.js 140 B
packages/db/dist/esm/utils/type-guards.js 230 B
packages/db/dist/esm/utils/uuid.js 530 B
packages/db/dist/esm/virtual-props.js 413 B
packages/react-db/dist/esm/DbProvider.js 317 B
packages/react-db/dist/esm/development.js 190 B
packages/react-db/dist/esm/HydrationBoundary.js 263 B
packages/react-db/dist/esm/index.js 330 B
packages/react-db/dist/esm/live-query-internals.js 282 B
packages/react-db/dist/esm/source-id-bindings.js 339 B
packages/react-db/dist/esm/useLiveInfiniteQuery.js 1.52 kB
packages/react-db/dist/esm/useLiveQuery.js 3.41 kB
packages/react-db/dist/esm/useLiveQueryEffect.js 504 B
packages/react-db/dist/esm/useLiveSuspenseQuery.js 1.37 kB
packages/react-db/dist/esm/usePacedMutations.js 429 B

compressed-size-action::db-and-react-package-size

@pkg-pr-new

pkg-pr-new Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
More templates

@tanstack/angular-db

npm i https://pkg.pr.new/TanStack/db/@tanstack/angular-db@2251

@tanstack/browser-db-sqlite-persistence

npm i https://pkg.pr.new/TanStack/db/@tanstack/browser-db-sqlite-persistence@2251

@tanstack/capacitor-db-sqlite-persistence

npm i https://pkg.pr.new/TanStack/db/@tanstack/capacitor-db-sqlite-persistence@2251

@tanstack/cloudflare-durable-objects-db-sqlite-persistence

npm i https://pkg.pr.new/TanStack/db/@tanstack/cloudflare-durable-objects-db-sqlite-persistence@2251

@tanstack/convex-db-collection

npm i https://pkg.pr.new/TanStack/db/@tanstack/convex-db-collection@2251

@tanstack/db

npm i https://pkg.pr.new/TanStack/db/@tanstack/db@2251

@tanstack/db-ivm

npm i https://pkg.pr.new/TanStack/db/@tanstack/db-ivm@2251

@tanstack/db-sqlite-persistence-core

npm i https://pkg.pr.new/TanStack/db/@tanstack/db-sqlite-persistence-core@2251

@tanstack/electric-db-collection

npm i https://pkg.pr.new/TanStack/db/@tanstack/electric-db-collection@2251

@tanstack/electron-db-sqlite-persistence

npm i https://pkg.pr.new/TanStack/db/@tanstack/electron-db-sqlite-persistence@2251

@tanstack/expo-db-sqlite-persistence

npm i https://pkg.pr.new/TanStack/db/@tanstack/expo-db-sqlite-persistence@2251

@tanstack/node-db-sqlite-persistence

npm i https://pkg.pr.new/TanStack/db/@tanstack/node-db-sqlite-persistence@2251

@tanstack/offline-transactions

npm i https://pkg.pr.new/TanStack/db/@tanstack/offline-transactions@2251

@tanstack/powersync-db-collection

npm i https://pkg.pr.new/TanStack/db/@tanstack/powersync-db-collection@2251

@tanstack/preact-db

npm i https://pkg.pr.new/TanStack/db/@tanstack/preact-db@2251

@tanstack/query-db-collection

npm i https://pkg.pr.new/TanStack/db/@tanstack/query-db-collection@2251

@tanstack/react-db

npm i https://pkg.pr.new/TanStack/db/@tanstack/react-db@2251

@tanstack/react-native-db-sqlite-persistence

npm i https://pkg.pr.new/TanStack/db/@tanstack/react-native-db-sqlite-persistence@2251

@tanstack/react-router-with-db

npm i https://pkg.pr.new/TanStack/db/@tanstack/react-router-with-db@2251

@tanstack/rxdb-db-collection

npm i https://pkg.pr.new/TanStack/db/@tanstack/rxdb-db-collection@2251

@tanstack/solid-db

npm i https://pkg.pr.new/TanStack/db/@tanstack/solid-db@2251

@tanstack/svelte-db

npm i https://pkg.pr.new/TanStack/db/@tanstack/svelte-db@2251

@tanstack/tauri-db-sqlite-persistence

npm i https://pkg.pr.new/TanStack/db/@tanstack/tauri-db-sqlite-persistence@2251

@tanstack/trailbase-db-collection

npm i https://pkg.pr.new/TanStack/db/@tanstack/trailbase-db-collection@2251

@tanstack/vue-db

npm i https://pkg.pr.new/TanStack/db/@tanstack/vue-db@2251

commit: bd87f2a

@renovate
renovate Bot force-pushed the renovate/npm-zod-vulnerability branch from e8ba012 to 16caa7b Compare October 25, 2026 05:34
@KyleAMathews KyleAMathews changed the title chore(deps): update dependency zod to v4 [security] chore(deps): update Zod to patched v4.6.7 [security] Oct 28, 2026
@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Incremental update benchmark

Comparing ca0667c2e (this PR) against bc77952e5 (base). Write times are per-write medians over 100 iterations (20 warmup writes). Cold hydrate is one timed first load of each query.

Overall median write time vs base: 1.00× · cold hydrate time: 0.91× (geometric mean of per-case ratios; lower is faster).

Writes: 0 regression(s), 1 improvement(s) (threshold: ±20% and >0.05ms).

Cold hydrate: 1 regression(s), 3 improvement(s) (threshold: ±50% and >5ms).

Per-case flags are noisy on shared runners. Read the geometric means first.

Writes

Query Δ median write time (geomean) Best case Worst case Flags
list: newest 50 open +1.5% -5.1% +23.9% —
list + author +1.4% -10.2% +17.4% —
list + comment count -0.5% -10.3% +12.1% —
list + 3 recent comments -3.0% -23.0% +5.4% 1 🟢
issue detail + comments +0.6% -13.0% +23.6% —

Cold hydrate

Query Δ cold hydrate time (geomean) Best case Worst case Flags
list: newest 50 open -7.8% -85.6% +42.5% 1 🟢
list + author -12.1% -40.2% +11.9% —
list + comment count -1.2% -27.2% +74.0% 1 🔴
list + 3 recent comments -15.2% -65.9% +30.8% 1 🟢
issue detail + comments -7.1% -65.8% +71.3% 1 🟢

Each row aggregates the 14.4 scale/index/write-mode configurations of that query; per-configuration tables below.

100 rows/collection | source indexes: none | synced writes — geomean 0.99×, cold 0.97×
Query Base median PR median Δ median Base p95 PR p95 Δ p95 Base cold PR cold Δ cold
list: newest 50 open 0.216ms 0.218ms +0.5% 0.330ms 0.335ms +1.5% 14.036ms 15.203ms +8.3%
list: newest 50 open 0.501ms 0.479ms -4.3% 0.826ms 0.919ms +11.2% 4.424ms 3.689ms -16.6%
list + author 0.204ms 0.209ms +2.6% 0.340ms 0.341ms +0.2% 9.007ms 9.161ms +1.7%
list + comment count 0.373ms 0.348ms -6.5% 0.615ms 0.525ms -14.7% 11.160ms 11.763ms +5.4%
list + 3 recent comments 0.240ms 0.239ms -0.6% 0.394ms 0.416ms +5.6% 10.435ms 9.493ms -9.0%
issue detail + comments 0.166ms 0.166ms -0.2% 0.262ms 0.289ms +10.3% 1.955ms 1.798ms -8.1%
100 rows/collection | source indexes: none | optimistic writes — geomean 1.00×, cold 0.88×
Query Base median PR median Δ median Base p95 PR p95 Δ p95 Base cold PR cold Δ cold
list: newest 50 open 0.146ms 0.152ms +4.1% 0.248ms 0.251ms +1.0% 1.903ms 1.852ms -2.7%
list: newest 50 open 0.096ms 0.096ms -0.6% 0.145ms 0.142ms -2.1% 2.046ms 1.350ms -34.0%
list + author 0.183ms 0.164ms -10.2% 0.291ms 0.280ms -3.9% 4.311ms 3.817ms -11.5%
list + comment count 0.239ms 0.248ms +3.8% 0.391ms 0.438ms +12.1% 4.509ms 4.404ms -2.3%
list + 3 recent comments 0.139ms 0.143ms +2.9% 0.276ms 0.288ms +4.6% 10.322ms 8.554ms -17.1%
issue detail + comments 0.174ms 0.173ms -0.6% 0.263ms 0.249ms -5.3% 1.043ms 1.062ms +1.8%
100 rows/collection | source indexes: manual | synced writes — geomean 1.06×, cold 0.87×
Query Base median PR median Δ median Base p95 PR p95 Δ p95 Base cold PR cold Δ cold
list: newest 50 open 0.110ms 0.110ms -0.0% 0.242ms 0.213ms -12.1% 2.695ms 2.852ms +5.8%
list: newest 50 open 0.489ms 0.471ms -3.5% 0.645ms 0.699ms +8.3% 1.705ms 1.547ms -9.2%
list + author 0.130ms 0.153ms +17.4% 0.243ms 0.257ms +5.8% 3.918ms 2.344ms -40.2%
list + comment count 0.262ms 0.262ms +0.0% 0.464ms 0.435ms -6.2% 3.360ms 3.844ms +14.4%
list + 3 recent comments 0.166ms 0.170ms +2.4% 0.229ms 0.296ms +29.1% 6.309ms 4.957ms -21.4%
issue detail + comments 0.124ms 0.153ms +23.6% 0.245ms 0.248ms +1.1% 0.621ms 0.508ms -18.2%
100 rows/collection | source indexes: manual | optimistic writes — geomean 1.04×, cold 1.14×
Query Base median PR median Δ median Base p95 PR p95 Δ p95 Base cold PR cold Δ cold
list: newest 50 open 0.109ms 0.110ms +1.4% 0.184ms 0.198ms +7.7% 1.598ms 1.558ms -2.5%
list: newest 50 open 0.088ms 0.088ms +0.3% 0.192ms 0.155ms -19.2% 0.986ms 1.405ms +42.5%
list + author 0.143ms 0.145ms +1.5% 0.246ms 0.248ms +0.5% 2.177ms 2.436ms +11.9%
list + comment count 0.211ms 0.237ms +12.1% 0.339ms 0.412ms +21.4% 3.469ms 3.884ms +12.0%
list + 3 recent comments 0.128ms 0.135ms +5.4% 0.204ms 0.246ms +20.7% 4.625ms 6.048ms +30.8%
issue detail + comments 0.108ms 0.115ms +6.2% 0.138ms 0.144ms +3.8% 0.560ms 0.527ms -5.9%
1,000 rows/collection | source indexes: none | synced writes — geomean 1.03×, cold 1.00×, 1 change(s)
Query Base median PR median Δ median Base p95 PR p95 Δ p95 Base cold PR cold Δ cold
list: newest 50 open 0.085ms 0.105ms +23.9% 0.176ms 0.193ms +9.5% 9.312ms 10.175ms +9.3%
list: newest 50 open 1.073ms 1.096ms +2.2% 2.019ms 2.102ms +4.1% 5.673ms 7.673ms +35.2%
list + author 0.110ms 0.122ms +10.8% 0.203ms 0.221ms +9.2% 20.093ms 19.148ms -4.7%
list + comment count 0.197ms 0.203ms +3.5% 0.245ms 0.286ms +16.8% 10.807ms 9.275ms -14.2%
list + 3 recent comments 0.304ms 0.234ms -23.0% 0.371ms 0.349ms -5.9% 🟢 12.879ms 11.065ms -14.1%
issue detail + comments 0.167ms 0.174ms +4.5% 0.292ms 0.290ms -0.6% 1.579ms 1.495ms -5.3%
1,000 rows/collection | source indexes: none | optimistic writes — geomean 0.97×, cold 0.88×
Query Base median PR median Δ median Base p95 PR p95 Δ p95 Base cold PR cold Δ cold
list: newest 50 open 0.125ms 0.136ms +8.9% 0.214ms 0.212ms -1.2% 4.884ms 4.846ms -0.8%
list: newest 50 open 0.097ms 0.099ms +2.3% 0.145ms 0.135ms -6.9% 6.928ms 7.313ms +5.6%
list + author 0.135ms 0.131ms -3.0% 0.219ms 0.189ms -13.5% 26.289ms 17.639ms -32.9%
list + comment count 0.197ms 0.177ms -10.3% 0.326ms 0.225ms -31.0% 9.065ms 7.651ms -15.6%
list + 3 recent comments 0.122ms 0.113ms -7.9% 0.214ms 0.185ms -13.6% 9.931ms 8.940ms -10.0%
issue detail + comments 0.109ms 0.102ms -6.5% 0.135ms 0.138ms +2.4% 1.141ms 0.996ms -12.7%
1,000 rows/collection | source indexes: manual | synced writes — geomean 0.96×, cold 0.98×
Query Base median PR median Δ median Base p95 PR p95 Δ p95 Base cold PR cold Δ cold
list: newest 50 open 0.079ms 0.078ms -1.8% 0.104ms 0.101ms -2.5% 0.937ms 1.127ms +20.3%
list: newest 50 open 0.320ms 0.325ms +1.7% 0.607ms 0.575ms -5.3% 1.325ms 1.351ms +1.9%
list + author 0.108ms 0.108ms +0.7% 0.135ms 0.137ms +1.8% 1.623ms 1.643ms +1.2%
list + comment count 0.236ms 0.230ms -2.6% 0.388ms 0.360ms -7.3% 2.718ms 2.355ms -13.4%
list + 3 recent comments 0.149ms 0.137ms -7.7% 0.201ms 0.184ms -8.5% 6.335ms 4.862ms -23.3%
issue detail + comments 0.118ms 0.103ms -13.0% 0.152ms 0.133ms -12.0% 0.383ms 0.399ms +4.2%
1,000 rows/collection | source indexes: manual | optimistic writes — geomean 0.96×, cold 0.98×
Query Base median PR median Δ median Base p95 PR p95 Δ p95 Base cold PR cold Δ cold
list: newest 50 open 0.097ms 0.096ms -1.8% 0.177ms 0.157ms -11.6% 0.725ms 0.797ms +9.9%
list: newest 50 open 0.076ms 0.074ms -3.2% 0.110ms 0.120ms +9.0% 0.824ms 0.809ms -1.8%
list + author 0.123ms 0.128ms +4.3% 0.154ms 0.160ms +4.0% 1.998ms 1.865ms -6.7%
list + comment count 0.198ms 0.180ms -9.1% 0.285ms 0.224ms -21.4% 2.721ms 2.429ms -10.7%
list + 3 recent comments 0.128ms 0.119ms -7.2% 0.220ms 0.153ms -30.3% 4.413ms 4.259ms -3.5%
issue detail + comments 0.112ms 0.103ms -8.7% 0.193ms 0.136ms -29.4% 0.383ms 0.386ms +0.8%
10,000 rows/collection | source indexes: none | synced writes — geomean 1.01×, cold 0.78×, 1 change(s)
Query Base median PR median Δ median Base p95 PR p95 Δ p95 Base cold PR cold Δ cold
list: newest 50 open 0.076ms 0.077ms +0.7% 0.106ms 0.102ms -3.6% 69.488ms 60.754ms -12.6%
list: newest 50 open 9.671ms 9.926ms +2.6% 10.205ms 11.300ms +10.7% 69.503ms 65.454ms -5.8%
list + author 0.140ms 0.135ms -3.7% 0.215ms 0.211ms -2.0% 182.431ms 194.400ms +6.6%
list + comment count 0.210ms 0.216ms +2.7% 0.363ms 0.307ms -15.5% 69.325ms 68.284ms -1.5%
list + 3 recent comments 0.140ms 0.147ms +4.6% 0.263ms 0.264ms +0.5% 87.330ms 67.987ms -22.1%
issue detail + comments 0.101ms 0.101ms +0.6% 0.131ms 0.133ms +1.6% 15.646ms 5.349ms -65.8% 🟢
10,000 rows/collection | source indexes: none | optimistic writes — geomean 1.03×, cold 1.20×, 1 change(s)
Query Base median PR median Δ median Base p95 PR p95 Δ p95 Base cold PR cold Δ cold
list: newest 50 open 0.095ms 0.098ms +3.5% 0.166ms 0.151ms -8.7% 58.619ms 58.190ms -0.7%
list: newest 50 open 0.062ms 0.068ms +9.5% 0.099ms 0.138ms +40.1% 62.731ms 57.112ms -9.0%
list + author 0.120ms 0.125ms +3.9% 0.158ms 0.176ms +11.3% 179.362ms 173.226ms -3.4%
list + comment count 0.223ms 0.231ms +3.3% 0.257ms 0.277ms +7.6% 62.955ms 109.519ms +74.0% 🔴
list + 3 recent comments 0.117ms 0.118ms +0.1% 0.152ms 0.146ms -3.9% 65.916ms 74.323ms +12.8%
issue detail + comments 0.108ms 0.108ms +0.0% 0.140ms 0.135ms -3.5% 5.588ms 9.574ms +71.3%
10,000 rows/collection | source indexes: manual | synced writes — geomean 0.99×, cold 0.71×, 1 change(s)
Query Base median PR median Δ median Base p95 PR p95 Δ p95 Base cold PR cold Δ cold
list: newest 50 open 0.077ms 0.079ms +2.8% 0.102ms 0.110ms +7.8% 1.739ms 1.876ms +7.9%
list: newest 50 open 1.007ms 0.965ms -4.1% 1.569ms 1.535ms -2.2% 11.251ms 1.622ms -85.6% 🟢
list + author 0.108ms 0.102ms -5.3% 0.137ms 0.129ms -5.9% 2.697ms 2.458ms -8.9%
list + comment count 0.232ms 0.219ms -5.4% 0.341ms 0.248ms -27.3% 5.157ms 3.753ms -27.2%
list + 3 recent comments 0.147ms 0.143ms -2.6% 0.174ms 0.172ms -1.4% 4.993ms 5.170ms +3.6%
issue detail + comments 0.107ms 0.116ms +8.8% 0.140ms 0.158ms +13.0% 0.620ms 0.738ms +19.1%
10,000 rows/collection | source indexes: manual | optimistic writes — geomean 1.00×, cold 0.72×, 1 change(s)
Query Base median PR median Δ median Base p95 PR p95 Δ p95 Base cold PR cold Δ cold
list: newest 50 open 0.107ms 0.107ms +0.5% 0.200ms 0.205ms +2.2% 3.162ms 2.150ms -32.0%
list: newest 50 open 0.081ms 0.077ms -5.1% 0.154ms 0.135ms -12.0% 1.622ms 1.840ms +13.4%
list + author 0.125ms 0.126ms +0.9% 0.152ms 0.211ms +38.8% 4.438ms 2.752ms -38.0%
list + comment count 0.247ms 0.258ms +4.5% 0.416ms 0.491ms +18.0% 3.555ms 3.323ms -6.5%
list + 3 recent comments 0.131ms 0.133ms +1.7% 0.164ms 0.168ms +2.6% 15.497ms 5.288ms -65.9% 🟢
issue detail + comments 0.117ms 0.114ms -2.5% 0.145ms 0.140ms -3.0% 0.638ms 0.606ms -5.1%

Runner: node v24.8.0, linux 7.0.0-1017-azure, AMD EPYC 7763 64-Core Processor. Timings on shared CI runners are noisy; treat small deltas as indicative only.

@KyleAMathews
KyleAMathews merged commit 685e364 into main Oct 28, 2026
26 checks passed
@KyleAMathews
KyleAMathews deleted the renovate/npm-zod-vulnerability branch October 28, 2026 18:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant