chore(deps): update dependency com.github.tomakehurst:wiremock to v3
This MR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence |
---|---|---|---|---|---|
com.github.tomakehurst:wiremock (source) |
2.27.2 -> 3.0.0
|
Release Notes
wiremock/wiremock
v3.0.0
: WireMock 3.0.0
A new major release that introduces a lot of new features, enhancements and also some breaking changes. The key changes include support for Java 17, dropping Java 8 support, new matchers and dynamic response macros, new API endpoints, etc. We’ve made a small number of breaking changes to the Java API plus some behavioural changes, but the JSON (REST and file) API remains fully compatible with 2.x.
NOTE: A blog post with the user-friendly summary and migration guidelines is coming soon!
Thanks to all contributors! The changelog below represents key changes between 2.35.0 and 3.0.0. The full list of changes is available below in the collapsed section.
WARNING: There are known issues in the WireMock 3.0.0 release. Please be careful when updating, and see the Errata below
Upgrade guide
Show steps
- If you aren’t using WireMock 2.35.0, upgrade to this version first
- If you use WireMock Standalone, backup your configurations, logs and other information you might need in the future, just in case the - upgrade goes wrong
- If you use any WireMock extensions, private source or open source ones, ensure they are compatible with WireMock 3 by checking this GitHub Issue, documentation and the integration tests. If you discover any incompatible extension, please raise a bug in [wiremock/wiremock/issues (https://github.com/wiremock/wiremock/issues) or comment in wiremock/wiremock #2323, We will triage and route it accordingly
- If you use Java 8 on the instance, update to Java 11 or Java 17
- Update WireMock to the most recent release of WireMock 3
🚀 New features and improvements
- Matching and response templating:
- JSON matching via
matchesJsonSchema()
@kapishmalik - Form parameter matching support (#2157) @kapishmalik
-
not()
matcher that inverts other matchers (#2006) @SatyamAK - Support for multi-stub mapping files to the remote loader function (#2198) @DjerohN
- Support for Java time when serialising to/from JSON (#2130 ) @mark-henry
- Support for matching multi-valued headers and query parameters with
includes
andhasExactly
(#2110) @kapishmalik - Matching URLs by path template @tomakehurst
- Matching path variables in the same manner as query, headers, etc. @tomakehurst
- Support for addressing path variables by name in response templates @tomakehurst
Proxy mode:
- Add support for recording via an existing proxy configuration and not having to set the target URI (
5637a00
) @tomakehurst - Make proxy timeout configurable (#2058) @lpradel
- Add support for disabling proxy pass-through (#2087) @kapishmalik
API and Extensibility:
-
#1512 - Extensions API v2 - Documentation (#2238) @tomakehurst
- New extension points:
RequestFilterV2
,TemplateHelperProviderExtension
,TemplateModelDataProviderExtension
,ResponseDefinitionTransformerV2
,ResponseTransformerV2
,ServeEventListener
- New extension points:
- Add Beta API for externalized state storage (#2144) @tomakehurst
- Add
patch()
Method with URL in WireMock REST API client (#2261) @Joel-Schaltenbrand - Add convenient method for matching absence of query and form params in a request (#2192, #2193) @G-Basak
- Add a
beforeResponseSent()
serve event listener hook (#2295) @tomakehurst - Add a WireMock#requestedFor() method allowing to pass Http method as parameter (#2175) @ytvnr
- Add annotations for Beta and Internal APIs (#2332) @oleg-nenashev
- Allow configuring webhook to forbid target endpoints (#2307) @Mahoney
- Add
WiremockNetworkTrafficListeners
as unified factory for creating arbitrary notifying traffic listeners.(#2283) @gsmith85 - Add support for customising the filenames produced when stubs are saved or recorded via Handlebars at startup @craftsman228
- Add request IP to template model (#2103) @bmarwell
- Allow fixing class loader in
ClasspathFileSource
(#2054) @derari
Operations:
- #1913 - Support for sub-events associated with a ServeEvent - Documentation (#2238) @tomakehurst
- Add healthcheck endpoint to WireMock Standalone (#2303) @Purely-Jonas @ikalu
- Add support for custom encoding in
ConsoleNotifyingWiremockNetworkTrafficListener
(#2139) @gsmith85 - Performance: Change
Queue
on toDeque
inInMemoryRequestJournalStore
(#2299) @pks-1981 - Improve rendering performance for large response templates (#2211) @Mahoney
- Improve error message in
AbstractFileSource#assertFilePathIsUnderRoot()
(#2267) @oleg-nenashev - New ASCII art on standalone startup (
166c3b3
) @tomakehurst
💥 Known Issues / Errata
- WireMock Webhook Extension 3.0.0 JAR is broken #2342. Also, the 2.35.0 build of the extension is not compatible with WireMock 3.0.0 as reported in #2341. This extension cannot be reliably used until a new patch is released
- Some other WireMock 2 exceptions are not compatible with WireMock 3 and need an update. See the WireMock 3 extension compatibility notes in #2323
This list will be expanded when we find new issues
💥 Breaking changes
- Java 8 is no longer supported, WireMock will NOT work on this version anymore
- Upgrade from Jetty 9 to Jetty 11 (Changelog) @tomakehurst
- Change the Maven repository groupID to org.wiremock for all artifacts built from this repository: wiremock, wiremock-standalone, wiremock-webhooks-extension @tomakehurst
- Change Artifact IDs of
wiremock-jre8
andwiremock-jre8-standalone
towiremock
andwiremock-standalone
@tomakehurst - Change the standalone CLI entrypoint from
com.github.tomakehurst.wiremock.standalone.WireMockServerRunner
towiremock.Run
(166c3b3) @tomakehurst - Almost all Guava usages in public binary APIs were replaced by Java 11 equivalents. The rest will be removed in the WireMock 4 release in the future. Credits to @timtebeek, @pks-1981, @tomasbjerre
- Remove deprecated API routes (note: we’ve preserved the ones necessary for the 2.x client to continue to work with the 3.x server) (47d420) @tomakehurst
- Change order of handling scenarios with transformed stubs (#2140) @gsmith85
- Switch the
com.github.tomakehurst.wiremock.common.Timing
return values toInteger
and allownull
when data isn't ready (#2275) @emilianoalvarez91 - Deprecate the legacy recorder (7b8a7d. It will removed in WireMock 4 @tomakehurst
Please note that some APIs remain in the Beta state, and there might be some breaking changes within major releases. We will be adding more annotations in the next release to make it explicit.
🐛 Bug fixes
- Shadow additional packages in wiremock-standalone (#2327) @jluehe
- Prevent slf4j being shaded into the webhooks JAR @tomakehurst
- Correctly handle scenarios with transformed stubs (#2140) @gsmith85
- Fix flood JSON string can not be null or empty from mapping matcher (#2247) @emilianoalvarez91
- Fix admin request crashing when timing responseSendTime is null (#2275) @emilianoalvarez91
- Fix ParseJsonHelper not storing parsed result in variable (if any) when json is empty (#2277) @G-Basak
- Fix
@WireMockTest
not working with@DisabledInNativeImage
(#2219) @DarkAtra - Prevent exception being thrown when a stub using matchesJsonSchema is present and the request body is empty (#2223) @Mahoney
- Fix mis-detection of browser proxy requests over HTTPs (e21394e) @tomakehurst
- Fix broken
hashCode()
in HTTP body (#2116) @ullenius - Add missing
equals()
andhashCodeI()
methods to matcher classes @jnt0r - Fix bug when running declarative + programmatic JUnit5 extension (#2123) @parawanderer
- Respect keystore type when loading keystores (#2003) @kaarefc
- Fix
NullPointerException
thrown when rendering a diff report for a path template matched stub @Mahoney - Fix a bug where disabling browser proxy pass-through also disabled proxy stubs @Mahoney
- Prevent
NullPointerException
when a multipart could not be parsed (#2035) @sickmartian - Fix clock skew problem with certificate generation (#2019) @DrMetallius
- Fix exception thrown when using path template matching when request URL does not match structure
- Fix diff reporting when path templates or variables do not match @tomakehurst
- Fix multipart upload parsing behaviour so that a full buffer doesn't cause the request to hang (#2072) @jwilmoth-nc
- Forcibly close all connections on server shutdown so we don't have to wait for the grace period to expire each time @tomakehurst
👻 Maintenance
- Replace Guava usages by JDK native implementations (#2305, #2297, #2289, #2215, #2225, #2246, #2228, #2214, #2121, #2200, #2120) @pks-1981
- ServerEvent: replace Guava predicate and function with STL (refs #2111) (#2255) @tomasbjerre
- Fix HttpsBrowserProxyAcceptanceTest (#2314) @pks-1981
- Update the release drafter config for beta versioning (#2300) @oleg-nenashev
- Add IntelliJ Run Configurations (#2274) @picimako
- Replace Guava Files management with STL (#2256) @tomasbjerre
- Remove dependencies on new:ing collections with Guava (#2254) @tomasbjerre
- Prove matches json schema works for path params (#2257) @Mahoney
- add-exports in eclipse configuration (#2245) @tomasbjerre
- Add changelog generation with Release Drafter (#2213) @oleg-nenashev
- Refactor/prefer the java standard library instead of guava (#2206) @timtebeek
- Add WireMock Java Co-Maintainers as CODEOWNERS (#2243) @oleg-nenashev
- Refactor to lambdas (#2114) @timtebeek
- Remove duplicate dependencies (#2177) @picimako
- Fix the build output so that that we're not putting a spurious fat JAR with an -all classifier in the thin JAR artifact @tomakehurst
All changes
Show all changes
Add stub import doc by @i-whammy in #1826
Fix NullPointerException by @Mahoney in #2038
Bump mockito-junit-jupiter from 4.8.1 to 4.11.0 by @dependabot in #2052
Bump mockito-core from 4.8.1 to 4.11.0 by @dependabot in #2051
Bump netty-all from 4.1.84.Final to 4.1.86.Final by @dependabot in #2042
Bump com.diffplug.spotless from 6.11.0 to 6.12.0 by @dependabot in #2030
Bump jackson-bom from 2.13.4.20221013 to 2.14.1 by @dependabot in #2026
Bump org.sonarqube from 3.4.0.2513 to 3.5.0.2730 by @dependabot in #2005
Jetty 11 support by @reta in #1942
Bump com.diffplug.spotless from 6.12.0 to 6.15.0 by @dependabot in #2081
Bump io.netty:netty-all from 4.1.86.Final to 4.1.89.Final by @dependabot in #2083
Bump versions.junitJupiter from 5.9.1 to 5.9.2 by @dependabot in #2059
Bump org.mockito:mockito-junit-jupiter from 4.11.0 to 5.1.1 by @dependabot in #2077
Bump org.mockito:mockito-core from 4.11.0 to 5.1.1 by @dependabot in #2078
Bump versions.xmlUnit from 2.9.0 to 2.9.1 by @dependabot in #2060
Bump commons-fileupload:commons-fileupload from 1.4 to 1.5 by @dependabot in #2089
Bump com.diffplug.spotless from 6.15.0 to 6.16.0 by @dependabot in #2095
Bump org.sonarqube from 3.5.0.2730 to 4.0.0.2929 by @dependabot in #2093
Bump versions.jsonUnit from 2.36.0 to 2.36.1 by @dependabot in #2088
Bump log4j-over-slf4j from 2.0.0 to 2.0.6 by @dependabot in #2053
Bump commons-io:commons-io from 2.10.0 to 2.11.0 by @dependabot in #2092
Bump net.minidev:json-smart from 2.4.8 to 2.4.9 by @dependabot in #2099
Bump org.mockito:mockito-core from 5.1.1 to 5.2.0 by @dependabot in #2100
Bump org.mockito:mockito-junit-jupiter from 5.1.1 to 5.2.0 by @dependabot in #2101
Support disabling of browser proxy pass-through by @kapishmalik in #2087
Skips NPE when a multipart could not be parsed by @sickmartian in #2035
New Feature: not() in verify #1892 by @SatyamAK in #2006
[#2102] add requestIp to template model by @bmarwell in #2103
#2004 Make proxy timeout configurable by @lpradel in #2058
Fixed clock skew problems with dynamically created certificates by @DrMetallius in #2019
Bump com.diffplug.spotless from 6.16.0 to 6.17.0 by @dependabot in #2104
Allow fixing class loader in ClasspathFileSource by @derari in #2054
Bump io.netty:netty-all from 4.1.89.Final to 4.1.90.Final by @dependabot in #2105
Bump org.slf4j:log4j-over-slf4j from 2.0.6 to 2.0.7 by @dependabot in #2106
Bump net.minidev:json-smart from 2.4.9 to 2.4.10 by @dependabot in #2107
Feature/multi value matcher for query params and headers by @kapishmalik in #2110
Bump org.ow2.asm:asm from 9.4 to 9.5 by @dependabot in #2117
Bump versions.jsonUnit from 2.36.1 to 2.37.0 by @dependabot in #2112
Bump com.jayway.jsonpath:json-path from 2.7.0 to 2.8.0 by @dependabot in #2118
Refactor/use lambdas by @timtebeek in #2114
Fix of #1679 - Respect keyStoreType when loading keystores. by @kaarefc in #2003
Reference Slack in the issue template by @oleg-nenashev in #2127
Add community badges to the README by @oleg-nenashev in #2124
Fix the Slack link in the contributing guide by @oleg-nenashev in #2129
JSON schema matcher by @tomakehurst in #2134
Add support filename template by @craftsman228 in #2136
Bump com.fasterxml.jackson:jackson-bom from 2.14.2 to 2.15.0 by @dependabot in #2159
Bump com.networknt:json-schema-validator from 1.0.78 to 1.0.80 by @dependabot in #2142
Bump org.mockito:mockito-junit-jupiter from 5.2.0 to 5.3.1 by @dependabot in #2158
Bump org.mockito:mockito-core from 5.2.0 to 5.3.1 by @dependabot in #2160
Adding missing equals Methods and Tests by @jnt0r in #2037
Bump io.netty:netty-all from 4.1.90.Final to 4.1.91.Final by @dependabot in #2125
Bump versions.junitJupiter from 5.9.2 to 5.9.3 by @dependabot in #2163
Bump io.netty:netty-all from 4.1.91.Final to 4.1.92.Final by @dependabot in #2161
code changes for adding support for form parameter matching by @kapishmalik in #2157
Use HTTPs Slack redirect link by @oleg-nenashev in #2169
Delete the issue template which is now a part of .github by @oleg-nenashev in #2168
Update the WireMock Java contributor guide and README by @oleg-nenashev in #2187
Add tests for $ref in json schema matching by @Mahoney in #2162
Replace com.google.common.base.Function (partly) by @pks-1981 in #2121
Bump com.google.guava:guava from 31.1-jre to 32.0.0-jre by @dependabot in #2195
Bump com.fasterxml.jackson:jackson-bom from 2.15.0 to 2.15.2 by @dependabot in #2199
Bump com.networknt:json-schema-validator from 1.0.80 to 1.0.83 by @dependabot in #2196
Bump org.sonarqube from 4.0.0.2929 to 4.1.0.3113 by @dependabot in #2194
Bump io.netty:netty-all from 4.1.92.Final to 4.1.93.Final by @dependabot in #2191
Bump versions.jsonUnit from 2.37.0 to 2.38.0 by @dependabot in #2188
2197 | added field "mappings" to StubMapping and its processing if it exists by @DjerohN in #2198
Bump commons-io:commons-io from 2.11.0 to 2.12.0 by @dependabot in #2180
Replace com.google.common.base.Optional with Java 11 implementation by @pks-1981 in #2120
Bump net.minidev:json-smart from 2.4.10 to 2.4.11 by @dependabot in #2183
Configure default ObjectMapper with JavaTimeModule by @mark-henry in #2130
Fix JUnit5 extension bug when using both declarative + programmatic simultaneously by @parawanderer in #2123
Fix broken hashcode by @ullenius in #2116
Replace com.google.common.base.Function (partly) by @pks-1981 in #2200
Bump org.sonarqube from 4.1.0.3113 to 4.2.0.3129 by @dependabot in #2201
Bump org.scala-lang:scala-library from 2.13.10 to 2.13.11 by @dependabot in #2203
Bump commons-io:commons-io from 2.12.0 to 2.13.0 by @dependabot in #2208
Improve handlebars performance on large templates by @Mahoney in #2211
Add WireMock co-maintainers role and document the merge process by @oleg-nenashev in #2207
Replace Guava classes by @pks-1981 in #2215
Remove Optional from the Jetty settings class by @pks-1981 in #2214
Bump com.google.guava:guava from 32.0.0-jre to 32.0.1-jre by @dependabot in #2212
Bump org.sonarqube from 4.2.0.3129 to 4.2.1.3168 by @dependabot in #2217
MatchesJsonSchemaPattern will return no match for null input by @Mahoney in #2223
Remove duplicate dependencies by @picimako in #2177
Bump io.netty:netty-all from 4.1.93.Final to 4.1.94.Final by @dependabot in #2229
Bump com.networknt:json-schema-validator from 1.0.83 to 1.0.85 by @dependabot in #2233
Bump org.mockito:mockito-core from 5.3.1 to 5.4.0 by @dependabot in #2226
Add WireMock Java Co-Maintainers as codeowners by @oleg-nenashev in #2243
Bump com.google.guava:guava from 32.0.1-jre to 32.1.1-jre by @dependabot in #2242
Replace com.google.common.io.BaseEncoding by java.util.Base64 by @pks-1981 in #2225
Refactor/prefer the java standard library instead of guava by @timtebeek in #2206
Add changelog generation with Release Drafter by @oleg-nenashev in #2213
Replace com.google.common.base.MoreObjects.firstNonNull & com.google.common.base.Preconditions.checkArgument by Java alternatives by @pks-1981 in #2228
Sub-events and V2 extensions by @tomakehurst in #2238
Replace com.google.common.base.Charsets.UTF_8 -> java.nio.charset.StandardCharsets.UTF_8. Tests. by @pks-1981 in #2246
add-exports in eclipse configuration by @tomasbjerre in #2245
Fixed @wiremocktest not working with @DisabledInNativeImage by @DarkAtra in #2219
feat: add a requestedFor method allowing to pass Http method as parameter by @ytvnr in #2175
Bump com.networknt:json-schema-validator from 1.0.85 to 1.0.86 by @dependabot in #2251
Bump net.minidev:json-smart from 2.4.11 to 2.5.0 by @dependabot in #2252
Prove matches json schema works for path params by @Mahoney in #2257
Remove dependencies on new:ing collections with Guava (refs #2111) by @tomasbjerre in #2254
Bump org.mockito:mockito-junit-jupiter from 5.3.1 to 5.4.0 by @dependabot in #2227
Add mising schema properties by @picimako in #2253
Replace Guava Files management with STL (refs #2111) by @tomasbjerre in #2256
Add convenient method for matching absence of query param in a request by @G-Basak in #2192
Add convenient method for matching absence of form param in a request by @G-Basak in #2193
Add patch() Method with URL in WireMock HTTP client by @Joel-Schaltenbrand in #2261
Bump org.sonarqube from 4.2.1.3168 to 4.3.0.3225 by @dependabot in #2279
ServerEvent: replace Guava predicate and function with STL (refs #2111) by @tomasbjerre in #2255
Improve error message in AbstractFileSource#assertFilePathIsUnderRoot() by @oleg-nenashev in #2267
Update Spotless to 6.17.0 and Google Java Format to 1.17.0 by @oleg-nenashev in #2272
Bump com.diffplug.spotless from 6.17.0 to 6.20.0 by @dependabot in #2278
Fix ParseJsonHelper not storing parsed result in variable (if any) when json is empty by @G-Basak in #2277
ConsoleNotifyingWiremockNetworkTrafficListener accepts custom encoding by @gsmith85 in #2139
Fix admin request crashing when timing responseSendTime is null by @emilianoalvarez91 in #2275
Bump io.netty:netty-all from 4.1.94.Final to 4.1.95.Final by @dependabot in #2282
Bump versions.junitJupiter from 5.9.3 to 5.10.0 by @dependabot in #2285
Fix flood json string can not be null or empty from mapping matcher by @emilianoalvarez91 in #2247
Add IntelliJ Run Configurations by @picimako in #2274
Adds WiremockNetworkTrafficListeners by @gsmith85 in #2283
Bump io.netty:netty-all from 4.1.95.Final to 4.1.96.Final by @dependabot in #2286
Include IntelliJ run configurations in CONTRIBUTING.md by @picimako in #2290
Bump org.apache.commons:commons-lang3 from 3.12.0 to 3.13.0 by @dependabot in #2287
Replace Guava by JDK (Partly) by @pks-1981 in #2289
Correctly handle scenarios with transformed stubs by @gsmith85 in #2140
Add a beforeResponseSent serve event listener hook by @tomakehurst in #2295
Bump com.google.guava:guava from 32.1.1-jre to 32.1.2-jre by @dependabot in #2291
Update the release drafter config for beta versioning by @oleg-nenashev in #2300
Replace Guava by JDK (Partly) by @pks-1981 in #2297
Bump jetty-bom from 11.0.12 to 11.0.15 by @Purely-Jonas in #2302
Allow configuring webhook to forbid target endpoints by @Mahoney in #2307
Fix HttpsBrowserProxyAcceptanceTest by @pks-1981 in #2314
Restore old edit task for 2.x backwards compatibility by @tomakehurst in #2315
Bump org.mockito:mockito-core from 5.4.0 to 5.5.0 by @dependabot in #2320
Bump org.mockito:mockito-junit-jupiter from 5.4.0 to 5.5.0 by @dependabot in #2319
Direct pushes
Remove deprecated API routes (47d420) @tomakehurst
Add deprecation warning to the legacy recorder (7b8a7d) @tomakehurst
Fixed JRE11 only test cases with broken Mockito verifications due to HTTP client call signature changing (5ec352e
) @tomakehurst
New ASCII art on standalone startup (166c3b3
) @tomakehurst
Change the standalone CLI entrypoint from com.github.tomakehurst.wiremock.standalone.WireMockServerRunner to wiremock.Run (166c3b3
) @tomakehurst
New Contributors
Show new contributors
@i-whammy made their first contribution in #1826 @reta made their first contribution in #1942 @kapishmalik made their first contribution in #2087 @sickmartian made their first contribution in #2035 @SatyamAK made their first contribution in #2006 @bmarwell made their first contribution in #2103 @lpradel made their first contribution in #2058 @DrMetallius made their first contribution in #2019 @derari made their first contribution in #2054 @kaarefc made their first contribution in #2003 @craftsman228 made their first contribution in #2136 @DjerohN made their first contribution in #2198 @mark-henry made their first contribution in #2130 @parawanderer made their first contribution in #2123 @ullenius made their first contribution in #2116 @DarkAtra made their first contribution in #2219 @ytvnr made their first contribution in #2175 @G-Basak made their first contribution in #2192 @Joel-Schaltenbrand made their first contribution in #2261 @gsmith85 made their first contribution in #2139 @emilianoalvarez91 made their first contribution in #2275 @Purely-Jonas made their first contribution in #2302
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.