Skip to content

chore(deps): update dependency org.mock-server:mockserver-netty-no-dependencies to v6#2131

Merged
renovate[bot] merged 1 commit into
mainfrom
renovate/org.mock-server-mockserver-netty-no-dependencies-6.x
May 22, 2026
Merged

chore(deps): update dependency org.mock-server:mockserver-netty-no-dependencies to v6#2131
renovate[bot] merged 1 commit into
mainfrom
renovate/org.mock-server-mockserver-netty-no-dependencies-6.x

Conversation

@renovate

@renovate renovate Bot commented May 20, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
org.mock-server:mockserver-netty-no-dependencies (source) 5.15.06.0.0 age confidence

Release Notes

mock-server/mockserver-monorepo (org.mock-server:mockserver-netty-no-dependencies)

v6.0.0

Added

Protocol & transport

  • gRPC protocol mocking without a grpc-java dependency: upload a Protobuf descriptor and mock unary, client-streaming, server-streaming, and bidirectional-streaming RPCs; GrpcStreamResponse supports multi-frame streaming responses
  • GraphQL body matching: whitespace-normalised query comparison, operationName matching, and variablesSchema JSON Schema validation for variables
  • binary request/response mocking via BinaryRequestDefinition and BinaryResponse for non-HTTP protocols
  • DNS mocking with dnsEnabled/dnsPort configuration and support for A, AAAA, CNAME, MX, SRV, TXT, and PTR record types
  • IPv6 CONNECT proxy support including correctly bracketed IPv6 address handling in the CONNECT tunnel

