Changelog¶
Version 3.0.0 ๐ 2026-Ready Release¶
Release Date: November 29, 2025
๐ Future-Proof Architecture¶
This major release transforms Flask-Mailing into a 2026-ready email solution with cutting-edge Python features, enhanced security, and modern development practices.
๐ฅ Breaking Changes¶
- Minimum Python version raised to 3.10 (modern union syntax support)
- Minimum Flask version raised to 3.1 (latest Flask with async support)
- Pydantic v2.11+ required (latest validation with ConfigDict)
- Dependencies updated to latest stable versions
- Enhanced type safety with stricter validation
- Improved async context manager patterns
โจ New Features¶
- ๐ Python 3.10-3.14 support with modern union operators (
|) and built-in generics - ๐ก๏ธ Advanced security module with
RateLimiterandEmailSecurityValidator - โก Enhanced async/await patterns with proper context managers
- ๐ Improved path traversal protection and content sanitization
- ๐ Rate limiting system to prevent abuse
- ๐ Email security validation with disposable email detection
- ๐๏ธ Modern build system with ruff, mypy, and enhanced tooling
๐ฆ Updated Dependencies¶
aiosmtplib >= 4.0.2(latest async SMTP client)flask >= 3.1.0(latest Flask with all security updates)pydantic >= 2.11.0(modern validation with v2.11 API)pydantic-settings >= 2.9.0(settings management)email-validator >= 2.3.0(enhanced email validation)werkzeug >= 3.1.3(latest WSGI utilities)jinja2 >= 3.1.6(modern templating)typing-extensions >= 4.13.0(extended typing support)asgiref >= 3.9.0(ASGI utilities)blinker >= 1.9.0(signals support)
๐ ๏ธ Developer Experience¶
- โ Modern pyproject.toml with ruff, black, isort, mypy configuration
- โ Enhanced CI/CD pipeline with Python 3.10-3.14 support
- โ Docker containerization support
- โ Comprehensive security scanning
- โ Better error messages with exception chaining
- โ Type safety improvements throughout codebase
๐ง Performance & Reliability¶
- โก Connection timeout handling (30s default)
- ๐ Better connection cleanup in async contexts
- ๐ Improved memory usage with modern Python features
- ๐ก๏ธ Enhanced error recovery mechanisms
๐ Documentation¶
- Updated all documentation for v3.0.0
- Modern code examples with Flask 3.1+ patterns
- Comprehensive API reference tables
- Installation guide with optional dependencies
Version 2.1.0¶
Release Date: August 30, 2025
๐ Major Release - Python 3.13 & Flask 3 Ready¶
This is a major modernization release that brings Flask-Mailing to 2026 standards.
Breaking Changes¶
- Minimum Python version raised to 3.9 (was 3.6+)
- Minimum Flask version raised to 3.0 (was 2.0+)
- Updated all dependencies to modern versions
- Removed deprecated Python 2/3.6/3.7/3.8 compatibility code
Added¶
- โ Full Python 3.13 compatibility
- โ Full Flask 3.x compatibility
- โ Modern pyproject.toml configuration
- โ Type annotations improvements
- โ Better error handling and validation
- โ py.typed file for better IDE support
Updated¶
- ๐ฆ Dependencies modernized:
aiosmtplib >= 3.0.0flask >= 3.0.0pydantic >= 2.0.0email-validator >= 2.0.0httpx >= 0.25.0werkzeug >= 3.0.0typing-extensions >= 4.0.0
Fixed¶
- ๐ Pydantic v2 compatibility - Fixed deprecated
Configclass usage - ๐ Type annotation improvements - Better type safety
- ๐ Email validation modernized - Uses latest email-validator
- ๐ Async/await patterns improved - Better async support
- ๐ Import error handling - Graceful dependency handling
Deprecated¶
- โ ๏ธ Python < 3.9 support removed
- โ ๏ธ Flask < 3.0 support removed
Development & Testing¶
- ๐งช Test suite updated for modern pytest
- ๐งช Tox configuration updated for Python 3.9-3.13
- ๐งช CI/CD ready for modern Python versions
Migration Guide¶
To upgrade to v3.0.0: 1. Upgrade Python to 3.9+ (recommended: 3.11+ for best performance) 2. Upgrade Flask to 3.0+ 3. Update your requirements.txt with new minimum versions 4. Test your application - most APIs remain the same
Version 0.2.3¶
Release Date: September 19, 2023
Added¶
- Introduced compatibility with Pydantic V2, ensuring seamless integration with the latest versions.
Fixed¶
- Resolved several bugs related to configuration handling and email validation.
- Improved overall stability and robustness of the library.
Version 0.2.2¶
Release Date: January 14, 2023
Updated¶
- Enhanced the
setup.pyto streamline installation and dependency management. - Revised the README file for better clarity and up-to-date documentation.
Fixed¶
- Addressed versioning inconsistencies to avoid compatibility issues.
Added¶
- Full compatibility with Python 3.11.
Version 0.2.1¶
Release Date: January 11, 2023
Fixed¶
- Resolved
aiorediscompatibility issues for Python 3.11. - Fixed a critical bug in the
httpxlibrary dependency.
Version 0.2.0¶
Release Date: Febuary 16, 2022
Added¶
- Introduced
send_mailandsend_mass_mailmethods, similar to Django or Flask-Mailman. - Added extensive docstrings for better API understanding.
- Expanded the test suite with additional test cases to ensure reliability.
Fixed¶
- Corrected a significant issue in the
MAIL_START_TLSandMAIL_START_SSLconfigurations in theConnectionConfigmodule.
Version 0.1.1¶
Release Date: January 19, 2022
Added¶
- Enabled compatibility with
aioredis > 2.0.0. - Introduced asynchronous support for the
utils.email_check.EmailCheckerclass.
Fixed¶
- Resolved test case issues with the fake Redis client.
- Corrected typos in the
utils.email_checkfile.
Updated¶
- Updated the
utils.email_check.EmailCheckerclass for the latest version ofaioredis. - Refined dependency management to ensure compatibility with new versions.
Version 0.1.0¶
Release Date: January 12, 2022
Added¶
- Included support for template parameters via the
template_paramsvariable in theschemas.Messageclass. - Added module-level docstrings to improve documentation clarity.
- Documented a future roadmap for feature enhancements.
- Expanded compatibility to Python 3.10.
- Enabled users to create custom headers for email attachments.
Fixed¶
- Resolved issue #20, allowing seamless usage of template parameters.
- Addressed typos and configuration errors in the
setup.pyfile. - Fixed broken test cases and improved test coverage.
- Corrected variable naming issues in the
config.ConnectionConfigclass. - Fixed
Literalimport issues for Python 3.6 and 3.7.
Updated¶
- Revised the
MANIFEST.infile for better packaging. - Updated dependencies to the latest stable versions.
Older Versions¶
Version 0.0.7¶
- Fixed the "long description not found" issue on the PyPI website.
Version 0.0.6¶
- Enabled access to the
Mailobject viaapp.extensions['mailing'].
Version 0.0.5¶
- Added a new configuration variable,
MAIL_DEFAULT_SENDER, with functionality similar toMAIL_FROM. - Fixed the absence of the
httpxmodule insetup.py. - Renamed
MAIL_SSLandMAIL_TLStoMAIL_USE_SSLandMAIL_USE_TLS, respectively. - Introduced the
add_recipientandattachmethods in theschemas.Messageclass. - Updated documentation and resolved broken test cases.
Version 0.0.4¶
- Added setup details to
pyproject.tomlto resolve dependency errors.
Version 0.0.2¶
- Updated dependencies.