Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency com.github.tomakehurst:wiremock-jre8 to v2.35.0 #8027

Open
wants to merge 677 commits into
base: 3.7.x
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 17, 2022

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
com.github.tomakehurst:wiremock-jre8 (source) 2.33.2 -> 2.35.0 age adoption passing confidence

Release Notes

wiremock/wiremock

v2.35.0

Compare Source

Enhancements

  • Add a negative contains matcher - thanks Damian Orzepowski
  • Expose a Java API method for removing stubs by ID - thanks Patryk Fraczek
  • Document the import API in the OpenAPI doc - thanks to user i-whammy
  • Added the ability to restrict the addresses WireMock can proxy/record to, as a security measure.

Fixes

  • Strip Maven directories from the standalone JAR as some were appearing that weren't related to dependencies actually present, confusing scanning tools - thanks to user krageon
  • Dropped back to slf4j 1.7.36 and relocate it in the standalone JAR (ensuring 2.x users won't experience conflicts).

v2.34.0

Compare Source

This will be the final 2.x.x release and also the last to support Java 8.

Fixes

  • Fixed #​1689 - incorrect HTTP version header - thanks to user Poojitha
  • Fixed #​1882 - bug preventing matching of date/time query params/headers with custom format - thanks Klaas Dellschaft
  • #​1930 - Fixed a partial path traversal vulnerability in the file source code - thanks Jonathan Leitschuh
  • Fixed #​1783 - proxyUrlPrefixToRemove ignored when using a response definition transformer - thanks to user Ross-H-Projects
  • Fixed #​1872 - create a request entity for POST, PUT etc. proxied requests when a content-length header is present, regardless of whether the size is 0.
  • Fixed #​1946 - maths helper now supports epoch dates as inputs.

Enhancements

  • Added a public, non-static getScenarios() method allowing access to all scenarios.

All dependencies brought up to date including Jetty to 9.4.48.v20220622.


Configuration

📅 Schedule: Branch creation - "every weekend" in timezone Europe/Prague, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Oct 7, 2022

SonarCloud Quality Gate failed.    Quality Gate failed

Bug C 1 Bug
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

90.2% 90.2% Coverage
0.0% 0.0% Duplication

@renovate renovate bot changed the title fix(deps): update dependency com.github.tomakehurst:wiremock-jre8 to v2.34.0 fix(deps): update dependency com.github.tomakehurst:wiremock-jre8 to v2.35.0 Nov 2, 2022
@renovate renovate bot force-pushed the renovate/wiremock branch from 8c9eea5 to 95ca82a Compare November 2, 2022 21:07
@renovate renovate bot force-pushed the renovate/wiremock branch from 95ca82a to 919d401 Compare November 15, 2022 10:18
@renovate renovate bot force-pushed the renovate/wiremock branch from 919d401 to 32aca0b Compare November 24, 2022 13:32
@sonarqubecloud
Copy link

@renovate renovate bot force-pushed the renovate/wiremock branch from 32aca0b to 414900f Compare December 10, 2022 06:52
@renovate renovate bot changed the title fix(deps): update dependency com.github.tomakehurst:wiremock-jre8 to v2.35.0 Update dependency com.github.tomakehurst:wiremock-jre8 to v2.35.0 Dec 17, 2022
@renovate renovate bot changed the title Update dependency com.github.tomakehurst:wiremock-jre8 to v2.35.0 fix(deps): update dependency com.github.tomakehurst:wiremock-jre8 to v2.35.0 Dec 17, 2022
@renovate renovate bot force-pushed the renovate/wiremock branch from 414900f to ca71c65 Compare December 28, 2022 09:04
@renovate renovate bot force-pushed the renovate/wiremock branch from ca71c65 to df2c414 Compare January 6, 2023 09:11
@renovate renovate bot force-pushed the renovate/wiremock branch from df2c414 to c42dcfd Compare January 17, 2023 17:35
@github-actions
Copy link

❌ GraalVM CE CI 17 dev failed: https://ge.micronaut.io/s/niy3gmavh5kq6

@github-actions
Copy link

❌ Java CI failed: https://ge.micronaut.io/s/h4jv7u4it5txk

@renovate renovate bot force-pushed the renovate/wiremock branch from c42dcfd to 36760e6 Compare January 24, 2023 09:29
@renovate renovate bot changed the title fix(deps): update dependency com.github.tomakehurst:wiremock-jre8 to v2.35.0 Update dependency com.github.tomakehurst:wiremock-jre8 to v2.35.0 Jan 25, 2023
@renovate renovate bot changed the title Update dependency com.github.tomakehurst:wiremock-jre8 to v2.35.0 fix(deps): update dependency com.github.tomakehurst:wiremock-jre8 to v2.35.0 Jan 27, 2023
@renovate renovate bot force-pushed the renovate/wiremock branch 2 times, most recently from 69c4c9d to 9382983 Compare February 15, 2023 20:47
@renovate renovate bot force-pushed the renovate/wiremock branch from 9382983 to 55207c8 Compare February 24, 2023 13:29
@sonarqubecloud
Copy link

micronaut-build and others added 7 commits February 25, 2023 17:40
This PR replaces the filter processing logic with a central `FilterRunner` class, and adds support for annotation-based filter methods (similar to controllers).

Changes:

- Replace most uses of `HttpFilter` with a new sealed `GenericHttpFilter` interface. `GenericHttpFilter`s are opaque, they are only processed by the `FilterRunner`. A `GenericHttpFilter` can be a legacy filter, a new annotation-based filter method, or one of a few special internal types.
- Implement new annotation-based filter parsing in static methods in `FilterRunner`. It scans & validates filter arguments, assigns binders, validates the return value, etc, and finally stuffs the filter metadata into a record that extends `GenericHttpFilter`. This code is also used by a processor that validates filter methods at compile time.
- Implement new filter logic in `FilterRunner`. The filter runner has a coroutine-inspired approach and tries to process filters sequentially, avoiding deep reactive call stacks. Reactive code is avoided altogether where possible.
timyates and others added 26 commits April 20, 2023 13:23
)

