MockServer v5.11.0 Release Notes

Release Date: 2020-07-08 // almost 4 years ago
  • โž• Added

    • โž• added basic support to proxy binary requests that are not HTTP
    • ๐ŸŒฒ dynamic maximum log events and maximum expectations based on available memory
    • โž• added ability to switch between BouncyCastle and vanillar JDK for key and certificate generation
    • โž• added support for TLS over SOCKS4 or SOCKS5
    • request matching and expectations using OpenAPI or Swagger specification
    • create expectation using OpenAPI or Swagger specification with automatic example responses
    • verifications of requests or request sequences using OpenAPI or Swagger specification
    • ๐Ÿ”Š clear log, clear expectations, retrieve logs and retrieve requests using OpenAPI or Swagger specification
    • json schema matchers for method, path, headers, query string parameters and cookies
    • path variables matched by nottable string, regex or json schema (as per query string parameters)
    • ๐Ÿ‘Œ support for optional query parameters, header and cookies
    • ๐Ÿ‘Œ support for nullable keyword in JSON Schemas (part of Open API specification not JSON Schema specification)
    • matching xml bodies against JSON Schema matchers
    • matching parameter bodies against JSON Schema matchers
    • ๐Ÿ‘Œ support to match path parameters, query parameters and header either by sub set or by matching key
    • ๐Ÿ’ป grouping of log events in UI to simplify analysis of expectation matches / non matches for a request
    • โž• added extra log messages to indicate progress for large json expectation initializers
    • โž• added log messages for invalid control plane request to make control plane errors clearer in the UI
    • โž• added support for easily mapping jar and config into the docker container
    • โž• added support for easily mapping jar and config into the helm chart

    ๐Ÿ”„ Changed

    • โฌ‡๏ธ reduced time range of CA certificates to increase likelihood they will be accepted by strict systems (i.e. VMWare vCenter Server)
    • ๐Ÿ‘Œ improved error message when exception loading or reading certificates or keys (i.e. file not found)
    • โšก๏ธ certificate and private key are saved to directoryToSaveDynamicSSLCertificate when preventCertificateDynamicUpdate is enabled
    • โšก๏ธ returns created expectations from /mockserver/expectation so that it is possible to view the id for new (or updated) expectations
    • โž• added ability to inherit @MockServerSettings for Junit5 tests
    • ๐Ÿ”’ switched to distroless container base for security and size
    • โž• added explicit gc suggestion after reset and clear
    • โฌ†๏ธ upgraded docker container to Java 11 to ensure JVM honours container memory constraints (i.e. inside kubernetes)
    • ๐Ÿ‘Œ improved parsing of invalid content-type header parameters by handling error gracefully and outputting a clear error message
    • ๐Ÿ‘Œ improved performance through multiple minor tweaks around handling of expectations
    • โž• added version to log output to improve resolution of github issues with logs attached
    • ๐Ÿ‘Œ improved logic around proxies to make HTTP CONNECT, SOCKS4 and SOCKS5 more reliable and faster
    • โฌ‡๏ธ reduced object creation (and therefore GCs) for log especially during request matching
    • ๐Ÿ”Š print logs timestamp with milliseconds
    • โฌ‡๏ธ reduced expiry of certification to one year to avoid errors from modern systems that don't like long lived certificates (such as Chrome or VMWare)
    • 0๏ธโƒฃ defaulted charset for XML and JSON to UTF8 as per rfc3470 and rfc8259
    • ๐Ÿ”– version matching logic for client now only matches on major and minor version and not bug fix version
    • ๐Ÿ‘Œ improved handling of body matching for control plane to clearly separate control plane and data plan matching
    • ๐Ÿ’ป simplified and improved stability for UI by moving all data processing into back-end and other simplifications

    ๐Ÿ›  Fixed

    • ๐Ÿ›  fixed but with environment variable configuration for long, integer and integer list values
    • โœ‚ removed call to ReflectionToStringBuilder.setDefaultStyle to avoid impacting toString globally for JVM
    • ๐Ÿ›  fixed destination port and ip in Socks5CommandResponse which prevented SOCKS5 proxied connections
    • ๐Ÿ›  fixed Subject Alternative Names with wildcards or other valid DNS name formats not supported by certain versions of the JDK (<= 1.8)
    • ๐Ÿ›  fixed json body responses by returning blank or null fields, objects and arrays
    • ๐Ÿ›  fixed generics for withCallbackClass to allow ExpectationResponseCallback to be specified as a Class (not only a string)