Состоялся релиз легковесной СУБД SQLite 3.50, оформленной в виде подключаемой библиотеки. Исходный код проекта SQLite написан на C распространяется как общественное достояние (public domain) и может использоваться без ограничений и безвозмездно в любых целях.
Финансовую поддержку команды разработчиков SQLite осуществляет специально созданный консорциум.
Основнаые изменения и доработки в SQLite 3.50:
добавлена функция sqlite3_setlk_timeout(), устанавливающая отдельный таймаут, отличный от sqlite3_busy_timeout();
ограничение SQLITE_DBCONFIG_ENABLE_COMMENTS (добавленное в предыдущем выпуске) немного ослаблено, так что комментарии всегда разрешены при чтении схемы из уже существующей таблицы sqlite_schema. Комментарии блокируются только в новом SQL;
добавлены встроенные SQL‑функции unistr() и unistr_quote();
в преобразованиях %Q и %q во встроенной функции printf(), флаг альтернативной формы 1 (#) преобразовывает управляющие символы в бэкслэш‑эскейпы, подходящие для unistr();
в консольной утилите запрещён прямой вывод большинства управляющих символов;
в выводе команды .dump используется новая SQL‑функция unistr() для кодирования специальных символов (если не выключен режим —escape);
улучшено форматирование сложных частичных индексов в выводе команды .schema —indent;
улучшена утилита синхронизации БД sqlite3_rsync;
обеспечено соблюдение ограничения JSON5, согласно которому за символом не должна следовать цифра;
исправлена ошибка в функции json_group_object(LABEL,VALUE);
оптимизированы функции jsonb_set() и jsonb_replace();
улучшена поддержка сборки в Cygwin, MinGW и им подобных, а также в Termux;
исправлены опечатки в документации и в комментариях к исходному коду;
различные улучшения производительности;
JavaScript/WASM: исправлена давняя ошибка вычисления контрольной суммы имени файла в VFS OPFS SAHPool. Базы данных, созданные в этой VFS в версии 3.50.0+, не могут быть прочитаны более старыми версиями VFS, но 3.50.0 обратно совместима с существующими базами данных, созданными в более старых версиях.
Источник: habr.com