All Versions
18
Latest Version
Avg Release Cycle
105 days
Latest Release
1598 days ago

Changelog History
Page 2

  • v4.0.3

    August 17, 2017
  • v4.0.2

    August 16, 2017
  • v4.0.1

    December 10, 2016
  • v4.0.0 Changes

    November 13, 2016

    Issue Tracker

    โž• Added

    • ๐Ÿ†• New slimta.util functions for limiting outbound connections to IPv4.
    • New socket_error_log_level variable for better log level control.

    ๐Ÿ”„ Changed

    • Constructors and functions that took a tls dictionary now take a context
      ๐Ÿ“„ argument that should be an SSLContext object. This allows finer
      control of encryption behavior, as well as the ability to pre-load sensitive
      certificate data before daemonization.
    • Client connections will now be opportunistic and try to use TLS if it is
      ๐Ÿ”ง available, even if a key or cert have not been configured.
    • The AUTH SMTP extension will now advertise insecure authentication
      mechanisms without TLS, but trying to use them will fail.
    • ๐Ÿšš Moved the slimta.system module to slimta.util.system to de-clutter the
      top-level namespace.

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed a possible race condition on enqueue.
    • ๐Ÿ›  Fixed exception when given empty EHLO/HELO string.
    • ๐Ÿ›  Fixed the fallback from EHLO to HELO in certain situations.
    • โœ… The session.auth variable now correctly contains the tuple described
      ๐Ÿ“š in the documentation.
  • v3.2.4

    November 11, 2016
  • v3.2 Changes

    May 16, 2016

    โž• Added

    • ๐Ÿ“œ The [parseline][5] function is now exposed and documented.
    • ๐ŸŒฒ The slimta.logging.log_exception function may now be replaced with custom functions, for special error handling scenarios.

    ๐Ÿ”„ Changed

    • โœ… Unit tests are now run with py.test instead of nosetests.
    • ๐ŸŒฒ Exception log lines will now include up to 10,000 characters of the traceback string.
    • Socket errors are no longer logged as unhandled errors and do not include a traceback.
    • socket.gaierror failures are now caught and ignored during PTR lookup.

    ๐Ÿ›  Fixed

    • Correctly set an empty greenlet pool in EdgeServer constructor.
    • Corrected a potential duplicate relay scenario in Queue.
    • Reply encoding and decoding now works correctly in Python 2.x.
    • ๐Ÿ›  Fixed httplib imports in Python 3.3.
  • v3.1 Changes

    February 04, 2016

    โž• Added

    • QueueError objects may now set the reply attribute to tell edge services what happened.
    • SMTP servers now advertize SMTPUTF8 and clients will now use UTF-8 sender and recipient addresses when connected to servers that advertize it.
    • When creating an edge or relay service, now checks for the existence of any given TLS key or cert files before proceeding.
    • ๐Ÿ‘Œ Support for [proxy protocol][1] version 2 and version auto-detection.

    โœ‚ Removed

    • Dependence on [six][4] for Python 2/3 compatibility.

    ๐Ÿ”„ Changed

    • The builtin edges now use 451 codes when a QueueError occurs, rather than 550.
    • โœ… The Bounce class header and footer templates may now be bytestrings.
    • โœ… Envelope.flatten now returns bytestrings on Python 3, to avoid unnecessary encoding and decoding of message data.

    ๐Ÿ›  Fixed

    • Correctly throws PermanentRelayError instead of ZeroDivisionError for SMTP MX relays when DNS returns no results.
  • v3.0 Changes

    December 19, 2015

    โž• Added

    • Compatibility with Python 3.3+.
    • ๐Ÿ‘ Proxy protocol version 1 support on edge services.
    • Dependence on pycares for DNS resolution.
    • ๐Ÿ‘Œ Support for the socket_creator option to control how sockets are created during SMTP relaying.
    • ๐Ÿ‘Œ Support for ehlo_as functions to allow custom EHLO logic on each delivery attempt.
    • ๐Ÿ‘Œ Support for a new handle_queued callback on SMTP edges, to control the reply code and message based on queue results.

    โœ‚ Removed

    • Compatibility with Python 2.6.x.
    • Dependence on dnspython for DNS resolution.

    ๐Ÿ”„ Changed

    • Relay results that were returned as a list are now returned as a dict, keyed on the envelope recipients.

    ๐Ÿ›  Fixed

    • During SMTP relaying, timeouts and other errors will more consistently return the current SMTP command where the error happened.
    • Setting a reply code to 221 or 421 in an SMTP edge session will now result in the connection closing.

    โœ… [5]: https://slimta.org/en/latest/api/slimta.logging.html#slimta.logging.parseline

    ๐Ÿ“„ [7]: https://docs.python.org/2.7/library/ssl.html#ssl.SSLContext โœ… [8]: https://slimta.org/en/latest/api/slimta.edge.smtp.html#slimta.edge.smtp.SmtpValidators.session โœ… [9]: https://slimta.org/en/latest/api/slimta.edge.smtp.html#slimta.edge.smtp.SmtpEdge

    โœ… [11]: http://slimta.org/en/latest/api/slimta.edge.wsgi.html#slimta.edge.wsgi.WsgiEdge โœ… [12]: http://slimta.org/en/latest/api/slimta.util.proxyproto.html โœ… [13]: http://slimta.org/en/latest/api/slimta.relay.smtp.static.html#slimta.relay.smtp.static.StaticLmtpRelay โœ… [14]: http://slimta.org/en/latest/api/slimta.relay.pipe.html