chore(deps): update dependency org.mock-server:mockserver-netty-no-dependencies to v6.1.0#2145
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
…pendencies to v6.1.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
6.0.0→6.1.0Release Notes
mock-server/mockserver-monorepo (org.mock-server:mockserver-netty-no-dependencies)
v6.1.0Security
mockserver.forwardProxyBlockPrivateNetworksproperty (defaultfalsefor backwards compatibility) rejects forward targets that resolve to loopback, link-local, RFC 1918 private, or cloud metadata addresses (e.g.169.254.169.254). Enable in hardened or multi-tenant deployments where untrusted callers can register expectations. A future major release is expected to flip the default totrue.mockserver.regexMatchingTimeoutMillis(default5000ms). Patterns that exceed the budget are treated as non-matches and a WARN log entry is written, so a pathological pattern cannot wedge a Netty worker.mockserver.xpathMatchingTimeoutMillis(default5000ms).UUIDServiceandTemplateFunctionsnow useSecureRandominstead ofjava.util.Randomfor UUID generation,rand_int/rand_int_10/rand_int_100, andrand_bytestemplate helpers.forwardProxyTLSX509CertificatesTrustManagerType=ANY), (b) Velocity class loading is enabled (velocityDisallowClassLoading=false), (c) JavaScript templates have no class restrictions (javascriptDisallowedClassesempty), or (d)tlsProtocolsincludes the deprecated TLSv1 / TLSv1.1.mockserver.tlsAllowInsecureProtocolsconfiguration property (defaulttruefor backwards compatibility): when set tofalse, anyTLSv1orTLSv1.1entries inmockserver.tlsProtocolsare filtered out before the SSL context is built, giving users an opt-in hardened TLS profile without having to rewrite their existingtlsProtocolsvalue. A future major release is expected to flip this default tofalse.Added
httpLlmResponseaction type lets you mock LLM provider APIs at the semantic level — describe the model's reply (text, tool calls, stop reason, usage) and MockServer produces the byte-correct provider wire format. Supports all 7 major providers: Anthropic Messages, OpenAI Chat Completions, OpenAI Responses, Google Gemini, AWS Bedrock, Azure OpenAI, and Ollama. Non-streaming responses return provider-correct JSON; streaming responses generate the full SSE event sequence (e.g.message_startthroughmessage_stopfor Anthropic,chat.completion.chunkwithfinish_reasonfor OpenAI) with configurable timing physics (timeToFirstToken,tokensPerSecond,jitter). OpenAI embeddings are also supported with deterministic vector generation viadeterministicFromInput().whenTurnIndex(n),whenLatestMessageContains(text),whenLatestMessageRole(role), andwhenContainsToolResultFor(toolName)predicates match against the parsedmessagesarray in the inbound request body, enabling scripted multi-turn conversations where turn 1 returns atool_useand turn 2 (after the agent sends atool_result) returns the final answer. All predicates compose with AND semantics and integrate with the scenario state machine for automatic turn advancement.isolateBy(header("x-session-id")),isolateBy(queryParameter("agent")), orisolateBy(cookie("sid")): each unique value of the configured attribute gets independent scenario state, so concurrent agents sharing the same mocked endpoint do not interfere. Missing attributes fall back to shared state gracefully.mock_llm_completionMCP tool: set up a single-turn LLM expectation from the MCP control plane, specifying provider, path, model, text, tool calls, and streaming modecreate_llm_conversationMCP tool: build a multi-turn scenario-chained LLM conversation with optional per-session isolation from the MCP control plane; returns the generated scenario name and per-turn state valuesmockserver.maxLlmConversationBodySizeconfiguration property (default 1 MiB; clamped to 16 KiB - 64 MiB; env varMOCKSERVER_MAX_LLM_CONVERSATION_BODY_SIZE): request bodies larger than this limit skip conversation-aware parsing and are treated as no-match, preventing DoS via oversized JSON payloadsorg.mockserver.matchers.CustomJsonUnitMatcherProviderand pointmockserver.customJsonUnitMatchersClassat it to register named Hamcrest matchers that JSON body expectations can reference via the${json-unit.matches:name}placeholder (e.g.{ "price": "${json-unit.matches:largerThan}" }); misconfigured providers are logged at WARN and ignored, so matching never fails because of an unloadable extension (fixes #2279)http2Enabledconfiguration property to disable HTTP/2: when set to false ALPN no longer advertisesh2(and h2c is not detected) so HTTP/2 capable clients fall back to HTTP/1.1explain_unmatched_requestsMCP tool andPUT /mockserver/explainUnmatchedREST endpoint return recent requests that matched no expectation, each with ranked closest-expectation diffs and actionable remediation hints (e.g., "use method POST not GET", "add missing header Authorization");debug_request_mismatchresults are now ranked by closeness and include remediation hints; newmockserver://unmatchedMCP resourcecreate_expectations_from_recorded_trafficMCP tool: converts traffic recorded by MockServer's forwarding/proxy mode into active mock expectations in one call, enabling an "observe then mock" workflow; supportsmethod/pathfiltering andpreviewmode to inspect expectations before activating themverify_traffic_against_openapivalidates recorded request-response pairs against an OpenAPI spec (passive conformance checking);run_contract_testsends example requests derived from an OpenAPI spec to a running service and validates the responses (active contract testing); both return structured per-operation pass/fail results with validation errorsrun_resiliency_testsends deliberately malformed and boundary-case requests derived from an OpenAPI spec to a running service (omitting required fields, type violations, numeric/string boundary violations, oversized strings, malformed JSON) and classifies each outcome as HANDLED (4xx) or UNEXPECTED (5xx/2xx/error); returns per-mutation results with operation summariesrecord_llm_fixturesMCP tool snapshots LLM/MCP traffic recorded through MockServer's forwarding proxy into a committable JSON fixture file with secrets automatically redacted (Authorization, api-key, Cookie, etc.); SSE streaming responses (Anthropic, OpenAI, etc.) are converted toHttpSseResponseactions for faithful event-by-event replay;load_expectations_from_fileMCP tool loads fixture files as active expectations for offline, deterministic, zero-cost test replayChanged
mockserver.maxRequestBodySize). Previously unbounded. Requests larger than the limit are rejected with413 Payload Too Large. Raise the limit (e.g.-Dmockserver.maxRequestBodySize=52428800) if you intentionally mock large uploads.mockserver.maxResponseBodySize). Previously unbounded. Raise if you forward to services that legitimately return larger payloads.-no-dependenciesshaded artifacts) now declares a stableAutomatic-Module-Namein itsMANIFEST.MF, so downstream JPMS consumers canrequiresMockServer modules with names that no longer change with each version:org.mockserver.core(mockserver-core),org.mockserver.client(mockserver-client-java),org.mockserver.netty(mockserver-netty),org.mockserver.test(mockserver-testing),org.mockserver.testing(mockserver-integration-testing),org.mockserver.junit.rule(mockserver-junit-rule),org.mockserver.junit.jupiter(mockserver-junit-jupiter),org.mockserver.springtest(mockserver-spring-test-listener),org.mockserver.examples(mockserver-examples),org.mockserver.maven(mockserver-maven-plugin); each*-no-dependenciesshaded variant shares its unshaded counterpart's module name and is an alternative packaging (place only one on the JPMS module path)Fixed
dynamicallyCreateCertificateAuthorityCertificate=true(or any auto-generated server certificate path) is used: the fourConfigurationfluent setters forcertificateAuthorityCertificate,certificateAuthorityPrivateKey,privateKeyPath, andx509CertificatePathno longer file-existence-check at set-time, because the internal generator sets these to the destination path before the file is written. User-supplied path typos are still surfaced byCertificateConfigurationValidatorat TLS-init time.*-no-dependenciesshaded artifacts leaked their un-shaded source module (and its transitive dependencies) onto consumers' classpaths; these artifacts are now truly dependency-freeConfiguration
📅 Schedule: (UTC)
🚦 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.
This PR was generated by Mend Renovate. View the repository job log.