What's new
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.
Upgrade notes
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.
Important changes
- 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.
Deprecation warnings
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 support@halon.io.
- 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.
Changelog
This is a list of notable changes, in addition to the ones mentioned above. You can find the full changelog here.
Added
- Queue and delivery
- DSN extension support
- Outbound PROXY protocol support
- Ability to choose source IP selection via
sourceip_random(useful for IP warmup)
- Scripting language
- Function generators and
yield Map()andSet()data container classes- New
base32_encodeand decode functions - New
url_encodeand decode functions - Fraction of second in
sleep() - Added
unix_socket_pathoption tohttp()function - Added
senderoption andscantimeresult toScanSA()function
- Function generators and
- SMTP server
- New
halonctl hsl memory listand correspondingHSLMemoryListRequestAPI - Settings for max messages, recipients and hops
- Test command for the asynchronous DNS resolver
halonctl resolver query - High-resolution process runtime counter
process.elasped - Active queue performance counters
queue.pickup.X - Script error counters
servers.X.scripts.Y.errors - New
spool.corruptsetting for controlling handling of bad queue files - Queue suspend filters with
halonctl queue suspend listandSuspendRequestAPI
- New
Changes and improvements
- Improved performance for large active queue policy rate buckets and exclude lists
- Improved
smtpdprocess shutdown - 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
Integrated package
- 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/cfg/rc.halonstartup script - Updated to FreeBSD 12.2-RELEASE with quarterly packages
Comments
0 comments
Article is closed for comments.