From b7c8cf72524de81b9816b107ee5da7d82eac98a2 Mon Sep 17 00:00:00 2001 From: Timothy Jones Date: Mon, 15 Dec 2025 00:14:19 +1100 Subject: [PATCH] chore: release 0.28.0 --- .release-please-manifest.json | 40 ++-- docs/maintainers/FULL-CHANGELOG.md | 43 +++++ package-lock.json | 180 +++++++++--------- package.json | 4 +- packages/case-connector-proto/CHANGELOG.md | 15 ++ packages/case-connector-proto/package.json | 6 +- packages/case-connector/CHANGELOG.md | 19 ++ packages/case-connector/package.json | 12 +- .../src/entities/versionString.ts | 2 +- .../CHANGELOG.md | 21 ++ .../package.json | 8 +- .../case-core-plugin-function/CHANGELOG.md | 23 +++ .../case-core-plugin-function/package.json | 12 +- .../case-core-plugin-http-dsl/CHANGELOG.md | 17 ++ .../case-core-plugin-http-dsl/package.json | 8 +- packages/case-core-plugin-http/CHANGELOG.md | 23 +++ packages/case-core-plugin-http/package.json | 12 +- packages/case-core/CHANGELOG.md | 34 ++++ packages/case-core/package.json | 20 +- .../case-core/src/entities/versionString.ts | 2 +- packages/case-definition-dsl/CHANGELOG.md | 31 +++ packages/case-definition-dsl/package.json | 16 +- .../case-definition-generator/CHANGELOG.md | 28 +++ .../case-definition-generator/package.json | 10 +- packages/case-entities/CHANGELOG.md | 19 ++ packages/case-entities/package.json | 12 +- packages/case-maintainer-config/CHANGELOG.md | 7 + packages/case-maintainer-config/package.json | 2 +- packages/case-plugin-base/CHANGELOG.md | 22 +++ packages/case-plugin-base/package.json | 8 +- packages/case-plugin-dsl-types/CHANGELOG.md | 15 ++ packages/case-plugin-dsl-types/package.json | 6 +- packages/contract-case-cli/CHANGELOG.md | 17 ++ packages/contract-case-cli/package.json | 8 +- .../src/entities/versionString.ts | 2 +- packages/contract-case-jest/CHANGELOG.md | 27 +++ packages/contract-case-jest/package.json | 20 +- .../src/entities/versionString.ts | 2 +- .../CHANGELOG.md | 16 ++ .../package.json | 6 +- packages/documentation/CHANGELOG.md | 7 + packages/documentation/package.json | 2 +- packages/dsl-java/CHANGELOG.md | 33 ++++ packages/dsl-java/README.md | 2 +- packages/dsl-java/build.gradle | 2 +- packages/dsl-java/package.json | 6 +- .../CHANGELOG.md | 7 + .../package.json | 2 +- 48 files changed, 630 insertions(+), 206 deletions(-) create mode 100644 packages/case-definition-generator/CHANGELOG.md diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 726c8b8b6..9d8990e3d 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,22 +1,22 @@ { - "packages/case-core": "0.27.3", - "packages/case-definition-dsl": "0.27.3", - "packages/case-definition-generator": "0.27.3", - "packages/case-core-plugin-http": "0.27.3", - "packages/case-core-plugin-http-dsl": "0.27.3", - "packages/case-core-plugin-function": "0.27.3", - "packages/case-core-plugin-function-dsl": "0.27.3", - "packages/case-plugin-base": "0.27.3", - "packages/case-plugin-dsl-types": "0.27.3", - "packages/case-entities": "0.27.3", - "packages/contract-case-jest": "0.27.3", - "packages/documentation": "0.27.3", - ".": "0.27.3", - "packages/contract-case-cli": "0.27.3", - "packages/case-maintainer-config": "0.27.3", - "packages/eslint-config-case-maintainer": "0.27.3", - "packages/case-connector": "0.27.3", - "packages/case-connector-proto": "0.27.3", - "packages/dsl-java": "0.27.3", - "packages/documentation-matchers-generator": "0.27.3" + "packages/case-core": "0.28.0", + "packages/case-definition-dsl": "0.28.0", + "packages/case-definition-generator": "0.28.0", + "packages/case-core-plugin-http": "0.28.0", + "packages/case-core-plugin-http-dsl": "0.28.0", + "packages/case-core-plugin-function": "0.28.0", + "packages/case-core-plugin-function-dsl": "0.28.0", + "packages/case-plugin-base": "0.28.0", + "packages/case-plugin-dsl-types": "0.28.0", + "packages/case-entities": "0.28.0", + "packages/contract-case-jest": "0.28.0", + "packages/documentation": "0.28.0", + ".": "0.28.0", + "packages/contract-case-cli": "0.28.0", + "packages/case-maintainer-config": "0.28.0", + "packages/eslint-config-case-maintainer": "0.28.0", + "packages/case-connector": "0.28.0", + "packages/case-connector-proto": "0.28.0", + "packages/dsl-java": "0.28.0", + "packages/documentation-matchers-generator": "0.28.0" } diff --git a/docs/maintainers/FULL-CHANGELOG.md b/docs/maintainers/FULL-CHANGELOG.md index d82ac34ca..fe48f7d2d 100644 --- a/docs/maintainers/FULL-CHANGELOG.md +++ b/docs/maintainers/FULL-CHANGELOG.md @@ -1,5 +1,48 @@ # Changelog +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/v0.27.3...v0.28.0) (2025-12-14) + + +### ⚠ BREAKING CHANGES + +* **java-dsl:** Remove the RunTestCallback versions of the Verifier constructor - they have been deprecated for several releases, and the RunTestCallback parameter was ignored anyway +* **definition-dsl:** Deprecate io.contract_testing.contractcase.definitions, it is no longer published by this package. Ultimately, we will remove @contract-case/case-definition-dsl in favour of the new generator package. This is a breaking change because the definitions package is no longer required (or usable by) the java packages. +* **java-dsl:** Remove JSii. This is a substantial ergonomic improvement, but it also means that the previous DSL classes in \`io.contract_testing.contractcase.definitions\` need to be replaced with the classes in \`io.contract_testing.contractcase.dsl\`. The functionality has been preserved, but there are minor differences in the way the DSL is expressed. Please see the documentation or official test code for examples of usage. +* In order to support the upcoming replacement of JSii, the function invocation matcher has changed to no longer have the function name associated with it, it is now injected by the plugin at runtime. This is not a functional change, but it is still a breaking change as contracts with function plugins will have different definitions and will need to be updated. +* Now plugins can control how the unique name constraint is set up. However, this is a breaking change for existing plugin authors, as now a mock executor is two functions. This is the beginning of the work needed to move away from requiring every interaction to have a request / response pair. + +### Features + +* Add a clear error code and documentation for when a function needs to be provided, but is missing ([59ad728](https://github.com/case-contract-testing/contract-case/commit/59ad728a76a9fc7a95691913a85f71cf0ebb2055)) +* **java:** Generated DSL classes now all have the ContractCaseDsl annotation on the class, to assist with custom serialisation ([77f3fca](https://github.com/case-contract-testing/contract-case/commit/77f3fcaa550c90b12fe43d240e60afc39dd80a9b)) +* Now plugins can control how the unique name constraint is set up. However, this is a breaking change for existing plugin authors, as now a mock executor is two functions. This is the beginning of the work needed to move away from requiring every interaction to have a request / response pair. ([bfcb019](https://github.com/case-contract-testing/contract-case/commit/bfcb0194ceafd94b3ed8eb46744bcb36de7bad8f)) + + +### Bug Fixes + +* **core:** Add Advice Override option for MISSING_REGISTERED_FUNCTION ([3ed93e0](https://github.com/case-contract-testing/contract-case/commit/3ed93e0ff43fb786a2a9e58bc76d6a213e49c129)) +* **core:** Now the core ArrayLength matcher knows the default values (previously, it was the matcher DSL) ([1d7704a](https://github.com/case-contract-testing/contract-case/commit/1d7704a7d69961aee7b884dc3e59573efd772069)) +* **java-dsl:** Move jetbrains annotations to the correct (compileOnly) scope ([4af9222](https://github.com/case-contract-testing/contract-case/commit/4af92220ebc9d8fd788e44b67b5a46c346715636)) + + +### Miscellaneous Chores + +* **definition-dsl:** Deprecate io.contract_testing.contractcase.definitions, it is no longer published by this package. Ultimately, we will remove @contract-case/case-definition-dsl in favour of the new generator package. This is a breaking change because the definitions package is no longer required (or usable by) the java packages. ([bf1c94c](https://github.com/case-contract-testing/contract-case/commit/bf1c94c8283301bfd5b0d4ef9251165b9ca1c9d1)) + + +### Code Refactoring + +* In order to support the upcoming replacement of JSii, the function invocation matcher has changed to no longer have the function name associated with it, it is now injected by the plugin at runtime. This is not a functional change, but it is still a breaking change as contracts with function plugins will have different definitions and will need to be updated. ([d1e5762](https://github.com/case-contract-testing/contract-case/commit/d1e57627e85609b4cbdf7d3b7d61bd6f0a97af29)) +* **java-dsl:** Remove JSii. This is a substantial ergonomic improvement, but it also means that the previous DSL classes in \`io.contract_testing.contractcase.definitions\` need to be replaced with the classes in \`io.contract_testing.contractcase.dsl\`. The functionality has been preserved, but there are minor differences in the way the DSL is expressed. Please see the documentation or official test code for examples of usage. ([6fa0d75](https://github.com/case-contract-testing/contract-case/commit/6fa0d75157de65a52cc41e297fd4fe0103de5cfc)) +* **java-dsl:** Remove the RunTestCallback versions of the Verifier constructor - they have been deprecated for several releases, and the RunTestCallback parameter was ignored anyway ([26a34d2](https://github.com/case-contract-testing/contract-case/commit/26a34d2b33d06adf2edfc61695a199c1aa4523e1)) + + +### Dependencies + +* The following workspace dependencies were updated + * devDependencies + * @contract-case/eslint-config-case-maintainer bumped from 0.27.3 to 0.28.0 + ## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/v0.27.2...v0.27.3) (2025-10-25) diff --git a/package-lock.json b/package-lock.json index d978bcc35..45f9719f3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "contract-case", - "version": "0.27.3", + "version": "0.28.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "contract-case", - "version": "0.27.3", + "version": "0.28.0", "workspaces": [ "packages/*" ], @@ -34958,12 +34958,12 @@ }, "packages/case-connector": { "name": "@contract-case/case-connector", - "version": "0.27.3", + "version": "0.28.0", "license": "BSD-3-Clause", "dependencies": { - "@contract-case/case-connector-proto": "0.27.3", - "@contract-case/case-core": "0.27.3", - "@contract-case/case-entities-internal": "0.27.3", + "@contract-case/case-connector-proto": "0.28.0", + "@contract-case/case-core": "0.28.0", + "@contract-case/case-entities-internal": "0.28.0", "@grpc/grpc-js": "^1.13.3", "@grpc/proto-loader": "^0.8.0", "get-port": "^7.1.0", @@ -34976,8 +34976,8 @@ }, "devDependencies": { "@arethetypeswrong/cli": "^0.18.2", - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@knighted/duel": "^2.1.6", "@types/google-protobuf": "^3.15.12", "@types/jest": "^30.0.0", @@ -34997,7 +34997,7 @@ }, "packages/case-connector-proto": { "name": "@contract-case/case-connector-proto", - "version": "0.27.3", + "version": "0.28.0", "license": "BSD-3-Clause", "dependencies": { "@grpc/grpc-js": "^1.13.3", @@ -35006,8 +35006,8 @@ }, "devDependencies": { "@arethetypeswrong/cli": "^0.18.2", - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@types/google-protobuf": "^3.15.12", "@types/uuid": "^10.0.0", "grpc_tools_node_protoc_ts": "^5.3.3", @@ -35150,15 +35150,15 @@ }, "packages/case-core": { "name": "@contract-case/case-core", - "version": "0.27.3", + "version": "0.28.0", "license": "BSD-3-Clause", "dependencies": { - "@contract-case/case-core-plugin-function": "0.27.3", - "@contract-case/case-core-plugin-http": "0.27.3", - "@contract-case/case-core-plugin-http-dsl": "0.27.3", - "@contract-case/case-entities-internal": "0.27.3", - "@contract-case/case-plugin-base": "0.27.3", - "@contract-case/case-plugin-dsl-types": "0.27.3", + "@contract-case/case-core-plugin-function": "0.28.0", + "@contract-case/case-core-plugin-http": "0.28.0", + "@contract-case/case-core-plugin-http-dsl": "0.28.0", + "@contract-case/case-entities-internal": "0.28.0", + "@contract-case/case-plugin-base": "0.28.0", + "@contract-case/case-plugin-dsl-types": "0.28.0", "absolute-version": "^2.0.0", "async-mutex": "^0.5.0", "axios": "^1.12.2", @@ -35173,9 +35173,9 @@ }, "devDependencies": { "@arethetypeswrong/cli": "^0.18.2", - "@contract-case/case-definition-dsl": "0.27.3", - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-definition-dsl": "0.28.0", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@types/current-git-branch": "^1.1.6", "@types/express": "^4.17.14", "@types/git-rev-sync": "^2.0.2", @@ -35205,16 +35205,16 @@ }, "packages/case-core-plugin-function": { "name": "@contract-case/case-core-plugin-function", - "version": "0.27.3", + "version": "0.28.0", "license": "BSD-3-Clause", "dependencies": { - "@contract-case/case-core-plugin-function-dsl": "0.27.3", - "@contract-case/case-plugin-base": "0.27.3", - "@contract-case/case-plugin-dsl-types": "0.27.3" + "@contract-case/case-core-plugin-function-dsl": "0.28.0", + "@contract-case/case-plugin-base": "0.28.0", + "@contract-case/case-plugin-dsl-types": "0.28.0" }, "devDependencies": { - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@types/jest": "^30.0.0", "eslint": "^9.39.1", "jest": "^30.2.0", @@ -35234,14 +35234,14 @@ }, "packages/case-core-plugin-function-dsl": { "name": "@contract-case/case-core-plugin-function-dsl", - "version": "0.27.3", + "version": "0.28.0", "license": "BSD-3-Clause", "dependencies": { - "@contract-case/case-plugin-dsl-types": "0.27.3" + "@contract-case/case-plugin-dsl-types": "0.28.0" }, "devDependencies": { - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@types/jest": "^30.0.0", "eslint": "^9.39.1", "jest": "^30.2.0", @@ -35381,19 +35381,19 @@ }, "packages/case-core-plugin-http": { "name": "@contract-case/case-core-plugin-http", - "version": "0.27.3", + "version": "0.28.0", "license": "BSD-3-Clause", "dependencies": { - "@contract-case/case-core-plugin-http-dsl": "0.27.3", - "@contract-case/case-plugin-base": "0.27.3", - "@contract-case/case-plugin-dsl-types": "0.27.3", + "@contract-case/case-core-plugin-http-dsl": "0.28.0", + "@contract-case/case-plugin-base": "0.28.0", + "@contract-case/case-plugin-dsl-types": "0.28.0", "axios": "^1.12.2", "express": "^4.20.0", "qs": "^6.13.1" }, "devDependencies": { - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@types/express": "^4.17.14", "@types/jest": "^30.0.0", "@types/qs": "^6.9.17", @@ -35417,14 +35417,14 @@ }, "packages/case-core-plugin-http-dsl": { "name": "@contract-case/case-core-plugin-http-dsl", - "version": "0.27.3", + "version": "0.28.0", "license": "BSD-3-Clause", "dependencies": { - "@contract-case/case-plugin-dsl-types": "0.27.3" + "@contract-case/case-plugin-dsl-types": "0.28.0" }, "devDependencies": { - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@types/express": "^4.17.14", "@types/jest": "^30.0.0", "@types/qs": "^6.9.17", @@ -35701,7 +35701,7 @@ }, "packages/case-definition-dsl": { "name": "@contract-case/case-definition-dsl", - "version": "0.27.3", + "version": "0.28.0", "bundleDependencies": [ "@contract-case/case-entities-internal", "@contract-case/case-plugin-dsl-types", @@ -35710,15 +35710,15 @@ ], "license": "BSD-3-Clause", "dependencies": { - "@contract-case/case-core-plugin-function-dsl": "0.27.3", - "@contract-case/case-core-plugin-http-dsl": "0.27.3", - "@contract-case/case-entities-internal": "0.27.3", - "@contract-case/case-plugin-dsl-types": "0.27.3" + "@contract-case/case-core-plugin-function-dsl": "0.28.0", + "@contract-case/case-core-plugin-http-dsl": "0.28.0", + "@contract-case/case-entities-internal": "0.28.0", + "@contract-case/case-plugin-dsl-types": "0.28.0" }, "devDependencies": { - "@contract-case/case-core-plugin-http-dsl": "0.27.3", - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-core-plugin-http-dsl": "0.28.0", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@microsoft/api-documenter": "^7.27.0", "@microsoft/api-extractor": "^7.52.13", "@types/jest": "^30.0.0", @@ -35859,11 +35859,11 @@ }, "packages/case-definition-generator": { "name": "@contract-case/definition-generator", - "version": "0.27.3", + "version": "0.28.0", "license": "BSD-3-Clause", "dependencies": { - "@contract-case/case-plugin-base": "0.27.3", - "@contract-case/case-plugin-dsl-types": "0.27.3", + "@contract-case/case-plugin-base": "0.28.0", + "@contract-case/case-plugin-dsl-types": "0.28.0", "@contract-case/java-ast": "^0.0.2", "@types/commonmark": "^0.27.10", "chalk": "^4.1.2", @@ -35873,8 +35873,8 @@ "prettier-plugin-java": "^2.7.7" }, "devDependencies": { - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@types/jest": "^30.0.0", "cross-env": "^7.0.3", "eslint": "^9.22.0", @@ -36016,16 +36016,16 @@ }, "packages/case-entities": { "name": "@contract-case/case-entities-internal", - "version": "0.27.3", + "version": "0.28.0", "license": "BSD-3-Clause", "dependencies": { - "@contract-case/case-core-plugin-function-dsl": "0.27.3", - "@contract-case/case-core-plugin-http-dsl": "0.27.3", - "@contract-case/case-plugin-dsl-types": "0.27.3" + "@contract-case/case-core-plugin-function-dsl": "0.28.0", + "@contract-case/case-core-plugin-http-dsl": "0.28.0", + "@contract-case/case-plugin-dsl-types": "0.28.0" }, "devDependencies": { - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@types/current-git-branch": "^1.1.6", "@types/express": "^4.17.14", "@types/is-ci": "^3.0.0", @@ -36111,7 +36111,7 @@ }, "packages/case-maintainer-config": { "name": "@contract-case/case-maintainer-config", - "version": "0.27.3", + "version": "0.28.0", "license": "BSD-3-Clause", "devDependencies": { "prettier": "^3.6.2" @@ -36126,15 +36126,15 @@ }, "packages/case-plugin-base": { "name": "@contract-case/case-plugin-base", - "version": "0.27.3", + "version": "0.28.0", "license": "BSD-3-Clause", "dependencies": { - "@contract-case/case-plugin-dsl-types": "0.27.3", + "@contract-case/case-plugin-dsl-types": "0.28.0", "pretty-format": "^30.2.0" }, "devDependencies": { - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@microsoft/api-documenter": "^7.28.1", "@microsoft/api-extractor": "^7.55.1", "@types/jest": "^30.0.0", @@ -36216,14 +36216,14 @@ }, "packages/case-plugin-dsl-types": { "name": "@contract-case/case-plugin-dsl-types", - "version": "0.27.3", + "version": "0.28.0", "license": "BSD-3-Clause", "dependencies": { "pretty-format": "^30.2.0" }, "devDependencies": { - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@microsoft/api-documenter": "^7.27.0", "@microsoft/api-extractor": "^7.52.13", "eslint": "^9.39.1", @@ -36301,11 +36301,11 @@ }, "packages/contract-case-cli": { "name": "@contract-case/cli", - "version": "0.27.3", + "version": "0.28.0", "license": "BSD-3-Clause", "dependencies": { - "@contract-case/case-connector": "0.27.3", - "@contract-case/case-core": "0.27.3", + "@contract-case/case-connector": "0.28.0", + "@contract-case/case-core": "0.28.0", "chalk": "^5.3.0", "commander": "^14.0.0" }, @@ -36313,7 +36313,7 @@ "ContractCase": "dist/bin/ContractCase.js" }, "devDependencies": { - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@types/jest": "^30.0.0", "cross-env": "^10.0.0", "eslint": "^9.39.1", @@ -36401,16 +36401,16 @@ }, "packages/contract-case-jest": { "name": "@contract-case/contract-case-jest", - "version": "0.27.3", + "version": "0.28.0", "license": "BSD-3-Clause", "dependencies": { - "@contract-case/case-connector": "0.27.3", - "@contract-case/case-core-plugin-http-dsl": "0.27.3", - "@contract-case/case-definition-dsl": "0.27.3", - "@contract-case/case-entities-internal": "0.27.3", - "@contract-case/case-plugin-base": "0.27.3", - "@contract-case/case-plugin-dsl-types": "0.27.3", - "@contract-case/cli": "0.27.3", + "@contract-case/case-connector": "0.28.0", + "@contract-case/case-core-plugin-http-dsl": "0.28.0", + "@contract-case/case-definition-dsl": "0.28.0", + "@contract-case/case-entities-internal": "0.28.0", + "@contract-case/case-plugin-base": "0.28.0", + "@contract-case/case-plugin-dsl-types": "0.28.0", + "@contract-case/cli": "0.28.0", "chalk": "^4.1.2", "ts-node": "^10.9.1" }, @@ -36418,8 +36418,8 @@ "ContractCase": "dist/bin/ContractCase.mjs" }, "devDependencies": { - "@contract-case/cli": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/cli": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@grpc/grpc-js": "^1.13.3", "@grpc/proto-loader": "^0.8.0", "@types/body-parser": "^1.19.2", @@ -36549,7 +36549,7 @@ }, "packages/documentation": { "name": "case-documentation", - "version": "0.27.3", + "version": "0.28.0", "dependencies": { "@docusaurus/core": "^3.7.0", "@docusaurus/preset-classic": "^3.7.0", @@ -36572,14 +36572,14 @@ }, "packages/documentation-matchers-generator": { "name": "@contract-case/documentation-matchers-generator", - "version": "0.27.3", + "version": "0.28.0", "license": "BSD-3-Clause", "dependencies": { - "@contract-case/case-definition-dsl": "0.27.3", + "@contract-case/case-definition-dsl": "0.28.0", "mkdirp": "^3.0.1" }, "devDependencies": { - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "eslint": "^9.39.1", "prettier": "3.6.2", "rimraf": "^6.1.0", @@ -36652,11 +36652,11 @@ }, "packages/dsl-java": { "name": "@contract-case/dsl-java", - "version": "0.27.3", + "version": "0.28.0", "license": "BSD-3-Clause", "dependencies": { - "@contract-case/case-connector": "0.27.3", - "@contract-case/case-definition-dsl": "0.27.3" + "@contract-case/case-connector": "0.28.0", + "@contract-case/case-definition-dsl": "0.28.0" }, "devDependencies": { "rimraf": "^6.1.0" @@ -36728,7 +36728,7 @@ }, "packages/eslint-config-case-maintainer": { "name": "@contract-case/eslint-config-case-maintainer", - "version": "0.27.3", + "version": "0.28.0", "license": "BSD-3-Clause", "dependencies": { "@eslint/js": "^9.38.0", diff --git a/package.json b/package.json index e1766a6b2..b3b83ae26 100644 --- a/package.json +++ b/package.json @@ -4,9 +4,9 @@ "workspaces": [ "packages/*" ], - "version": "0.27.3", + "version": "0.28.0", "devDependencies": { - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "example-extractor": "^0.0.4", "jsii-docgen": "^10.11.4", "lerna": "^9.0.3" diff --git a/packages/case-connector-proto/CHANGELOG.md b/packages/case-connector-proto/CHANGELOG.md index 2f07a92ec..fd322e768 100644 --- a/packages/case-connector-proto/CHANGELOG.md +++ b/packages/case-connector-proto/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-connector-proto-v0.27.3...@contract-case/case-connector-proto-v0.28.0) (2025-12-14) + + +### Miscellaneous Chores + +* **@contract-case/case-connector-proto:** Synchronize ContractCase versions + + +### Dependencies + +* The following workspace dependencies were updated + * devDependencies + * @contract-case/case-maintainer-config bumped from 0.27.3 to 0.28.0 + * @contract-case/eslint-config-case-maintainer bumped from 0.27.3 to 0.28.0 + ## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-connector-proto-v0.27.2...@contract-case/case-connector-proto-v0.27.3) (2025-10-25) diff --git a/packages/case-connector-proto/package.json b/packages/case-connector-proto/package.json index 2fa8ead3f..6a997c9c8 100644 --- a/packages/case-connector-proto/package.json +++ b/packages/case-connector-proto/package.json @@ -1,6 +1,6 @@ { "name": "@contract-case/case-connector-proto", - "version": "0.27.3", + "version": "0.28.0", "description": "Generated proto files for ContractCase's CaseConnector", "author": "Timothy Jones (https://github.com/TimothyJones)", "homepage": "https://case.contract-testing.io/docs", @@ -34,8 +34,8 @@ }, "devDependencies": { "@arethetypeswrong/cli": "^0.18.2", - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@types/google-protobuf": "^3.15.12", "@types/uuid": "^10.0.0", "grpc_tools_node_protoc_ts": "^5.3.3", diff --git a/packages/case-connector/CHANGELOG.md b/packages/case-connector/CHANGELOG.md index e9e89eac6..9b541a8c1 100644 --- a/packages/case-connector/CHANGELOG.md +++ b/packages/case-connector/CHANGELOG.md @@ -1,5 +1,24 @@ # Changelog +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-connector-v0.27.3...@contract-case/case-connector-v0.28.0) (2025-12-14) + + +### Miscellaneous Chores + +* **@contract-case/case-connector:** Synchronize ContractCase versions + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @contract-case/case-connector-proto bumped from 0.27.3 to 0.28.0 + * @contract-case/case-core bumped from 0.27.3 to 0.28.0 + * @contract-case/case-entities-internal bumped from 0.27.3 to 0.28.0 + * devDependencies + * @contract-case/case-maintainer-config bumped from 0.27.3 to 0.28.0 + * @contract-case/eslint-config-case-maintainer bumped from 0.27.3 to 0.28.0 + ## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-connector-v0.27.2...@contract-case/case-connector-v0.27.3) (2025-10-25) diff --git a/packages/case-connector/package.json b/packages/case-connector/package.json index ac4d9daea..dcdcebf25 100644 --- a/packages/case-connector/package.json +++ b/packages/case-connector/package.json @@ -1,6 +1,6 @@ { "name": "@contract-case/case-connector", - "version": "0.27.3", + "version": "0.28.0", "type": "module", "description": "Connector to allow ContractCase to run as a server. Use only if you're creating a custom wrapper for a new language", "author": "Timothy Jones (https://github.com/TimothyJones)", @@ -52,8 +52,8 @@ }, "devDependencies": { "@arethetypeswrong/cli": "^0.18.2", - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@knighted/duel": "^2.1.6", "@types/google-protobuf": "^3.15.12", "@types/jest": "^30.0.0", @@ -71,9 +71,9 @@ "webpack-cli": "^6.0.1" }, "dependencies": { - "@contract-case/case-connector-proto": "0.27.3", - "@contract-case/case-core": "0.27.3", - "@contract-case/case-entities-internal": "0.27.3", + "@contract-case/case-connector-proto": "0.28.0", + "@contract-case/case-core": "0.28.0", + "@contract-case/case-entities-internal": "0.28.0", "@grpc/grpc-js": "^1.13.3", "@grpc/proto-loader": "^0.8.0", "get-port": "^7.1.0", diff --git a/packages/case-connector/src/entities/versionString.ts b/packages/case-connector/src/entities/versionString.ts index bd8100d99..e84aeb179 100644 --- a/packages/case-connector/src/entities/versionString.ts +++ b/packages/case-connector/src/entities/versionString.ts @@ -1,4 +1,4 @@ const packageName = 'case-connector'; -const version = '0.27.3'; // x-release-please-version +const version = '0.28.0'; // x-release-please-version export const versionString = `${packageName}@${version}`; diff --git a/packages/case-core-plugin-function-dsl/CHANGELOG.md b/packages/case-core-plugin-function-dsl/CHANGELOG.md index d38382043..5ef16abf5 100644 --- a/packages/case-core-plugin-function-dsl/CHANGELOG.md +++ b/packages/case-core-plugin-function-dsl/CHANGELOG.md @@ -1,5 +1,26 @@ # Changelog +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-core-plugin-function-dsl-v0.27.3...@contract-case/case-core-plugin-function-dsl-v0.28.0) (2025-12-14) + + +### ⚠ BREAKING CHANGES + +* In order to support the upcoming replacement of JSii, the function invocation matcher has changed to no longer have the function name associated with it, it is now injected by the plugin at runtime. This is not a functional change, but it is still a breaking change as contracts with function plugins will have different definitions and will need to be updated. + +### Code Refactoring + +* In order to support the upcoming replacement of JSii, the function invocation matcher has changed to no longer have the function name associated with it, it is now injected by the plugin at runtime. This is not a functional change, but it is still a breaking change as contracts with function plugins will have different definitions and will need to be updated. ([d1e5762](https://github.com/case-contract-testing/contract-case/commit/d1e57627e85609b4cbdf7d3b7d61bd6f0a97af29)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @contract-case/case-plugin-dsl-types bumped from 0.27.3 to 0.28.0 + * devDependencies + * @contract-case/case-maintainer-config bumped from 0.27.3 to 0.28.0 + * @contract-case/eslint-config-case-maintainer bumped from 0.27.3 to 0.28.0 + ## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-core-plugin-function-dsl-v0.27.2...@contract-case/case-core-plugin-function-dsl-v0.27.3) (2025-10-25) diff --git a/packages/case-core-plugin-function-dsl/package.json b/packages/case-core-plugin-function-dsl/package.json index f49e7ca8c..89fad37ff 100644 --- a/packages/case-core-plugin-function-dsl/package.json +++ b/packages/case-core-plugin-function-dsl/package.json @@ -1,6 +1,6 @@ { "name": "@contract-case/case-core-plugin-function-dsl", - "version": "0.27.3", + "version": "0.28.0", "description": "ContractCase core function plugin DSL", "keywords": [ "testing", @@ -48,8 +48,8 @@ "url": "https://github.com/case-contract-testing/case/issues" }, "devDependencies": { - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@types/jest": "^30.0.0", "eslint": "^9.39.1", "jest": "^30.2.0", @@ -60,6 +60,6 @@ "typescript": "5.9.3" }, "dependencies": { - "@contract-case/case-plugin-dsl-types": "0.27.3" + "@contract-case/case-plugin-dsl-types": "0.28.0" } } diff --git a/packages/case-core-plugin-function/CHANGELOG.md b/packages/case-core-plugin-function/CHANGELOG.md index b0959e09e..b728eb16f 100644 --- a/packages/case-core-plugin-function/CHANGELOG.md +++ b/packages/case-core-plugin-function/CHANGELOG.md @@ -1,5 +1,28 @@ # Changelog +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-core-plugin-function-v0.27.3...@contract-case/case-core-plugin-function-v0.28.0) (2025-12-14) + + +### ⚠ BREAKING CHANGES + +* In order to support the upcoming replacement of JSii, the function invocation matcher has changed to no longer have the function name associated with it, it is now injected by the plugin at runtime. This is not a functional change, but it is still a breaking change as contracts with function plugins will have different definitions and will need to be updated. + +### Code Refactoring + +* In order to support the upcoming replacement of JSii, the function invocation matcher has changed to no longer have the function name associated with it, it is now injected by the plugin at runtime. This is not a functional change, but it is still a breaking change as contracts with function plugins will have different definitions and will need to be updated. ([d1e5762](https://github.com/case-contract-testing/contract-case/commit/d1e57627e85609b4cbdf7d3b7d61bd6f0a97af29)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @contract-case/case-core-plugin-function-dsl bumped from 0.27.3 to 0.28.0 + * @contract-case/case-plugin-base bumped from 0.27.3 to 0.28.0 + * @contract-case/case-plugin-dsl-types bumped from 0.27.3 to 0.28.0 + * devDependencies + * @contract-case/case-maintainer-config bumped from 0.27.3 to 0.28.0 + * @contract-case/eslint-config-case-maintainer bumped from 0.27.3 to 0.28.0 + ## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-core-plugin-function-v0.27.2...@contract-case/case-core-plugin-function-v0.27.3) (2025-10-25) diff --git a/packages/case-core-plugin-function/package.json b/packages/case-core-plugin-function/package.json index a6f5fed64..c2a5da11e 100644 --- a/packages/case-core-plugin-function/package.json +++ b/packages/case-core-plugin-function/package.json @@ -1,6 +1,6 @@ { "name": "@contract-case/case-core-plugin-function", - "version": "0.27.3", + "version": "0.28.0", "description": "ContractCase core function plugin, allowing validation of arbitrary functions", "keywords": [ "testing", @@ -49,8 +49,8 @@ "url": "https://github.com/case-contract-testing/case/issues" }, "devDependencies": { - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@types/jest": "^30.0.0", "eslint": "^9.39.1", "jest": "^30.2.0", @@ -61,8 +61,8 @@ "typescript": "5.9.3" }, "dependencies": { - "@contract-case/case-core-plugin-function-dsl": "0.27.3", - "@contract-case/case-plugin-base": "0.27.3", - "@contract-case/case-plugin-dsl-types": "0.27.3" + "@contract-case/case-core-plugin-function-dsl": "0.28.0", + "@contract-case/case-plugin-base": "0.28.0", + "@contract-case/case-plugin-dsl-types": "0.28.0" } } diff --git a/packages/case-core-plugin-http-dsl/CHANGELOG.md b/packages/case-core-plugin-http-dsl/CHANGELOG.md index 45cd598fa..8ab2a224d 100644 --- a/packages/case-core-plugin-http-dsl/CHANGELOG.md +++ b/packages/case-core-plugin-http-dsl/CHANGELOG.md @@ -1,5 +1,22 @@ # Changelog +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-core-plugin-http-dsl-v0.27.3...@contract-case/case-core-plugin-http-dsl-v0.28.0) (2025-12-14) + + +### Miscellaneous Chores + +* **@contract-case/case-core-plugin-http-dsl:** Synchronize ContractCase versions + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @contract-case/case-plugin-dsl-types bumped from 0.27.3 to 0.28.0 + * devDependencies + * @contract-case/case-maintainer-config bumped from 0.27.3 to 0.28.0 + * @contract-case/eslint-config-case-maintainer bumped from 0.27.3 to 0.28.0 + ## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-core-plugin-http-dsl-v0.27.2...@contract-case/case-core-plugin-http-dsl-v0.27.3) (2025-10-25) diff --git a/packages/case-core-plugin-http-dsl/package.json b/packages/case-core-plugin-http-dsl/package.json index 2c2fa2058..b8f7f8e59 100644 --- a/packages/case-core-plugin-http-dsl/package.json +++ b/packages/case-core-plugin-http-dsl/package.json @@ -1,6 +1,6 @@ { "name": "@contract-case/case-core-plugin-http-dsl", - "version": "0.27.3", + "version": "0.28.0", "description": "ContractCase HTTP plugin CaseExample definition DSL", "keywords": [ "testing", @@ -48,8 +48,8 @@ "url": "https://github.com/case-contract-testing/case/issues" }, "devDependencies": { - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@types/express": "^4.17.14", "@types/jest": "^30.0.0", "@types/qs": "^6.9.17", @@ -64,6 +64,6 @@ "typescript": "5.9.3" }, "dependencies": { - "@contract-case/case-plugin-dsl-types": "0.27.3" + "@contract-case/case-plugin-dsl-types": "0.28.0" } } diff --git a/packages/case-core-plugin-http/CHANGELOG.md b/packages/case-core-plugin-http/CHANGELOG.md index c420fb096..547fcdaad 100644 --- a/packages/case-core-plugin-http/CHANGELOG.md +++ b/packages/case-core-plugin-http/CHANGELOG.md @@ -1,5 +1,28 @@ # Changelog +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-core-plugin-http-v0.27.3...@contract-case/case-core-plugin-http-v0.28.0) (2025-12-14) + + +### ⚠ BREAKING CHANGES + +* Now plugins can control how the unique name constraint is set up. However, this is a breaking change for existing plugin authors, as now a mock executor is two functions. This is the beginning of the work needed to move away from requiring every interaction to have a request / response pair. + +### Features + +* Now plugins can control how the unique name constraint is set up. However, this is a breaking change for existing plugin authors, as now a mock executor is two functions. This is the beginning of the work needed to move away from requiring every interaction to have a request / response pair. ([bfcb019](https://github.com/case-contract-testing/contract-case/commit/bfcb0194ceafd94b3ed8eb46744bcb36de7bad8f)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @contract-case/case-core-plugin-http-dsl bumped from 0.27.3 to 0.28.0 + * @contract-case/case-plugin-dsl-types bumped from 0.27.3 to 0.28.0 + * @contract-case/case-plugin-base bumped from 0.27.3 to 0.28.0 + * devDependencies + * @contract-case/case-maintainer-config bumped from 0.27.3 to 0.28.0 + * @contract-case/eslint-config-case-maintainer bumped from 0.27.3 to 0.28.0 + ## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-core-plugin-http-v0.27.2...@contract-case/case-core-plugin-http-v0.27.3) (2025-10-25) diff --git a/packages/case-core-plugin-http/package.json b/packages/case-core-plugin-http/package.json index 1f937fbe3..b60859571 100644 --- a/packages/case-core-plugin-http/package.json +++ b/packages/case-core-plugin-http/package.json @@ -1,6 +1,6 @@ { "name": "@contract-case/case-core-plugin-http", - "version": "0.27.3", + "version": "0.28.0", "description": "ContractCase core HTTP plugin, providing HTTP matchers and mocks", "keywords": [ "testing", @@ -49,8 +49,8 @@ "url": "https://github.com/case-contract-testing/case/issues" }, "devDependencies": { - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@types/express": "^4.17.14", "@types/jest": "^30.0.0", "@types/qs": "^6.9.17", @@ -65,9 +65,9 @@ "typescript": "5.9.3" }, "dependencies": { - "@contract-case/case-core-plugin-http-dsl": "0.27.3", - "@contract-case/case-plugin-dsl-types": "0.27.3", - "@contract-case/case-plugin-base": "0.27.3", + "@contract-case/case-core-plugin-http-dsl": "0.28.0", + "@contract-case/case-plugin-dsl-types": "0.28.0", + "@contract-case/case-plugin-base": "0.28.0", "axios": "^1.12.2", "express": "^4.20.0", "qs": "^6.13.1" diff --git a/packages/case-core/CHANGELOG.md b/packages/case-core/CHANGELOG.md index c161e574e..7e6afc0b9 100644 --- a/packages/case-core/CHANGELOG.md +++ b/packages/case-core/CHANGELOG.md @@ -1,5 +1,39 @@ # Changelog +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-core-v0.27.3...@contract-case/case-core-v0.28.0) (2025-12-14) + + +### ⚠ BREAKING CHANGES + +* Now plugins can control how the unique name constraint is set up. However, this is a breaking change for existing plugin authors, as now a mock executor is two functions. This is the beginning of the work needed to move away from requiring every interaction to have a request / response pair. + +### Features + +* Add a clear error code and documentation for when a function needs to be provided, but is missing ([59ad728](https://github.com/case-contract-testing/contract-case/commit/59ad728a76a9fc7a95691913a85f71cf0ebb2055)) +* Now plugins can control how the unique name constraint is set up. However, this is a breaking change for existing plugin authors, as now a mock executor is two functions. This is the beginning of the work needed to move away from requiring every interaction to have a request / response pair. ([bfcb019](https://github.com/case-contract-testing/contract-case/commit/bfcb0194ceafd94b3ed8eb46744bcb36de7bad8f)) + + +### Bug Fixes + +* **core:** Add Advice Override option for MISSING_REGISTERED_FUNCTION ([3ed93e0](https://github.com/case-contract-testing/contract-case/commit/3ed93e0ff43fb786a2a9e58bc76d6a213e49c129)) +* **core:** Now the core ArrayLength matcher knows the default values (previously, it was the matcher DSL) ([1d7704a](https://github.com/case-contract-testing/contract-case/commit/1d7704a7d69961aee7b884dc3e59573efd772069)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @contract-case/case-core-plugin-function bumped from 0.27.3 to 0.28.0 + * @contract-case/case-core-plugin-http bumped from 0.27.3 to 0.28.0 + * @contract-case/case-core-plugin-http-dsl bumped from 0.27.3 to 0.28.0 + * @contract-case/case-entities-internal bumped from 0.27.3 to 0.28.0 + * @contract-case/case-plugin-base bumped from 0.27.3 to 0.28.0 + * @contract-case/case-plugin-dsl-types bumped from 0.27.3 to 0.28.0 + * devDependencies + * @contract-case/case-definition-dsl bumped from 0.27.3 to 0.28.0 + * @contract-case/case-maintainer-config bumped from 0.27.3 to 0.28.0 + * @contract-case/eslint-config-case-maintainer bumped from 0.27.3 to 0.28.0 + ## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-core-v0.27.2...@contract-case/case-core-v0.27.3) (2025-10-25) diff --git a/packages/case-core/package.json b/packages/case-core/package.json index e2741ca55..1a38c5002 100644 --- a/packages/case-core/package.json +++ b/packages/case-core/package.json @@ -1,6 +1,6 @@ { "name": "@contract-case/case-core", - "version": "0.27.3", + "version": "0.28.0", "description": "Core functionality for the ContractCase contract testing suite", "keywords": [ "testing", @@ -54,9 +54,9 @@ }, "devDependencies": { "@arethetypeswrong/cli": "^0.18.2", - "@contract-case/case-definition-dsl": "0.27.3", - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-definition-dsl": "0.28.0", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@types/current-git-branch": "^1.1.6", "@types/express": "^4.17.14", "@types/git-rev-sync": "^2.0.2", @@ -77,12 +77,12 @@ "typescript": "5.9.3" }, "dependencies": { - "@contract-case/case-core-plugin-function": "0.27.3", - "@contract-case/case-core-plugin-http": "0.27.3", - "@contract-case/case-core-plugin-http-dsl": "0.27.3", - "@contract-case/case-entities-internal": "0.27.3", - "@contract-case/case-plugin-base": "0.27.3", - "@contract-case/case-plugin-dsl-types": "0.27.3", + "@contract-case/case-core-plugin-function": "0.28.0", + "@contract-case/case-core-plugin-http": "0.28.0", + "@contract-case/case-core-plugin-http-dsl": "0.28.0", + "@contract-case/case-entities-internal": "0.28.0", + "@contract-case/case-plugin-base": "0.28.0", + "@contract-case/case-plugin-dsl-types": "0.28.0", "absolute-version": "^2.0.0", "async-mutex": "^0.5.0", "axios": "^1.12.2", diff --git a/packages/case-core/src/entities/versionString.ts b/packages/case-core/src/entities/versionString.ts index ce34dda34..c8a3ee037 100644 --- a/packages/case-core/src/entities/versionString.ts +++ b/packages/case-core/src/entities/versionString.ts @@ -1 +1 @@ -export const caseVersion = '0.27.3'; // x-release-please-version +export const caseVersion = '0.28.0'; // x-release-please-version diff --git a/packages/case-definition-dsl/CHANGELOG.md b/packages/case-definition-dsl/CHANGELOG.md index aad507c90..644621fce 100644 --- a/packages/case-definition-dsl/CHANGELOG.md +++ b/packages/case-definition-dsl/CHANGELOG.md @@ -1,5 +1,36 @@ # Changelog +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-definition-dsl-v0.27.3...@contract-case/case-definition-dsl-v0.28.0) (2025-12-14) + + +### ⚠ BREAKING CHANGES + +* **definition-dsl:** Deprecate io.contract_testing.contractcase.definitions, it is no longer published by this package. Ultimately, we will remove @contract-case/case-definition-dsl in favour of the new generator package. This is a breaking change because the definitions package is no longer required (or usable by) the java packages. +* In order to support the upcoming replacement of JSii, the function invocation matcher has changed to no longer have the function name associated with it, it is now injected by the plugin at runtime. This is not a functional change, but it is still a breaking change as contracts with function plugins will have different definitions and will need to be updated. + +### Miscellaneous Chores + +* **definition-dsl:** Deprecate io.contract_testing.contractcase.definitions, it is no longer published by this package. Ultimately, we will remove @contract-case/case-definition-dsl in favour of the new generator package. This is a breaking change because the definitions package is no longer required (or usable by) the java packages. ([bf1c94c](https://github.com/case-contract-testing/contract-case/commit/bf1c94c8283301bfd5b0d4ef9251165b9ca1c9d1)) + + +### Code Refactoring + +* In order to support the upcoming replacement of JSii, the function invocation matcher has changed to no longer have the function name associated with it, it is now injected by the plugin at runtime. This is not a functional change, but it is still a breaking change as contracts with function plugins will have different definitions and will need to be updated. ([d1e5762](https://github.com/case-contract-testing/contract-case/commit/d1e57627e85609b4cbdf7d3b7d61bd6f0a97af29)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @contract-case/case-core-plugin-function-dsl bumped from 0.27.3 to 0.28.0 + * @contract-case/case-core-plugin-http-dsl bumped from 0.27.3 to 0.28.0 + * @contract-case/case-entities-internal bumped from 0.27.3 to 0.28.0 + * @contract-case/case-plugin-dsl-types bumped from 0.27.3 to 0.28.0 + * devDependencies + * @contract-case/case-core-plugin-http-dsl bumped from 0.27.3 to 0.28.0 + * @contract-case/case-maintainer-config bumped from 0.27.3 to 0.28.0 + * @contract-case/eslint-config-case-maintainer bumped from 0.27.3 to 0.28.0 + ## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-definition-dsl-v0.27.2...@contract-case/case-definition-dsl-v0.27.3) (2025-10-25) diff --git a/packages/case-definition-dsl/package.json b/packages/case-definition-dsl/package.json index 9d51b1327..a8b20f1c1 100644 --- a/packages/case-definition-dsl/package.json +++ b/packages/case-definition-dsl/package.json @@ -1,6 +1,6 @@ { "name": "@contract-case/case-definition-dsl", - "version": "0.27.3", + "version": "0.28.0", "description": "Definition DSL components for the ContractCase contract testing suite", "author": "Timothy Jones (https://github.com/TimothyJones)", "homepage": "https://case.contract-testing.io/", @@ -58,9 +58,9 @@ } }, "devDependencies": { - "@contract-case/case-core-plugin-http-dsl": "0.27.3", - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-core-plugin-http-dsl": "0.28.0", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@microsoft/api-documenter": "^7.27.0", "@microsoft/api-extractor": "^7.52.13", "@types/jest": "^30.0.0", @@ -77,10 +77,10 @@ "ts-node": "^10.9.2" }, "dependencies": { - "@contract-case/case-core-plugin-function-dsl": "0.27.3", - "@contract-case/case-core-plugin-http-dsl": "0.27.3", - "@contract-case/case-entities-internal": "0.27.3", - "@contract-case/case-plugin-dsl-types": "0.27.3" + "@contract-case/case-core-plugin-function-dsl": "0.28.0", + "@contract-case/case-core-plugin-http-dsl": "0.28.0", + "@contract-case/case-entities-internal": "0.28.0", + "@contract-case/case-plugin-dsl-types": "0.28.0" }, "stability": "stable", "types": "build/index.d.ts", diff --git a/packages/case-definition-generator/CHANGELOG.md b/packages/case-definition-generator/CHANGELOG.md new file mode 100644 index 000000000..07f03a05c --- /dev/null +++ b/packages/case-definition-generator/CHANGELOG.md @@ -0,0 +1,28 @@ +# Changelog + +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-definition-generator-v0.27.3...@contract-case/case-definition-generator-v0.28.0) (2025-12-14) + + +### ⚠ BREAKING CHANGES + +* **java-dsl:** Remove JSii. This is a substantial ergonomic improvement, but it also means that the previous DSL classes in \`io.contract_testing.contractcase.definitions\` need to be replaced with the classes in \`io.contract_testing.contractcase.dsl\`. The functionality has been preserved, but there are minor differences in the way the DSL is expressed. Please see the documentation or official test code for examples of usage. + +### Features + +* **java:** Generated DSL classes now all have the ContractCaseDsl annotation on the class, to assist with custom serialisation ([77f3fca](https://github.com/case-contract-testing/contract-case/commit/77f3fcaa550c90b12fe43d240e60afc39dd80a9b)) + + +### Code Refactoring + +* **java-dsl:** Remove JSii. This is a substantial ergonomic improvement, but it also means that the previous DSL classes in \`io.contract_testing.contractcase.definitions\` need to be replaced with the classes in \`io.contract_testing.contractcase.dsl\`. The functionality has been preserved, but there are minor differences in the way the DSL is expressed. Please see the documentation or official test code for examples of usage. ([6fa0d75](https://github.com/case-contract-testing/contract-case/commit/6fa0d75157de65a52cc41e297fd4fe0103de5cfc)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @contract-case/case-plugin-base bumped from 0.27.3 to 0.28.0 + * @contract-case/case-plugin-dsl-types bumped from 0.27.3 to 0.28.0 + * devDependencies + * @contract-case/case-maintainer-config bumped from 0.27.3 to 0.28.0 + * @contract-case/eslint-config-case-maintainer bumped from 0.27.3 to 0.28.0 diff --git a/packages/case-definition-generator/package.json b/packages/case-definition-generator/package.json index 98cab9832..edda58a7e 100644 --- a/packages/case-definition-generator/package.json +++ b/packages/case-definition-generator/package.json @@ -1,6 +1,6 @@ { "name": "@contract-case/definition-generator", - "version": "0.27.3", + "version": "0.28.0", "description": "Generates DSL source files for use with ContractCase", "keywords": [ "testing", @@ -49,8 +49,8 @@ "url": "https://github.com/case-contract-testing/case/issues" }, "devDependencies": { - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@types/jest": "^30.0.0", "cross-env": "^7.0.3", "eslint": "^9.22.0", @@ -62,8 +62,8 @@ }, "dependencies": { "@contract-case/java-ast": "^0.0.2", - "@contract-case/case-plugin-base": "0.27.3", - "@contract-case/case-plugin-dsl-types": "0.27.3", + "@contract-case/case-plugin-base": "0.28.0", + "@contract-case/case-plugin-dsl-types": "0.28.0", "@types/commonmark": "^0.27.10", "chalk": "^4.1.2", "commonmark": "^0.31.2", diff --git a/packages/case-entities/CHANGELOG.md b/packages/case-entities/CHANGELOG.md index 0656955ac..8f61244bb 100644 --- a/packages/case-entities/CHANGELOG.md +++ b/packages/case-entities/CHANGELOG.md @@ -1,5 +1,24 @@ # Changelog +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-entities-internal-v0.27.3...@contract-case/case-entities-internal-v0.28.0) (2025-12-14) + + +### Miscellaneous Chores + +* **@contract-case/case-entities-internal:** Synchronize ContractCase versions + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @contract-case/case-core-plugin-http-dsl bumped from 0.27.3 to 0.28.0 + * @contract-case/case-core-plugin-function-dsl bumped from 0.27.3 to 0.28.0 + * @contract-case/case-plugin-dsl-types bumped from 0.27.3 to 0.28.0 + * devDependencies + * @contract-case/case-maintainer-config bumped from 0.27.3 to 0.28.0 + * @contract-case/eslint-config-case-maintainer bumped from 0.27.3 to 0.28.0 + ## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-entities-internal-v0.27.2...@contract-case/case-entities-internal-v0.27.3) (2025-10-25) diff --git a/packages/case-entities/package.json b/packages/case-entities/package.json index 2bb224fff..8c215fa1c 100644 --- a/packages/case-entities/package.json +++ b/packages/case-entities/package.json @@ -1,6 +1,6 @@ { "name": "@contract-case/case-entities-internal", - "version": "0.27.3", + "version": "0.28.0", "description": "Shared types for ContractCase modules", "keywords": [ "testing", @@ -48,8 +48,8 @@ "url": "https://github.com/case-contract-testing/case/issues" }, "devDependencies": { - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@types/current-git-branch": "^1.1.6", "@types/express": "^4.17.14", "@types/is-ci": "^3.0.0", @@ -66,8 +66,8 @@ "typescript": "5.9.3" }, "dependencies": { - "@contract-case/case-core-plugin-http-dsl": "0.27.3", - "@contract-case/case-core-plugin-function-dsl": "0.27.3", - "@contract-case/case-plugin-dsl-types": "0.27.3" + "@contract-case/case-core-plugin-http-dsl": "0.28.0", + "@contract-case/case-core-plugin-function-dsl": "0.28.0", + "@contract-case/case-plugin-dsl-types": "0.28.0" } } diff --git a/packages/case-maintainer-config/CHANGELOG.md b/packages/case-maintainer-config/CHANGELOG.md index 1e4eac7f6..e059f256d 100644 --- a/packages/case-maintainer-config/CHANGELOG.md +++ b/packages/case-maintainer-config/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-maintainer-config-v0.27.3...@contract-case/case-maintainer-config-v0.28.0) (2025-12-14) + + +### Miscellaneous Chores + +* **@contract-case/case-maintainer-config:** Synchronize ContractCase versions + ## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-maintainer-config-v0.27.2...@contract-case/case-maintainer-config-v0.27.3) (2025-10-25) diff --git a/packages/case-maintainer-config/package.json b/packages/case-maintainer-config/package.json index f0f014279..dcd22064b 100644 --- a/packages/case-maintainer-config/package.json +++ b/packages/case-maintainer-config/package.json @@ -1,6 +1,6 @@ { "name": "@contract-case/case-maintainer-config", - "version": "0.27.3", + "version": "0.28.0", "description": "Shared configuration for ContractCase modules. For eslint config, see @contract-case/eslint-config-case-maintainer", "keywords": [ "contractcase" diff --git a/packages/case-plugin-base/CHANGELOG.md b/packages/case-plugin-base/CHANGELOG.md index 101409da6..49d18f634 100644 --- a/packages/case-plugin-base/CHANGELOG.md +++ b/packages/case-plugin-base/CHANGELOG.md @@ -1,5 +1,27 @@ # Changelog +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-plugin-base-v0.27.3...@contract-case/case-plugin-base-v0.28.0) (2025-12-14) + + +### ⚠ BREAKING CHANGES + +* Now plugins can control how the unique name constraint is set up. However, this is a breaking change for existing plugin authors, as now a mock executor is two functions. This is the beginning of the work needed to move away from requiring every interaction to have a request / response pair. + +### Features + +* Add a clear error code and documentation for when a function needs to be provided, but is missing ([59ad728](https://github.com/case-contract-testing/contract-case/commit/59ad728a76a9fc7a95691913a85f71cf0ebb2055)) +* Now plugins can control how the unique name constraint is set up. However, this is a breaking change for existing plugin authors, as now a mock executor is two functions. This is the beginning of the work needed to move away from requiring every interaction to have a request / response pair. ([bfcb019](https://github.com/case-contract-testing/contract-case/commit/bfcb0194ceafd94b3ed8eb46744bcb36de7bad8f)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @contract-case/case-plugin-dsl-types bumped from 0.27.3 to 0.28.0 + * devDependencies + * @contract-case/case-maintainer-config bumped from 0.27.3 to 0.28.0 + * @contract-case/eslint-config-case-maintainer bumped from 0.27.3 to 0.28.0 + ## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-plugin-base-v0.27.2...@contract-case/case-plugin-base-v0.27.3) (2025-10-25) diff --git a/packages/case-plugin-base/package.json b/packages/case-plugin-base/package.json index 813b797c6..81cf8ab43 100644 --- a/packages/case-plugin-base/package.json +++ b/packages/case-plugin-base/package.json @@ -1,6 +1,6 @@ { "name": "@contract-case/case-plugin-base", - "version": "0.27.3", + "version": "0.28.0", "description": "Plugin framework for writing plugins for the ContractCase test framework", "keywords": [ "testing", @@ -51,8 +51,8 @@ "url": "https://github.com/case-contract-testing/case/issues" }, "devDependencies": { - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@microsoft/api-documenter": "^7.28.1", "@microsoft/api-extractor": "^7.55.1", "@types/jest": "^30.0.0", @@ -65,7 +65,7 @@ "typescript": "5.9.3" }, "dependencies": { - "@contract-case/case-plugin-dsl-types": "0.27.3", + "@contract-case/case-plugin-dsl-types": "0.28.0", "pretty-format": "^30.2.0" } } diff --git a/packages/case-plugin-dsl-types/CHANGELOG.md b/packages/case-plugin-dsl-types/CHANGELOG.md index a5b9ac9c0..2470f7080 100644 --- a/packages/case-plugin-dsl-types/CHANGELOG.md +++ b/packages/case-plugin-dsl-types/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-plugin-dsl-types-v0.27.3...@contract-case/case-plugin-dsl-types-v0.28.0) (2025-12-14) + + +### Miscellaneous Chores + +* **@contract-case/case-plugin-dsl-types:** Synchronize ContractCase versions + + +### Dependencies + +* The following workspace dependencies were updated + * devDependencies + * @contract-case/case-maintainer-config bumped from 0.27.3 to 0.28.0 + * @contract-case/eslint-config-case-maintainer bumped from 0.27.3 to 0.28.0 + ## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-plugin-dsl-types-v0.27.2...@contract-case/case-plugin-dsl-types-v0.27.3) (2025-10-25) diff --git a/packages/case-plugin-dsl-types/package.json b/packages/case-plugin-dsl-types/package.json index d25d4b54e..3eaf7f131 100644 --- a/packages/case-plugin-dsl-types/package.json +++ b/packages/case-plugin-dsl-types/package.json @@ -1,6 +1,6 @@ { "name": "@contract-case/case-plugin-dsl-types", - "version": "0.27.3", + "version": "0.28.0", "description": "Types for writing the definition DSL for plugins for the ContractCase test framework", "keywords": [ "testing", @@ -50,8 +50,8 @@ "url": "https://github.com/case-contract-testing/case/issues" }, "devDependencies": { - "@contract-case/case-maintainer-config": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/case-maintainer-config": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@microsoft/api-documenter": "^7.27.0", "@microsoft/api-extractor": "^7.52.13", "eslint": "^9.39.1", diff --git a/packages/contract-case-cli/CHANGELOG.md b/packages/contract-case-cli/CHANGELOG.md index 011d2e7d1..b88a06132 100644 --- a/packages/contract-case-cli/CHANGELOG.md +++ b/packages/contract-case-cli/CHANGELOG.md @@ -23,6 +23,23 @@ * devDependencies * @contract-case/eslint-config-case-maintainer bumped from 0.0.1 to 0.0.2 +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/cli-v0.27.3...@contract-case/cli-v0.28.0) (2025-12-14) + + +### Miscellaneous Chores + +* **@contract-case/cli:** Synchronize ContractCase versions + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @contract-case/case-connector bumped from 0.27.3 to 0.28.0 + * @contract-case/case-core bumped from 0.27.3 to 0.28.0 + * devDependencies + * @contract-case/eslint-config-case-maintainer bumped from 0.27.3 to 0.28.0 + ## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/@contract-case/cli-v0.27.2...@contract-case/cli-v0.27.3) (2025-10-25) diff --git a/packages/contract-case-cli/package.json b/packages/contract-case-cli/package.json index b6ccd247e..9ddd2442c 100644 --- a/packages/contract-case-cli/package.json +++ b/packages/contract-case-cli/package.json @@ -1,6 +1,6 @@ { "name": "@contract-case/cli", - "version": "0.27.3", + "version": "0.28.0", "type": "module", "description": "Command-line interface for ContractCase, allowing interactions with the Contract / Pact Broker", "keywords": [ @@ -59,7 +59,7 @@ "url": "https://github.com/case-contract-testing/case/issues" }, "devDependencies": { - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@types/jest": "^30.0.0", "cross-env": "^10.0.0", "eslint": "^9.39.1", @@ -71,8 +71,8 @@ "typescript": "5.9.3" }, "dependencies": { - "@contract-case/case-connector": "0.27.3", - "@contract-case/case-core": "0.27.3", + "@contract-case/case-connector": "0.28.0", + "@contract-case/case-core": "0.28.0", "chalk": "^5.3.0", "commander": "^14.0.0" } diff --git a/packages/contract-case-cli/src/entities/versionString.ts b/packages/contract-case-cli/src/entities/versionString.ts index 95adfa58b..39f4c7348 100644 --- a/packages/contract-case-cli/src/entities/versionString.ts +++ b/packages/contract-case-cli/src/entities/versionString.ts @@ -1,4 +1,4 @@ const packageName = '@contract-case/cli'; -const version = '0.27.3'; // x-release-please-version +const version = '0.28.0'; // x-release-please-version export const versionString = `${packageName}@${version}`; diff --git a/packages/contract-case-jest/CHANGELOG.md b/packages/contract-case-jest/CHANGELOG.md index 83293e93e..e660d3b7b 100644 --- a/packages/contract-case-jest/CHANGELOG.md +++ b/packages/contract-case-jest/CHANGELOG.md @@ -29,6 +29,33 @@ * @contract-case/case-example-mock-types bumped from 0.14.0 to 0.15.1 * @contract-case/cli bumped from 0.1.6 to 0.1.7 +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/contract-case-jest-v0.27.3...@contract-case/contract-case-jest-v0.28.0) (2025-12-14) + + +### ⚠ BREAKING CHANGES + +* In order to support the upcoming replacement of JSii, the function invocation matcher has changed to no longer have the function name associated with it, it is now injected by the plugin at runtime. This is not a functional change, but it is still a breaking change as contracts with function plugins will have different definitions and will need to be updated. + +### Code Refactoring + +* In order to support the upcoming replacement of JSii, the function invocation matcher has changed to no longer have the function name associated with it, it is now injected by the plugin at runtime. This is not a functional change, but it is still a breaking change as contracts with function plugins will have different definitions and will need to be updated. ([d1e5762](https://github.com/case-contract-testing/contract-case/commit/d1e57627e85609b4cbdf7d3b7d61bd6f0a97af29)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @contract-case/case-connector bumped from 0.27.3 to 0.28.0 + * @contract-case/case-core-plugin-http-dsl bumped from 0.27.3 to 0.28.0 + * @contract-case/case-definition-dsl bumped from 0.27.3 to 0.28.0 + * @contract-case/case-entities-internal bumped from 0.27.3 to 0.28.0 + * @contract-case/case-plugin-base bumped from 0.27.3 to 0.28.0 + * @contract-case/case-plugin-dsl-types bumped from 0.27.3 to 0.28.0 + * @contract-case/cli bumped from 0.27.3 to 0.28.0 + * devDependencies + * @contract-case/cli bumped from 0.27.3 to 0.28.0 + * @contract-case/eslint-config-case-maintainer bumped from 0.27.3 to 0.28.0 + ## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/@contract-case/contract-case-jest-v0.27.2...@contract-case/contract-case-jest-v0.27.3) (2025-10-25) diff --git a/packages/contract-case-jest/package.json b/packages/contract-case-jest/package.json index 104df0555..f632f1dd2 100644 --- a/packages/contract-case-jest/package.json +++ b/packages/contract-case-jest/package.json @@ -1,6 +1,6 @@ { "name": "@contract-case/contract-case-jest", - "version": "0.27.3", + "version": "0.28.0", "description": "ContractCase contract testing suite", "keywords": [ "testing", @@ -56,8 +56,8 @@ "url": "https://github.com/case-contract-testing/case/issues" }, "devDependencies": { - "@contract-case/cli": "0.27.3", - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/cli": "0.28.0", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "@grpc/grpc-js": "^1.13.3", "@grpc/proto-loader": "^0.8.0", "@types/body-parser": "^1.19.2", @@ -81,13 +81,13 @@ "jest": "^29.4.3 | ^30.0.0" }, "dependencies": { - "@contract-case/case-connector": "0.27.3", - "@contract-case/case-core-plugin-http-dsl": "0.27.3", - "@contract-case/case-definition-dsl": "0.27.3", - "@contract-case/case-entities-internal": "0.27.3", - "@contract-case/case-plugin-base": "0.27.3", - "@contract-case/case-plugin-dsl-types": "0.27.3", - "@contract-case/cli": "0.27.3", + "@contract-case/case-connector": "0.28.0", + "@contract-case/case-core-plugin-http-dsl": "0.28.0", + "@contract-case/case-definition-dsl": "0.28.0", + "@contract-case/case-entities-internal": "0.28.0", + "@contract-case/case-plugin-base": "0.28.0", + "@contract-case/case-plugin-dsl-types": "0.28.0", + "@contract-case/cli": "0.28.0", "chalk": "^4.1.2", "ts-node": "^10.9.1" } diff --git a/packages/contract-case-jest/src/entities/versionString.ts b/packages/contract-case-jest/src/entities/versionString.ts index 37cc20225..343c08dce 100644 --- a/packages/contract-case-jest/src/entities/versionString.ts +++ b/packages/contract-case-jest/src/entities/versionString.ts @@ -1 +1 @@ -export const versionString = '0.27.3'; // x-release-please-version +export const versionString = '0.28.0'; // x-release-please-version diff --git a/packages/documentation-matchers-generator/CHANGELOG.md b/packages/documentation-matchers-generator/CHANGELOG.md index a95247dbf..d3773e922 100644 --- a/packages/documentation-matchers-generator/CHANGELOG.md +++ b/packages/documentation-matchers-generator/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/documentation-matchers-generator-v0.27.3...@contract-case/documentation-matchers-generator-v0.28.0) (2025-12-14) + + +### Miscellaneous Chores + +* **@contract-case/documentation-matchers-generator:** Synchronize ContractCase versions + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @contract-case/case-definition-dsl bumped from 0.27.3 to 0.28.0 + * devDependencies + * @contract-case/eslint-config-case-maintainer bumped from 0.27.3 to 0.28.0 + ## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/@contract-case/documentation-matchers-generator-v0.27.2...@contract-case/documentation-matchers-generator-v0.27.3) (2025-10-25) diff --git a/packages/documentation-matchers-generator/package.json b/packages/documentation-matchers-generator/package.json index e2129df6c..fa67bf841 100644 --- a/packages/documentation-matchers-generator/package.json +++ b/packages/documentation-matchers-generator/package.json @@ -1,6 +1,6 @@ { "name": "@contract-case/documentation-matchers-generator", - "version": "0.27.3", + "version": "0.28.0", "type": "module", "private": true, "description": "Generator for the matcher documentation of ContractCase", @@ -53,14 +53,14 @@ "url": "https://github.com/case-contract-testing/case/issues" }, "devDependencies": { - "@contract-case/eslint-config-case-maintainer": "0.27.3", + "@contract-case/eslint-config-case-maintainer": "0.28.0", "eslint": "^9.39.1", "prettier": "3.6.2", "rimraf": "^6.1.0", "typescript": "5.9.3" }, "dependencies": { - "@contract-case/case-definition-dsl": "0.27.3", + "@contract-case/case-definition-dsl": "0.28.0", "mkdirp": "^3.0.1" } } diff --git a/packages/documentation/CHANGELOG.md b/packages/documentation/CHANGELOG.md index 627884c56..7a25710c3 100644 --- a/packages/documentation/CHANGELOG.md +++ b/packages/documentation/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/documentation-v0.27.3...documentation-v0.28.0) (2025-12-14) + + +### Miscellaneous Chores + +* **documentation:** Synchronize ContractCase versions + ## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/documentation-v0.27.2...documentation-v0.27.3) (2025-10-25) diff --git a/packages/documentation/package.json b/packages/documentation/package.json index 882e1f687..61596eb6c 100644 --- a/packages/documentation/package.json +++ b/packages/documentation/package.json @@ -1,6 +1,6 @@ { "name": "case-documentation", - "version": "0.27.3", + "version": "0.28.0", "private": true, "scripts": { "docusaurus": "docusaurus", diff --git a/packages/dsl-java/CHANGELOG.md b/packages/dsl-java/CHANGELOG.md index f8d9bf396..c9b7d5525 100644 --- a/packages/dsl-java/CHANGELOG.md +++ b/packages/dsl-java/CHANGELOG.md @@ -1,5 +1,38 @@ # Changelog +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/dsl-java-v0.27.3...@contract-case/dsl-java-v0.28.0) (2025-12-14) + + +### ⚠ BREAKING CHANGES + +* **java-dsl:** Remove the RunTestCallback versions of the Verifier constructor - they have been deprecated for several releases, and the RunTestCallback parameter was ignored anyway +* **java-dsl:** Remove JSii. This is a substantial ergonomic improvement, but it also means that the previous DSL classes in \`io.contract_testing.contractcase.definitions\` need to be replaced with the classes in \`io.contract_testing.contractcase.dsl\`. The functionality has been preserved, but there are minor differences in the way the DSL is expressed. Please see the documentation or official test code for examples of usage. +* In order to support the upcoming replacement of JSii, the function invocation matcher has changed to no longer have the function name associated with it, it is now injected by the plugin at runtime. This is not a functional change, but it is still a breaking change as contracts with function plugins will have different definitions and will need to be updated. + +### Features + +* **java:** Generated DSL classes now all have the ContractCaseDsl annotation on the class, to assist with custom serialisation ([77f3fca](https://github.com/case-contract-testing/contract-case/commit/77f3fcaa550c90b12fe43d240e60afc39dd80a9b)) + + +### Bug Fixes + +* **java-dsl:** Move jetbrains annotations to the correct (compileOnly) scope ([4af9222](https://github.com/case-contract-testing/contract-case/commit/4af92220ebc9d8fd788e44b67b5a46c346715636)) + + +### Code Refactoring + +* In order to support the upcoming replacement of JSii, the function invocation matcher has changed to no longer have the function name associated with it, it is now injected by the plugin at runtime. This is not a functional change, but it is still a breaking change as contracts with function plugins will have different definitions and will need to be updated. ([d1e5762](https://github.com/case-contract-testing/contract-case/commit/d1e57627e85609b4cbdf7d3b7d61bd6f0a97af29)) +* **java-dsl:** Remove JSii. This is a substantial ergonomic improvement, but it also means that the previous DSL classes in \`io.contract_testing.contractcase.definitions\` need to be replaced with the classes in \`io.contract_testing.contractcase.dsl\`. The functionality has been preserved, but there are minor differences in the way the DSL is expressed. Please see the documentation or official test code for examples of usage. ([6fa0d75](https://github.com/case-contract-testing/contract-case/commit/6fa0d75157de65a52cc41e297fd4fe0103de5cfc)) +* **java-dsl:** Remove the RunTestCallback versions of the Verifier constructor - they have been deprecated for several releases, and the RunTestCallback parameter was ignored anyway ([26a34d2](https://github.com/case-contract-testing/contract-case/commit/26a34d2b33d06adf2edfc61695a199c1aa4523e1)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @contract-case/case-connector bumped from 0.27.3 to 0.28.0 + * @contract-case/case-definition-dsl bumped from 0.27.3 to 0.28.0 + ## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/@contract-case/dsl-java-v0.27.2...@contract-case/dsl-java-v0.27.3) (2025-10-25) diff --git a/packages/dsl-java/README.md b/packages/dsl-java/README.md index 4c2a765f7..4d84efda7 100644 --- a/packages/dsl-java/README.md +++ b/packages/dsl-java/README.md @@ -22,7 +22,7 @@ Read the [documentation here](https://case.contract-testing.io/docs/intro/). _build.gradle_: ```groovy -testImplementation "io.contract-testing.contractcase:contract-case:0.27.3" +testImplementation "io.contract-testing.contractcase:contract-case:0.28.0" ``` diff --git a/packages/dsl-java/build.gradle b/packages/dsl-java/build.gradle index 3b3ed8ee7..dfd90de7c 100644 --- a/packages/dsl-java/build.gradle +++ b/packages/dsl-java/build.gradle @@ -11,7 +11,7 @@ plugins { id 'io.franzbecker.gradle-lombok' version '5.0.0' } group = 'io.contract-testing.contractcase' -version = "0.27.3" // x-release-please-version +version = "0.28.0" // x-release-please-version sourceCompatibility = '17' diff --git a/packages/dsl-java/package.json b/packages/dsl-java/package.json index 9f1479f5a..a6732e902 100644 --- a/packages/dsl-java/package.json +++ b/packages/dsl-java/package.json @@ -1,6 +1,6 @@ { "name": "@contract-case/dsl-java", - "version": "0.27.3", + "version": "0.28.0", "private": true, "description": "Java DSL for the ContractCase contract testing suite", "keywords": [ @@ -31,8 +31,8 @@ "rimraf": "^6.1.0" }, "dependencies": { - "@contract-case/case-connector": "0.27.3", - "@contract-case/case-definition-dsl": "0.27.3" + "@contract-case/case-connector": "0.28.0", + "@contract-case/case-definition-dsl": "0.28.0" }, "nx": { "tasksRunnerOptions": { diff --git a/packages/eslint-config-case-maintainer/CHANGELOG.md b/packages/eslint-config-case-maintainer/CHANGELOG.md index 2ef78b994..8fae76505 100644 --- a/packages/eslint-config-case-maintainer/CHANGELOG.md +++ b/packages/eslint-config-case-maintainer/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/eslint-config-case-maintainer-v0.27.3...@contract-case/eslint-config-case-maintainer-v0.28.0) (2025-12-14) + + +### Miscellaneous Chores + +* **@contract-case/eslint-config-case-maintainer:** Synchronize ContractCase versions + ## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/@contract-case/eslint-config-case-maintainer-v0.27.2...@contract-case/eslint-config-case-maintainer-v0.27.3) (2025-10-25) diff --git a/packages/eslint-config-case-maintainer/package.json b/packages/eslint-config-case-maintainer/package.json index 560fd657c..40f76766b 100644 --- a/packages/eslint-config-case-maintainer/package.json +++ b/packages/eslint-config-case-maintainer/package.json @@ -1,6 +1,6 @@ { "name": "@contract-case/eslint-config-case-maintainer", - "version": "0.27.3", + "version": "0.28.0", "description": "eslint settings for contract-case modules. Only useful for ContractCase maintainers", "keywords": [ "contractcase"