Skip to content

Releases: pact-foundation/pact-net

5.0.0

06 Oct 09:07
Compare
Choose a tag to compare

This version is the same as release 5.0.0-beta.3, and marks the full release of PactNet 5.0.0 with some breaking changes. Please see below for details and refer to the upgrade guide for more.

Breaking Changes

  • feat: Support v4 specification for consumer tests by @adamrodger in #453
  • refactor!: Allow verifier to specify both HTTP and message transports by @adamrodger in #465
  • refactor!: Remove obsolete extension methods by @adamrodger in #466
  • refactor!: Remove obsolete IMessagePact and MessagePact
  • Replaced Newtonsoft with System.Text.Json (see upgrade guide for more info)
  • Increased minimum supported .Net Framework version to 4.6.2

Minor Changes

  • Throw more specific PactVerificationFailedException instead of more generic PactFailureException when veritication is unsuccessful (#505)
  • Marked MacOS ARM architecture as fully supported
  • docs: point to new workshop link by @YOU54F in #517

Internal Changes

  • Upgraded tests to .Net 8 and .Net Frame 4.6.2
  • Upgraded to latest FFI
  • Find unused ports for the messaging server more efficiently

Full Changelog: 4.5.0...5.0.0

Thanks to @mefellows, @YOU54F, @flakey-bit and the thousands of you that have helped to beta test all of the breaking changes ❤️

5.0.0-beta.3

08 Sep 13:59
Compare
Choose a tag to compare
5.0.0-beta.3 Pre-release
Pre-release

NOTE: This version is expected to be the final beta version before full release. No blocking issues remain open

Full Changelog: 5.0.0-beta.2...5.0.0-beta.3

  • Upgrade to FFI 0.4.23
  • More robust messaging server launching on MacOS
  • Throw more specific PactVerificationFailedException instead of more generic PactFailureException when veritication is unsuccessful (#505)

5.0.0-beta.2

15 Feb 17:48
Compare
Choose a tag to compare
5.0.0-beta.2 Pre-release
Pre-release

Full Changelog: 5.0.0-beta.1...5.0.0-beta.2

  • Replaced Newtonsoft with System.Text.Json (see upgrade guide for more info)
  • Increased minimum supported .Net Framework version to 4.6.2
  • Marked MacOS ARM architecture as fully supported
  • Upgraded to FFI 0.4.16
  • Upgraded tests to .Net 8 and .Net Frame 4.6.2
  • Find unused ports for the messaging server more efficiently

5.0.0-beta.1

29 Jun 07:26
Compare
Choose a tag to compare
5.0.0-beta.1 Pre-release
Pre-release

What's Changed

  • feat: Support v4 specification for consumer tests by @adamrodger in #453
  • refactor!: Allow verifier to specify both HTTP and message transports by @adamrodger in #465
  • refactor!: Remove obsolete extension methods by @adamrodger in #466

Full Changelog: 4.5.0...5.0.0-beta.1

4.6.0-beta.1

02 May 10:42
Compare
Choose a tag to compare
4.6.0-beta.1 Pre-release
Pre-release

⚠️ This release is here for completeness because it was actually pushed to nuget.org, but version 4.6.0 will likely never happen and has been pulled from nuget.org. The aim was to support Pact Specification v4 but we realised afterwards that proper ergonomic support would require breaking API changes, and thus version 5.0 is the version to use instead. This version has incomplete v4 support.

4.5.0

09 Apr 19:29
Compare
Choose a tag to compare

What's Changed

  • feat: Provider state behaviour options (e.g. configure teardown and body vs. query options) by @adamrodger
  • feat: WithQuery overload with matcher parameter by @Manny651 in #450
  • feat: xUnit output project by @adamrodger in #372

New Contributors

Full Changelog: 4.4.0...4.5.0

4.4.0

12 Feb 14:28
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 4.3.0...4.4.0

4.3.0

10 Nov 20:08
Compare
Choose a tag to compare

Please Note: OSX ARM64 support has been merged but is still considered alpha. We are currently unable to run CI on OSX/ARM64 on GitHub Actions runners and so can't automatically verify the integrity of each release. Those that have tried PactNet locally on M1/M2 Macs have reported no issues, but until CI support is available this platform is considered unsupported.

What's Changed

  • feat(arm64): add arm64 osx libs by @Hoffs in #365

New Contributors

Full Changelog: 4.2.1...4.3.0

4.2.1

18 Sep 14:17
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 4.2.0...4.2.1

4.2.0

01 Sep 19:06
Compare
Choose a tag to compare

What's Changed

  • fix: Messaging server could try to use occupied port by @adamrodger in #412
  • refactor: Move to new FFI combined interaction model by @adamrodger in #414
  • refactor: Decompose NativeDriver to opaque interop drivers by @adamrodger in #415
  • chore: Upgrade FFI to 0.3.8 by @omajid in #416
  • docs: Update docs with new consumer builder API (see below)

API Changes

The following APIs have been marked as obsolete, but are retained for backwards compatibility until PactNet 5.0.0:

IMessagePact
IMessagePactV3
MessagePact.V3(string, string)
MessagePact.V3(string. string, PactConfig)
IPactV2.UsingNativeBackend()
IPactV3.UsingNativeBackend()
IMessagePactV3.UsingNativeBackend()

Instead, Pact and MessagePact have been combined so that only Pact is needed. A method determines which type of interactions are being defined, from either WithHttpInteractions for standard HTTP request/response or WithMessageInteractions for message pacts. The older APIs are retained but internally they just call the new API.

See the samples or docs for further details.

New Contributors

Full Changelog: 4.1.0...4.2.0