+- **Options getters that close the database**: a property getter on an options bag runs arbitrary JavaScript in the middle of the call, so `prepare()`, `function()`, `aggregate()`, `deserialize()`, `createSession()`, `applyChangeset()`, and `backup()` now re-check that the database is still open after reading their options (and, for `function()` and `aggregate()`, the callback's `length`) and throw `ERR_INVALID_STATE` if a getter closed it. Previously `applyChangeset()` segfaulted, `createSession()` returned a session on a closed connection, and the others surfaced SQLite misuse errors. Ports [Node.js PR #65595](https://github.com/nodejs/node/pull/65595).
0 commit comments