DuckDB released version 1.5.0 on March 9, adding native VARIANT data, moving GEOMETRY into the core engine, and refreshing its command-line interface. The release announcement also identifies a compatibility change: applying date_trunc to a DATE now returns a TIMESTAMP.
More data types cross the engine boundary
The project describes VARIANT as typed binary data, with each row carrying its own type information. Geometry values can now pass between extensions without requiring every producer or consumer to depend on the spatial extension. Most geometry functions still come from that extension.
Our reading is that these changes matter most at integration boundaries. A pipeline that previously converted a spatial column into an intermediate string can reconsider that conversion. A heterogeneous event column gains another representation to evaluate, but choosing it still requires an explicit policy for missing fields, mixed types and downstream exports.
Test types as well as values
The datetime change is a useful reminder that identical-looking results can have different contracts. Upgrade fixtures should assert returned types and serialized outputs, especially where dates become partition keys, dataframe columns or API fields.
For spatial workloads, retain examples with known coordinate order and reference systems. Compare exported geometry as well as query results; a successful load does not prove another tool interprets the coordinates correctly.
The revised CLI is welcome for exploration, but production rollout should follow the library and extension versions used by the application. Start with a representative batch job, record its output schema before the upgrade, and compare that schema alongside the resulting rows.
- Announcing DuckDB 1.5.0
DuckDB · Mar 9, 2026
See the original announcement for availability and release details.