e64f0f2705
- Add SECRET_KEY and ENCRYPTION_KEY validation on startup - Implement security headers middleware (X-Frame-Options, CSP, HSTS) - Add CSRF protection middleware - Create comprehensive GitHub issue templates and PR template - Add Makefile with common development tasks - Configure pre-commit hooks (black, ruff, mypy, bandit, detect-secrets) - Create docs/CODING_PATTERNS.md with best practices - Create docs/ERRORS.md documenting all error codes - Add Architecture Decision Records (ADR) for Celery and Fernet encryption - Create CHANGELOG.md for version tracking - Set up pytest test infrastructure with fixtures and factories - Add sample unit tests for security and config validation - Create CI/CD workflows (test, lint, security) - Add comprehensive TODO.md with milestones and progress tracking Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
3.4 KiB
3.4 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
- GitHub issue templates (bug report, feature request, test needed)
- Pull request template with comprehensive checklist
docs/CODING_PATTERNS.mdwith development best practicesdocs/ERRORS.mddocumenting all error codesdocs/adr/directory with Architecture Decision RecordsMakefilewith common development tasks.pre-commit-config.yamlfor code quality enforcementCHANGELOG.mdfor version tracking- Security validation for SECRET_KEY and ENCRYPTION_KEY on startup
- CSRF protection middleware
- Security headers middleware (X-Frame-Options, CSP, HSTS)
- Rate limiting per user/tier
- Comprehensive test infrastructure setup
- CI/CD pipeline for testing and security scanning
Changed
- Reorganized documentation into
docs/directory - Improved error handling with specific exception types
- Updated datetime usage to timezone-aware
- Enhanced logging with structured context
Fixed
- Bare exception handlers replaced with specific types
- Open redirect vulnerability in OAuth redirect_uri
- Default encryption keys security issue
Security
- All dependencies updated to patched versions
- Security headers added to all API responses
- Input validation improved for all endpoints
- Credential handling audited and improved
[1.0.0] - 2026-02-01
Added
- Multi-tenant SaaS backend with FastAPI
- JWT and OAuth2 (Google Sign-In) authentication
- Encrypted credential storage with Fernet
- Subscription management with Stripe integration
- PostgreSQL database with SQLAlchemy ORM
- Redis for caching and session management
- Celery for background task processing
- Apprise for multi-channel notifications
- Docker and docker-compose support
- Comprehensive API documentation with OpenAPI
- Extensive documentation (README, ARCHITECTURE, SECURITY_REPORT, etc.)
Changed
- Upgraded from single-user script to multi-tenant platform
[0.1.0] - 2025-12-15 (Legacy Version)
Added
- Initial release of single-user pop3_forwarder.py script
- Docker support with docker-compose
- Multiple POP3 account support
- Gmail forwarding via SMTP
- Rate limiting and throttling
- Error notifications via Postmarkapp
- Environment-based configuration
- Basic logging
Version History
- [Unreleased] - Current development (agentic coding improvements, security hardening)
- [1.0.0] - Multi-tenant SaaS platform (2026-02-01)
- [0.1.0] - Legacy single-user script (2025-12-15)
How to Update This Changelog
Categories
Use these standard categories:
- Added - New features
- Changed - Changes in existing functionality
- Deprecated - Soon-to-be removed features
- Removed - Removed features
- Fixed - Bug fixes
- Security - Vulnerability fixes
Format
## [Version] - YYYY-MM-DD
### Added
- New feature description (#issue-number)
### Fixed
- Bug fix description (#issue-number)
Workflow
- Add unreleased changes to
[Unreleased]section - When releasing, move unreleased changes to new version section
- Add version number, date, and comparison link
- Create git tag:
git tag -a v1.0.0 -m "Release v1.0.0"
Maintained by: Development Team
Last Updated: 2026-02-06