* tck: Write length and first 10 bytes if bytearray assertion fails

* Ignore flaky test

* Ignore flaky test

* Kick the CLA check which was asleep
#9128)

This PR replaces the HttpStreamsServerHandler, HandlerPublisher, HttpRequestDecoder and HttpResponseDecoder by a new PipeliningServerHandler. PipeliningServerHandler directly receives netty HttpMessages, combines them into a FullHttpRequest or StreamedHttpRequest, and passes them on to a handler. It also takes care of pipelining, so that the responses for different requests are sent in the same order those requests came in, which fixes some old bugs in RoutingInboundHandler.

PipeliningServerHandler optimizes the read and write operations. Concurrent reads are handled safely, removing the need for the FlowControlHandler even in the streaming case. Flushes are delayed until readComplete, so that multiple requests in the same TCP packet can be responded to in a single TCP packet as well.

The biggest performance win comes from message aggregation, however. While PipeliningServerHandler can handle a FullHttpRequest from FULL_CONTENT, it can also do some basic aggregation on its own. Small requests commonly have the HttpRequest and HttpContent come in in the same read call. PipeliningServerHandler will "hold back" the HttpRequest until readComplete to merge it with the HttpContent if available, into a FullHttpRequest. This gives a performance benefit downstream, it's actually ~600ns faster in FullHttpStackBenchmark by default than 4.0.x with FULL_CONTENT.

The big advantage over FULL_CONTENT is that this aggregation is always enabled and is not a compatibility issue. Large requests will still safely fall back to StreamedHttpRequest. FULL_CONTENT is still useful for customizers that want to observe the full HTTP message, however, and may give some perf benefit for medium-sized request bodies.

The reason this PR is so big is that now, many small requests are processed using the FullHttpRequest APIs. There are many subtle differences in this code path. For example, form items are parsed immediately and then passed to FormRouteCompleter, where previously parsing and processing would be interleaved (the reactive code path). This exposed some bugs because it moves some `if (refCnt > 0) release` calls to before the processing.
This fails in 4.0.0 as the response is OK
This got dropped in the merge by mistake...
Merge 3.9.x, fix TCK test and document breakage
* Use StringIntMap for propertyIndexOf
This patch replaces the propertyIndexOf method generated for each introspection with an optimized String->int map. For cases where propertyIndexOf may be called for many different types, this avoids a megamorphic call site (benchmark about 5x as fast). On the other hand, for cases where propertyIndexOf is only called with one or two different introspections at the same call site, this is slightly slower (benchmark about 0.65x as fast).

imo this tradeoff is acceptable, because the speedup for megamorphic case far exceeds the slowdown for the monomorphic case. Monomorphic call sites should also be less "hot" in practical code, so performance of propertyIndexOf matters less. Finally, the absolute performance difference is quite small for the monomorphic case, in the benchmark it's 70ns so roughly 1.5ns per item, while for the megamorphic case it's roughly 30ns per item.

Benchmark results, before this change:
Benchmark                    (itemCount)  (typeCount)  Mode  Cnt    Score   Error  Units
PropertyIndexBenchmark.test           50            1  avgt    5  115.205 ± 1.016  ns/op
PropertyIndexBenchmark.test           50            2  avgt    5  118.745 ± 0.106  ns/op
PropertyIndexBenchmark.test           50            3  avgt    5  832.091 ± 8.271  ns/op

After this change:
Benchmark                    (itemCount)  (typeCount)  Mode  Cnt    Score   Error  Units
PropertyIndexBenchmark.test           50            1  avgt    5  183.315 ± 0.435  ns/op
PropertyIndexBenchmark.test           50            2  avgt    5  162.453 ± 0.881  ns/op
PropertyIndexBenchmark.test           50            3  avgt    5  162.690 ± 1.004  ns/op

* Use array instead of list

---------

Co-authored-by: Denis Stepanov <[email protected]>
We had to disable Predictive Test Selection and Test Distribution for Kotest tests as Kotest was unsupported.

As of micronaut-test-4.0.0-M2, we use a supported version of Kotest 5, so this pr reverses

#8612

To re-enable these Gradle features
Apparently this causes some issues in some environements, probably
an ordering problem, but they should always be aligned in any case.
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@renovate renovate bot changed the title fix(deps): update dependency com.github.tomakehurst:wiremock-jre8 to v2.35.0 Update dependency com.github.tomakehurst:wiremock-jre8 to v2.35.0 Apr 30, 2023
@renovate renovate bot force-pushed the renovate/wiremock branch from 4573757 to 07055d9 Compare April 30, 2023 08:04
@sonarqubecloud
Copy link

@CLAassistant
Copy link

CLAassistant commented Feb 7, 2024

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
7 out of 8 committers have signed the CLA.

✅ graemerocher
✅ timyates
✅ sdelamo
✅ yawkat
✅ dstepanov
✅ melix
✅ andriy-dmytruk
❌ GavrilovSV
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.