Skip to content

Commit 6638916

Browse files
authored
Bump to 1.4.3 (#328)
* Disable pytype in qa tox pytype doesn't run in Windows, which is my current dev machine. _However_, the pytype step is explicitly invoked in GitHub CI, so we still have some type security. * Drop 3.6, add up to 3.11 * Drop MacOS-10, add -11 & -12, and also Ubuntu-22.04 * DOC: Add consideration for using multiprocessing
1 parent 693c5fd commit 6638916

File tree

9 files changed

+37
-15
lines changed

9 files changed

+37
-15
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,4 @@ prof/
3737
.pytype/
3838
~temp*
3939
*.sw[a-p]
40+
pyvenv.cfg

DESCRIPTION.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545

4646
This is a server for SMTP and related MTA protocols,
4747
similar in utility to the standard library's |smtpd.py|_ module,
48-
but rewritten to be based on ``asyncio`` for Python 3.6+.
48+
but rewritten to be based on ``asyncio`` for Python 3.7+.
4949

5050
Please visit the `Project Homepage`_ for more information.
5151

MANIFEST.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
graft aiosmtpd
22
include LICENSE NOTICE *.cfg *.ini *.py *.rst *.yml *.toml
3-
global-exclude *.py[oc] *.sw[a-p]
3+
global-exclude *.py[oc] *.sw[a-p] pyvenv.cfg

README.rst

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,20 +55,21 @@ Full documentation is available on |aiosmtpd rtd|_
5555
Requirements
5656
============
5757

58-
You need **at least Python 3.6** to use this library.
58+
You need **at least Python 3.7** to use this library.
5959

6060

6161
Supported Platforms
6262
-----------------------
6363

64-
``aiosmtpd`` has been tested on **CPython** and |PyPy3.7|_
64+
``aiosmtpd`` has been tested on **CPython**>=3.7 and |PyPy|_>=3.7
6565
for the following platforms (in alphabetical order):
6666

6767
* Cygwin (on Windows 10) [1]
6868
* FreeBSD 12 [2]
6969
* OpenSUSE Leap 15 [2]
7070
* Ubuntu 18.04
7171
* Ubuntu 20.04
72+
* Ubuntu 22.04
7273
* Windows 10
7374

7475
| [1] Supported only with Cygwin-provided CPython versions
@@ -77,8 +78,8 @@ for the following platforms (in alphabetical order):
7778
``aiosmtpd`` *probably* can run on platforms not listed above,
7879
but we cannot provide support for unlisted platforms.
7980

80-
.. |PyPy3.7| replace:: **PyPy3.7**
81-
.. _`PyPy3.7`: https://www.pypy.org/
81+
.. |PyPy| replace:: **PyPy**
82+
.. _`PyPy`: https://www.pypy.org/
8283

8384

8485
Installation
@@ -175,7 +176,7 @@ In general, the ``-e`` parameter to tox specifies one (or more) **testenv**
175176
to run (separate using comma if more than one testenv). The following testenvs
176177
have been configured and tested:
177178

178-
* ``{py36,py37,py38,py39,pypy3}-{nocov,cov,diffcov,profile}``
179+
* ``{py37,py38,py39,py310,py311,pypy3}-{nocov,cov,diffcov,profile}``
179180

180181
Specifies the interpreter to run and the kind of testing to perform.
181182

aiosmtpd/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Copyright 2014-2021 The aiosmtpd Developers
22
# SPDX-License-Identifier: Apache-2.0
33

4-
__version__ = "1.4.3.dev0"
4+
__version__ = "1.4.3rc1"

aiosmtpd/docs/NEWS.rst

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,20 @@ Fixed/Improved
1616
* A whole bunch of annotations
1717

1818

19+
1.4.3 (2022-12-16)
20+
==================
21+
22+
Fixed/Improved
23+
--------------
24+
* Add compatibility for Python 3.10 and 3.11 (Closes #322)
25+
* Test matrix update (Closes #306)
26+
27+
* Drop Python 3.6, PyPy 3.6 (some) and MacOS 10
28+
* Add Python 3.10 & 3.11, PyPy 3.7 & 3.8, Ubuntu 22.04, MacOS 11 & 12
29+
30+
* Longer AUTOSTOP_DELAY especially for Windows (Closes #313)
31+
32+
1933
1.4.2 (2021-03-08)
2034
=====================
2135

aiosmtpd/docs/controller.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ In both cases, you need to pass a :ref:`handler <handlers>` to the ``SMTP``
2121
constructor. Handlers respond to events that you care about during the SMTP
2222
dialog.
2323

24+
.. important::
25+
26+
Consider running the controller in a separate Python process (e.g., using the
27+
:mod:`multiprocessing` module) if you don't want your main Python process to be
28+
blocked when aiosmtpd is handling extra-large emails.
29+
2430

2531
Using the controller
2632
====================

setup.cfg

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ classifiers =
2121
Operating System :: POSIX :: BSD :: FreeBSD
2222
Operating System :: POSIX :: Linux
2323
Programming Language :: Python :: 3 :: Only
24-
Programming Language :: Python :: 3.6
2524
Programming Language :: Python :: 3.7
2625
Programming Language :: Python :: 3.8
2726
Programming Language :: Python :: 3.9
@@ -34,7 +33,7 @@ classifiers =
3433

3534
[options]
3635
zip_safe = false
37-
python_requires = ~=3.6
36+
python_requires = ~=3.7
3837
packages = find:
3938
include_package_data = true
4039
install_requires =

tox.ini

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
[tox]
22
minversion = 3.9.0
3-
envlist = qa, static, docs, py{36,37,38,39,py3}-{nocov,cov,diffcov}
3+
envlist = qa, static, docs, py{37,38,39,py3}-{nocov,cov,diffcov}
44
skip_missing_interpreters = True
55

66
[testenv]
77
# One virtualenv per Python version
88
envdir =
9-
py36: {toxworkdir}/3.6
109
py37: {toxworkdir}/3.7
1110
py38: {toxworkdir}/3.8
1211
py39: {toxworkdir}/3.9
@@ -45,11 +44,11 @@ deps =
4544
setenv =
4645
cov: COVERAGE_FILE={toxinidir}/_dump/.coverage
4746
nocov: PYTHONASYNCIODEBUG=1
48-
py36: INTERP=py36
4947
py37: INTERP=py37
5048
py38: INTERP=py38
5149
py39: INTERP=py39
5250
py310: INTERP=py310
51+
py311: INTERP=py311
5352
pypy3: INTERP=pypy3
5453
py: INTERP=py
5554
passenv =
@@ -110,14 +109,16 @@ commands =
110109
python -m flake8 aiosmtpd setup.py housekeep.py release.py
111110
check-manifest -v
112111
pytest -v --tb=short aiosmtpd/qa
113-
pytype --keep-going --jobs auto .
112+
# Disabled for now because pytype blows up in Windows
113+
#pytype --keep-going --jobs auto .
114114
deps =
115115
colorama
116116
flake8>=5.0.4
117117
{[flake8_plugins]deps}
118118
pytest
119119
check-manifest
120-
pytype
120+
# Disabled for now because pytype blows up in Windows
121+
#pytype
121122

122123
[testenv:docs]
123124
basepython = python3

0 commit comments

Comments
 (0)