Skip to content

Latest commit

 

History

History
370 lines (287 loc) · 8.2 KB

ReleaseNotes.md

File metadata and controls

370 lines (287 loc) · 8.2 KB

Release

CLI

  • add --content-length for max request content length in standalone server

JUnit 5

  • HTTP and HTTPS with JSON configuration from file/class path

Release 1.5.0(1-Sep-2023)

APIs

  • req.client.port is supported in template
  • sameSite cookie attribute is supported
  • cors in response is supported for CORS
    • allowOrigin(Access-Control-Allow-Credentials)
    • allowCredentials(Access-Control-Allow-Credentials)
    • exposeHeaders(Access-Control-Expose-Headers)
    • maxAge(Access-Control-Max-Age)
    • allowMethods(Access-Control-Allow-Methods)
    • allowHeaders(Access-Control-Allow-Headers)

Release 1.4.0 (1-Dec-2022)

APIs

  • path is introduced for uri
  • req.xml is supported in template
  • req.client.address is supported in template
  • req.path is supported in template

CLI

  • add -q for quiet mode in standalone server

Implementation Details

  • enhance log with query parameters
  • event action log is supported

Release 1.3.0 (1-Jan-2022)

APIs

  • conditional Java API allows you to write your own matcher
  • random template function supports start and end as range
  • struct API for JSON and XML which matches only struct no matter what content is.

Implementation Details

  • restart with configuration when new configuration is illegal. #304
  • enhance log with query parameters
  • xml returns ContentResource which is A BREAK CHANGE.

Release 1.2.0 (1-Apr-2021)

Websocket

  • connected API return content when client connects to websocket server
  • request match request content
  • response return response content
  • join add client to specific group
  • broadcast broadcast message to all subscriber.
    • group broadcast message to specific group

APIs

  • transform Java API allows you transform your content.
  • binary Java API return binary message.
  • json Java API return pojo dynamically.
  • text, binary, json, var with function, Java API allows you write your own response content.

Implementation Details

  • Return application/json header for json API with text and resource.

Release 1.1.0 (1-Mar-2020)

  • Upgrade minimal Java version to Java 8.

APIs

  • record and replay support dynamic stub server.
    • group
    • identifier
    • modifier
    • tape

Release 1.0.0 (1-Sep-2019)

APIs

  • cycle API returns response as a cycle.
  • now as template function is supported in template
  • random as template function is supported in template
  • req.json is supported in template
  • failover and playback status API is supported.
  • header returns HttpHeader instead of ResponseHandler.
  • get and post for event action supports HTTP header.

Implementation Details

  • Support multiple HTTP headers with same name
  • Support proxy PATCH method
  • Dump HTTP message even if Content Length header is missing

Release 0.12.0 (24-Dec-2017)

  • Upgrade minimal Java version to Java 7

APIs

  • json API returns resource, so it can be used for both request and response.
  • and API for Response Handler

JSON APIs

  • seq is supported finally
  • json in Post event

Global Settings

  • Glob syntax is supported for include files in global setting

CLI

  • Glob syntax is supported for CLI '-c' argument

Release 0.11.1 (12-Jun-2017)

APIs

  • Template for Event action
  • Remove publish API with Optional, e.g. file and pathResource
  • Proxy with content resource as url
  • Add cookie attribute API

JUnit

  • HTTPS JUnit runner for POJO, JSON and from path resource
  • Http JSON runner with path resource
  • Socket JSON runner with path resource

Implementation Details

  • Fix: get Moco standalone version from manifest
  • Fix: merge server with port
  • Fix: set charset from http request
  • Fix: parse json with charset
  • Fix: fail to load configuration with multiple modification
  • Fix: allowed empty query
  • Fix: make request hit and moco monitor thread safe
  • Fix: parse form with charset

Release 0.11.0 (20-May-2016)

Usage

  • JUnit Integration

APIs

REST API

  • get
  • post
  • put
  • delete
  • head
  • patch
  • sub-resource
  • any id

Implementation Details

  • Fix: response handler case issue
  • Write JSON content to log
  • Fix: empty content for jsonpath
  • Fix: empty content for xpath

