Release 1.6.1(2-May-2026)
May 2, 2026 ยท View on GitHub
APIs
- SSE event delay semantics changed: delay affects current event self.
Implementation Details
- SSE support in proxy failover
Release 1.6.0(20-Apr-2026)
APIs
sseAPI for Server-Sent Events streaming supporteventfor named SSE eventdatafor anonymous SSE eventsse(...).delay(ms)for global delay between all eventssse(...).delay(duration, TimeUnit)for global delay with time unit- Event modifiers:
id,retry,delay event.delay(duration, TimeUnit)for event delay with time unit
- SSE events from file
- SSE proxy: proxy forwards SSE streams from remote server
- SSE JSON API
- Array format for inline events
- Object format with
delayandevents - Object format with
delayas{duration, unit}for time unit - File format with
delay
Implementation Details
- Replace logback with tinylog
- Optimize ProGuard configuration to exclude unused resources
Release 1.5.0(1-Sep-2023)
APIs
req.client.portis supported in templatesameSitecookie attribute is supportedcorsin response is supported for CORSallowOrigin(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
pathis introduced for urireq.xmlis supported in templatereq.client.addressis supported in templatereq.pathis supported in template
CLI
- add
-qfor 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
conditionalJava API allows you to write your own matcherrandomtemplate function supports start and end as rangestructAPI 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
xmlreturns ContentResource which is A BREAK CHANGE.
Release 1.2.0 (1-Apr-2021)
Websocket
connectedAPI return content when client connects to websocket serverrequestmatch request contentresponsereturn response contentjoinadd client to specific groupbroadcastbroadcast message to all subscriber.groupbroadcast message to specific group
APIs
transformJava API allows you transform your content.binaryJava API return binary message.jsonJava API return pojo dynamically.text,binary,json,varwith function, Java API allows you write your own response content.
Implementation Details
- Return application/json header for
jsonAPI with text and resource.
Release 1.1.0 (1-Mar-2020)
- Upgrade minimal Java version to Java 8.
APIs
recordandreplaysupport dynamic stub server.groupidentifiermodifiertape
Release 1.0.0 (1-Sep-2019)
APIs
cycleAPI returns response as a cycle.nowas template function is supported in templaterandomas template function is supported in templatereq.jsonis supported in templatefailoverandplaybackstatus API is supported.headerreturns HttpHeader instead of ResponseHandler.getandpostfor 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
jsonAPI returns resource, so it can be used for both request and response.andAPI for Response Handler
JSON APIs
seqis supported finallyjsonin 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