Today, we pushed a large update of our official .Net client to the Nuget.org feed. Since this is a big update, we’ve written an upgrade guide to help you transition from v1.6 to v2.0, as well as additional wiki documentation to cover all the new features in the client. We expect that for most users of the library, this update will require minimal-to-no changes to your code.
We are very excited to share the list of improvements with you:
- Complete Postmark API coverage. Everything you can do with our REST API can be done from the 2.0 client. This is a massive leap forward in the capabilities of the Postmark.Net client.
- Full async/await support. Async/await support is critical in building non-blocking applications. The updated client uses the Task-based async paradigm that was introduced in .Net 4.5 to allow for simpler asynchronous programming.
- Complete XML Docs. The client will now ship with XML docs for all API functionality. This will allow you to view the docs directly in Visual Studio, by augmenting Intellisense. Of course, we’re very proud of the docs on the web, and they will continue to be available, if you prefer to view them in a browser.
- Removing the dependency on Hammock. Removing dependencies is like deleting legacy code; it just feels good. Removing Hammock allows us to deliver a leaner client library, and may potentially resolve versioning conflicts if you’re using Hammock for other parts of your projects. Under the hood, we’re using HttpClient to interact with the Postmark API.
- Optional parameters are optional. Many of our API endpoints have optional parameters. The client now implements one method for each of the endpoints, with required parameters as the first arguments, and the optional parameters following them. By taking this approach, we can substantially reduce the total number of methods you’ll need to learn and filter through.
- Adopting Semantic Versioning. With this release, we’re (officially) adopting Semantic Versioning. This means that when the major version is incremented, there may be breaking changes.
If you’re using one of the .Net profiles listed above, or .Net 4.5 on your projects, the new client will require small modifications to your existing code. If you’re targeting an older version of .Net ( <= 4.0 ), the 1.6 client will continue to be packaged in the NuGet package, and no modifications to your code will be required.
We look forward to making additional improvements to the client, and getting your feedback on ways that we can enhance the .Net client to make your life easier.