Skip to content

Releases: wiremock/wiremock

3.3.1

03 Nov 14:32
029c803
Compare
Choose a tag to compare

πŸš€ New features and improvements

  • Allow empty URI path segments after the first (#2404) @Mahoney
  • Switch the Webhooks Extension to use the injected template engine so that it respects standard configuration providers, e.g. system properties and environment variables (#2473) @tomakehurst
  • Introduce the substitutable HTTP client (#2455) @tomakehurst
  • Make NetworkAddressRules into an interface so that it can be implemented in a fully customised way @tomakehurst

πŸ› Bug fixes

πŸ“ Documentation updates

πŸ‘» Maintenance

πŸ“¦ Dependency updates

3.3.0

03 Nov 12:00
Compare
Choose a tag to compare
3.3.0 Pre-release
Pre-release

NOTE: This version is discarded because of the uninteded breaking change in NetworkAddressRules, fixed in 3.3.1 by #2478

πŸš€ New features and improvements

πŸ› Bug fixes

πŸ“ Documentation updates

πŸ‘» Maintenance

✍ Other changes

  • Ignore IPv6 addresses when checking network security rules (#2475) @tomakehurst
  • Add BEFORE_RESPONSE_SENT request phase to the stub-mapping schema (#2428) @picimako

πŸ“¦ Dependency updates

3.2.0

27 Sep 14:49
447699f
Compare
Choose a tag to compare

πŸ’₯ Breaking changes

  • Enable local response templating by default in standalone (#2386) @tomakehurst
  • Add startup option to enable/disable extension scanning and set to disabled by default when running from Java (#2385) @tomakehurst

πŸš€ New features and improvements

πŸ› Bug fixes

πŸ“¦ Dependency updates

3.1.0

18 Sep 09:28
Compare
Choose a tag to compare

πŸš€ New features and improvements

πŸ’₯ Breaking changes

  • Move webhooks to the WireMock core. Users of the extension should remove the dependency when updating to the new version (#2376) @tomakehurst

πŸ› Bug fixes

πŸ‘» Maintenance

πŸ“¦ Dependency updates

  • Bump org.junit-pioneer:junit-pioneer from 2.0.1 to 2.1.0 (#2370) @dependabot
  • Bump com.github.tomakehurst:wiremock-jre8-standalone from 2.33.2 to 2.35.1 in /testlogging (#2368) @dependabot
  • Bump com.networknt:json-schema-validator from 1.0.86 to 1.0.87 (#2371) @dependabot

3.0.4

08 Sep 17:12
Compare
Choose a tag to compare

πŸš€ New features and improvements

  • Add working equals & readable toString to NetworkAddressRange (#2358) @Mahoney

πŸ› Bug fixes

πŸ‘» Maintenance

  • Bump org.scala-lang:scala-library test dependency from 2.13.11 to 2.13.12 (#2360) @dependabot

✍ Other changes

3.0.3 - Security Release

06 Sep 18:10
Compare
Choose a tag to compare

πŸ”’ Security

This security release addresses the following issues

NOTE: WireMock Studio, a proprietary distribution discontinued in 2022, is also affected by those issues and also affected by CVE-2023-39967 - Overall CVSS Score 8.6 - β€œControlled and full-read SSRF through URL parameter when testing a request, webhooks and proxy mode”. The fixes will not be provided. The vendor recommends migrating to WireMock Cloud which is available as SaaS and private beta for on-premises deployments

πŸ”— Related releases

Credits

@W0rty, @numacanedo, @Mahoney, @tomakehurst, @oleg-nenashev

2.35.1 - Security Release

06 Sep 18:08
Compare
Choose a tag to compare

πŸ”’ This is a security release that addresses the following issues

NOTE: WireMock Studio, a proprietary distribution discontinued in 2022, is also affected by those issues and also affected by CVE-2023-39967 - Overall CVSS Score 8.6 - β€œControlled and full-read SSRF through URL parameter when testing a request, webhooks and proxy mode”. The fixes will not be provided. The vendor recommends migrating to WireMock Cloud which is available as SaaS and private beta for on-premises deployments

Credits: @W0rty, @numacanedo, @Mahoney, @tomakehurst, @oleg-nenashev

3.0.2

05 Sep 12:21
Compare
Choose a tag to compare

πŸ› Bug fixes

πŸ‘» Maintenance

πŸ“¦ Dependency updates

3.0.1

31 Aug 15:24
Compare
Choose a tag to compare

πŸ› Bug fixes

  • Stop returning 500s for unmatched path patterns (#2339) @Mahoney
  • Ensure that the shadow JAR is always built last to ensure webhooks fat JAR wins (#2344) @tomakehurst
  • Added validation of UUIDs in path parameters in the admin API so that clearer errors are reported when non UUIDs are provided or item isn't found rather than throwing a 500 error (#2347) @tomakehurst
  • Respect StopAction in V1 Filter (#2335) @Mahoney

Thanks to the regression reporters: @defnngj , @oleg-nenashev , @Mahoney

WireMock 3.0.0

30 Aug 15:38
Compare
Choose a tag to compare

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

This guide assumes you would be upgrading from WireMock 2.35.0 to 3.1.0

Show steps
  1. If you aren’t using WireMock 2.35.0, upgrade to this version first
  2. 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
  3. If you use the WireMock Webhooks Extension, delete the dependency on it and the downloads. Now the extension is a part of the WireMock core
  4. 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
  5. If you use Java 8 on the instance, update to Java 11 or Java 17
  6. 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 and hasExactly (#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:

API and Extensibility:

  • #1512 - Extensions API v2 - Documentation (#2238) @tomakehurst
    • New extension points: RequestFilterV2, TemplateHelperProviderExtension, TemplateModelDataProviderExtension, ResponseDefinitionTransformerV2, ResponseTransformerV2, ServeEventListener
  • 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:

πŸ’₯ Known Issues / Errata

  • FIXED in 3.1.0 - 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
  • FIXED in 3.0.1 - StopAction in the old V1 Filter extension implementation was not working as expected - fixed by @Mahoney in #2335
  • FIXED in 3.0.2 - Help printing fails in WireMock standalone - fixed by @tomasbjerre in 3.0.2 #2351

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 and wiremock-jre8-standalone to wiremock and wiremock-standalone @tomakehurst
  • Change the standalone CLI entrypoint from com.github.tomakehurst.wiremock.standalone.WireMockServerRunner to wiremock.Run (166c3b3) @tomakehurst
  • Starting from WireMock 3.1.0, the Webhooks extension is included into the main distribution, and hence enabled by default. Users should remove dependency on the extension when upgrading to this version
  • 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 to Integer and allow null when data isn't ready (#2275) @emilianoalvarez91
  • Response templating is enabled in local mode by default when starting programmatically. It is now entirely configured via startup options and customised via the extension interface so ResponseTemplateTransformer should no longer be constructed directly. 2.x code constructing ResponseTemplateTransformer will no longer compile so should be removed or migrated to the 3.x style - See #2349 for detail

Please note the the legacy recorder has now been deprecated (7b8a7d. It will removed in WireMock 4 @tomakehurst

Please also 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() and hashCodeI() 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 pr...
Read more