Skip to content

Releases: EasyPost/easyvcr-csharp

v0.10.0

09 Feb 23:03
78a6495
Compare
Choose a tag to compare

What's Changed

  • Add .NET 8.0 support
  • AdvancedSettings uses MatchRules.Default instead of a new instance of MatchRules if not provided during construction
  • Fix NullReferenceException when trying to match by body with a null body (refit compatibility) (Closes #58)

Related PRs

  • Fix unit tests by @Greybird in #54
  • [chore] Add .NET 8.0 support by @nwithan8 in #56
  • Fix misalignment between AdvancedSettings defaults and VCRHandler constructor by @Greybird in #55
  • Make Request properties and VCRHandler type public by @Greybird in #57
  • [chore] Prep GitHub Action-based release process by @nwithan8 in #60
  • fix: avoid null exception when received body is empty but recorded body isn't by @jhonny-apiiro in #59
  • [chore] Prep 0.10.0 release by @nwithan8 in #62

New Contributors

Full Changelog: v0.9.0...v0.10.0

v0.9.0

17 May 20:54
991546c
Compare
Choose a tag to compare
  • New match rules for matching by query parameters, by path or by custom user-defined rules
  • Fix a bug where URLs were not being extracted correctly, potentially causing false matches when matching by URL

v0.8.0

20 Dec 20:42
606c871
Compare
Choose a tag to compare
  • Adds ability to censor parts of a URL path using regex patterns
  • Fixes a bug that would throw error if trying to "match by body" with non-JSON bodies.

v0.7.0

18 Nov 18:42
4cc4fbd
Compare
Choose a tag to compare
  • Add support for .NET 7

v0.6.0

19 Oct 19:40
94166e7
Compare
Choose a tag to compare
  • Add support for client cloning (useful when trying to re-use EasyVCR's HTTP client as an inner client inside multiple HTTP clients)
    • This avoids an error where some clients, like RestSharp, expect the inner client to be a new instance each time
  • EasyVCR now uses an EasyVCRHTTPClient class instead of HttpClient to allow for internal functionality
    • EasyVCRHTTPClient implements HttpClient, so it can be used anywhere a HttpClient is expected

v0.5.1

05 Oct 21:56
fa4243d
Compare
Choose a tag to compare
  • Fix missing NuGet dependency for custom logger

v0.5.0

04 Oct 20:37
92b7189
Compare
Choose a tag to compare
  • New feature: Set expiration time for interactions (how long since it was recorded should an interaction be considered valid)
    • Can determine what to do if a matching interaction is considered invalid:
      • Warn the user, but proceed with the interaction
      • Throw an exception
      • Automatically re-record (cannot be used in Replay mode)
  • New feature: Pass in a custom ILogger instance to EasyVCR to funnel log messages into your own logging setup (fallback: logs to console)
  • Improvement: Clarify that Delay may not be exact

v0.4.0

13 Jun 21:38
c0ea440
Compare
Choose a tag to compare
  • Improvements to censoring
    • Ability to define censored elements individually, with per-element case sensitivity
  • Improvements to matching
    • Ability to ignore certain elements when matching by body

v0.3.1

26 May 17:33
9de0007
Compare
Choose a tag to compare
  • Improvements to censoring
    • Null values won't be replaced during censoring, avoid interfering with de/serialization
    • Censoring runs recursively through nested dictionaries and lists

v0.3.0

24 May 17:48
7347034
Compare
Choose a tag to compare
  • Performance improvements to censoring
    • Censoring process is skipped if there are no censors to apply
    • Body censors apply to nested JSON body keys, not just top-level keys
      • Lists replaced with empty lists, dictionaries replaced with empty dictionaries, primitives replaced with censor text
  • Censor declaration functions expect lists of multiple keys