Skip to content

feat: add support for Django 6.0 and Python 3.14#275

Open
armonge wants to merge 1 commit intoSectorLabs:masterfrom
armonge:feat/django-6
Open

feat: add support for Django 6.0 and Python 3.14#275
armonge wants to merge 1 commit intoSectorLabs:masterfrom
armonge:feat/django-6

Conversation

@armonge
Copy link

@armonge armonge commented Mar 5, 2026

Extend compatibility to Django 6.0 and Python 3.14 in README, setup.py, and tox.ini. Update dependencies and test matrix for new versions. Improve tuple handling in expressions and lookups for consistency.

@armonge armonge marked this pull request as ready for review March 5, 2026 17:18
@armonge armonge marked this pull request as draft March 5, 2026 17:55
@armonge armonge force-pushed the feat/django-6 branch 3 times, most recently from cce6860 to e7700f3 Compare March 5, 2026 18:43
@armonge armonge marked this pull request as ready for review March 5, 2026 19:25
Extend compatibility to Django 6.0 and Python 3.14 in README, setup.py,
and tox.ini. Update dependencies and test matrix for new versions.
Improve tuple handling in expressions and lookups for consistency.

feat(ci): add CircleCI job for Python 3.14 testing

Introduce a new CircleCI job `test-python314` to run tests against Python
3.14 and PostgreSQL 18.0 on Debian Bullseye. This ensures compatibility
with the latest Python release and updates our CI matrix for future-proof
testing.

feat(tox): add Python 3.14 to test matrix

Extend tox test environments to include Python 3.14 for Django 4.2, 5.x,
and 6.0 with supported psycopg versions. This ensures compatibility
testing for the latest Python release.

feat(ci): add test-python314 job to CircleCI workflows

Include the test-python314 job in CircleCI workflows with filters for tags
and branches. This ensures Python 3.14 tests are run for all branches and
tags, improving compatibility and coverage.

chore(ci): update Debian dist to trixie for CircleCI

Switch CircleCI job configuration from Debian bullseye to trixie to ensure
compatibility with newer Python and PostgreSQL versions. This helps maintain
up-to-date dependencies and system libraries in CI builds.

fix: resolve Django 6.0 + PostgreSQL 17+ test failures

- Deep copy states in make_migration to prevent autodetector mutation
  (Django 6.0 calls options.pop("indexes") without default)
- Filter PG17+ named NOT NULL constraints in clone model test assertions
- Add setdefault for indexes/constraints in state_forwards operations
- Use CheckConstraint(condition=...) for Django >= 6.0 compatibility
- Fix reduce() duplicate kwargs with PostgresCreatePartitionedModel guard

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

fix: guard constraints setdefault behind Django >= 2.2 check

Django < 2.2 does not support the constraints Meta option, so setting
it as a default causes "'class Meta' got invalid attribute(s): constraints".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

1 participant