sqlite-utils 4.1.1 addresses an edge case involving foreign keys and transactions, primarily identified during experimentation with the previous 4.1 release.

  • table.transform() now raises a TransactionError if called while a transaction is open with PRAGMA foreign_keys enabled and the table has destructive ON DELETE actions (CASCADE, SET NULL, or SET DEFAULT).
  • The CLI and Python API documentation now cross-reference each other, linking CLI sections to equivalent Python functionality and vice versa.

This update prevents silent deletion or modification of referencing rows that could occur when dropping old tables during a transform operation.