Skip to content
Nilay Kabariya

Part 01 of the notebook

TESTED

Tested

Dev tools, measured for real: speed, size, what broke. Every entry lists the exact setup it was run on.

if it wasn't run, it isn't here.

By topic:npm (9)Node.js (8)TypeScript (7)Windows (6)

Breaking changes tracker

Major releases I've upgraded real projects to, and what broke. Each test runs from a script in the public nk-repro repo, and is re-run when a new version ships. Last re-test: Nov 6, 2026.

  1. Supabase CLI 3.0✗ Breaks

    db push and gen types with no flags now target the local stack; --linked deprecated; [inbucket] config rejected.

    Released Nov 2, 2026 · tested Nov 2, 2026 · repro

  2. TypeScript 7.1 beta✗ Breaks

    None of the 9 tool and framework breaks from 7.0 fixed; the compiler API moved to new entry points.

    Released Oct 20, 2026 · tested Oct 31, 2026 · repro

  3. Python 3.15~ Partly

    6 of 45 popular packages still fail to install on Windows, including TensorFlow and PyYAML.

    Released Oct 9, 2026 · tested Nov 5, 2026 · repro

  4. SvelteKit 3.0✗ Breaks

    sv migrate reports success, then the build fails 3 times and one link quietly breaks.

    Released Oct 1, 2026 · tested Nov 3, 2026 · repro

  5. Vitest 5.0✗ Breaks

    6 checks that passed on Vitest 4 fail, from cleared mocks to renamed snapshots.

    Released Sep 3, 2026 · tested Nov 2, 2026 · repro

  6. Prisma 8 (release candidate on latest)✗ Breaks

    prisma@latest has no generate, migrate dev or db push.

    Released Aug 17, 2026 · tested Nov 6, 2026 · repro

  7. npm 12~ Partly

    Install scripts blocked by default; git and tarball dependencies refused; unknown flags throw.

    Released Jul 8, 2026 · tested Nov 1, 2026 · repro

  8. TypeScript 7.0✗ Breaks

    13 tsconfig options that 6 only warned about are now rejected; several tools need workarounds.

    Released Jul 8, 2026 · tested Nov 2, 2026 · repro

  9. Node.js 26 (LTS from 26.13.0)✗ Breaks

    Corepack and Yarn removed; Docker node:lts now points to Node 26.

    Released May 5, 2026 · tested Oct 29, 2026 · repro

