Highlights
- New type support:
UHUGEINTviau128(#795), a DuckDB-nativeDecimalcarrier covering all decimals up toDECIMAL(38, s)(#799),GEOMETRYexposed as WKB with CRS metadata (#801), Arrowarrow.uuidextension mapping toUUID(#808), and narrow ArrowDecimal32/Decimal64(#806) - Nested types via Arrow:
LIST,STRUCT,MAP, and fixed-sizeARRAYvalues now round-trip through Arrow record batches, vtabs, and scalar functions, with correct timestamp unit handling (#811, #813, #819) - Panic containment: panics in scalar and table function callbacks become query errors instead of aborting the host process so the connection stays usable (#824)
- Correct result metadata: schema and logical types are decoded from the executed result, fixing stale metadata when cached prepared statements outlive schema changes (#800, #803)
- Leaner build deps:
libduckdb-sysdownloads now useureqinstead ofreqwest, dropping the tokio/hyper stack from build dependencies (#826) ⚠️ Breaking:Type,Value, andValueRefare now#[non_exhaustive]with newUHugeIntvariants (#795);Statement::stepreturnsResult<Option<StructArray>>(#800);stream_arrowno longer takes a schema parameter and the deprecatedstream_stepis removed (#807)- Updated DuckDB to v1.5.5 (#825) and Rust to 1.97 (#812)
What's Changed
- Document Andium LTS branch by @mlafeldt in #790
- Add stub nightly CI job for integration testing by @mlafeldt in #791
- Test DuckDB nightly commits by @mlafeldt in #792
- Speed up nightly CI runs by @mlafeldt in #793
- Save Rust CI caches only from main by @mlafeldt in #794
- Harden Rust CI cache saves by @mlafeldt in #796
- Add UHUGEINT support by @mlafeldt in #795
- Represent DuckDB decimals natively by @mlafeldt in #799
- Fix stale logical metadata by decoding from executed result by @mlafeldt in #800
- Support GEOMETRY type by @mlafeldt in #801
- Bump sanitizer nightly toolchain to 2026-07-02 by @mlafeldt in #802
- Extract RAII ExecutedResult owner by @mlafeldt in #803
- Add modern Arrow API examples and coverage by @mlafeldt in #804
- Document deferred constraint checking on Appender by @mlafeldt in #805
- Support narrow Arrow decimals by @mlafeldt in #806
- Remove ignored schema parameter from Arrow streaming API by @mlafeldt in #807
- Support Arrow UUID extension metadata by @mlafeldt in #808
- Split up the Arrow monolith by @mlafeldt in #809
- Improve rustdoc accuracy and coverage by @mlafeldt in #810
- Update Rust to 1.97 by @mlafeldt in #812
- Unify recursive Arrow-to-DuckDB vector writes by @mlafeldt in #811
- Fix extension header for downloaded DuckDB libs by @mlafeldt in #814
- Pin macOS deployment target to silence linker warnings by @mlafeldt in #818
- Read nested DataChunks as Arrow by @mlafeldt in #813
- Fix Arrow timestamp carrier conversion by @mlafeldt in #819
- Prepare vector modules for native nested types by @mlafeldt in #823
- Contain panics across scalar and table callbacks by @mlafeldt in #824
- Replace reqwest with ureq for the libduckdb download by @mlafeldt in #826
- Update DuckDB to v1.5.5 by @mlafeldt in #825
- Correct documentation for supported workflows by @mlafeldt in #827
Full Changelog: v1.10504.0...v1.10505.0