Mailjet deleted the Anymail testing account without notice.
Recreating the account changed the test template id. Move
the id to an environment variable to simplify changing it.
For CI/CD tasks not testing a specific Python version, switch to Python 3.12.
(Had been using mixture of 3.10 and 3.11. GitHub's ubuntu-22.04 runner has
Python 3.10 installed by default, but 3.12 should be in the tool cache.)
- Replace "SendinBlue" with "Brevo"
throughout the code.
- Maintain deprecated compatibility
versions on the old names/URLs.
(Split into separate commit
to make renamed files more
obvious.)
- Update docs to reflect change,
provide migration advice.
- Update integration workflow.
Allow releasing to Test PyPI by setting GitHub
environment "release" variable `PYPI_REPOSITORY_URL`
to `https://test.pypi.org/legacy/`.
Also ensure twine-upload doesn't try to prompt
for credentials, and turn off upload progress bar.
Switch to pyproject.toml packaging, using hatchling.
- Replace all uses of setup.py with updated equivalent
- BREAKING: Change extra name `amazon_ses` to
`amazon-ses`, to comply with Python packaging
name normalization
- Use hatch custom build hook to freeze version number
in readme (previously custom setup.py code)
- Move separate requirements for dev, docs, tests
into their own requirements.txt files
- Fix AnymailImproperlyInstalled to correctly refer
to package extra name
- Update testing documentation
- Update docs readme rendering to match PyPI
(and avoid setup.py)
- In tox tests, use isolated builds and update pip
- Remove AUTHORS.txt (it just referred to GitHub)
tox dependency virtualenv dropped support for creating
Python 3.6 environments in a minor release. [1]
Announce deprecation of Anymail Python 3.6 support.
Until that can take effect, pin an older version of
virtualenv that still works for tox py36 testenv.
[1]: See https://github.com/pypa/virtualenv/pull/2548#issuecomment-1527278210 et seq
pypy-3.8-v7.3.8 accidentally shipped with sqlite v3.7.17,
which is a decade old, and causes the tests to fail with
`django.core.exceptions.ImproperlyConfigured:
SQLite 3.9.0 or later is required`.
Until pypy-3.8-v7.3.9 is available in actions/setup-python,
work around the problem by forcing unqualified "pypy-3.8"
to specific (older) version "pypy-3.8-v7.3.7".
See https://foss.heptapod.net/pypy/pypy/-/issues/3690
and https://github.com/actions/setup-python/issues/339.
* Split test, integration-test, and release workflows,
simplifying config and logic for each.
* Use environment to separate secrets for release workflow.
* Update test matrix with newer Django and Python versions.
* Omit default_app_config under Django 3.2 and later
to avoid DeprecationWarning
* Also adds testing on Python 3.9, 3.10-alpha
* Also updates test matrix to include all supported
Python versions (some older Django versions expanded
Python support in patch releases)
Related changes:
* remove Travis-CI config; stop running tests on Travis
* rename live integration test environment variables
to all start with `ANYMAIL_TEST_` (simplifies tox config)