|
1 | 1 | # Release Notes |
2 | 2 |
|
3 | | -## Papercut SMTP v7.5.1 [2025-10-31] |
| 3 | +## Papercut SMTP v7.6.0 [2025-11-08] |
4 | 4 |
|
5 | | -### Bug Fixes |
| 5 | +### New Features |
6 | 6 |
|
7 | | -- **Forwarding Rules Failing** - Fixed critical bug where email forwarding rules were completely broken due to TaskCanceledException. Fixes [#331](https://github.com/ChangemakerStudios/Papercut-SMTP/issues/331) (Thanks, [wcwhitehead](https://github.com/wcwhitehead)!) |
8 | | -- **SSL/TLS Connection Mode** - Fixed SSL/TLS connection mode to use SslOnConnect for port 465 and Auto for STARTTLS |
9 | | -- **SMTP Timeout** - Set proper SMTP timeout of 30 seconds for forwarding rules |
10 | | -- **Backend Service Status** - Fixed initial status detection for backend service |
| 7 | +- **Dark Theme Support** - Added full dark theme support with automatic Windows dark mode detection and synchronization. Fixes [#228](https://github.com/ChangemakerStudios/Papercut-SMTP/issues/228) (Thanks, [wonea](https://github.com/wonea)!) |
| 8 | + - System/Light/Dark base theme selection with accent color customization |
| 9 | + - Automatic system dark mode detection with live theme updates |
| 10 | + - AvalonEdit syntax highlighting supports both light and dark modes |
| 11 | + - Theme-aware attachment icons and UI controls throughout the application |
| 12 | +- **IP Allowlist Support** - Added IP allowlist filtering for SMTP and HTTP connections with CIDR notation support. Fixes [#333](https://github.com/ChangemakerStudios/Papercut-SMTP/issues/333) (Thanks, [mhkarimi1383](https://github.com/mhkarimi1383)!) |
| 13 | + - Configurable via `SmtpServer:AllowedIps` setting |
| 14 | + - Support for individual IPs (e.g., `192.168.1.100`) and CIDR ranges (e.g., `192.168.1.0/24`) |
| 15 | + - Comprehensive unit tests for IP validation and range matching |
| 16 | + - Fail-closed security - blocks all connections if validation fails |
| 17 | +- **Dynamic Property Editor for Rules** - Replaced legacy PropertyGrid with custom MahApps.Metro-compatible dynamic property editor |
| 18 | + - Reflection-based property discovery using System.ComponentModel attributes |
| 19 | + - Intelligent control selection (TextBox, NumericUpDown, ToggleSwitch, PasswordBox) |
| 20 | + - Category-based property organization with smart ordering |
| 21 | + - Resizable GridSplitter between rules list and property editor |
| 22 | + - Full dark theme support in Rules Configuration dialog |
| 23 | + |
| 24 | +### Improvements |
| 25 | + |
| 26 | +- **.NET 9.0 Upgrade** - Upgraded entire solution to .NET 9.0 for improved performance and latest framework features |
| 27 | +- **Theme Consistency** - Modernized UI to use dynamic theming with refreshed Options dialog and message list visuals |
| 28 | +- **Tab Preservation** - Selected message detail tab (Message/Body/Headers/Raw) now preserved when switching between messages |
| 29 | +- **Code Quality** - Fixed numerous compiler warnings and null-safety issues throughout the codebase |
| 30 | +- **Resource Management** - Fixed X509Certificate2Collection resource leak |
| 31 | +- **Docker Improvements** - Updated container and runtime images for .NET 9.0 |
| 32 | + |
| 33 | +### Code Quality |
| 34 | + |
| 35 | +- Comprehensive unit tests for IP allowlist validation |
| 36 | +- More flexible SMTP/server startup wiring and options |
| 37 | +- Internal robustness improvements with clearer initialization and lifecycle handling |
| 38 | +- Better error handling across core components |
11 | 39 |
|
12 | 40 | ### Contributors |
13 | 41 |
|
14 | | -Special thanks to [wcwhitehead](https://github.com/wcwhitehead) for reporting the critical forwarding rules bug! |
| 42 | +Special thanks to [wonea](https://github.com/wonea) for requesting dark theme support and [mhkarimi1383](https://github.com/mhkarimi1383) for requesting IP allowlist functionality! |
0 commit comments