mailslurp 16.2.1

dotnet add package mailslurp --version 16.2.1
                    
NuGet\Install-Package mailslurp -Version 16.2.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="mailslurp" Version="16.2.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="mailslurp" Version="16.2.1" />
                    
Directory.Packages.props
<PackageReference Include="mailslurp" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add mailslurp --version 16.2.1
                    
#r "nuget: mailslurp, 16.2.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=mailslurp&version=16.2.1
                    
Install mailslurp as a Cake Addin
#tool nuget:?package=mailslurp&version=16.2.1
                    
Install mailslurp as a Cake Tool

MailSlurp C# Client

Create real email addresses on demand. Send and receive emails and attachments from code and tests using CSharp (C# DotNet Core).

MailSlurp is an email API service that lets you create real email addresses in code. You can then send and receive emails and attachments in C# applications and tests.

// create client
var config = new Configuration();
config.ApiKey.Add("x-api-key", ApiKey);

// create inboxes
var inboxControllerApi = new InboxControllerApi(config);
var inbox1 = inboxControllerApi.CreateInbox();
var inbox2 = inboxControllerApi.CreateInbox();

// send email
inboxControllerApi.SendEmail(inbox1.Id, new SendEmailOptions(
    to: new List<string> { inbox2.EmailAddress },
    subject: "Test CSharp",
    body: "<span>Hello</span>",
    isHTML: true
));

// receive email with wait controller
var email = new WaitForControllerApi(config).WaitForLatestEmail(inbox2.Id, 60000, true);
StringAssert.Contains(email.Body, "Hello");

// list emails in inbox
var emails = inboxControllerApi.GetInboxEmailsPaginated(inbox2.Id);
Assert.AreEqual(emails.TotalElements, 1);

Video

Csharp email tutorial

Tutorials

Get started

This section describes how to get up and running with the CSharp client. The client targets DotNet-Core 2.1 and greater. If you need a different target see the .NET Standard targets below or consider calling the REST API.

See the method documentation for a list of all functions

Create API Key

First you'll need an API Key. Create a free account and copy the key from your dashboard.

Install NuGet Package

MailSlurp's CSharp library is hosted on NuGet.

dotnet add mailslurp

With .NET CLI
dotnet add package mailslurp
dotnet restore

Package Manager

Install-Package mailslurp

Configure client

Once your MailSlurp package is installed you can import the package like so:

using mailslurp.Api;
using mailslurp.Client;
using mailslurp.Model;

Then configure a client with using your API Key.

var configuration = new Configuration();
configuration.ApiKey.Add("x-api-key", YOUR_API_KEY);
configuration.Timeout = 120_000;

Create controllers

You can call API controllers using the corresponding ControllerApi classes.

var apiInstance = new InboxControllerApi(_configuration);

Common controllers

Email usage examples

MailSlurp has many functions. Here are some common uses:

Create an inbox

Inboxes have an ID and a real email address. You can create them using the InboxController. For more information see the creating inboxes guide.

var inboxController = new InboxControllerApi(_configuration);
var inbox = inboxController.CreateInboxWithDefaults();
Assert.That(inbox.EmailAddress, Does.Contain("@mailslurp"));

Inbox options

var options = new CreateInboxDto(
    name: "Test inbox",
    inboxType: CreateInboxDto.InboxTypeEnum.SMTPINBOX
);
var inbox = inboxController.CreateInboxWithOptions(options);
Assert.That(inbox.EmailAddress.Contains("@mailslurp"), Is.True);

Get an inbox

// get by id
var inboxDto = inboxController.GetInbox(inbox.Id);
// get by name
var inboxByName = inboxController.GetInboxByName(inboxDto.Name);
Assert.That(inboxByName.Exists, Is.True);
// get by email address
var inboxByEmailAddress = inboxController.GetInboxByEmailAddress(inboxDto.EmailAddress);
Assert.That(inboxByEmailAddress.Exists, Is.True);

Access mailbox using SMTP client

You can access inboxes via IMAP and SMTP:

var imapSmtpAccess = inboxController.GetImapSmtpAccess(inbox.Id);
Assert.Multiple(() =>
{
    Assert.That(imapSmtpAccess.SecureSmtpServerHost, Is.Not.Null);
    Assert.That(imapSmtpAccess.SecureSmtpServerPort, Is.GreaterThan(0));
    Assert.That(imapSmtpAccess.SecureSmtpUsername, Is.Not.Null);
    Assert.That(imapSmtpAccess.SecureSmtpPassword, Is.Not.Null);
});

Send with SMTP client

var smtpClient = new SmtpClient(imapSmtpAccess.SecureSmtpServerHost)
{
    Port = imapSmtpAccess.SecureSmtpServerPort,
    Credentials = new NetworkCredential(userName: imapSmtpAccess.SecureSmtpUsername,
        password: imapSmtpAccess.SecureSmtpPassword),
    EnableSsl = true
};
// smtpClient.Send(...);

Can list inboxes

Inboxes are listed in paginated format:

var inboxes = inboxController.GetAllInboxes(page: 0, size: 10);
Assert.Multiple(() =>
{
    // pagination
    Assert.That(inboxes.Pageable.PageNumber, Is.EqualTo(0));
    Assert.That(inboxes.Pageable.PageSize, Is.EqualTo(10));
    // inboxes 
    var inboxItem = inboxes.Content.First();
    Assert.That(inboxItem.EmailAddress, Is.Not.Null);
});

See the InboxController docs for help.

Delete an inbox

inboxController.DeleteInbox(inbox.Id);

Verify email address

Validate email recipients to maintain a good sender reputation and reduce bounces.

var verificationController = new EmailVerificationControllerApi(_configuration);
var emails = new List<string>
{
    "contact@mailslurp.dev",
    "bad@mailslurp.dev"
};
var result = verificationController.ValidateEmailAddressList(new ValidateEmailAddressListOptions(emails));
Assert.Multiple(() =>
{
    Assert.That(result.InvalidEmailAddresses, Does.Contain("bad@mailslurp.dev"));
    Assert.That(result.ValidEmailAddresses, Does.Contain("contact@mailslurp.dev"));
});

Upload attachments

To send attachments first upload them. The method returns a list of attachment IDs that can be used when sending.

var attachmentController = new AttachmentControllerApi(_configuration);
var uploadOptions = new UploadAttachmentOptions(
    contentType: "text/plain",
    filename: "test.txt",
    base64Contents: Convert.ToBase64String("hello world"u8.ToArray())
);
var attachmentIds = attachmentController.UploadAttachment(uploadOptions);

Send emails

You can send an email by first creating an inbox. Then use the inbox ID to send an email from it.

var sendEmailOptions = new SendEmailOptions
{
    To = new List<string>() { recipient.EmailAddress },
    Subject = "Hello friend",
    Body = "<h1>MailSlurp supports HTML</h1>",
    Attachments = attachmentIds,
    UseInboxName = true
};
var sentEmail = inboxController.SendEmailAndConfirm(inbox.Id, sendEmailOptions);
Assert.That(sentEmail.Subject, Does.Contain("Hello"));

See the SendEmailOptions for sending options.

Receive emails

You can fetch and read emails that already exist using the EmailControllerApi. To wait for expected emails to arrive use the WaitForControllerApi to wait for conditions to be met.

You can receive emails using waitFor methods on the WaitForControllerApi class.

var inboxId = recipient.Id;
var waitForController = new WaitForControllerApi(_configuration);
var email = waitForController.WaitForLatestEmail(inboxId: inboxId, timeout: 60_000, unreadOnly: true);
Assert.That(email.Body, Does.Contain("MailSlurp supports HTML"));

You can extract content from email bodies using RegExps:

// imagine that email body is `Your code is: 123` and you want to get the number
var rx = new Regex(@"Your code is: ([0-9]{3})", RegexOptions.Compiled);
var match = rx.Match(email.Body);
var code = match.Groups[1].Value;

Assert.Equal("123", code);

If you are having trouble receiving emails please see the email receiving guide or the inbox not receiving support page.

Email matching

You can wait for matching emails like so:

var matchOptions = new MatchOptions(
    conditions: new List<ConditionOption>
    {
        new(
            condition: ConditionOption.ConditionEnum.HASATTACHMENTS,
            value: ConditionOption.ValueEnum.TRUE
        )
    },
    matches: new List<MatchOption>
    {
        new(
            field: MatchOption.FieldEnum.FROM,
            should: MatchOption.ShouldEnum.EQUAL,
            value: sender
        )
    });
var matchingEmails = waitForController.WaitForMatchingEmails(inboxId: inboxId, timeout: 60_000, count: 1,
    matchOptions: matchOptions);
Assert.That(matchingEmails.First().Subject, Does.Contain("Hello"));

Fetch email by ID

var emailController = new EmailControllerApi(_configuration);
var fullEmail = emailController.GetEmail(email.Id);
Assert.That(fullEmail.Attachments, Has.Count.EqualTo(1));

Get sent emails

[TestMethod]
public void Can_Get_Sent_Emails()
{
    
    var sentEmailsControllerApi = new SentEmailsControllerApi(_config);
    var inboxControllerApi = new InboxControllerApi(_config);
    
    var inbox = inboxControllerApi.CreateInbox();
    var sentEmails = sentEmailsControllerApi.GetSentEmails(inboxId:inbox.Id, page:0, size: 20);
    
    Assert.IsNotNull(sentEmails.Content);
    Assert.IsNotNull(sentEmails.TotalPages);
    Assert.AreEqual(sentEmails.Pageable.PageNumber, 0);
    Assert.AreEqual(sentEmails.Pageable.PageSize, 20);
}

Extract email content

You can extract content using pattern matching with the WaitForController

[TestMethod]
public void Can_Extract_Codes()
{
    
    // create an inbox
    var inboxControllerApi = new InboxControllerApi(_config);
    var inbox = inboxControllerApi.CreateInbox();
    
    // send a code to the inbox
    var sendEmailOptions = new SendEmailOptions(
        to: new List<string>() {inbox.EmailAddress},
        subject: "Welcome email",
        body: "Hello. Your code is X-456"
    );
    inboxControllerApi.SendEmail(inbox.Id, sendEmailOptions);
    
    // wait for the email to arrive
    var waitForController = new WaitForControllerApi(_config);
    var emailController = new EmailControllerApi(_config);
    var email = waitForController.WaitForLatestEmail(inboxId:inbox.Id, timeout: 30000, unreadOnly: true);
    StringAssert.Contains(email.Body, "Hello");
    
    // extract the code
    var matchOptions = new ContentMatchOptions(pattern:"Your code is ([A-Z]-[0-9]{3})");
    var matchResults = emailController.GetEmailContentMatch(email.Id, matchOptions);
    Assert.AreEqual(matchResults.Matches[1], "X-456");
}

SDK Documentation

See the GitHub source code for more Method Documentation.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
16.2.1 435 6/9/2025
16.2.0 245 6/9/2025
16.1.5 197 6/8/2025
16.1.4 192 6/8/2025
16.1.3 501 5/26/2025
16.1.2 160 5/26/2025
16.1.1 95 5/24/2025
16.1.0 188 5/22/2025
16.0.8 155 5/22/2025
15.19.22 14,061 6/3/2024
15.19.21 1,548 5/13/2024
15.19.20 135 5/13/2024
15.19.19 145 5/13/2024
15.19.18 122 5/13/2024
15.19.17 129 5/12/2024
15.19.16 131 5/12/2024
15.19.14 239 5/9/2024
15.19.13 465 5/3/2024
15.19.12 641 5/2/2024
15.19.11 267 4/30/2024
15.19.10 149 4/30/2024
15.18.5 2,676 3/5/2024
15.18.4 161 3/2/2024
15.18.3 140 3/2/2024
15.18.2 160 3/2/2024
15.18.1 137 3/2/2024
15.18.0 238 2/29/2024
15.17.41 4,623 2/16/2024
15.17.40 2,733 2/13/2024
15.17.39 171 2/11/2024
15.17.38 148 2/11/2024
15.17.37 139 2/11/2024
15.17.36 151 2/11/2024
15.17.34 139 2/11/2024
15.17.33 3,657 1/24/2024
15.17.32 127 1/24/2024
15.17.31 138 1/24/2024
15.17.30 130 1/23/2024
15.17.29 127 1/23/2024
15.17.28 137 1/23/2024
15.17.27 133 1/23/2024
15.17.26 135 1/23/2024
15.17.25 132 1/23/2024
15.17.17 25,070 6/12/2023
15.17.16 223 6/12/2023
15.17.15 207 6/12/2023
15.17.14 206 6/12/2023
15.17.13 193 6/12/2023
15.17.12 212 6/12/2023
15.17.11 204 6/12/2023
15.17.10 221 6/12/2023
15.17.5 6,213 4/5/2023
15.17.4 311 3/26/2023
15.17.3 297 3/24/2023
15.17.2 303 3/22/2023
15.17.1 719 3/9/2023
15.17.0 325 3/7/2023
15.16.22 391 2/20/2023
15.16.21 349 2/18/2023
15.16.20 338 2/18/2023
15.16.19 346 2/18/2023
15.16.18 330 2/18/2023
15.16.17 341 2/18/2023
15.16.16 340 2/18/2023
15.16.15 339 2/17/2023
15.16.13 331 2/17/2023
15.16.12 341 2/17/2023
15.16.10 367 2/16/2023
15.16.9 357 2/16/2023
15.16.8 347 2/16/2023
15.16.7 346 2/14/2023
15.16.6 342 2/14/2023
15.16.5 2,321 1/20/2023
15.16.4 393 1/20/2023
15.16.3 421 1/17/2023
15.16.2 429 1/17/2023
15.16.1 676 1/17/2023
15.14.0 8,734 9/17/2022
15.13.32 599 9/16/2022
15.13.31 611 9/15/2022
15.13.30 728 9/14/2022
15.13.29 541 8/19/2022
15.13.28 508 8/19/2022
15.13.27 503 8/19/2022
15.13.26 508 8/19/2022
15.13.25 511 8/19/2022
15.13.24 513 8/19/2022
15.13.23 524 8/19/2022
15.13.22 496 8/19/2022
15.13.21 498 8/19/2022
15.13.20 535 8/19/2022
15.13.19 524 8/18/2022
15.13.18 527 8/18/2022
15.13.17 542 8/16/2022
15.13.16 517 8/16/2022
15.13.15 526 8/16/2022
15.13.14 503 8/16/2022
15.13.13 513 8/16/2022
15.13.11 503 8/16/2022
15.13.10 545 8/16/2022
15.13.9 4,165 8/7/2022
15.13.8 519 8/7/2022
15.13.7 528 8/5/2022
15.13.6 541 8/5/2022
15.13.5 522 8/5/2022
15.13.4 517 8/4/2022
15.13.3 522 8/4/2022
15.13.2 520 8/4/2022
15.13.1 562 7/30/2022
15.13.0 589 7/23/2022
15.12.17 650 7/16/2022
15.12.16 1,393 7/12/2022
15.12.15 560 7/8/2022
15.12.14 543 7/4/2022
15.12.13 4,368 7/3/2022
15.12.12 577 7/3/2022
15.12.11 642 7/3/2022
15.12.3 587 7/2/2022
15.12.2 576 7/2/2022
15.12.1 569 7/2/2022
15.12.0 574 7/2/2022
15.11.1 1,369 6/28/2022
15.11.0 2,947 6/10/2022
15.9.0 2,789 5/29/2022
15.8.1 589 5/29/2022
15.8.0 1,299 5/19/2022
15.7.17 663 5/15/2022
15.7.15 1,293 4/30/2022
15.7.14 667 4/28/2022
15.7.13 1,793 4/22/2022
15.7.12 1,452 4/8/2022
15.7.10 604 4/8/2022
15.7.8 1,167 3/23/2022
15.7.7 607 3/22/2022
15.7.5 593 3/22/2022
15.7.4 592 3/22/2022
15.7.1 973 3/7/2022
15.7.0 2,214 3/2/2022
15.6.0 560 3/2/2022
15.5.6 3,689 1/31/2022
15.5.5 612 1/31/2022
15.5.4 1,622 1/29/2022
15.5.3 1,122 1/25/2022
15.5.2 595 1/25/2022
15.5.1 800 1/24/2022
15.5.0 706 1/23/2022
15.4.2 900 1/21/2022
15.4.1 686 1/20/2022
15.4.0 861 1/18/2022
15.3.1 746 1/17/2022
15.3.0 592 1/17/2022
15.2.8 819 1/15/2022
15.2.7 584 1/15/2022
15.2.6 576 1/15/2022
15.2.5 583 1/15/2022
15.2.4 390 1/15/2022
15.2.2 594 1/15/2022
15.2.1 570 1/15/2022
15.2.0 1,188 1/11/2022
15.1.4 579 1/11/2022
15.1.3 455 1/8/2022
15.1.2 415 1/7/2022
15.1.1 744 1/6/2022
15.1.0 423 1/6/2022
15.0.8 459 1/6/2022
15.0.7 401 1/6/2022
15.0.6 396 1/6/2022
15.0.5 411 1/6/2022
15.0.4 418 1/6/2022
15.0.3 3,897 11/1/2021
15.0.2 2,003 10/9/2021
15.0.1 480 10/9/2021
15.0.0 522 10/9/2021
14.0.6 530 10/7/2021
14.0.5 590 10/6/2021
14.0.3 506 10/5/2021
14.0.2 492 10/5/2021
14.0.1 2,459 9/11/2021
14.0.0 559 9/11/2021
13.1.0 746 8/31/2021
13.0.1 627 8/3/2021
13.0.0 524 8/3/2021
12.8.4 680 7/28/2021
12.8.3 511 7/23/2021
12.8.2 529 7/21/2021
12.8.1 546 7/21/2021
12.8.0 568 7/21/2021
12.7.1 493 7/11/2021
12.7.0 531 7/7/2021
12.6.4 520 7/5/2021
12.6.3 551 7/3/2021
12.6.1 604 7/3/2021
12.6.0 522 7/1/2021
12.5.0 489 6/24/2021
12.4.8 555 6/23/2021
12.4.7 545 6/23/2021
12.4.6 525 6/22/2021
12.4.5 530 6/22/2021
12.4.4 555 6/22/2021
12.4.2 502 6/22/2021
12.4.1 511 6/22/2021
12.4.0 531 6/22/2021
12.3.333 516 6/22/2021
12.3.2 548 6/22/2021
12.3.1 501 6/22/2021
12.3.0 540 6/21/2021
12.2.2 491 6/21/2021
12.2.1 539 6/21/2021
12.2.0 1,021 6/18/2021
12.1.3333 548 6/17/2021
12.1.32 537 6/17/2021
12.1.31 500 6/17/2021
12.1.30 527 6/17/2021
12.1.29 498 6/17/2021
12.1.28 500 6/16/2021
12.1.27 558 6/7/2021
12.1.26 532 6/7/2021
12.1.25 521 6/6/2021
12.1.24 561 6/6/2021
12.1.23 510 6/6/2021
12.1.22 535 6/6/2021
12.1.1 520 5/31/2021
12.1.0 580 5/29/2021
12.0.0 771 5/22/2021
11.16666.0 565 5/16/2021
11.15.0 505 5/14/2021
11.14.0 535 5/14/2021
11.13.0 506 5/14/2021
11.12.0 506 5/11/2021
11.11.1 492 5/11/2021
11.11.0 486 5/11/2021
11.10.3 1,158 5/9/2021
11.10.2 562 5/9/2021
11.10.1 529 5/8/2021
11.10.0 522 5/8/2021
11.9.7 519 5/5/2021
11.9.6 485 5/4/2021
11.9.4 487 5/4/2021
11.9.3 523 5/4/2021
11.9.2 539 5/2/2021
11.9.1 517 5/2/2021
11.9.0 528 5/2/2021
11.8.13 553 5/2/2021
11.8.12 516 4/30/2021
11.8.11 517 4/29/2021
11.8.10 505 4/26/2021
11.8.9 528 4/26/2021
11.8.8 514 4/26/2021
11.8.6 521 4/25/2021
11.8.5 524 4/25/2021
11.8.4 508 4/25/2021
11.8.3 537 4/25/2021
11.8.2 522 4/25/2021
11.8.1 525 4/24/2021
11.8.0 515 4/24/2021
11.7.509 546 4/24/2021
11.7.508 573 4/24/2021
11.7.506 519 4/24/2021
11.7.505 496 4/24/2021
11.7.502 493 4/24/2021
11.7.501 532 4/24/2021
11.7.500 525 4/24/2021
11.7.400 566 4/24/2021
11.7.314 568 4/24/2021
11.7.313 507 4/23/2021
11.7.312 517 4/23/2021
11.7.311 529 4/23/2021
11.7.310 546 4/22/2021
11.7.309 542 4/22/2021
11.7.308 528 4/22/2021
11.7.307 511 4/22/2021
11.7.306 503 4/22/2021
11.7.304 513 4/22/2021
11.7.302 514 4/22/2021
11.7.301 526 4/21/2021
11.7.300 539 4/21/2021
11.7.215 523 4/21/2021
11.7.214 514 4/21/2021
11.7.213 528 4/21/2021
11.7.212 521 4/21/2021
11.7.211 505 4/21/2021
11.7.210 504 4/21/2021
11.7.203 532 4/20/2021
11.7.202 539 4/20/2021
11.7.201 546 4/20/2021
11.7.200 501 4/20/2021
11.7.122 476 4/20/2021
11.7.11 521 4/20/2021
11.7.10 561 4/20/2021
11.7.9 529 4/19/2021
11.7.8 577 4/18/2021
11.7.7 554 4/18/2021
11.7.6 527 4/17/2021
11.7.5 558 4/17/2021
11.7.4 574 4/17/2021
11.7.2 531 4/16/2021
11.7.1 529 4/16/2021
11.7.0 20,000 4/15/2021
11.6.24 561 4/15/2021
11.6.23 548 4/14/2021
11.6.22 513 4/14/2021
11.6.21 518 4/14/2021
11.6.20 531 4/14/2021
11.6.19 535 4/13/2021
11.6.18 482 4/13/2021
11.6.16 472 4/13/2021
11.6.15 561 4/13/2021
11.6.14 525 4/13/2021
11.6.13 525 4/12/2021
11.6.12 537 4/12/2021
11.6.11 540 4/11/2021
11.6.10 544 4/9/2021
11.6.9 528 4/9/2021
11.6.8 507 4/8/2021
11.6.7 527 4/8/2021
11.6.6 554 4/8/2021
11.6.5 516 4/8/2021
11.6.4 499 4/8/2021
11.6.3 516 4/8/2021
11.6.2 496 4/8/2021
11.6.1 531 4/8/2021
11.5.2333 530 4/7/2021
11.5.22 549 4/7/2021
11.5.21 523 4/6/2021
11.5.20 3,041 4/2/2021
11.5.12 524 3/31/2021
11.5.11 531 3/30/2021
11.5.10 529 3/29/2021
11.5.9 515 3/29/2021
11.5.8 537 3/29/2021
11.5.7 560 3/29/2021
11.5.6 538 3/28/2021
11.5.5 565 3/28/2021
11.5.4 571 3/28/2021
11.5.3 525 3/28/2021
11.5.2 552 3/28/2021
11.5.1 585 3/28/2021
11.5.0 604 3/28/2021
11.4.25 557 3/2/2021
11.4.24 585 3/2/2021
11.4.23 960 2/18/2021
11.4.22 603 2/13/2021
11.4.0 666 1/29/2021
11.3.0 12,649 1/17/2021
11.2.0 566 1/16/2021
11.1.1 545 1/15/2021
11.1.0 537 1/15/2021
11.0.1 586 1/11/2021
11.0.0 3,001 1/10/2021
9.0.0 919 1/8/2021
8.7.1 2,568 12/21/2020
8.7.0 581 12/21/2020
8.6.0 664 12/21/2020
8.5.5 644 12/20/2020
8.5.4 620 12/20/2020
8.5.3 633 12/19/2020
8.5.2 657 12/15/2020
8.5.1 661 12/15/2020
8.5.0 2,358 12/15/2020
8.4.3 609 12/15/2020
8.4.2 653 12/12/2020
8.4.1 721 12/12/2020
8.4.0 704 12/12/2020
8.3.1 606 12/8/2020
8.3.0 616 12/8/2020
8.2.17 656 12/1/2020
8.2.16 736 11/24/2020
8.2.15 618 11/23/2020
8.2.14 630 11/22/2020
8.2.12 2,327 11/22/2020
8.2.11 713 11/22/2020
8.2.10 605 11/20/2020
8.2.9 613 11/20/2020
8.2.8 616 11/20/2020
8.2.7 601 11/20/2020
8.2.6 607 11/20/2020
8.2.5 626 11/20/2020
8.2.4 615 11/20/2020
8.2.2 671 11/19/2020
8.2.1 825 11/19/2020
8.2.0 659 11/19/2020
8.1.1 595 11/19/2020
8.1.0 610 11/19/2020
8.0.23 665 11/18/2020
8.0.22 683 11/18/2020
8.0.21 734 11/18/2020
8.0.20 660 11/18/2020
8.0.19 834 11/17/2020
8.0.18 589 11/17/2020
8.0.17 579 11/17/2020
8.0.16 628 11/16/2020
8.0.15 660 11/15/2020
8.0.14 684 11/14/2020
8.0.13 908 11/13/2020
8.0.12 591 11/13/2020
8.0.11 614 11/12/2020
8.0.10 791 11/11/2020
8.0.9 753 11/11/2020
8.0.8 713 11/11/2020
8.0.6 609 11/10/2020
8.0.5 600 11/10/2020
8.0.4 638 11/9/2020
8.0.3 636 11/9/2020
8.0.2 659 11/6/2020
8.0.1 676 11/6/2020
7.2.6 641 11/5/2020
7.2.5 626 11/5/2020
7.2.4 612 11/5/2020
7.2.3 632 11/5/2020
7.2.2 609 11/5/2020
7.1.3 3,594 5/1/2020
7.0.16 716 4/30/2020
7.0.15 703 4/30/2020
0.0.3 895 11/5/2019
0.0.2 744 8/29/2019
0.0.1 741 8/29/2019

Minor update