Wydana została wersja 4.1.1 sqlite-utils, narzędzia do zarządzania bazami danych SQLite. Główną zmianą jest naprawienie niebezpiecznego zachowania w metodzie table.transform(), które odkryto dzięki Claude chat podczas eksperymentów z wersją 4.1.
Problemu dotyczyło scenariusza, w którym table.transform() była wywoływana wewnątrz aktywnej transakcji z włączonym PRAGMA foreign_keys, a dotyczyła tabeli referencowanej przez klucze obce z destrukcyjnymi akcjami (CASCADE, SET NULL lub SET DEFAULT). Ponieważ nie można zmieniać pragmy wewnątrz transakcji, upuszczenie starej tabeli w ramach transformacji mogło nieoczekiwanie wyzwolić te akcje i cicho usunąć lub zmodyfikować wiersze w tabelach powiązanych - bez żadnego ostrzeżenia dla użytkownika.
Nowa wersja teraz jawnie rzuca wyjątek TransactionError w takim przypadku, zmuszając użytkownika do tego, aby najpierw zamknął transakcję. Dokumentacja sqlite-utils została również ulepszona - sekcje CLI teraz odwołują się do równoważnej funkcjonalności Python API i odwrotnie, co ułatwia użytkownikom znalezienie właściwej metody niezależnie od tego, czy pracują z linią poleceń czy z kodem Python. Zmiana (numer #794) jest istotna dla bezpieczeństwa danych, szczególnie dla użytkowników pracujących z zawiłymi relacjami między tabelami.