Skip to content

Commit ec30a6e

Browse files
authored
chore: release 0.28.0 (#1161)
1 parent 3ed93e0 commit ec30a6e

48 files changed

Lines changed: 630 additions & 206 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.release-please-manifest.json

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
{
2-
"packages/case-core": "0.27.3",
3-
"packages/case-definition-dsl": "0.27.3",
4-
"packages/case-definition-generator": "0.27.3",
5-
"packages/case-core-plugin-http": "0.27.3",
6-
"packages/case-core-plugin-http-dsl": "0.27.3",
7-
"packages/case-core-plugin-function": "0.27.3",
8-
"packages/case-core-plugin-function-dsl": "0.27.3",
9-
"packages/case-plugin-base": "0.27.3",
10-
"packages/case-plugin-dsl-types": "0.27.3",
11-
"packages/case-entities": "0.27.3",
12-
"packages/contract-case-jest": "0.27.3",
13-
"packages/documentation": "0.27.3",
14-
".": "0.27.3",
15-
"packages/contract-case-cli": "0.27.3",
16-
"packages/case-maintainer-config": "0.27.3",
17-
"packages/eslint-config-case-maintainer": "0.27.3",
18-
"packages/case-connector": "0.27.3",
19-
"packages/case-connector-proto": "0.27.3",
20-
"packages/dsl-java": "0.27.3",
21-
"packages/documentation-matchers-generator": "0.27.3"
2+
"packages/case-core": "0.28.0",
3+
"packages/case-definition-dsl": "0.28.0",
4+
"packages/case-definition-generator": "0.28.0",
5+
"packages/case-core-plugin-http": "0.28.0",
6+
"packages/case-core-plugin-http-dsl": "0.28.0",
7+
"packages/case-core-plugin-function": "0.28.0",
8+
"packages/case-core-plugin-function-dsl": "0.28.0",
9+
"packages/case-plugin-base": "0.28.0",
10+
"packages/case-plugin-dsl-types": "0.28.0",
11+
"packages/case-entities": "0.28.0",
12+
"packages/contract-case-jest": "0.28.0",
13+
"packages/documentation": "0.28.0",
14+
".": "0.28.0",
15+
"packages/contract-case-cli": "0.28.0",
16+
"packages/case-maintainer-config": "0.28.0",
17+
"packages/eslint-config-case-maintainer": "0.28.0",
18+
"packages/case-connector": "0.28.0",
19+
"packages/case-connector-proto": "0.28.0",
20+
"packages/dsl-java": "0.28.0",
21+
"packages/documentation-matchers-generator": "0.28.0"
2222
}

docs/maintainers/FULL-CHANGELOG.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,48 @@
11
# Changelog
22

3+
## [0.28.0](https://github.com/case-contract-testing/contract-case/compare/v0.27.3...v0.28.0) (2025-12-14)
4+
5+
6+
### ⚠ BREAKING CHANGES
7+
8+
* **java-dsl:** Remove the RunTestCallback versions of the Verifier constructor - they have been deprecated for several releases, and the RunTestCallback parameter was ignored anyway
9+
* **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.
10+
* **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.
11+
* 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.
12+
* 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.
13+
14+
### Features
15+
16+
* 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))
17+
* **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))
18+
* 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))
19+
20+
21+
### Bug Fixes
22+
23+
* **core:** Add Advice Override option for MISSING_REGISTERED_FUNCTION ([3ed93e0](https://github.com/case-contract-testing/contract-case/commit/3ed93e0ff43fb786a2a9e58bc76d6a213e49c129))
24+
* **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))
25+
* **java-dsl:** Move jetbrains annotations to the correct (compileOnly) scope ([4af9222](https://github.com/case-contract-testing/contract-case/commit/4af92220ebc9d8fd788e44b67b5a46c346715636))
26+
27+
28+
### Miscellaneous Chores
29+
30+
* **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))
31+
32+
33+
### Code Refactoring
34+
35+
* 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))
36+
* **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))
37+
* **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))
38+
39+
40+
### Dependencies
41+
42+
* The following workspace dependencies were updated
43+
* devDependencies
44+
* @contract-case/eslint-config-case-maintainer bumped from 0.27.3 to 0.28.0
45+
346
## [0.27.3](https://github.com/case-contract-testing/contract-case/compare/v0.27.2...v0.27.3) (2025-10-25)
447

548

0 commit comments

Comments
 (0)