Skip to main content

Momentum 4.3.0 Changelog

Last updated April 2020

Momentum 4.3.0 was released on 2019-03-31. This section will list all of the major changes that happened with the release of Momentum 4.3.0. Depending on installation type, all changes may not be applicable

TypeTicketDescription
FeatureMO-7806Added support for DSN for outbound messages
FeatureSD-258Updated the 'hot domains' configuration to the current top 20 domains
FeatureSD-13Upgraded sqlite to address vulnerability cve-2018-8740
FeatureTR-738Added X-MSYS-ASYNC-GEN header field to enable async message generation for single-recipient messages
FeatureSD-598Modified OpenDKIM to enable signing of messages with long (>1024 characters) lines in their message bodies
FeatureSD-171Updated third part packages (gmp, nettle, and gnutls) to latest version for performance and security fixes
FeatureSD-179Updated third part package (jemalloc) to latest version for performance and security fixes
FeatureTR-3Added sending of DSN delivery notifications for delivery 'SUCCESS' and temporary fails 'DELAY' options
FeatureMO-7502Updated Rollup MX cache when DNS changes
FeatureSD-338Patched OpenDKIM to fix a parsing bug that resulted in failed DKIM validation of some messages
FeatureSD-373Fixed OpenDKIM canonicalization bug that resulted in faulty header signature calculations for some messages
FeatureSD-445Corrected ILF logger message count to ignore messages transferred with mmove
FeatureSD-626Changed SPF validation to support multiple or recursive redirects
EnhancementMO-5874Added msys-role-mta-versioned meta rpm for rpm install/upgrade not using yum
EnhancementMO-5407Removed support for the Momentum 4.0 APIs (v0 APIs)
EnhancementMO-7690Added tls_fallback_always_new_connection config option to force a new connection when remote server rejects the STARTTLS request (default = true)
EnhancementMO-6913Added Milestone entries to the Paniclog for system start, stop, and configuration reload
EnhancementMO-7721Added logging of console command executions (CONSOLE type, INFO level, off by default)
EnhancementSD-217Set TLS connection context variables unconditionally
EnhancementSD-237Improved memory allocation tracking for fixed size allocations
EnhancementSD-252Added details of thread to logging of event state errors
EnhancementSD-209Changed adaptive log outputs to reduce confusion
EnhancementSD-299Moved adaptive delivery periodic check off of the master scheduler thread
EnhancementSD-315Made HTTP Client resistant to missing HTTP response string
EnhancementTR-775Added thread name to trace file entries
EnhancementTR-146Added ability to tune the frequency of spare Lua thread cleanup
EnhancementTR-299Added trace_block_mutators statistics logging and added a new ec_console 'scriptlet threads stats' section
EnhancementTR-323Disabled unnecessary Lua garbage collection to improve API latency
EnhancementTR-102Fix incorrect 500 error code in case of transmissions API input not formatted as a json object
EnhancementTR-287Ensured that all caches have names and appear in the 'cache list all' console command's output
EnhancementTR-96Removed the obsolete pre_gen_sched configuration setting in favor of the msg_gen
EnhancementTR-222Improved efficiency of mail queue hooks in Lua by allowing resuse of Lua threads
EnhancementTR-603Deferred creation of Lua thrads until job start
EnhancementTR-700Limited time spent cleaning up Lua Interned variables
EnhancementTR-701Removed some unused distributed message generation code
EnhancementTR-834Added inclusion of dns-cache statistics in Gimli traces
EnhancementTR-957Added configuration option (templates list_limit) to the number of returns from the Templates API list operation
EnhancementSD-138Added console command to reset threadpool statistics
EnhancementSD-147Renamed is_scheduler_thread() to is_master_scheduler() and is_a_scheduler_thread() to is_event_loop() to limit confusion. The is_scheduler_thread function is maintained for backward compatability, but will generate a compiler warning when used
EnhancementSD-155Changed log messages to distinguish between message expiration and message exceeded max retries
EnhancementSD-2Added callback thread name to the output of the 'threads cpu queue' ec_console command
EnhancementSD-56Added configuration option (Max_Resident_Messages_Per_Binding) as a default limit setting for all bindings
EnhancementSD-591Added logging of the MX in delivery events
EnhancementSD-66Added an API to the DSN module to enable custom code rewrite/add/get/remove of recipient addresses and to enable copying of DSN recipient options to another message
EnhancementTR-121Added 'threads busy' and 'threads stats' commands to ec_console
EnhancementTR-147Added additional information to the output of the 'scriptlet thread stats' command in ec_console
EnhancementTR-151Added warn_on_log_gc mesc option to the scriptlet moduel to enable logging to the paniclog when Lua garbage collection takes too long
EnhancementTR-153Enhanced gstack script to show threadpool and event loop names
EnhancementTR-161Moved Lua thread destruction into a separate threadpool to reduce master thread lock contention
EnhancementTR-162Changed Lua thread destruction to move inherited objects into separate threads, rather than the master thread to limit garbage collection lock time
EnhancementTR-166Added ability to suppress includion of a list of idle or uninteresting callstack signatures in gstack_ecelerity
EnhancemnetTR-168Changed Lua thread management to force thread destruction in msg_gen
EnhancementTR-205Improve efficiency of synchronous message generation to reduce API latency
EnhancementTR-210Improve efficiency of asynchronous message generation to reduce API latency
EnhancementTR-211Share template content lua function handles between transmissions and msg_gen to increase efficiency
EnhancementTR-229Included ecelerity version in Milestone: Startup beginning log statement
EnhancementTR-280Improved efficiency of link rendering
EnhancementTR-301Optimize Lua String Interning to only act on short strings
EnhancementTR-59Shut down listeners earlier in shutdown process to prevent accepting new connections during shutdown
EnhancementTR-203Transmission API latency improvements
EnhancementSD-114Include the msys-opendkim-devel package in release bundles
FixMO-6817Convert bare <CR> to <CR><LF> in text and html contexts prior to dkim signing
FixMO-7474Corrected initial_open HTML content to address spacing and pre-header issues
FixMO-7159Fixed display of the Ecelerity version in ec_console
FixMO-7575Removed use of non-existent validate_accept hook that resulted in paniclog messages
FixMO-7567Fixed memory leak when using the msys.dnsLookup Lua API with Momentum
FixMO-7741Fixed incorrect rejection logging when sender keeps connection open after sending, but sends no more messages
FixMO-7827Add config option for message generation's maximum reuse of a Lua thread, default = 400
FixMO-7779Corrected logging of negative time values for the time the message spent enqueued
FixMO-7885Removed trailing NULL byte from SMTP PLAIN Auth
FixSD-197Fixed unbound DNS crash when processing long domain names
FixSD-233Fixed bug that caused messages to be put into delay queue when auth changes on an outbound connection
FixSD-169Corrected issue where adaptive delivery could attempt an expired message
FixSD-126Corrected a bug which could cause a suspended message being retried before suspension exipration time
FixSD-194Corrected bug where bounce_pattern was being ignored when bounce_domains matched
FixSD-310Corrected race condition in SPF parser
FixSD-318Fixed infinite loop in adaptive delivery
FixSD-328Fixed memory leak in event handling
FixSD-342Corrected handling of boolean options in X-MSYS-API header
FixSD-308Fixed a Lua error that resulted in crashes when calling into Lua core_log_rejection hooks
FixSD-463Fixed issue with config reload when tls_session_reuse module is loaded
FixSD-589Fixed an issue reulting in some messages being retried multiple times at expiration time
FixSD-595Changed milestone logging in the panic log to Notice rather than Error level
FixTR-273Prevent scenario where ecelerity Lua garbage collection can deadlock
FixTR-353Prevented global trace from beginning before a previous garbage collection has completed
FixMO-7255Make rerouting an enqueued message in smpp module supercharger compatible
FixSD-356Fixed a potential crash when email gets rerouted
FixMO-7189Fixed a bug that could result in an attempt to close a connection twice
FixSD-134Fixed a bug where adaptive delivery wasn't respecting adaptive_positive_adjustment_interval
FixSD-160Fixed SMTP Outbound AUTH for PLAIN type on connection re-use
FixSD-20Unconditionally reset the connection context variables when re-using a TLS session
FixSD-21Fixed adaptive delivery handling of the outbound_throttle_messages setting
FixSD-212Fixed buffer overflow crash caused by very long form domain name in feedback loop messages
FixSD-63Fixed a bug that could result in re-using connections for messages with differing credentials
FixSD-65Fixed adaptive rule overrid so that custom argument mode doesn't override system rules
FixSD-75Fixed unintentional flooring of queue times in mainlog entries that resulted in decimal fraction always being 00
FixSD-93Added setting of correct error code when an Out Of Band message is blackholed
FixTR-1014Fixed Gimli unable to read 8 bytes at <address> errors
FixTR-1022Changed Glider thread numbering to start at 1
FixTR-163Fixed threadpool annotation in gstack_ecelerity to deal with 4 digit PIDs
FixTR-181Fixed ectop thread sorting so that CPU usage is shown in the correct order
Was this page helpful?