All Versions
16
Latest Version
Avg Release Cycle
52 days
Latest Release
18 days ago

Changelog History
Page 1

  • v5.9.0

    February 01, 2020

    ➕ Added

    • ➕ added stopAsync method to ClientAndServer to allow stop without waiting
    • 🚚 log events for UPDATED_EXPECTATION and REMOVED_EXPECTATION
    • ⚡️ 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
  • v5.8.1

    December 23, 2019

    ➕ Added

    • 🔄 changelog
    • ➕ added configuration for all CORS headers
    • ➕ added support for forward proxy authentication (via configuration)
    • ➕ added support for overriding forward responses by class or closure
    • ⚡️ requests sent to MockServerClient can be updated / enhanced i.e. to support proxies
    • 🛠 dynamic creation of a unique (i.e. local) Certificate Authority X509 Certificate and Private Key instead of using the fixed Certificate Authority X509 Certificate and Private Key in the git repo.
    • 🔧 configuration to require mTLS (also called client authentication or two-way TLS) for all TLS connections / HTTPS requests to MockServer
    • 🔧 configuration of trust store and client X.509 used during forwarded and proxied requests to endpoints requiring mTLS
    • 📚 extended TLS documentation significantly

    🔄 Changed

    • ⬇️ reduced default number of fail handles used by nio event loop
    • 👌 improved performance and scalability of logging ring buffer
    • 👌 improved performance of json serialisation
    • 🗄 deprecated isRunning and replaced with hasStopped and hasStarted to make behaviour more explicit and faster
    • 👌 improved, simplified and unified handling of Content-Type for bodies
    • ✂ remove closure callback clients and connections for expectation that no longer exist
    • ensure WebSockets for closure callback auto re-connect for unreliable networks
    • 💻 simplified XML and JSON of bodies in the log and UI
    • 👌 improved logging for CORS
    • ➕ added support for TLS with closure / WebSocket callbacks
    • simplified handling of TLS and HTTP CONNECT (which is always TLS)
    • 👌 improved JSON format for expectation to support objects instead of escaped strings

    🛠 Fixed

    • 🛠 fixed reading logLevel from system property or environment variable
    • 🖨 ensure all errors are printed to console
    • ✂ removed TLSv1.3 to avoid any issues with JVM version that do not support TLSv1.3
    • 🖐 handle proxying requests without Content-Length header
    • ➕ added support for JSON array for raw JSON in requests or responses body

    🔒 Security

    • ⚡️ updated jetty (used in code examples) to version without vulnerabilities
  • v5.8.0

    December 01, 2019

    ➕ Added

    • ➕ added support for configuration via environment variables
    • ➕ added support for overriding responses which an forward overridden request
    • ➕ added persistence of expectations to file (as json)

    🔄 Changed

    • 🤡 ensured all Netty threads are marked as daemon to ensure MockServer does not prevent / delay JVM shutdown
    • 👌 improved docker-compose example
    • 👌 improved helm document & example to show how to provide configuration file or expectation initialiser
    • 👌 improved performance and throttled load for UI

    🛠 Fixed

    • WARN and ERROR is logged even if logLevel not yet initialised
    • ensured exceptions thrown in Main method are always logged
    • separated control plane and data plane matching to avoid reverse regex matches and other similar strange behaviour
    • 🛠 fixed handling of multiple parameters in Content-Type header
    • ⚡️ autodetect WS or WSS for UI update WebSocket depending on HTTP or HTTPS
    • 🖨 stopped usage being printed multiple time under certain error scenarios

    ✂ Removed

    • ✂ removed re-entrant WebSocket prevention by creating WebSocket client per expectation to improve resilience
  • v5.7.2

    November 16, 2019

    ➕ Added

    • ➕ added setting to control maximum size of event log

    🔄 Changed

    • 🐎 performance enhancements
    • 👌 improved matcher failure log messages to output detail at DEBUG level
    • 🔧 made log level configuration more resilient
    • 👍 allowed exceptions to be thrown from all types of callback methods

    🛠 Fixed

    • 🛠 fixed duplicate logging or request when optimistic proxying
    • ➕ added missing exception on bind error
    • ensured client event bus is not static so it not shared across multiple client instances except were server port is identical
  • v5.7.1

    November 09, 2019

    ➕ Added

    • ➕ added disruptor ring buffer in front of log to improve performance
    • ➕ added configuration to ensure MockServer certificate is not updated once created

    🔄 Changed

    • 👌 improved performance with request matcher fast failure
    • ♻️ refactored CPU or memory hot spots
    • 🌲 switched logging to simpler more resilient approach without external dependencies

    🛠 Fixed

    • 🛠 fixed log levels to support disabling the log completely without impacting verifications
    • 🌲 ensured clear, reset and verify guarantee all pending log events are completed
    • 🤡 ensured all thread pools (i.e. added disruptor, etc) are stopped with stopping MockServer or Servlets
    • respond with not found response (instead of hanging) when failure during template rendering
  • v5.7.0

    November 01, 2019

    ➕ Added

    • ➕ added support for retrieving requests and associated responses from log
    • ➕ added support for access-control-request-headers with CORS

    🔄 Changed

    • ⚡️ updated to Java 8
    • 📜 made Jackson more relaxed when parsing JSON already validated by JSON Schema
    • 👌 improved resilience of request and response parsing, such as when Content-Type is blank string
    • 👌 improved proxy loop prevention to only break loops within a single instance of MockServer
    • increased length of TLS keys to RSA 2048
    • 0️⃣ increased default request log size and maximum number of expectation

    🛠 Fixed

    • ➕ added global thread-safety to javascript templates for local variables defined without keyword var
  • v5.6.1

    July 21, 2019

    🔄 Changed

    • delayed creation of Nashorn JS engine

    🛠 Fixed

    • 🛠 fixed multi-threaded handling of javascript templates
    • 🛠 fixed duplicate logging errors
  • v5.6.0

    June 21, 2019

    ➕ Added

    • ➕ added delay to actions that did not already have it
    • ➕ added configuration for certificate authority private key and x509
    • ➕ added support for large HTTP headers

    🔄 Changed

    • simplified the certificate generation
    • 🔧 configured logback file appender programmatically

    🛠 Fixed

    • 🤡 ensure port binding exception are thrown and MockServer stops if port already allocated
    • 🛠 fixed log configuration to ensure no class loading exception thrown
    • 🛠 fixed control plane matching of expectations with notted entries
  • v5.5.4

    April 26, 2019
  • v5.5.3

    April 24, 2019