SQLite 3.42.0 Release Highlights and New Features
SQLite 3.42.0, the widely used public-domain SQL database engine, introduces features such as FTS5 secure-delete, JSON5 support, new sqlite3_config options, enhanced query planner optimizations, CLI improvements, additional SQL functions, extended PRAGMA integrity_check, subsecond time modifiers, and various bug fixes and performance enhancements.
SQLite is a C library that implements a small, fast, self‑contained, high‑reliability, full‑featured SQL database engine, and it is the most widely deployed database engine in the world, released into the public domain.
Version 3.42.0 has been officially released with the following updates:
Added the FTS5 secure-delete command, which removes all forensic traces of deleted content from the FTS5 inverted index.
Enhanced JSON SQL functions to support the JSON5 extension.
Allowed calls to SQLITE_CONFIG_LOG and SQLITE_CONFIG_PCACHE_HDRSZ via sqlite3_config() after sqlite3_initialize() .
Introduced new sqlite3_db_config() options: SQLITE_DBCONFIG_STMT_SCANSTATUS and SQLITE_DBCONFIG_REVERSE_SCANORDER .
Query planner improvements: Enabled the “count‑of‑view” optimization by default. Avoided computing unused columns in subqueries. Improved push‑down optimization.
CLI enhancements: Added the --unsafe-testing option; without it, certain test‑only commands (e.g., .testctrl ) are disabled. Allowed the .log on and .log off commands even in --safe mode. The double‑dash -- argument now signals that all subsequent arguments beginning with a single dash are treated as ordinary non‑option parameters. Magic parameters :inf and :nan are bound to the floating‑point values Infinity and NaN respectively. The --utf8 option disables all MBCS conversions on Windows consoles and sets the console code page for UTF‑8 I/O; it is a no‑op on other platforms.
Added the ability for application‑defined SQL functions to share names with join keywords (CROSS, FULL, INNER, LEFT, NATURAL, OUTER, RIGHT).
Enhanced PRAGMA integrity_check : Detects and raises an error when a NaN value is stored in a NOT NULL column. Improved error messages to identify the root page of a corrupted B‑tree.
Enabled session extensions to capture changes to tables without an explicit ROWID.
Added a subsecond modifier to date and time functions.
Negative values passed to sqlite3_sleep() are now interpreted as zero.
Reduced the maximum recursion depth for JSON arrays and objects from 2000 to 1000.
Extended the built‑in printf() function so that the comma flag can now be used with floating‑point conversions as well as integer conversions.
Various bug fixes and performance optimizations.
Laravel Tech Community
Specializing in Laravel development, we continuously publish fresh content and grow alongside the elegant, stable Laravel framework.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.