Releases: pact-foundation/pact-net
4.2.0
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
4.1.0
What's Changed
- feat: Support non-JSON request and response bodies (#391) by @adamrodger in #395
- Update README.md by @soufian-madi in #411
- feat: Allow publishing verification results for URI sources (#392) by @adamrodger in #393
New Contributors
- @soufian-madi made their first contribution in #411
Full Changelog: 4.0.0...4.1.0
4.0.0
This is the first major release of PactNet v4.x, which is a major rewrite of PactNet with a number of breaking changes. Please see the upgrade guide for upgrading from PactNet 3.x to 4.x.
The changes since 4.0.0-beta.5 are:
- feat: Add SourceLink and Deterministic Build support to the NuGet
Full Changelog: 4.0.0-beta.5...4.0.0
4.0.0-beta.5
Features:
- Allow consumer version selectors to pass a collection (d0d4a7c)
- Conditionally publish verification results (79093a5)
Docs
- Add a warning against using Microsoft.AspNetCore.Mvc.Testing (096da6a)
Chores
- Mark some APIs internal that were accidentally public (701cb50)
- Note this is technically a breaking change, but you couldn't construct these classes previously anyway because they had no public constructors or factory methods. They had no public API you could use, but the classes themselves were accidentally public.
Full Changelog: 4.0.0-beta.4...4.0.0-beta.5
4.0.0-beta.4
- chore: Upgrade to FFI 0.2.6 to fix an issue with SSL certificate errors on Windows
- feat(#373): Custom verification headers
- fix(#376): Build URI should be optional
- fix(#377): Native library restores on .Net Framework
- feat(#378): Use authentication with URI sources during verification
- feat(#386): Support overriding the content type of JSON request bodies
- feat(#382): Allow individual requests to override JSON settings
Full Changelog: 4.0.0-beta.3...4.0.0-beta.4
4.0.0-beta.3
- fix: Change API to remove possibility of unverified message interactions
- fix: Exception if tags are omitted when publishing results (#371)
- docs: Additional upgrade docs
4.0.0-beta.2
- Drop explicit .Net Framework support. .Net Standard 2.0 is now the only supported target framework, which can be used on .Net Framework 4.6.1+ and .Net (Core) 2.0+
- Upgraded FFI to 0.2.2 to fix an issue with matchers being combined
- Improved messaging API
- Built-in messaging server (which deprecates and removes the need for
PactNet.AspNetCore.Messaging
) - Documentation for messaging pacts
- Added logo to NuGet package
Full Changelog: 4.0.0-beta.1...4.0.0-beta.2
4.0.0-beta.1
A complete rewrite of PactNet to use the new Rust reference library instead of the older Ruby one.
This involves a number of breaking changes due to the different way that they two core libraries work, and also to address some existing API issues which prevent extensibility without causing breaking changes. See the upgrade guide for details.
This is not expected to be the final release and so further breaking changes are possible before a final release, but we'd love to hear your feedback. See the README for ways to contact us, or feel free to raise an issue with any problems you encounter.