Skip to content

v0.19.0

Choose a tag to compare

@TimothyJones TimothyJones released this 15 Mar 15:41
70950dd

0.19.0 (2025-03-15)

⚠ BREAKING CHANGES

  • The mocks module has been renamed interactions; and AnyMockDescriptor has been renamed AnyInteractionDescriptor. You may need to update your imports
  • Replace runExample / runRejectingExample / runThrowingExample with runInteraction / runRejectingInteraction / runThrowingInteraction
  • Allow different tests to have different values for the same default state variable. Contracts using state variables from the previous version will need to be regnerated
  • Add ability for matchers to validate their own content. This is a breaking change for any plugin authors, as matcher Executor implementations now need to provide validation functions
  • Move the matchers to packages grouped around related functionality - please update your imports following the matcher documentation

Features

  • Add ability for matchers to validate their own content. This is a breaking change for any plugin authors, as matcher Executor implementations now need to provide validation functions (afaa8d7)
  • Add ability for the current version to be generated from the git sha (dd70365)
  • Expose docs-json for auto-documentation purposes (2ff4e97)
  • Run parameter validators ahead of the self-check, allowing early warning of configuration mistakes in example interactions (186d2e5)

Bug Fixes

  • Add debugging information to the broker 403 error (a8cbb70)
  • Allow different tests to have different values for the same default state variable. Contracts using state variables from the previous version will need to be regnerated (2984d2b)
  • Change the "->" in interaction names to "returns" (e1c3f29)
  • Fix an issue where if the verifier was called with multiple contracts, they would inappropriately run concurrently (83a8edd)
  • Improve logging when multiple contracts are verified (9f3f4a2)

Code Refactoring

  • Move the matchers to packages grouped around related functionality - please update your imports following the matcher documentation (1edbda0)
  • Replace runExample / runRejectingExample / runThrowingExample with runInteraction / runRejectingInteraction / runThrowingInteraction (a37e0e8)
  • The mocks module has been renamed interactions; and AnyMockDescriptor has been renamed AnyInteractionDescriptor. You may need to update your imports (f3f4b0d)

Dependencies

  • The following workspace dependencies were updated
    • devDependencies
      • @contract-case/eslint-config-case-maintainer bumped from 0.1.1 to 0.19.0