MockServer v5.9.0 Release Notes

Release Date: 2020-02-01 // about 2 months ago
  • ➕ Added

    • ➕ added stopAsync method to ClientAndServer to allow stop without waiting
    • ⚡️ ability to update existing expectation by id
    • hot re-loading of expectation initialiser file
    • ➕ addition configuration for web socket client event loop size
    • ➕ addition configuration for action handler thread pool size
    • 🔦 exposed request raw bytes to object callbacks (allows forwarded requests body parsing that is inconsistent with Content-Type header)
    • ➕ added support to delay socket closure using connection options
    • ➕ added support to control trusted certificate authorities (trust store) for proxied & forwarded requests
    • ➕ added support for two-way TLS (mTLS), also called client authentication
    • 👍 now sends TLS X509 certificate from proxy (i.e. support forward client authentication / mTLS)
    • ➕ added ability to dynamically create local unique Certificate Authority (CA) X.509 and Private Key to improve securiy of clients trusting the CA

    🔄 Changed

    • 🐎 performance improvements for header and cookie handling
    • 👌 improved JSON validation errors by adding link to OpenAPI Specification
    • ✂ removed duplicate packages between modules to prepare for java modules
    • 🔧 caught Jackson configuration exception to improve resilience with other Jackson versions in classpath
    • 🏗 moved Junit4 to separate module to reduce size of jar-with-dependencies, simplify code and increase build speed
    • enabled case insensitive matching for regex matches
    • 👌 improved documentation (i.e. on website)
    • switched from Bouncy Castle to JDK for certificate and private key generation

    🛠 Fixed

    • 🛠 fixed error where ClientAndServer does fully wait for client to stop
    • 🛠 fixed ability to specific a log level of OFF
    • 🛠 fixed bug with keystore type configuration not being used in all places
    • ➕ added file locking and jvm locking for expectation persistence file to avoid file corruption
    • 🛠 fixed verification incorrectly matching verifier non-empty bodies against empty request bodies
    • stopped response callbacks for proxied requests blocking threads
    • 🛠 fixed bug that caused JSON bodies in specified expectations as raw JSON to ignore empty arrays and empty strings

    🔒 Security

    • ⚡️ updated tomcat (used in integration tests) to version without vulnerabilities