Release 0.10.2 (1-Sep-2015)

APIs

  • toJson will convert POJO to JSON text in response handler
  • json with pojo will convert POJO to JSON text in request matcher
  • socketServer without port
  • socketServer with monitor, e.g. logging and verification
  • Template as redirect target

Implementation Details

  • Enhance log dumper with MediaType implementation
  • Enhance socket server implementation with byte buf, rather than string
  • Fix charset issue in toJson
  • Enhance file content type with MediaType implementation
  • Same name query has been supported

Release 0.10.1 (1-May-2015)

APIs

  • Use httpServer as API, and httpserver has been deprecated, will be removed at next release.
  • File and path resource with charset
  • Latency with time unit, and latency without time unit has been deprecated, will be removed at next release
  • Log file with charset
  • Template as filename for file and path resource

JSON APIs

  • Mount with response setting

Global Settings

  • Request

Implementation Details

  • File and path resource read as byte array to fix file encoding issue
  • JSON path and XPath in template will return many objects.
  • Changed template extractor name to singular in JSON API, e.g. json_paths to json_path, xpaths to xpath.

Release 0.10.0 (1-Dec-2014)

Usage

  • Socket support
  • Version query
  • Start arguments have been changed from start to HTTP(HTTPS, Socket) etc.

APIs

  • Attachment

Runner API

  • server by JSON configuration

Template

  • Template extractor support

Shell

  • Added version argument

Potential Breaks

  • JSON Path, because new version JSON Path implementation has been introduced.

Release 0.9.2 (1-Jul-2014)

Usage

  • (Beta) HTTPS support

APIs

  • Http Protocol Version in Java API.
  • More operators: ** startsWith ** endsWith ** contain ** exist
  • between for verifier
  • Added multiple monitors for server creation.

JSON APIs

  • json text shortcut

Template

  • change template variables from Object to String. (API users have to decide how to display their vars).
  • JSON request/response shortcut in JSON configuration.

Release 0.9.1 (1-Feb-2014)

Usage

  • Runner API
  • (Beta) gmoco, moco groovy shell

APIs

  • log to record request
  • once for verifier
  • batch proxy
  • proxy playback

Template

  • cookie
  • form
  • template variables

Global Settings

  • Response

Implementation Details

  • Fixed "uri" in failover to remove query parameter.
  • Used Proguard to minimize standalone jar

Fixes

  • Keep connect alive if request wants to keep alive
  • NPE for validating form/content in request hit
  • NPE for XPath matcher
  • Wait server to shutdown completely

Release 0.9 (1-Nov-2013)

APIs

  • Request Hit as verifier
  • Event API ** Event: Complete ** Event Action: Get/Post URL
  • Turned off log for API by default
  • seq API with response handler
  • Added shortcut for PUT and DELETE method

Implementation Details

  • Server can select available port(start/shutdown) without providing no port.
  • Changed "statusCode" in failover to "status". Please changed your failover file if your tests failed.

Release 0.8.1 (1-August-2013)

  • Upgrade to Netty 4
  • Fixed proxy bug

Release 0.8 (21-July-2013)

Usage

  • global setting file

APIs

Request

  • JSONPath

Response

Integration

  • proxy
  • with
  • (Beta) template
  • removed url (using proxy instead)
  • removed content (using with instead)

Misc Response

  • removed cache

Template

  • version
  • method
  • content
  • header
  • query

Global Settings

  • context
  • file root
  • environment

Release 0.7 (1-May-2013)

the first public release of Moco

Usage

  • API
  • standalone server
  • shell
  • maven plugin (external)
  • gradle plugin (external)

APIs

Request

HTTP

  • content(text, file)
  • URI
  • query Parameter
  • HTTP method
  • version
  • header
  • redirect

Operator

  • eq
  • match

Web

  • cookie
  • form

Integration

  • XML
  • XPath
  • JSON

Response

HTTP

  • content(text, file)
  • version
  • status code
  • header

Integration

  • url

Misc Response

  • latency
  • sequence(API only)
  • cache

Misc

  • mount