Skip to content

Releases: d--j/go-milter

v0.10.1

23 Aug 20:42
9e938fa

Choose a tag to compare

What's Changed

Full Changelog: v0.10.0...v0.10.1

v0.10.0

10 Apr 16:40
ab271d1

Choose a tag to compare

BREAKING CHANGES:

  • One Milter instance will now handle one milter connection. It must be able to handle multiple messages. To facilitate this, a new method NewConnection was added to the Milter interface.
  • TheCleanup method of Milter implementations now get passed in a read-only Modifier.
  • The struct Modifier was changed to an interface Modifier. All Milter implementations need to use m milter.Modifier instead of m *milter.Modifier in their arguments. This improves the testability of Milter implementations, since you can easily create mock Modifier implementations that can be passed in to your own Milter implementations (that was not possible before). See mailfilter/backend_test.go for an example.
  • Modifier.Macros.Get and Modifier.Macros.GetEx are now Modifier.Get and Modifier.GetEx
  • the default read timeout for Server changed from 10 seconds to 0 seconds. The 10 seconds default was actually not used - we always used 0 (no timeout) before, so this should not really be a breaking change.

Other changes:

  • Modifier got new methods:
    • MilterId: Returns a unique, incrementing identifier for this milter
    • Version: The negotiated milter version (most probably 6)
    • Actions: The negotiated milter actions
    • Protocol: The negotiated milter protocol options
    • MaxDataSize: The negotiated maximum packet size
  • added Server.MilterCount and mailfilter.MailFilter.MilterCount. They return the number of successfully negotiated milter connections that this server accepted so far.
  • added integration.TestServer to test milter.Milter based mail filters.

Bug fixes:

  • The mock MTA (integration tests) now is much more well-behaving
  • mailfilter.MailFilter had an error when multiple SMTP messages were processed, all messages after the first one did not get their modifications applied (Sendmail only). Only happened when you used WithDecisionAt other than DecisionAtEndOfMessage.
  • WithReadTimeout & WithWriteTimeout now actually work for Server. Previously they were silently ignored, and we always used 0 (no timeout).

Full Changelog: v0.9.3...v0.10.0

v0.9.3

03 Apr 16:51
8a5bca7

Choose a tag to compare

What's Changed

Full Changelog: v0.9.2...v0.9.3

v0.9.2

29 Mar 23:35
a5cc4b7

Choose a tag to compare

What's Changed

  • Extended Error Codes fixes & Graceful Shutdown by @d--j in https://github.com/d--j/go-milter/pull/30
    • introduce milter.Milter.Shutdown and mailfilter.Mailfilter.Shutdown for graceful server shutdowns
    • new options mailfilter.WithHeader and mailfilter.WithBody to configure header/body collection.
    • many documentation changes, new tests and bugfixes

Full Changelog: v0.9.1...v0.9.2

v0.9.1

25 Mar 16:40
d1f06aa

Choose a tag to compare

What's Changed

Full Changelog: v0.9.0...v0.9.1

v0.9.0

17 Mar 15:17
972c7f7

Choose a tag to compare

What's Changed

Full Changelog: v0.8.5...v0.9.0

v0.8.5

07 Jan 14:22
51c5450

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.8.4...v0.8.5

v0.8.4

28 Dec 19:29
355edc3

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.8.3...v0.8.4

v0.8.3

14 Sep 12:22
f4e3ac5

Choose a tag to compare

What's Changed

Full Changelog: v0.8.2...v0.8.3

v0.8.2

12 Apr 17:03
a988b8e

Choose a tag to compare

What's Changed

Full Changelog: v0.8.1...v0.8.2