WireMock 2.28.0 released

165 views
Skip to first unread message

Tom Akehurst

unread,
May 11, 2021, 2:10:00 PM5/11/21
to wiremock-user
After a long(ish) hiatus followed by an epic bug bash WireMock 2.28.0 is out.

Virtually all of the changes are bug fixes or dependency upgrades. Those of you running security scanning tools should hopefully see far fewer warnings with this version.

I've also attempted to make the project a bit easier to work with by migrating CI to Actions from Travis (now with Linux/Windows/OSX matrix), cleaning up local build instructions in the README and enabling Dependabot.

This is the first version for which there is only a jre8 build. This will continue to be the case in future 2.x releases, but in 3.x the intention is to split and modularise WireMock in a way that makes it easier to produce different variants. In particular this could support a dedicated Android build if someone is willing to step up and manage this as WireMock's Android lead - if this is you, please get in touch!

Changes:
  • Bumped all production and some test Java dependencies to latest versions (Jetty to the latest 9.x version).
  • Removed the Handlebars Javascript file from the standalone JAR to avoid CVE warnings.
  • Added ability to set Jetty's idleTimeout property - thanks Yair Galler
  • Removed erroneous module-info from the standalone JAR - thanks Alexey Gavrilov
  • Added support for multiple matches in the regexExtract Handlebars helper - thanks Kwo Ding
  • Fixed a bug preventing non-match diff reports from being generated for non-standard HTTP methods.
  • Added support for plaintext HTTP/2
  • Made the maximum number of connections per route the same as max connections for the proxy HTTP client to avoid the default of 2 causing a bottleneck.
  • Disabled connection reuse during proxying as this causes a number of failure cases where connections are reused inappropriately.
  • Disabled reading of system properties by the browser proxy HTTP client as this also reads the system's proxy settings and can cause WireMock to attempt to double proxy if it is started after the system proxy setting is turned on.
  • Prevented startup from failing if Xml optimisation fails (which can happen if XML system libraries are not present).
  • Fixed a standalone bug preventing extensions implemented multiple interfaces being properly loaded. This also fixed a bug preventing the template cache being cleared when stubs are reset.
  • Fixed bug preventing absent from working properly as a sub-predicate to matchesJsonPath.
  • Fixed bug preventing status message being copied to a new response definition in the builder.
  • Decode URL query keys before matching so that e.g. filter[id]=123 and filter%5Bid%5D=123 are equivalent.
  • Fixed an NPE thrown when calling the near misses API without dates in the request JSON.
  • Fixed sometimes blank Swagger UI page.
  • Defaults trust store password.
  • Now allows you to specify a trust store without having to also specify a keystore from the CLI.
  • Dropped the MethodRule interface from the WireMock rule as this causes it to be instantiated a second time in some cases. Note: this drops support for JUnit <= 4.7.
  • Enforced Jetty strict mode when emitting responses, which disables an optimisation causing the Content-Type header to be written in a different case to that specified in the stub.
  • Fixed two issues with Content-Length - the header is now passed back from the target of a proxy response rather than being recalculated, which is important for HEAD requests to be correct. Also now honours an explicitly added header in the stub response (even if this is wrong i.e. not the actual size of the body).

Reply all
Reply to author
Forward
0 new messages