All JSON functions are rewritten to use a new internal parse tree
+ format called JSONB. The new parse-tree format is serializable
+ and hence can be stored in the database to avoid unnecessary re-parsing
+ whenever the JSON value is used.
+
New versions of JSON-generating functions generate binary JSONB instead
+ of JSON text.
+
The json_valid() function adds an optional second argument that
+ specifies what it means for the first argument to be "well-formed".
+
The SQLITE_DIRECT_OVERFLOW_READ optimization is now enabled by default.
+ Disable it at compile-time using -DSQLITE_DIRECT_OVERFLOW_READ=0.
+
Query planner improvements:
+
+
Do not allow the transitive constraint optimization to trick the
+ query planner into using a range constraint when a better equality
+ constraint is available.
+ (Forum post 2568d1f6e6.)
+
The query planner now does a better job of disregarding
+ indexes that ANALYZE identifies as low-quality.
+ (Forum post 6f0958b03b.)
+
+
Increase the default value for SQLITE_MAX_PAGE_COUNT from 1073741824 to
+ 4294967294.
+
Improvements to the display of UTF-8 content on Windows
+
Automatically detect playback of ".dump" scripts and make appropriate
+ changes to settings such as ".dbconfig defensive off" and
+ ".dbconfig dqs_dll on".
+
+
+
Prior changes from version 3.45.1 (2024-01-30):
+
+
Restore the JSON BLOB input bug, and promise to support the anomaly in
+ subsequent releases, for backward compatibility.
+
Fix the PRAGMA integrity_check command so that it works on read-only
+ databases that contain FTS3 and FTS5 tables. This resolves an issue
+ introduced in version 3.44.0 but was undiscovered until after the 3.45.0 release.
+
Fix issues associated with processing corrupt JSONB inputs:
+
+
Prevent exponential runtime when converting a corrupt JSONB into text.
+
Fix a possible read of one byte past the end of the JSONB blob when converting
+ a corrupt JSONB into text.
+
Enhanced testing using jfuzz to prevent any future JSONB problems such
+ as the above.
+
+
Fix a long-standing bug in which a read of a few bytes past the end of a
+ memory-mapped segment might occur when accessing a craftily corrupted database
+ using memory-mapped database.
+
Fix a long-standing bug in which a NULL pointer dereference might occur in
+ the bytecode engine due to incorrect bytecode being generated for a class
+ of SQL statements that are deliberately designed to stress the query planner
+ but which are otherwise pointless.
+
+
+
Changes in this specific patch release, version 3.45.2 (2024-03-12):
+
+
Fix an error in UPSERT, introduced by enhancement 3a in version 3.35.0
+ (2021-03-12), that could cause an index to get out-of-sync with its table.
+ Forum thread 919c6579c8.
+
Reduce the scope of the NOT NULL strength reduction optimization that was
+ added as item 8e in version 3.35.0 (2021-03-12). The optimization
+ was being attempted in some contexts where it did not work, resulting in
+ incorrect query results.
+ Forum thread 440f2a2f17.
+
Other trifling corrections and compiler warning fixes that have come up
+ since the previous patch release. See the
+ timeline
+ for details.
+