Entries

  1. No.095

    Supabase CLI 3.0.0 tested: what breaks coming from v2

    On release day, Supabase CLI 3.0.0 started the same local stack as 2.122.1, and row-level security behaved identically. What changed is the targeting: db push and gen types with no flags now run against the local stack and print Target: local stack, where v2 failed in the same unlinked project. --linked still works but warns, db remote commit is gone, an old [inbucket] section in config.toml now stops every command, and an invalid SUPABASE_* variable is rejected by name.

    TESTED3 min
  2. No.092

    TypeScript 7.1 beta tested: ts-jest, ESLint, NestJS, Angular

    On TypeScript 7.1.0-beta, ts-jest, typescript-eslint, ts-node and TypeDoc failed exactly as on 7.0, and so did NestJS, Angular, vue-tsc, svelte-check and astro check. The beta does ship a compiler API, but at new entry points (typescript/sync and typescript/async) that no tool uses yet. The side-by-side setup with TypeScript 6 fixed every one I re-ran.

    TESTED4 min
  3. No.067

    bun check vs tsc: TypeScript type-check speed, tested

    On Zod, bun check took 3.7 s against 13.7 s for tsc 7 and 58 s for tsc 6, and printed the same 31 errors as tsc 7, line for line. On Hono, 7 referenced projects, it took 3.8 s against 7.3 s for tsc 7 -b, with nothing built first. The trap: in a project whose package.json has a "check" script, bun check runs that script and never type-checks.

    TESTED4 min
  4. No.063

    Python 3.15 on Windows: which packages install (tested)

    Most of the stack is ready: numpy, pandas, scipy, scikit-learn, polars, pydantic, FastAPI, Django and the OpenAI and Anthropic SDKs all install on 3.15, and so do PyTorch (since torch 2.15.0) and sentencepiece (since 0.2.3). What fails on Windows: TensorFlow (no 3.15 builds at all), PyYAML and everything that needs it, such as transformers (no 3.15 wheel, so pip tries to compile it), jupyterlab, and langchain (Rust and C dependencies with no 3.15 wheels).

    TESTED10 minWindows
  5. No.058

    Claude Code, Codex, Gemini CLI on Windows: install tested

    All five install and start on Windows 11 with npm 11, in cmd, on Node 24 and Node 26. Two things trip people up. On a default Windows PowerShell setup all five fail with "running scripts is disabled on this system". And with npm 12, Claude Code and OpenCode install with no error but then refuse to start: "not compatible with the version of Windows you're running".

    TESTED6 minWindows
  6. No.057

    Node 26 vs Node 24: what breaks when you upgrade, tested

    Most projects move over cleanly: jsonwebtoken, bcrypt, sharp, better-sqlite3 13, tsx and Vitest all worked unchanged. What broke: Corepack and Yarn are gone (Docker builds fail with exit code 127), native modules installed under Node 24 refuse to load, fs.rmdir with recursive now throws (prisma generate with zod-prisma-types fails on the second run), and fs.W_OK disappeared without an error.

    TESTED8 minWindows
  7. No.055

    18 framework starters tested on Windows: what breaks

    15 of 18 starters work on Windows 11: 14 with no issues at all, 1 with a workaround. Every Remix 3 script still fails out of the box and works on Linux; Docusaurus's Windows build failure is fixed by SWC 1.16.21, Nuxt's Windows-only 500 is fixed in 4.6.1, and React Router's installer in 8.5.1. Three more break in ways that tutorials and CI scripts hit: Angular needs a newer Node 24, Electron Forge renamed its template, and Cloudflare's C3 can exit successfully with a broken project.

    TESTED8 minWindows
  8. No.052

    Next.js 16.3 vulnerabilities: which version is patched?

    On October 14, two critical remote code execution bugs were fixed in 16.4.1 only; every 16.3 release is affected and for days npm audit did not flag them. Before that, 16.3.0 carried 9 published advisories (3 critical) and 16.3.7 carried 6, because the September 30 fixes skipped it. By October 23, npm audit counted 10 on 16.3.7 and 3 on 16.3.8. The upgrade built cleanly on every version I tried. The traps are in the tools: npm audit fix jumps you a minor version or does nothing at all, and next upgrade crashes on Windows.

    TESTED7 minWindows
  9. No.042

    SvelteKit 3 migration, tested: what sv migrate misses

    sv migrate sveltekit-3 upgraded every package and moved the config correctly, but left three removed options in place, so the first build failed three times in a row. Worse, it rewrote a working {base}/about link into one that 404s, and that passed both the build and svelte-check.

    TESTED5 min
  10. No.041

    Vitest 4 to 5 migration: 6 breaking changes, tested

    Six behaviours that passed on Vitest 4.1.11 failed or changed on 5.0.3, each with a clear message and a one-line fix. The sneaky one is test.each titles: snapshot keys change, and locally Vitest 5 quietly writes new snapshots instead of failing.

    TESTED5 min
  11. No.037

    npm 12 breaking changes, tested: what actually breaks

    The headline change, install scripts blocked by default, broke puppeteer, cypress, sqlite3 and Claude Code's npm package, and silently skipped lefthook's git hooks. esbuild, bcrypt, sharp and better-sqlite3 kept working. Every install reported success, and the only sign was a warning after the summary.

    TESTED6 minWindows
  12. No.029

    TypeScript 7 migration guide: breaking changes, tested

    Every option TypeScript 6.0.3 marked as deprecated was a hard error on 7.0.2, and ignoreDeprecations no longer silences it. Two defaults that arrived in 6.0 (strict on, @types not loaded automatically) also break projects coming straight from 5.9.

    TESTED6 min
  13. No.028

    Does NestJS, Next.js, Angular or Vue work with TypeScript 7?

    Next.js 16.3.6 built and type-checked on plain TypeScript 7.0.2. Angular 22.2, Vue with vue-tsc 3.3 and NestJS 12 all failed, and all three built again on Microsoft's side-by-side setup, with tsc still on 7.0.2. Nuxt, Svelte and Astro still built on 7, but their type-check commands refused it until TypeScript 6 was installed alongside.

    TESTED7 min
  14. No.019

    TypeScript 7 with ts-jest, ESLint, ts-node: 9 tools tested

    Plain TypeScript 7 broke ts-node, ts-jest, typescript-eslint, TypeDoc and ts-loader, and npm refused to install it at all without a flag. Microsoft's side-by-side setup ran all 9 tools with no errors while tsc stayed on 7.

    TESTED7 min
  15. No.011

    Bun vs Node.js 24 benchmark: startup, TypeScript and tests

    Bun started 1.7× faster, ran a TypeScript file 3× faster and finished the same test suite 5× faster. The tight number-crunching loop was close: Node won it on Bun 1.4.2, and on 1.4.3 it was a toss-up. The HTTP test hit a limit of this machine, not of either runtime.

    TESTED5 min
  16. No.010

    npm vs pnpm vs Yarn vs Bun: install speed benchmark (2026)

    pnpm is the best all-rounder: 2.8× faster than npm from a cold start and near-instant when nothing changed. Bun wins with a warm cache. Yarn 1 was the slowest and needed a 3.7 GB cache.

    TESTED5 min

Post card · Every Sunday

What broke this week.

One email on Sundays: the Node, TypeScript, Python and AI SDK releases that broke builds that week, each one reproduced, with a link to the fix that worked. Never shared, and you can leave any time.

— Nilay

or follow by RSSor on X

By subscribing you agree to the privacy note. One click to leave.

tip: paste the exact error text