# What changed in @mastra/libsql

> 14 changes in @mastra/libsql 1 from its official release notes, upgrade guides and advisories: 1 breaking, 3 new APIs and options. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/npm/@mastra/libsql/

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

## @mastra/libsql 1

### Breaking changes

- libSQL stores reject writes from durable agent executions that lost their run during crash recovery. The claims tables are created on init; with disableInit: true, create them before upgrading. Durable agent runs require the tables to exist. (1.26.0) — [release notes](https://github.com/mastra-ai/mastra/blob/33d9a0c4185fa32a03c20002864a39e8c77254a5/stores/libsql/CHANGELOG.md#1260)

### New APIs and options

- A nullable supersededBy column is added to the observational memory table automatically at startup and existing rows are backfilled; users managing the schema themselves must add it before upgrading. (1.26.1) — [release notes](https://github.com/mastra-ai/mastra/blob/33d9a0c4185fa32a03c20002864a39e8c77254a5/stores/libsql/CHANGELOG.md#1261)
- Set this option to prune memory run fences when calling storage.prune(). (1.26.0) — [release notes](https://github.com/mastra-ai/mastra/blob/33d9a0c4185fa32a03c20002864a39e8c77254a5/stores/libsql/CHANGELOG.md#1260)
- Set this option to prune workflow run ownership claims when calling storage.prune(). (1.26.0) — [release notes](https://github.com/mastra-ai/mastra/blob/33d9a0c4185fa32a03c20002864a39e8c77254a5/stores/libsql/CHANGELOG.md#1260)

### Fixes and other changes

- New tables get a (threadId, id) primary key, and existing tables are upgraded when storage initializes, preventing duplicate notification ids and enabling PostgreSQL updates and deletes in logical replication publications. (1.26.2) — [release notes](https://github.com/mastra-ai/mastra/blob/33d9a0c4185fa32a03c20002864a39e8c77254a5/stores/libsql/CHANGELOG.md#1262)
- Late workflow result writes no longer recreate deleted runs. (1.26.1) — [release notes](https://github.com/mastra-ai/mastra/blob/33d9a0c4185fa32a03c20002864a39e8c77254a5/stores/libsql/CHANGELOG.md#1261)
- Transactions on :memory: databases now commit or roll back like file databases, so partial writes are not left in place when a write fails. (1.26.1) — [release notes](https://github.com/mastra-ai/mastra/blob/33d9a0c4185fa32a03c20002864a39e8c77254a5/stores/libsql/CHANGELOG.md#1261)
- Concurrent reflection, activation, buffering, and message saves no longer lose context or cause SQLITE_BUSY errors on a local file database. (1.26.1) — [release notes](https://github.com/mastra-ai/mastra/blob/33d9a0c4185fa32a03c20002864a39e8c77254a5/stores/libsql/CHANGELOG.md#1261)
- With url plus syncUrl, observational memory writes sync the replica before retrying after a conflict or treating another instance's record as missing; this does not apply to a prebuilt client. (1.26.1) — [release notes](https://github.com/mastra-ai/mastra/blob/33d9a0c4185fa32a03c20002864a39e8c77254a5/stores/libsql/CHANGELOG.md#1261)
- The experimental memory feature was rearchitected. (1.26.0) — [release notes](https://github.com/mastra-ai/mastra/blob/33d9a0c4185fa32a03c20002864a39e8c77254a5/stores/libsql/CHANGELOG.md#1260)
- Reopens connections after a local database write is refused with SQLITE_BUSY, preventing later writes from failing while the connection is stuck. (1.26.0) — [release notes](https://github.com/mastra-ai/mastra/blob/33d9a0c4185fa32a03c20002864a39e8c77254a5/stores/libsql/CHANGELOG.md#1260)
- When multiple LibSQL clients in one process use the same local database file, a write waits for another client's open transaction instead of blocking the process. (1.26.0) — [release notes](https://github.com/mastra-ai/mastra/blob/33d9a0c4185fa32a03c20002864a39e8c77254a5/stores/libsql/CHANGELOG.md#1260)
- Memory writes retry with backoff when another process briefly holds the database lock, using the existing maxRetries and initialBackoffMs options. (1.26.0) — [release notes](https://github.com/mastra-ai/mastra/blob/33d9a0c4185fa32a03c20002864a39e8c77254a5/stores/libsql/CHANGELOG.md#1260)
- Workflow step results can be recorded together with workflow state in a single write, helping evented workflows resume with the correct state after a restart. (1.26.0) — [release notes](https://github.com/mastra-ai/mastra/blob/33d9a0c4185fa32a03c20002864a39e8c77254a5/stores/libsql/CHANGELOG.md#1260)