Request matching

  • probabilistic expectation matching: set a percentage field (0–100) on an expectation so only a fraction of matching requests are served by it, enabling fault-injection scenarios (fixes #​2122)
  • HTTP method factory methods on HttpRequest: HttpRequest.get(path), .post(path), .put(path), .delete(path), .patch(path), .head(path), .options(path) for more concise expectation definitions (fixes #​1509)

Responses & actions

  • multi-response expectations: define an httpResponses list with a responseMode of SEQUENTIAL (cycle repeatedly through the list in order) or RANDOM (pick at random) to serve different responses on successive matched requests
  • multi-action expectations: compose response, forward, and callback actions in a single expectation with a primary action and post-action callbacks
  • stateful scenarios with atomic state transitions: gate expectations behind named states and advance through them by setting newScenarioState on the expectation, making it straightforward to model multi-step protocols
  • CRUD simulation via PUT /mockserver/crud: supply a data model and MockServer auto-generates a fully stateful REST API (list, create, read, update, delete) backed by an in-memory store
  • FileBody response body type that loads content from a file path at response time, useful for large or binary payloads (fixes #​2163)
  • in-memory file store: upload files via PUT /mockserver/files/store, retrieve via PUT /mockserver/files/retrieve, list via PUT /mockserver/files/list, and delete via PUT /mockserver/files/delete; stored files can be referenced by FileBody (fixes #​1652)
  • respondBeforeBody flag on the request matcher to dispatch the configured response (and optionally close the connection) before MockServer reads the request body, useful for reproducing client behaviour when a server responds and closes mid-upload (fixes #​1831)

Delays & timing

  • response delays with statistical distributions (uniform, Gaussian, log-normal) for realistic latency simulation (fixes #​1688)
  • global response delay via mockserver.globalResponseDelayMillis configuration property to add a baseline delay to every response
  • connection timeout emulation via mockserver.connectionDelayMillis configuration property: a configurable delay before protocol detection fires, so slow-connect scenarios can be tested without a real network (fixes #​1604)
  • chunked dribble delay via ConnectionOptions.withChunkSize() / withChunkDelay() to drip-feed any response body in configurable-size chunks at a configurable rate

Response templates

  • template helper functions: JWT generation, string manipulation, JSON path extraction, date arithmetic, and math operations available inside JavaScript, Velocity, and Mustache templates

Record & replay

  • HAR 1.2 export: pass format=HAR to the retrieve API to get a standard HAR file of all recorded requests and responses (fixes #​2175)
  • automatic persistence of recorded expectations: persistRecordedExpectations and persistedRecordedExpectationsPath configuration properties save recorded traffic to disk so it survives restarts (fixes #​2175)

Debugging & diagnostics

  • per-expectation match count tracking: each expectation now exposes an invocation counter so tests can assert exactly how many times an endpoint was hit
  • closest-match tracking: when a request does not match any expectation, MockServer identifies the expectation with the most fields satisfied and surfaces it via the API and dashboard
  • debugMismatch() client method and PUT /mockserver/debugMismatch endpoint to programmatically retrieve the closest-match analysis for the last unmatched request
  • match failure hints: actionable suggestions attached to EXPECTATION_NOT_MATCHED log events to guide correction of common mistakes
  • "Why didn't this match?" debug dialog in the dashboard: click any unmatched request to see a field-by-field comparison against the closest expectation with per-field pass/fail indicators
  • expectation ID included in EXPECTATION_NOT_MATCHED log messages to make it easier to correlate log output with the intended expectation (fixes #​1937)

Logging

  • compact log format: set mockserver.compactLogFormat=true to emit single-line JSON log entries instead of multi-line formatted output (fixes #​1510)
  • per-category log level overrides via mockserver.logLevelOverrides so individual event types can have different log levels (fixes #​1694)
  • correlation ID retrieval: retrieveLogsByCorrelationId() client method and a correlationId chip in the dashboard for tracing a single request across all related log events
  • retrieveLogEntries() client method returning typed LogEntry objects with optional time-range filtering; pass LOG_ENTRIES as the format to the retrieve API for programmatic access
  • custom log event listener via a Consumer<LogEntry> callback registered with the Configuration object, enabling integration with external observability tools (fixes #​1960)

Proxy & forwarding configuration

  • mockserver.forwardDefaultHostHeader configuration property: set a specific Host header value to send on all forwarded requests, overriding the original client Host header (fixes #​1782)
  • mockserver.proxyRemoteHost and mockserver.proxyRemotePort configuration properties to route all proxy traffic through an upstream proxy (fixes #​1753)
  • request forwarding timings captured per forwarded request: both connect time and total round-trip time are available in the log and dashboard (fixes #​1574)

OpenAPI

  • OpenAPI callback support: MockServer reads callbacks entries in an OpenAPI specification and automatically creates AfterAction webhook expectations (fixes #​1483)

TLS & security

  • BouncyCastle FIPS provider support for environments that require FIPS 140-2 compliant cryptography (fixes #​1769)
  • support for custom TLS protocols TLSv1.2 and TLSv1.3
  • better error messages when MockServerClient fails due to TLS or networking errors

Client & test integration

  • @MockServerTest now applies mockserver.* prefixed properties to the per-instance MockServer Configuration object, enabling declarative configuration of initializationClass, logLevel, maxExpectations, and other settings directly in the annotation (fixes #​1554)
  • Jackson StreamReadConstraints maximum string length raised to 100 MB to handle large JSON bodies without StreamConstraintsException (fixes #​1754)

Build & deployment

  • Maven plugin initializationJson now accepts glob patterns to load multiple expectation files from a directory (fixes #​2231)
  • mockserver/mockserver:graaljs Docker image tag that bundles the GraalJS engine JARs, enabling native ECMAScript 2022 support in response templates without Nashorn
  • Docker HEALTHCHECK instruction added to all official images so container orchestrators can determine readiness without an external probe
  • Helm chart podLabels value to attach arbitrary labels to MockServer pods, useful for service-mesh injection and internal routing rules (fixes #​1884)
Changed
  • BREAKING: removed implicit reliance on internal java-certificate-classes (thanks to @​Arkinator)
  • BREAKING: the classifier=shaded form of mockserver-client-java, mockserver-netty, mockserver-junit-jupiter, mockserver-junit-rule, and mockserver-spring-test-listener is no longer published. Use the corresponding *-no-dependencies artifactId instead (e.g. depend on mockserver-netty-no-dependencies rather than mockserver-netty with <classifier>shaded</classifier>). The *-no-dependencies variants are now proper Maven modules and are the supported way to consume a shaded MockServer jar.
Fixed

Proxy & forwarding

  • proxy forwarding failures now return 502 Bad Gateway instead of 404 Not Found, making it clearer to clients that the upstream could not be reached (fixes #​1519)
  • Host header updated to match the forwarding target to prevent 421 Misdirected Request errors from strict servers (fixes #​1897)
  • request/response bodies with Content-Encoding are now re-compressed correctly when forwarding, preventing garbled bodies on the upstream (fixes #​1668)
  • Transfer-Encoding header preserved on forwarded responses; spurious Content-Length header no longer added when Transfer-Encoding is present (fixes #​1733)

Request & response handling

  • cookie values starting with ! were corrupted in forwarded responses (fixes #​1875)
  • duplicate query parameter values are now preserved instead of being deduplicated (fixes #​1866)
  • binary response bodies (e.g. application/octet-stream; charset=utf-8) were corrupted because a charset parameter in Content-Type caused the body to be treated as a string; now correctly treated as binary (fixes #​1910)
  • JSON body serialization preserved numeric precision — 0.00 was incorrectly serialized as 0.0 (fixes #​1740)

OpenAPI

  • ByteArraySchema (string format byte) properties were omitted from generated OpenAPI examples (fixes #​1788)
  • $ref inside OpenAPI example values was not resolved, leading to raw $ref strings in generated responses (fixes #​1474)
  • allOf/anyOf/oneOf composed schemas now generate merged example responses (fixes #​1852)
  • OAS 3.0 boolean exclusiveMinimum/exclusiveMaximum now correctly translated to JSON Schema Draft-07 numeric format (fixes #​1896)
  • OpenAPI 3.1 types array field now correctly preserved during schema serialization (fixes #​1940)

XML

  • XSD schemas with xs:include or xs:import using relative paths now resolve correctly (fixes #​2118)

JUnit & Spring integration

  • @MockServerTest field injection now works in @Nested JUnit 5 test classes (fixes #​1979)
  • double server start when @MockServerSettings (carrying @ExtendWith) is combined with explicit MockServerExtension registration is now prevented (fixes #​1977)
  • clientCertificateChain, localAddress, and remoteAddress fields on HttpRequest were serialized but not deserialized — both directions now work (fixes #​1973)
  • MockServerClient parameter injection now works with @TestInstance(PER_CLASS) where the test instance is created before @BeforeAll (fixes #​1621)
  • ClassNotFoundException for callback classes when running in a Spring Boot uber JAR (fixes #​1571)

Dashboard & WebSocket

  • dashboard WebSocket returned 404 when MockServer was running behind a reverse proxy with a path prefix (fixes #​1693)
  • HTTP/2 CONNECT proxy no longer hangs when the client advertises h2 via ALPN (fixes #​1933)
  • WebSocket upgrade over HTTP/2 is now rejected cleanly instead of hanging the dashboard (fixes #​1803)

Concurrency & thread safety

  • Times.remainingTimes() made thread-safe with AtomicInteger to prevent race conditions under concurrent load (fixes #​1834)
  • XmlStringMatcher made thread-safe by creating a new DiffBuilder per match instead of sharing one (fixes #​1796)
  • Disruptor ring buffer is drained before verify() to prevent false-positive or false-negative results under high throughput (fixes #​1757)
  • expired TTL expectations are now filtered from the event bus and event bus subscribers are cleared after publish to prevent stale matches (fixes #​1847, #​1874)

TLS & mTLS

  • mTLS (data-plane) enforcement moved from transport layer to application layer, fixing scenarios where client certificate validation was applied to non-mTLS connections (fixes #​1766)

Docker & deployment

  • Docker image and standalone executable JAR produced no log output because the shaded server JAR did not include an SLF4J logging provider (fixes #​2097)
  • *-no-dependencies shaded artifacts leaked their un-shaded source module (and its transitive dependencies) onto consumers' classpaths; these artifacts are now truly dependency-free
  • netty-tcnative native libraries no longer bundled in the shaded JAR, preventing native library conflicts (fixes #​1778)
  • Helm chart sub-chart deployments generated conflicting Kubernetes resource names when chart name was omitted (fixes #​1752)

Glob & file initialization

  • glob brace expansion in initializationJson path failed to find the starting directory in some environments (fixes #​1715)
  • WebSocket channel leak when the CircularHashMap evicted the oldest callback client (fixes #​1543)
  • verify failure message incorrectly said "was not found" even when matching requests existed; message now accurately describes the mismatch (fixes #​1789)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, 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 was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the dependencies Pull requests that update a dependency file label May 20, 2026
@renovate renovate Bot enabled auto-merge (squash) May 20, 2026 21:48
@renovate renovate Bot force-pushed the renovate/org.mock-server-mockserver-netty-no-dependencies-6.x branch from 4da7be0 to 7283b0a Compare May 21, 2026 18:46
@renovate renovate Bot merged commit f1b39c1 into main May 22, 2026
14 checks passed
@renovate renovate Bot deleted the renovate/org.mock-server-mockserver-netty-no-dependencies-6.x branch May 22, 2026 07:10
jaydeluca pushed a commit that referenced this pull request Jun 4, 2026
…pendencies to v6 (#2131)

This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[org.mock-server:mockserver-netty-no-dependencies](https://www.mock-server.com)
([source](https://redirect.github.com/mock-server/mockserver-monorepo))
| `5.15.0` → `6.0.0` |
![age](https://developer.mend.io/api/mc/badges/age/maven/org.mock-server:mockserver-netty-no-dependencies/6.0.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.mock-server:mockserver-netty-no-dependencies/5.15.0/6.0.0?slim=true)
|

---

### Release Notes

<details>
<summary>mock-server/mockserver-monorepo
(org.mock-server:mockserver-netty-no-dependencies)</summary>

###
[`v6.0.0`](https://redirect.github.com/mock-server/mockserver-monorepo/blob/HEAD/changelog.md#600---2026-05-21)

##### Added

**Protocol & transport**

- gRPC protocol mocking without a grpc-java dependency: upload a
Protobuf descriptor and mock unary, client-streaming, server-streaming,
and bidirectional-streaming RPCs; `GrpcStreamResponse` supports
multi-frame streaming responses
- GraphQL body matching: whitespace-normalised query comparison,
`operationName` matching, and `variablesSchema` JSON Schema validation
for variables
- binary request/response mocking via `BinaryRequestDefinition` and
`BinaryResponse` for non-HTTP protocols
- DNS mocking with `dnsEnabled`/`dnsPort` configuration and support for
A, AAAA, CNAME, MX, SRV, TXT, and PTR record types
- IPv6 CONNECT proxy support including correctly bracketed IPv6 address
handling in the `CONNECT` tunnel

**Request matching**

- probabilistic expectation matching: set a `percentage` field (0–100)
on an expectation so only a fraction of matching requests are served by
it, enabling fault-injection scenarios (fixes
[#&#8203;2122](https://redirect.github.com/mock-server/mockserver-monorepo/issues/2122))
- HTTP method factory methods on `HttpRequest`: `HttpRequest.get(path)`,
`.post(path)`, `.put(path)`, `.delete(path)`, `.patch(path)`,
`.head(path)`, `.options(path)` for more concise expectation definitions
(fixes
[#&#8203;1509](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1509))

**Responses & actions**

- multi-response expectations: define an `httpResponses` list with a
`responseMode` of `SEQUENTIAL` (cycle repeatedly through the list in
order) or `RANDOM` (pick at random) to serve different responses on
successive matched requests
- multi-action expectations: compose response, forward, and callback
actions in a single expectation with a primary action and post-action
callbacks
- stateful scenarios with atomic state transitions: gate expectations
behind named states and advance through them by setting
`newScenarioState` on the expectation, making it straightforward to
model multi-step protocols
- CRUD simulation via `PUT /mockserver/crud`: supply a data model and
MockServer auto-generates a fully stateful REST API (list, create, read,
update, delete) backed by an in-memory store
- `FileBody` response body type that loads content from a file path at
response time, useful for large or binary payloads (fixes
[#&#8203;2163](https://redirect.github.com/mock-server/mockserver-monorepo/issues/2163))
- in-memory file store: upload files via `PUT /mockserver/files/store`,
retrieve via `PUT /mockserver/files/retrieve`, list via `PUT
/mockserver/files/list`, and delete via `PUT /mockserver/files/delete`;
stored files can be referenced by `FileBody` (fixes
[#&#8203;1652](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1652))
- `respondBeforeBody` flag on the request matcher to dispatch the
configured response (and optionally close the connection) before
MockServer reads the request body, useful for reproducing client
behaviour when a server responds and closes mid-upload (fixes
[#&#8203;1831](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1831))

**Delays & timing**

- response delays with statistical distributions (uniform, Gaussian,
log-normal) for realistic latency simulation (fixes
[#&#8203;1688](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1688))
- global response delay via `mockserver.globalResponseDelayMillis`
configuration property to add a baseline delay to every response
- connection timeout emulation via `mockserver.connectionDelayMillis`
configuration property: a configurable delay before protocol detection
fires, so slow-connect scenarios can be tested without a real network
(fixes
[#&#8203;1604](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1604))
- chunked dribble delay via `ConnectionOptions.withChunkSize()` /
`withChunkDelay()` to drip-feed any response body in configurable-size
chunks at a configurable rate

**Response templates**

- template helper functions: JWT generation, string manipulation, JSON
path extraction, date arithmetic, and math operations available inside
JavaScript, Velocity, and Mustache templates

**Record & replay**

- HAR 1.2 export: pass `format=HAR` to the retrieve API to get a
standard HAR file of all recorded requests and responses (fixes
[#&#8203;2175](https://redirect.github.com/mock-server/mockserver-monorepo/issues/2175))
- automatic persistence of recorded expectations:
`persistRecordedExpectations` and `persistedRecordedExpectationsPath`
configuration properties save recorded traffic to disk so it survives
restarts (fixes
[#&#8203;2175](https://redirect.github.com/mock-server/mockserver-monorepo/issues/2175))

**Debugging & diagnostics**

- per-expectation match count tracking: each expectation now exposes an
invocation counter so tests can assert exactly how many times an
endpoint was hit
- closest-match tracking: when a request does not match any expectation,
MockServer identifies the expectation with the most fields satisfied and
surfaces it via the API and dashboard
- `debugMismatch()` client method and `PUT /mockserver/debugMismatch`
endpoint to programmatically retrieve the closest-match analysis for the
last unmatched request
- match failure hints: actionable suggestions attached to
`EXPECTATION_NOT_MATCHED` log events to guide correction of common
mistakes
- "Why didn't this match?" debug dialog in the dashboard: click any
unmatched request to see a field-by-field comparison against the closest
expectation with per-field pass/fail indicators
- expectation ID included in `EXPECTATION_NOT_MATCHED` log messages to
make it easier to correlate log output with the intended expectation
(fixes
[#&#8203;1937](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1937))

**Logging**

- compact log format: set `mockserver.compactLogFormat=true` to emit
single-line JSON log entries instead of multi-line formatted output
(fixes
[#&#8203;1510](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1510))
- per-category log level overrides via `mockserver.logLevelOverrides` so
individual event types can have different log levels (fixes
[#&#8203;1694](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1694))
- correlation ID retrieval: `retrieveLogsByCorrelationId()` client
method and a correlationId chip in the dashboard for tracing a single
request across all related log events
- `retrieveLogEntries()` client method returning typed `LogEntry`
objects with optional time-range filtering; pass `LOG_ENTRIES` as the
format to the retrieve API for programmatic access
- custom log event listener via a `Consumer<LogEntry>` callback
registered with the `Configuration` object, enabling integration with
external observability tools (fixes
[#&#8203;1960](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1960))

**Proxy & forwarding configuration**

- `mockserver.forwardDefaultHostHeader` configuration property: set a
specific `Host` header value to send on all forwarded requests,
overriding the original client `Host` header (fixes
[#&#8203;1782](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1782))
- `mockserver.proxyRemoteHost` and `mockserver.proxyRemotePort`
configuration properties to route all proxy traffic through an upstream
proxy (fixes
[#&#8203;1753](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1753))
- request forwarding timings captured per forwarded request: both
connect time and total round-trip time are available in the log and
dashboard (fixes
[#&#8203;1574](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1574))

**OpenAPI**

- OpenAPI callback support: MockServer reads `callbacks` entries in an
OpenAPI specification and automatically creates `AfterAction` webhook
expectations (fixes
[#&#8203;1483](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1483))

**TLS & security**

- BouncyCastle FIPS provider support for environments that require FIPS
140-2 compliant cryptography (fixes
[#&#8203;1769](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1769))
- support for custom TLS protocols TLSv1.2 and TLSv1.3
- better error messages when MockServerClient fails due to TLS or
networking errors

**Client & test integration**

- `@MockServerTest` now applies `mockserver.*` prefixed properties to
the per-instance MockServer `Configuration` object, enabling declarative
configuration of `initializationClass`, `logLevel`, `maxExpectations`,
and other settings directly in the annotation (fixes
[#&#8203;1554](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1554))
- Jackson `StreamReadConstraints` maximum string length raised to 100 MB
to handle large JSON bodies without `StreamConstraintsException` (fixes
[#&#8203;1754](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1754))

**Build & deployment**

- Maven plugin `initializationJson` now accepts glob patterns to load
multiple expectation files from a directory (fixes
[#&#8203;2231](https://redirect.github.com/mock-server/mockserver-monorepo/issues/2231))
- `mockserver/mockserver:graaljs` Docker image tag that bundles the
GraalJS engine JARs, enabling native ECMAScript 2022 support in response
templates without Nashorn
- Docker HEALTHCHECK instruction added to all official images so
container orchestrators can determine readiness without an external
probe
- Helm chart `podLabels` value to attach arbitrary labels to MockServer
pods, useful for service-mesh injection and internal routing rules
(fixes
[#&#8203;1884](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1884))

##### Changed

- BREAKING: removed implicit reliance on internal
java-certificate-classes (thanks to
[@&#8203;Arkinator](https://redirect.github.com/Arkinator))
- BREAKING: the `classifier=shaded` form of `mockserver-client-java`,
`mockserver-netty`, `mockserver-junit-jupiter`, `mockserver-junit-rule`,
and `mockserver-spring-test-listener` is no longer published. Use the
corresponding `*-no-dependencies` artifactId instead (e.g. depend on
`mockserver-netty-no-dependencies` rather than `mockserver-netty` with
`<classifier>shaded</classifier>`). The `*-no-dependencies` variants are
now proper Maven modules and are the supported way to consume a shaded
MockServer jar.

##### Fixed

**Proxy & forwarding**

- proxy forwarding failures now return `502 Bad Gateway` instead of `404
Not Found`, making it clearer to clients that the upstream could not be
reached (fixes
[#&#8203;1519](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1519))
- `Host` header updated to match the forwarding target to prevent `421
Misdirected Request` errors from strict servers (fixes
[#&#8203;1897](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1897))
- request/response bodies with `Content-Encoding` are now re-compressed
correctly when forwarding, preventing garbled bodies on the upstream
(fixes
[#&#8203;1668](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1668))
- `Transfer-Encoding` header preserved on forwarded responses; spurious
`Content-Length` header no longer added when `Transfer-Encoding` is
present (fixes
[#&#8203;1733](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1733))

**Request & response handling**

- cookie values starting with `!` were corrupted in forwarded responses
(fixes
[#&#8203;1875](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1875))
- duplicate query parameter values are now preserved instead of being
deduplicated (fixes
[#&#8203;1866](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1866))
- binary response bodies (e.g. `application/octet-stream;
charset=utf-8`) were corrupted because a `charset` parameter in
`Content-Type` caused the body to be treated as a string; now correctly
treated as binary (fixes
[#&#8203;1910](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1910))
- JSON body serialization preserved numeric precision — `0.00` was
incorrectly serialized as `0.0` (fixes
[#&#8203;1740](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1740))

**OpenAPI**

- `ByteArraySchema` (`string` format `byte`) properties were omitted
from generated OpenAPI examples (fixes
[#&#8203;1788](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1788))
- `$ref` inside OpenAPI example values was not resolved, leading to raw
`$ref` strings in generated responses (fixes
[#&#8203;1474](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1474))
- `allOf`/`anyOf`/`oneOf` composed schemas now generate merged example
responses (fixes
[#&#8203;1852](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1852))
- OAS 3.0 boolean `exclusiveMinimum`/`exclusiveMaximum` now correctly
translated to JSON Schema Draft-07 numeric format (fixes
[#&#8203;1896](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1896))
- OpenAPI 3.1 `types` array field now correctly preserved during schema
serialization (fixes
[#&#8203;1940](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1940))

**XML**

- XSD schemas with `xs:include` or `xs:import` using relative paths now
resolve correctly (fixes
[#&#8203;2118](https://redirect.github.com/mock-server/mockserver-monorepo/issues/2118))

**JUnit & Spring integration**

- `@MockServerTest` field injection now works in `@Nested` JUnit 5 test
classes (fixes
[#&#8203;1979](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1979))
- double server start when `@MockServerSettings` (carrying
`@ExtendWith`) is combined with explicit `MockServerExtension`
registration is now prevented (fixes
[#&#8203;1977](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1977))
- `clientCertificateChain`, `localAddress`, and `remoteAddress` fields
on `HttpRequest` were serialized but not deserialized — both directions
now work (fixes
[#&#8203;1973](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1973))
- `MockServerClient` parameter injection now works with
`@TestInstance(PER_CLASS)` where the test instance is created before
`@BeforeAll` (fixes
[#&#8203;1621](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1621))
- `ClassNotFoundException` for callback classes when running in a Spring
Boot uber JAR (fixes
[#&#8203;1571](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1571))

**Dashboard & WebSocket**

- dashboard WebSocket returned 404 when MockServer was running behind a
reverse proxy with a path prefix (fixes
[#&#8203;1693](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1693))
- HTTP/2 `CONNECT` proxy no longer hangs when the client advertises `h2`
via ALPN (fixes
[#&#8203;1933](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1933))
- WebSocket upgrade over HTTP/2 is now rejected cleanly instead of
hanging the dashboard (fixes
[#&#8203;1803](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1803))

**Concurrency & thread safety**

- `Times.remainingTimes()` made thread-safe with `AtomicInteger` to
prevent race conditions under concurrent load (fixes
[#&#8203;1834](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1834))
- `XmlStringMatcher` made thread-safe by creating a new `DiffBuilder`
per match instead of sharing one (fixes
[#&#8203;1796](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1796))
- Disruptor ring buffer is drained before `verify()` to prevent
false-positive or false-negative results under high throughput (fixes
[#&#8203;1757](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1757))
- expired TTL expectations are now filtered from the event bus and event
bus subscribers are cleared after publish to prevent stale matches
(fixes
[#&#8203;1847](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1847),
[#&#8203;1874](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1874))

**TLS & mTLS**

- mTLS (data-plane) enforcement moved from transport layer to
application layer, fixing scenarios where client certificate validation
was applied to non-mTLS connections (fixes
[#&#8203;1766](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1766))

**Docker & deployment**

- Docker image and standalone executable JAR produced no log output
because the shaded server JAR did not include an SLF4J logging provider
(fixes
[#&#8203;2097](https://redirect.github.com/mock-server/mockserver-monorepo/issues/2097))
- `*-no-dependencies` shaded artifacts leaked their un-shaded source
module (and its transitive dependencies) onto consumers' classpaths;
these artifacts are now truly dependency-free
- `netty-tcnative` native libraries no longer bundled in the shaded JAR,
preventing native library conflicts (fixes
[#&#8203;1778](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1778))
- Helm chart sub-chart deployments generated conflicting Kubernetes
resource names when chart name was omitted (fixes
[#&#8203;1752](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1752))

**Glob & file initialization**

- glob brace expansion in `initializationJson` path failed to find the
starting directory in some environments (fixes
[#&#8203;1715](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1715))
- `WebSocket` channel leak when the `CircularHashMap` evicted the oldest
callback client (fixes
[#&#8203;1543](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1543))
- verify failure message incorrectly said "was not found" even when
matching requests existed; message now accurately describes the mismatch
(fixes
[#&#8203;1789](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1789))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE4NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant