Simon Willison wydał sqlite-utils 4.0rc1, pierwszą wersję kandydującą do stabilnego wydania wersji 4.0 tego popularnego narzędzia do pracy z bazami SQLite. Zmiana numeru major version (z 3.x na 4.0) sygnalizuje wprowadzenie kilku mniejszych zmian niekompatybilnych wstecz, dlatego autor zachęca deweloperów do testowania RC przed ostatecznym freezem.
Główną nowością jest wbudowana obsługa migracji baz danych. Funkcjonalność ta jest portacją sqlite-migrate, oddzielnego pakietu, który Willison wydał kilka lat temu i który z czasem się sprawdził. Migracje pozwalają definiować zmiany schematu w plikach takich jak migrations.py przy użyciu dekoratorów - każda funkcja z dekoratorem migrations() wykonuje konkretną zmianę, na przykład tworzenie tabeli creatures czy dodawanie kolumny weight. To podejście daje dużo bardziej czytelny i utrzymywalny kod niż używanie surowych poleceń SQL.
Drugą ważną zmianą są zagnieżdżone transakcje, które wzmacniają możliwości pracy z transakcjami i umożliwiają bardziej elastyczne zarządzanie operacjami bazodanowymi. Bundling migracji bezpośrednio z sqlite-utils oznacza, że deweloperzy mogą teraz zarządzać ewolucją schematów bez konieczności instalowania dodatkowych pakietów, co powinno uprościć workflow dla zespołów pracujących z SQLite.