3.10.0
rnwood/smtp4dev3.10.0Sep 14, 2025by rnwood
AI Summary
This release introduces significant IMAP functionality including Sent folder support and full message search capabilities. It also adds a JavaScript expression editor and EML file import features.
Key Highlights
- Sent Folder IMAP Support
- Extended Message Search (Body, Attachments, CC)
- JavaScript Expression Editor
- EML File Import Functionality
- Bind Address Configuration
New Features
- Sent Folder IMAP Support
- Extended Message Search
- JavaScript Expression Editor
- EML File Import
- Bare Line Feed Detection
- Bind Address Configuration
- Auto-view New Messages Setting
Full Release Notes
[See full installation instructions and options](https://github.com/rnwood/smtp4dev/blob/master/docs/Installation.md) File Name | Description -- | -- [Winget package](https://winget.run/pkg/rnwood/smtp4dev/desktop)| Rnwood.Smtp4dev.Desktop Winget package (recommended easy option for Win10/11) [Winget package](https://winget.run/pkg/rnwood/smtp4dev)| Rnwood.Smtp4dev Winget package Win10/11) [Rnwood.Smtp4dev-win-x64-3.10.0.zip](../../releases/download/3.10.0/Rnwood.Smtp4dev-win-x64-3.10.0.zip) | Windows x64 binary standalone - Server edition [Rnwood.Smtp4dev.Desktop-win-x64-3.10.0.zip](../../releases/download/3.10.0/Rnwood.Smtp4dev.Desktop-win-x64-3.10.0.zip) | Windows x64 binary standalone - Desktop app edition. [Rnwood.Smtp4dev-win-arm64-3.10.0.zip](../../releases/download/3.10.0/Rnwood.Smtp4dev-win-arm64-3.10.0.zip) | Windows ARM 62-bit binary standalone [Rnwood.Smtp4dev-linux-x64-3.10.0.zip](../../releases/download/3.10.0/Rnwood.Smtp4dev-linux-x64-3.10.0.zip) | Linux x64 (Intel 64 bit) binary standalone [Rnwood.Smtp4dev-linux-musl-x64-3.10.0.zip](../../releases/download/3.10.0/Rnwood.Smtp4dev-linux-musl-x64-3.10.0.zip) | Linux MUSL x64 binary standalone for Linux distros using MUSL libc [Rnwood.Smtp4dev-noruntime-3.10.0.zip](../../releases/download/3.10.0/Rnwood.Smtp4dev-noruntime-3.10.0.zip) | Architecture independent version. Should run on any platform where the .NET 8.0 (or greater) runtime is installed [Docker images for Windows and Linux](https://hub.docker.com/layers/rnwood/smtp4dev/3.10.0) - [How to use Docker image](https://github.com/rnwood/smtp4dev/blob/master/docs/Installation.md#how-to-run-smtp4dev-in-docker) [.NET tool Rnwood.Smtp4dev 3.10.0](https://www.nuget.org/packages/Rnwood.Smtp4dev/3.10.0) | .NET tool (recommended option for Mac OS) - [How to use dotnet tool](https://github.com/rnwood/smtp4dev/blob/master/docs/Installation.md#how-to-run-smtp4dev-as-a-dotnet-global-tool) ## Changes: * bac3533ac85184a55e751fceafd5e18f90c2e7d1 fix: broken logo image and redirects for basepath (#1868) * ce55514b54d9bb6a54983dab38a3642b5a7ec87f fix(ui): message list shows a flash of "no messages" before showing initial loading state (#1866) * 78350fcd159c24a9e6aaae8bee48145d78b19ec5 feat: extend message search to additionally search message body, attachment names and cc. (#1864) * d50f5bfd796c5adcdbf8fe5ce171ebed403a0e36 chore: Improve debugging config for VSCode * c2ac9d1b7d6dc61f90aea1f9277e214e8098c204 feat: sent folder IMAP support (#1855) * 0e01dce8b45adcf064a5b56ad424c58d06900f0f Fix tests * d1fd1e4db82e3eb2ce5f18e008ad93dea5ac97ee fix: remove optional APPENDUID checks from IMAP APPEND tests * c69455f7d455417867eda41a5cd0e031c4f2f585 fix: address build failure by completing TestMessagesRepository interface implementation * 0a2220fa259d3c6ad48b5462235771c6b1f7807b Tweaks * 86189099b5f33a1b292006c777d1202dca0c9db9 fix: resolve IMAP APPEND timeout issues by fixing protocol implementation and removing problematic raw TCP tests <details><summary><b>See More</b></summary> * 1802e1788c0df54b4efd535d4fdf65336b652413 fix: resolve IMAP APPEND NullReferenceException by implementing proper stream handling and event subscription * bd02610808fc3f2b4720c1371c8efadc578e8397 fix: resolve SqlOperation during table rebuild by modifying foreign key constraints * b505d81b7c0f7910ec5aa605419259a6587b9258 refactor: improve folder UI by removing 'All Folders' and defaulting to INBOX * 8f8d7f82a32cc1b762f112987b6933d9afb20893 feat: complete IMAP folder support with full INBOX/Sent functionality and UI * a6614ed8e68fa9ff49db7d84a0ee24e0bdd74074 fix: add missing Migration attribute to resolve Entity Framework timing issues * 8fbdf847625fb25de991397f6e37e47369642674 fix: resolve Entity Framework query timing issue during database migration * dde96c6a4760dff5cfa60b6b2c07f4320cce3e72 fix: add missing migration designer file for AddMailboxFolders * 77fbc8578c0c3865da2ef8be6df3da736ce86db4 fix: resolve build failures by implementing missing IMessagesRepository methods * 4f1b616d5a3e2bd366a06eb1f067ec18280d5eb7 feat: implement IMAP folder structure foundation with migration challenges * 55154dc00539b064f7b0f644ed8717351ef1208c feat: add basic IMAP folder support for INBOX and Sent * df0e93e90759ab6ea81259b0c5a7b369e9d4305c feat: add MailboxFolder database model and migration * 33f9edcac05c5e106521f98016d619758048bc9f Initial plan * 52dfac0dfad8cdc38110bdbd5e974dfb2b25cc30 Fix(ci): Fix assets in github release * 1ea0c3852f109a48a40df069f41386ee99c5c1ab Fix(ci): Only push the needed files to Github Release * 93bebbd2b386f41d83fd20db19b3b2c09c84c29f feat: add focused JavaScript expression editor with professional ACE editor and interactive click-to-insert help system (#1857) * 5fbf2df89ee822319da622413fcc605faa26dbc8 docs: correct mailbox configuration documentation to reflect "first match wins" behavior (#1862) * 44c64dccdd35304d7e17a6ec6084a871d33781c1 chore(tests): implement Playwright tracing to replace screenshot debugging in E2E tests (#1859) * 91fb864859acf4993374c23f7dc33bab61020a95 chore(ai): improve copilot build failure feedback mechanism with Azure DevOps REST API (#1861) * 039d21ccea39643177be19626fab52a73843c4c7 [WIP] plain text line wrapping (#1854) * 113f869fbc18e2f362be5a526760a0058e319170 fix: Build failure * 1593ce044e73003e4b90c49377b22b5abeb30bc8 feat: add bare line feed detection with RFC 5321 compliance warnings and message list icons (#1841) * b62a977e19813df0ca5b115d27d6a542e405c468 feat: add EML file import functionality to message list (#1831) * 5ffc5bd6b315311882dec6bd156bdf24cc1aafea docs: document ways to use smtp4dev or smtpserver in automated tests (#1851) * 6b0b5f20b09263ba59c74ab067cb8c283df12159 docs: improve readme with feature comparison with other options (#1849) * 470ba5e451383107f65475eb2ccd5d23aa03c225 feat: add bind address configuration for SMTP and IMAP servers (#1847) * c08f74e5e688614630717e62e05c9d093dafda17 feat: prevent startup when database version is newer than expected (#1842) * 33fa32297136fd55a96586d790a43f3199525531 feat: add auto-view new messages setting (#1843) * 29ad86576b8ebe01871cf6ad0fd3484d337c6613 fix(ci): add Copilot to CLA allowlist for case-sensitive matching (#1845) * 219cf277db964f26f2450b40eb525ea2e97763a7 fix: use relative paths for splash screen logos to support custom BasePath (#1840) * 9e33635d9763bd220a7a7e40d21d67c4eda6d1ae feat: options to turn off HTML validation./compat results and move processing to background (#1835) * 33526339357fac666ff42598e56f8de369cce7f5 fix: escape HTML characters in plain text view to prevent content hiding (#1837) * 81ddf80e61a8f9761ea863341dc68cd36a2ac6bf fix(ci): add copilot-swe-agent[bot] to CLA allowlist (#1839) * 52063670ec1ebd262f6919aa42bd8dd21475b0e9 feat: show emails using their inbuilt dark mode support if they have it rather than inverting them (#1821) * 7eba7bc286e963675825fb82c848280f00fc855f fix: Improve perf and memory usage in message summary API action with search (#1834) * 972c3ac6bbfa16a9984ea9c83fe7f57cc0a2b2bc chore(ci): speed up e2e tests using parallelism (#1833) * 9b7091e6f5ee3931e36780b1124a9c19383fa05e fix: hostname changes lost in settings ui (#1823) * 9cdee3d707dd841539fd7068cf543c07bab688d1 fix(ci): ensure SMTP server tests are running in CI builds (#1825) * 11f77805749b33e30d6a6496baa53df34d03e629 docs: improve agent guidelines for user-focused PR titles (#1829) * a18fdb259421bdf90510201bf24b056cd9191ee4 fix: ensure sanitisation setting takes effect without a refresh (#1822) * 188940b4c8964c48553b77ae271e4220b278a551 chore(devcontainer): match to current dev requirements (#1827) * 3cb3bb746a0d52839fabd3f260f363df488e30dd fix(docs): fix broken links in release notes * ceeb731d4bff5c03932a2d81153556d4e7c2fed0 chore(ci): more parallelisation of jobs * a1c43dde023da6dd206a63f7beabf8b06d8be85c fix(ci): ensure Winget release happens for pre-release builds * 47a94139d038573b1616c1af5d81d83a80beff96 fix(ci): Release not generated for ci build (#1819) * 3d91688a7715239b6f5a8f14878dc65c5c3aacd5 feat: add Windows Package Manager (winget) distribution (#1811) * 39c051f0c40a2e003971ee7763f3ed4f97502f37 fix(ci): resolve CLA build check failure on PRs (#1815) * 4d906f52c45486a4d35923882fae85647ff0f5a5 fix(ci): docker manifest task running when prerequisite Docker build jobs are skipped (#1805) * a3b3d5ab6ba72b02b7aa3413a26c9748761b5ca9 chore(docs): Move README screenshots into docs folder. (#1813) * c4d1172f346797ee760afe0b787e604f37428708 ci: enforce PRs have conventional commit title (#1809) * cdc0e007b222001ef39c36e4c3e0c4768b7ae96f Fix(ci): Misleading coverage report because of incorrect namespaces in some files (#1803) * 617ed2f9bd414697adfa8e8c83c14cf92272b5a1 chore(ci): Add NuGet and npm package caching to Azure Pipelines to speed up builds (#1799) * 2242f86df807ffad9bb9c8c4dab51a793d427c32 chore(ci): Skip Docker builds if main build/tests fail (#1801) * a5e8faee06837529f3c4e343fb1d23a3be23523e chore: Implement Contributor License Agreement (CLA) workflow (#1797) * 8a98978bc4a1dc09d35c3536ec532c090f74defe chore(ci): Fail faster on build/test failure in Azure DevOps CI pipeline (#1791) * 1ece53c05a4f47fe855470d7a3c5da82e3fcd414 Move developer-specific documentation to docs/dev directory (#1795) * 36c5e5026c4dfa10ad0ffc0d7ba98e79a3f89d45 Move GitHub Copilot instructions to AGENTS.md at repository root (#1793) * 15131eb73915f6b42104561ec7c958de194697d2 chore: Remove unneeded Lumisoft features while preserving full IMAP functionality (#1789) * 6c9c3f346c2487ded95067c035261f064546d160 chore(tests): Add more comprehensive RFC 5321/2822 compliance tests for SMTP components (#1783) * e3b45eb75248b7ed2b1ab43ee23f7033ec974ca4 Chore(ci): Enhance code coverage reports with namespace breakdown and visual indicators (#1787) * 6180b1a910b1c080b7b047a22dc83fdb6813987f chore(ci): Implement .NET test coverage measurement and reporting for Azure DevOps and GitHub (#1785) * a2cfe885514dad95d7917b33f8cdcc7d70f06069 chore(tests): Remove flaky E2ETests_Imap.YoungerSearchFunctionality test (#1781) * dbe816a704b1e6f73fba1090915ee5d97d8d4be6 Migrate E2E tests from Selenium WebDriver to Playwright and enhance CI error reporting (#1779) * c5e3120cf0706f4fe61084a4b860678c574343a3 Implement Azure DevOps pipeline notifications with comprehensive build error reporting for copilot-assigned PRs (#1778) * 521f81135f15d2fffba0e34efa3c7370796495e5 Fix "Disable HTML message sanitisation" setting not taking effect immediately (#1761) * 7c592a79105138539184882f9a26b000c56fcc1e Fix: Fallback to ipv4 when ipv6 is not available (#1771) [ #1772, #1774 ] * a237169335cfc6b670de19fb4515f0892ab60f12 Fix(tests): Flaky IMAP Younger and Older search tests (#1774) * c7769c27eacd79b9686d1bf355cea9bd2c51cc54 Fix Docker volume permissions for non-root container execution (#1772) * d5416277c67e10c88e0e96018d1acd482e7a6799 Update README with comprehensive up-to-date screenshots of all features (#1770) * 5252732a9292fd3b91ae8c7c39d201fc8a18eb34 docs: Add Docker security documentation to prevent accidental public exposure (#1765) [ #1764, #1767, #1768 ] * d3d8dec07720bb10450d97d03e773a215473b3e3 chore(dev): Add documentation for docs directory (#1768) * be27a03f998ac2fd5ba3aa6f677051703584fc7f chore(docs): Move wiki content to GitHub docs folder (#1767) * 5c806202bbd9998fccee8f9df0c7d38f017a4ea3 Feat(imap): Add support for YOUNGER and OLDER search terms in IMAP server (#1764) * 1731028777a0da1b901955c073edf0b9ae618884 Chore: Add GitHub Copilot instructions (#1763) * 5760ba25a9bcc67f2a73425210c9d65103030562 Fix(config): Ignore DOTNET_ENVIRONMENT when in release build. Resolves #1750 (#1760) This list of changes was [auto generated](https://dev.azure.com/rnwood/smtp4dev/_build/results?buildId=4001&view=logs).</details>