Skip to content

Conversation

@evertlammerts
Copy link
Collaborator

@evertlammerts evertlammerts commented Jan 27, 2026

  • Merges the v1.4-andium branch into v1.5-variegata
  • Fixes integration issues caused by breaking changes in DuckDB core (logical type creation, transaction errors, identifier escaping in relation aggregations)
  • Fixes DECREF bug during interpreter shutdown
  • Adds support for Pandas 3.0.0 and its new string type / default backend changes
  • Drops Python 3.9 support and bumps Python version for CI workflows
  • Moves slow tests to dedicated slow test suite and fixes test errors when PyArrow is missing
  • Updates dependencies and fixes lazy attribute accessors

duckdblabs-bot and others added 30 commits December 16, 2025 04:22
Bump duckdb submodule:
- Target branch: v1.4-andium
- Date: 2025-12-16 04:22:21
- DuckDB SHA: 5b03faf8a62ecb64a777753df7e83d5d75c3c9b2
- Trigger:
https://github.com/duckdb/duckdb-python/actions/runs/20255977636
Bump duckdb submodule:
- Target branch: v1.4-andium
- Date: 2025-12-17 07:19:57
- DuckDB SHA: 91d691a90831e79381c2b5c457cc6dd70a0d5ea2
- Trigger:
https://github.com/duckdb/duckdb-python/actions/runs/20294357979
Bump duckdb submodule:
- Target branch: v1.4-andium
- Date: 2025-12-18 06:11:31
- DuckDB SHA: 7f217607e498301fd6aac0a623e893419fb14ae5
- Trigger:
https://github.com/duckdb/duckdb-python/actions/runs/20327398615
Bump duckdb submodule:
- Target branch: v1.4-andium
- Date: 2025-12-19 05:49:41
- DuckDB SHA: 1c87e80fdc53ba213ab19d7e21bfff7087d8306c
- Trigger:
https://github.com/duckdb/duckdb-python/actions/runs/20360777362
Bump duckdb submodule:
- Target branch: v1.4-andium
- Date: 2025-12-21 05:51:06
- DuckDB SHA: 5a334c23dadba0f24322ce609dc0f15bc52c41a8
- Trigger:
https://github.com/duckdb/duckdb-python/actions/runs/20405272017
Bump duckdb submodule:
- Target branch: v1.4-andium
- Date: 2025-12-23 06:25:00
- DuckDB SHA: 4713d0549e055683305a3083791b3b53061c0b01
- Trigger:
https://github.com/duckdb/duckdb-python/actions/runs/20452804225
Bump duckdb submodule:
- Target branch: v1.4-andium
- Date: 2025-12-25 05:47:57
- DuckDB SHA: 0761d5cc7a033d041ad5514a18642a60cb0cb392
- Trigger:
https://github.com/duckdb/duckdb-python/actions/runs/20499606323
Bump duckdb submodule:
- Target branch: v1.4-andium
- Date: 2026-01-01 06:26:22
- DuckDB SHA: de5283b5b985cc239904f5404925521bf09aba1d
- Trigger:
https://github.com/duckdb/duckdb-python/actions/runs/20633600560
Bump duckdb submodule:
- Target branch: v1.4-andium
- Date: 2026-01-05 06:03:40
- DuckDB SHA: a5c128a833f0842f276751130c5743be43f3a345
- Trigger:
https://github.com/duckdb/duckdb-python/actions/runs/20706240602
Bump duckdb submodule:
- Target branch: v1.4-andium
- Date: 2026-01-06 08:01:39
- DuckDB SHA: 686f25a362e562bb6acc51c59f91a951cdd2668b
- Trigger:
https://github.com/duckdb/duckdb-python/actions/runs/20741534318
Bump duckdb submodule:
- Target branch: v1.4-andium
- Date: 2026-01-07 06:45:56
- DuckDB SHA: acc36fbe6e1417df3968c00ec35aaf01821467e2
- Trigger:
https://github.com/duckdb/duckdb-python/actions/runs/20772622060
Bump duckdb submodule:
- Target branch: v1.4-andium
- Date: 2026-01-08 07:16:56
- DuckDB SHA: 908d3eb2815c8d96a5a6e7d8f8b7aafcb52a76ad
- Trigger:
https://github.com/duckdb/duckdb-python/actions/runs/20808339694
Bump duckdb submodule:
- Target branch: v1.4-andium
- Date: 2026-01-11 08:31:45
- DuckDB SHA: a56ccd8040339c1fcb688122dbe494a482354a01
- Trigger:
https://github.com/duckdb/duckdb-python/actions/runs/20891937460
Bump duckdb submodule:
- Target branch: v1.4-andium
- Date: 2026-01-13 08:08:27
- DuckDB SHA: 2e7b9f0eb8748f257a125f032da1417ab81425d1
- Trigger:
https://github.com/duckdb/duckdb-python/actions/runs/20948749363
This validates expressions that are passed into functions of the
relational api.
evertlammerts and others added 22 commits January 21, 2026 15:19
This solves a long standing bug where pybind calls DECREF on a _static_
py::object during interpreter shutdown, which is too late.
Related duckdb#37 

Two small code fixes:
* Add support for native `StringDType`
* Fixes scope bug in lazy attribute reading in ConvertDateTimeTypes

Support for `timedelta64[s|ms|us|ns]`:
* Where Pandas used to only support timedelate64[ns], Pandas 3 now
infers the resolution. We added support for reading all of the new
types.
* We now output timedelta[us] whenever timedelatas are read from DuckDB,
since that is DuckDB's own resolution. **This is a breaking change.**

Pyproject.toml updates:
* env markers to allow higher version of dependencies (pandas, pyarrow
and adbc-driver-manager)

Lots of changes to tests:
* Removes the ArrowPandas and NumpyPandas helpers. We will now test
using whatever default backend for almost all tests, which makes most
sense for regular values.
* We do still test arrow dtypes, but we now do so explicitly.
* Support both `zoneinfo.ZoneInfo` objects (3.0.0 and up) and `tzdata`
(before)

Also see:
- [Migration
Guide](https://pandas.pydata.org/docs/dev/user_guide/migration-3-strings.html#string-migration-guide)
- [Changelog](https://pandas.pydata.org/docs/dev/whatsnew/v3.0.0.html)
@evertlammerts evertlammerts changed the title Lots of fixes Merge v1.4-andium into v1.5-variegata with breaking change fixes Jan 27, 2026
@evertlammerts evertlammerts marked this pull request as ready for review January 27, 2026 11:55
@evertlammerts evertlammerts marked this pull request as draft January 27, 2026 12:00
@evertlammerts evertlammerts marked this pull request as ready for review January 27, 2026 12:04
@evertlammerts evertlammerts merged commit 3c5b7bc into duckdb:v1.5-variegata Jan 27, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants