This release adds support for the DSN extension, outbound PROXY protocol support, and introduces function generators and yield to the Halon scripting language. Please see the changelog below for a full list of changes, and the release blog for more information.
You need to upgrade to 5.3 (or newer) before you can upgrade to 5.5 because of a queue migration only present in the former.
- The DKIMADSP() function which was deprecated in version 4.7 (2018) has been removed.
- The aliases SetSenderIP() in the "Connect" context and SetHELO() in the "HELO" context which were deprecated in version 5.1 (early 2019) has been removed.
- The alias GenerateDSN() function which was renamed to Bounce() and deprecated in version 4.4 (2017) has been removed.
- The aliases PickupSuspend() and PickupPolicy() which were renamed to queue_suspend() and queue_policy() in version 5.3 (and only existed with that name during 5.2) has been removed.
The following new deprecation warnings will appear in preparation for future changes. If you need any help to resolve these warnings, please don't hesitate to contact firstname.lastname@example.org.
- The MAIL FROM, RCPT TO and per-message end-of-DATA hooks' GetTLS() functions have been deprecated in favour of using the $connection["tls"] variable.
- The per-message end-of-DATA hook's GetMailMessage() and and GetMailFile() functions have been deprecated in favour of using the $arguments["mail"] variable.
- The per-message end-of-DATA hook's GetAddressList() function has been deprecated in favour of header_addresslist_extract().
- The per-message end-of-DATA hook's DKIMSign(), DKIMSDID() and DKIMVerify() functions has been deprecated in favour of the methods on the MailMessage() class available as the $arguments["mail"] variable.
This is a list of notable changes, in addition to the ones mentioned above. There is a full changelog at Github.
- Queue and delivery
- Scripting language
- SMTP server
halonctl hsl memory listand corresponding
- Settings for max messages, recipients and hops
- Test command for the asynchronous DNS resolver
halonctl resolver query
- High-resolution process runtime counter
- Active queue performance counters
- Script error counters
spool.corruptsetting for controlling handling of bad queue files
- Queue suspend filters with
halonctl queue suspend listand
Changes and improvements
- Improved performance for large active queue policy rate buckets and exclude lists
- Improved SMTP command diagnostics ("in reply to") in bounces
- Added Original-Envelope-ID and Original-Recipient headers to bounces
- Consider all 2xx-codes successful in SMTP client
- File descriptor exhaustion error logging and handling improved
- Custom HTTP API endpoint hosting on the web admin page
- Ability to stop and start
smtpdfrom the services section
- Ability to add custom local DNS records (A/AAAA/MX/TXT and PTR) to built-in DNS resolver
- Ability to sort and search by finished (rather than received) time in message history
- Firewall rules (
ipfw) may now be added to
- Updated to FreeBSD 12.2-RELEASE with quarterly packages