Skip to content

Conversation

@goodtune
Copy link
Contributor

@goodtune goodtune commented Oct 14, 2025

Summary

Adds support for Django 6.0 (currently alpha) and Python 3.14 to the testing matrix and classifiers.

Changes to .github/workflows/actions.yml

  • Added Python 3.13 and 3.14 to CI testing matrix
  • Added Django 6.0 to CI testing matrix
  • Added exclusions for incompatible Python/Django version combinations:
    • Django 6.0 requires Python 3.12+ (excludes Python 3.9, 3.10, 3.11)
    • Python 3.14 requires Django 5.2+ (excludes Django 4.2, 5.1)
    • Django 5.1+ requires Python 3.10+ (excludes Python 3.9)
  • Split Django installation into separate steps for stable vs pre-release versions:
    • Stable versions (4.2, 5.1, 5.2): use Django~=X.Y.0 without prerelease flag
    • Django 6.0 (alpha): use Django>=6.0a1,<6.1 with --prerelease=if-necessary-or-explicit flag
  • This ensures proper minor version handling and explicit alpha support

Changes to setup.cfg

  • Updated Python classifiers to include Python 3.14
  • Updated Django classifiers to include Django 6.0
  • Updated python_requires constraint from >=3.9, <3.14 to >=3.9, <3.15

This enables early testing against Django 6.0 alpha to provide feedback to Django developers before the stable release.

Closes #223

🤖 Generated with Claude Code

goodtune and others added 5 commits October 15, 2025 00:46
- Add Python 3.13 and 3.14 to CI testing matrix
- Add Django 6.0 to CI testing matrix
- Add exclusions for incompatible Python/Django combinations
- Update Python classifiers to include Python 3.14
- Update Django classifiers to include Django 6.0
- Update `python_requires` constraint to support Python 3.14

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add `--prerelease=if-necessary-or-explicit` to `uv pip install` commands
- This allows Django 6.0 alpha to be installed without pulling in other pre-release dependencies

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Change from `Django~=6.0.0` to `Django>=6.0a1,<7`
- This allows matching Django 6.0 alpha releases
- Applied to both Django-only and Django+DRF installation steps

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- For stable Django versions (4.2, 5.1, 5.2): use `Django~=X.Y.0` without prerelease flag
- For Django 6.0 (alpha): use `Django>=6.0a1,<6.1` with `--prerelease=if-necessary-or-explicit`
- This ensures proper minor version handling for stable releases and explicit alpha support

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Django 6.0 requires Python 3.12+ (exclude Python 3.10 and 3.11)
- Python 3.14 requires Django 5.2+ (exclude Django 4.2 and 5.1)
- Update comment to reflect Django 6.0's Python 3.12+ requirement

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <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.

⬆️ Add Django 6.0 and Python 3.14 to classifiers and testing matrix

1 participant