Skip to content
Aaron Sherber edited this page Apr 1, 2018 · 6 revisions

Although v2 of this library worked fine for most uses, there were some issues with the architecture, and it lacked a proper test suite. v3 adds in unit and integration tests, squashes some bugs, adds .NET Standard 2.0 compatibility, and makes some other significant changes. Many of these are breaking changes, although since the overall design remains the same, it shouldn't be very complicated to transition.

Among the visible changes are:

  • All library options are now fully async. Non-async methods have been removed.
  • The file format for saved configuration has been changed from XML to JSON.
  • MailmanClient used to be a descendant of RestClient and exposed all of that class's public properties. It now has a RestClient as a private field and exposes (and delegates) only certain properties, like Authenticator and Proxy.
  • All value type properties are now nullable. This is because the library is kept up to date with the latest Mailman v2.1.x, but users may be running it against an older version that lacks some properties. Without nullable properties, doing a ReadAsync() would result in properties misleadingly being assigned a default value if the corresponding field doesn't exist in that version of Mailman.
  • v2 used to treat all <textarea> fields in Mailman as List<string>, but v3 distinguishes between those which are really a string (like General.Info) and those which are lists (like General.Moderator).
Clone this wiki locally