Представлен релиз SQLite 3.25.0, легковесной СУБД, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум, в который входят такие компании, как Adobe, Oracle, Mozilla, Bentley и Bloomberg.

Основные изменения:

 
  • Добавлена поддержка оконных функций (window-функции или аналитические функции), позволяющих для каждой строки запроса выполнить вычисления, используя другие строки. В отличие от агрегатных функций, которые свёртывают сгруппированный набор строк в одну строку, оконные функции производят агрегирование на основе содержимого "окна", включающего одну или более строк из результирующего набора;
  • Добавлена поддержка переименования столбцов при помощи команды "ALTER TABLE table RENAME COLUMN oldname TO newname";
  • При переименовании таблиц через "ALTER TABLE" реализовано автоматическое обновление всех ссылок на новое имя в триггерах и представлениях;
  • В состав включён новый модуль Geopoly с реализацией альтернативного интерфейса к R-Tree, использующего для обмена данными формат GeoJSON;
  • Внесены улучшения в оптимизатор запросов: Исключены излишние чтения столбцов в агрегатных запросах, если эти столбцы не упоминаются в агрегатных функциях и не используются в выражении "GROUP BY". Добавлена оптимизация "N-early-out", помогающая ускорить выполнение операции "IN" при наличии индексов, охватывающих несколько столбцов. Обеспечено раскрытие присвоения констант в блоке WHERE (например, "a=99 AND b=a" будет преобразовано в "a=99 AND b=99");
  • В VFS для UNIX-систем для каждой inode теперь применяется отдельный мьютекс, вместо общей совместной блокировки для всех inode. Изменение позволяет поднять производительность при использовании SQLite в многопоточных программах;
  • В "PRAGMA integrity_check" улучшено выявление проблем, связанных с порчей списка свободных страниц в хранилище;
  • Для индикации бесконечных значений команда ".dump" теперь использует число 1e999;
  • Устранена ошибка, которая при редком стечении обстоятельств могла привести к бесконечному зацикливанию в движке генерации байткода при выполнении оптимизации конструкции "ORDER BY LIMIT".