From 1045cd8235d4941862cadbf4ab18695ebb64b299 Mon Sep 17 00:00:00 2001 From: pfouque Date: Tue, 27 Jan 2026 09:53:53 +0100 Subject: [PATCH 1/2] Update CI to test new django versions --- .flake8 | 2 +- .github/workflows/main.yml | 2 ++ CHANGELOG.rst | 7 +++++++ setup.py | 6 +++--- tox.ini | 12 ++++++------ 5 files changed, 19 insertions(+), 10 deletions(-) diff --git a/.flake8 b/.flake8 index 1f20aa3..313442c 100644 --- a/.flake8 +++ b/.flake8 @@ -1,2 +1,2 @@ [flake8] -exclude = django_mailbox/migrations, django_mailbox/south_migrations +exclude = django_mailbox/migrations diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4b78b85..4b8416e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -23,6 +23,8 @@ jobs: - '3.10' - '3.11' - '3.12' + - '3.13' + - '3.14' steps: - uses: actions/checkout@v4 diff --git a/CHANGELOG.rst b/CHANGELOG.rst index b9e3d77..0dbd0bd 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,13 @@ Changelog ========= +Unreleased +----- + +* Add Python 3.13, 3.14 support +* Add Django 5.1, 5.2, 6.0 support +* Remove support for deprecated Django versions + 4.9.0 ----- diff --git a/setup.py b/setup.py index 668b936..3f1b23e 100755 --- a/setup.py +++ b/setup.py @@ -39,11 +39,11 @@ setup( 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent', 'Framework :: Django', - 'Framework :: Django :: 3.2', - 'Framework :: Django :: 4.0', - 'Framework :: Django :: 4.1', 'Framework :: Django :: 4.2', 'Framework :: Django :: 5.0', + 'Framework :: Django :: 5.1', + 'Framework :: Django :: 5.2', + 'Framework :: Django :: 6.0', 'Programming Language :: Python', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.8', diff --git a/tox.ini b/tox.ini index a23030c..d698922 100644 --- a/tox.ini +++ b/tox.ini @@ -2,11 +2,11 @@ # sort by django version, next by python version envlist= flake8 + py{312,313,314}-django60 + py{310,311,312,313,314}-django52 + py{310,311,312}-django51 py{310,311,312}-django50 py{38,39,310,311}-django42 - py{38,39,310,311}-django41 - py{38,39,310}-django40 - py{38,39,310}-django32 [gh-actions] python = @@ -23,11 +23,11 @@ passenv= EMAIL_PASSWORD EMAIL_SMTP_SERVER deps= + django60: Django>=6.0,<6.1 + django52: Django>=5.2,<6.0 + django51: Django>=5.1,<5.2 django50: Django==5.0,<5.1 django42: Django>=4.2,<5.0 - django41: Django>=4.1,<4.2 - django40: Django>=4.0,<4.1 - django32: Django>=3.2,<4.0 -r{toxinidir}/test_requirements.txt sitepackages=False commands= From b4d410a54e4600376c0730868b6e1fec6844af86 Mon Sep 17 00:00:00 2001 From: pfouque Date: Tue, 27 Jan 2026 12:35:49 +0100 Subject: [PATCH 2/2] Try fixing Django6.0 --- django_mailbox/models.py | 7 +++---- setup.cfg | 5 +++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/django_mailbox/models.py b/django_mailbox/models.py index 33039e0..6a1e771 100644 --- a/django_mailbox/models.py +++ b/django_mailbox/models.py @@ -310,7 +310,7 @@ class Mailbox(models.Model): ) elif ( settings['strip_unallowed_mimetypes'] - and not msg.get_content_type() in settings['allowed_mimetypes'] + and msg.get_content_type() not in settings['allowed_mimetypes'] ): for header, value in msg.items(): new[header] = value @@ -674,10 +674,9 @@ class Message(models.Model): message.extra_headers['Date'] = formatdate() message.extra_headers['In-Reply-To'] = self.message_id.strip() message.send() + return self.mailbox.record_outgoing_message( - email.message_from_string( - message.message().as_string() - ) + message.message() ) @property diff --git a/setup.cfg b/setup.cfg index 68ebb70..7b8b376 100644 --- a/setup.cfg +++ b/setup.cfg @@ -2,3 +2,8 @@ norecursedirs=env docs lib .eggs DJANGO_SETTINGS_MODULE=django_mailbox.tests.settings addopts = --tb=short -rxs + +[tool:pytest] +norecursedirs=env docs lib .eggs +DJANGO_SETTINGS_MODULE=django_mailbox.tests.settings +addopts = --tb=short -rxs