# What changed in better-sqlite3

> 22 changes in better-sqlite3 12 to 13 from its official release notes, upgrade guides and advisories: 4 breaking, 2 new APIs and options. Each one cited. Sources checked 2026-10-20. HTML: https://unstale.sh/npm/better-sqlite3/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## better-sqlite3 13

### New APIs and options

- Adds the gypfile option to package.json. (13.0.2) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v13.0.2)

### Behavior and default changes

- Updates SQLite to version 3.53.4, which may affect SQLite behavior available to developers. (13.0.2) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v13.0.2)
- better-sqlite3 now runs on the N-API, so prebuilt binaries should theoretically work across different versions of Node.js and Electron, and perhaps Bun. (13.0.0) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v13.0.0)

### Fixes and other changes

- Fixes validation of table parameters. (13.0.2) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v13.0.2)
- Fixes the process aborting when worker threads are terminated. (13.0.2) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v13.0.2)
- Fixed a regression that caused parameter binding to reject plain objects from other realms, such as in jest tests. (13.0.1) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v13.0.1)
- Fixed cross-realm and Error.isError compatibility for SqliteError. (13.0.0) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v13.0.0)

## better-sqlite3 12

### Breaking changes

- Starting with Electron v43, binary assets require glibc 2.41 or higher on Linux hosts. (12.12.0) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.12.0)
- Temporarily rolls back support for Electron v42 prebuilds. (12.10.0) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.10.0)
- Adds prebuilds for Node.js v26 and removes EOL builds for Node.js v20 and v23. (12.10.0) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.10.0)
- Node.js v20 or later is required. (12.8.0) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.8.0)

### New APIs and options

- Enables percentile functions. (12.9.1) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.10.0), [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.9.1)

### Behavior and default changes

- Updates the SQLite version to 3.51.0, which may affect database behavior available to applications. (12.4.2) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.4.2)

### Tooling

- Adds prebuild support for Electron v43, so developers can use better-sqlite3 with that Electron release. (12.11.2) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.11.2)
- Support was added for Electron v42 prebuilds, but Electron v39+ prebuilds are not building successfully; the notes recommend staying on v12.9.0 for now. (12.9.1) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.9.1)
- Prebuilds are now available for Node v25 and Electron 39+, so developers using those runtimes can install the package without building it themselves. (12.4.5) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.4.5)
- Adds a prebuild for Electron 39, allowing developers to use a prebuilt package with that Electron version. (12.4.2) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.4.2)

### Fixes and other changes

- Fixes Electron v42 build errors on Windows. (12.11.1) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.11.1)
- Adds a build target for Electron v42. (12.11.0) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.11.0)
- Fixes V8 external API usage for Electron 42. (12.10.1) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.10.1)
- Updates the bundled SQLite version to 3.53.1. (12.10.0) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.10.0)
- Uses Holder() instead of This() for Electron 41 compatibility. (12.7.1) — [release notes](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.7.1)
