Releases: gooddata/gooddata-goodmock
Release v0.5.0
Docker Image
The Docker image for this release has been published to DockerHub:
Repository: gooddata/gooddata-goodmock
Tags:
gooddata/gooddata-goodmock:0.5.0gooddata/gooddata-goodmock:latest
Pull Commands
# Pull specific version
docker pull gooddata/gooddata-goodmock:0.5.0
# Pull latest
docker pull gooddata/gooddata-goodmock:latestRun Command
docker run --rm gooddata/gooddata-goodmock:0.5.0 [command]Changelog
0.5.0 - 2026-02-11
Added
application/jsonresponse bodies are now always stored as structured JSON (jsonBody) instead of escaped strings, improving diffability of mapping filesJSON_CONTENT_TYPESenvironment variable (record mode) — comma-separated list of additional Content-Types to also store asjsonBody(e.g.application/vnd.gooddata.api+json)- Replay mode supports serving both
body(string) andjsonBody(structured) response formats PRESERVE_JSON_KEY_ORDERenvironment variable (record mode) — when set, preserves original key ordering in both JSON request bodies (equalToJson) and response bodies (jsonBody) instead of sorting alphabeticallySORT_ARRAY_MEMBERSenvironment variable (record mode) — when set, recursively sorts JSON array elements by their stringified value (bottom-up) in both request and response bodies, eliminating diffs caused by non-deterministic array ordering from upstream- Recorded mappings are now sorted deterministically by name (with method + URL + query params + body as tiebreaker for duplicate names), eliminating spurious diffs caused by request-arrival ordering
Removed
- Removed
idanduuidfields from recorded mappings — they were random UUIDs that caused spurious diffs on every re-record and were never used for matching or lookup
Changed
- Breaking (output only): Mapping files produced by record mode are no longer WireMock-compatible as of v0.5.0 —
application/jsonresponses usejsonBody(structured JSON) instead ofbody(escaped strings), and mappings omitid/uuidfields. Replay mode remains fully backwards-compatible: old WireMock-format mapping files (withbodystrings andid/uuidfields) still load and work without changes. The admin API also remains WireMock-compatible. - Breaking (key order): JSON keys in both request bodies (
equalToJson) and response bodies (jsonBody) are now sorted alphabetically by default for deterministic diffs. If your consumers rely on original key ordering from the upstream server, setPRESERVE_JSON_KEY_ORDER=trueto restore the previous behaviour. VERBOSEenvironment variable now accepts any non-empty value (previously requiredtrue,1, oryes)
0.4.0 - 2026-02-11
Added
- Proxy mode (
goodmock proxy) — forwards all traffic to upstream without recording, applying the same header transformations and response filtering as record mode
0.3.2 - 2026-02-11
Changed
- Split monolithic
mainpackage intointernal/sub-packages:types,server,record,matching,logging,proxy,common - Exported Server struct fields (
Mappings,ProxyHost,RefererPath,Verbose,Mu) for cross-package access - Exported public API functions (
HandleRequest,HandleAdmin,LoadMappings,ClearMappings,TransformRequestHeaders,LogVerboseRequest,MatchRequest,LogMismatch,ProxyRequest,RunRecord) - Moved shared helpers (
GetPort,IsVerbose) intointernal/common
0.3.1 - 2026-02-11
Changed
- Refactored codebase from OOP style to functional style — all Server and RecordServer methods converted to free functions
- Pure functions (applyResponseHeaders, evaluateMapping, logMismatch, logVerboseRequest, transformRequestHeaders) no longer take a server receiver
- Replaced RecordServer struct embedding with explicit
server *Serverfield - Request handlers use closures instead of method values
0.3.0 - 2026-02-10
Added
- Record mode (
goodmock record) — proxies to upstream and captures request/response pairs /__admin/recordings/snapshotendpoint with URL pattern filtering and scenario support- Automatic gzip decompression for recorded response bodies
- Scenario-based mappings for repeated URLs (
repeatsAsScenarios) VERBOSEenvironment variable for full request/response traffic logging
0.2.1 - 2026-02-10
Changed
- Added mode as primary CLI arg (
goodmock replay), defaults toreplay - Replaced
-portflag withPORTenvironment variable (default: 8080)
0.2.0 - 2026-02-10
Fixed
- URL path matching now preserves percent-encoding (e.g.
%3A) by using raw request URI instead of fasthttp's decoded path
Added
- Request header rewriting (Origin, Referer, Accept-Encoding) to match recorded stubs
REFERER_PATHenvironment variable for app-specific Referer header path
0.1.1 - 2026-02-10
Changed
- Refactor and minor improvements
0.1.0 - 2026-02-09
Added
- Initial release
Build Information
Release v0.4.0
Docker Image
The Docker image for this release has been published to DockerHub:
Repository: gooddata/gooddata-goodmock
Tags:
gooddata/gooddata-goodmock:0.4.0gooddata/gooddata-goodmock:latest
Pull Commands
# Pull specific version
docker pull gooddata/gooddata-goodmock:0.4.0
# Pull latest
docker pull gooddata/gooddata-goodmock:latestRun Command
docker run --rm gooddata/gooddata-goodmock:0.4.0 [command]Changelog
0.4.0 - 2026-02-11
Added
- Proxy mode (
goodmock proxy) — forwards all traffic to upstream without recording, applying the same header transformations and response filtering as record mode
0.3.2 - 2026-02-11
Changed
- Split monolithic
mainpackage intointernal/sub-packages:types,server,record,matching,logging,proxy,common - Exported Server struct fields (
Mappings,ProxyHost,RefererPath,Verbose,Mu) for cross-package access - Exported public API functions (
HandleRequest,HandleAdmin,LoadMappings,ClearMappings,TransformRequestHeaders,LogVerboseRequest,MatchRequest,LogMismatch,ProxyRequest,RunRecord) - Moved shared helpers (
GetPort,IsVerbose) intointernal/common
0.3.1 - 2026-02-11
Changed
- Refactored codebase from OOP style to functional style — all Server and RecordServer methods converted to free functions
- Pure functions (applyResponseHeaders, evaluateMapping, logMismatch, logVerboseRequest, transformRequestHeaders) no longer take a server receiver
- Replaced RecordServer struct embedding with explicit
server *Serverfield - Request handlers use closures instead of method values
0.3.0 - 2026-02-10
Added
- Record mode (
goodmock record) — proxies to upstream and captures request/response pairs /__admin/recordings/snapshotendpoint with URL pattern filtering and scenario support- Automatic gzip decompression for recorded response bodies
- Scenario-based mappings for repeated URLs (
repeatsAsScenarios) VERBOSEenvironment variable for full request/response traffic logging
0.2.1 - 2026-02-10
Changed
- Added mode as primary CLI arg (
goodmock replay), defaults toreplay - Replaced
-portflag withPORTenvironment variable (default: 8080)
0.2.0 - 2026-02-10
Fixed
- URL path matching now preserves percent-encoding (e.g.
%3A) by using raw request URI instead of fasthttp's decoded path
Added
- Request header rewriting (Origin, Referer, Accept-Encoding) to match recorded stubs
REFERER_PATHenvironment variable for app-specific Referer header path
0.1.1 - 2026-02-10
Changed
- Refactor and minor improvements
0.1.0 - 2026-02-09
Added
- Initial release
Build Information
Release v0.3.2
Docker Image
The Docker image for this release has been published to DockerHub:
Repository: gooddata/gooddata-goodmock
Tags:
gooddata/gooddata-goodmock:0.3.2gooddata/gooddata-goodmock:latest
Pull Commands
# Pull specific version
docker pull gooddata/gooddata-goodmock:0.3.2
# Pull latest
docker pull gooddata/gooddata-goodmock:latestRun Command
docker run --rm gooddata/gooddata-goodmock:0.3.2 [command]Changelog
0.3.2 - 2026-02-11
Changed
- Split monolithic
mainpackage intointernal/sub-packages:types,server,record,matching,logging,proxy,common - Exported Server struct fields (
Mappings,ProxyHost,RefererPath,Verbose,Mu) for cross-package access - Exported public API functions (
HandleRequest,HandleAdmin,LoadMappings,ClearMappings,TransformRequestHeaders,LogVerboseRequest,MatchRequest,LogMismatch,ProxyRequest,RunRecord) - Moved shared helpers (
GetPort,IsVerbose) intointernal/common
0.3.1 - 2026-02-11
Changed
- Refactored codebase from OOP style to functional style — all Server and RecordServer methods converted to free functions
- Pure functions (applyResponseHeaders, evaluateMapping, logMismatch, logVerboseRequest, transformRequestHeaders) no longer take a server receiver
- Replaced RecordServer struct embedding with explicit
server *Serverfield - Request handlers use closures instead of method values
0.3.0 - 2026-02-10
Added
- Record mode (
goodmock record) — proxies to upstream and captures request/response pairs /__admin/recordings/snapshotendpoint with URL pattern filtering and scenario support- Automatic gzip decompression for recorded response bodies
- Scenario-based mappings for repeated URLs (
repeatsAsScenarios) VERBOSEenvironment variable for full request/response traffic logging
0.2.1 - 2026-02-10
Changed
- Added mode as primary CLI arg (
goodmock replay), defaults toreplay - Replaced
-portflag withPORTenvironment variable (default: 8080)
0.2.0 - 2026-02-10
Fixed
- URL path matching now preserves percent-encoding (e.g.
%3A) by using raw request URI instead of fasthttp's decoded path
Added
- Request header rewriting (Origin, Referer, Accept-Encoding) to match recorded stubs
REFERER_PATHenvironment variable for app-specific Referer header path
0.1.1 - 2026-02-10
Changed
- Refactor and minor improvements
0.1.0 - 2026-02-09
Added
- Initial release
Build Information
Release v0.3.1
Docker Image
The Docker image for this release has been published to DockerHub:
Repository: gooddata/gooddata-goodmock
Tags:
gooddata/gooddata-goodmock:0.3.1gooddata/gooddata-goodmock:latest
Pull Commands
# Pull specific version
docker pull gooddata/gooddata-goodmock:0.3.1
# Pull latest
docker pull gooddata/gooddata-goodmock:latestRun Command
docker run --rm gooddata/gooddata-goodmock:0.3.1 [command]Changelog
0.3.1 - 2026-02-11
Changed
- Refactored codebase from OOP style to functional style — all Server and RecordServer methods converted to free functions
- Pure functions (applyResponseHeaders, evaluateMapping, logMismatch, logVerboseRequest, transformRequestHeaders) no longer take a server receiver
- Replaced RecordServer struct embedding with explicit
server *Serverfield - Request handlers use closures instead of method values
0.3.0 - 2026-02-10
Added
- Record mode (
goodmock record) — proxies to upstream and captures request/response pairs /__admin/recordings/snapshotendpoint with URL pattern filtering and scenario support- Automatic gzip decompression for recorded response bodies
- Scenario-based mappings for repeated URLs (
repeatsAsScenarios) VERBOSEenvironment variable for full request/response traffic logging
0.2.1 - 2026-02-10
Changed
- Added mode as primary CLI arg (
goodmock replay), defaults toreplay - Replaced
-portflag withPORTenvironment variable (default: 8080)
0.2.0 - 2026-02-10
Fixed
- URL path matching now preserves percent-encoding (e.g.
%3A) by using raw request URI instead of fasthttp's decoded path
Added
- Request header rewriting (Origin, Referer, Accept-Encoding) to match recorded stubs
REFERER_PATHenvironment variable for app-specific Referer header path
0.1.1 - 2026-02-10
Changed
- Refactor and minor improvements
0.1.0 - 2026-02-09
Added
- Initial release
Build Information
Release v0.3.0
Docker Image
The Docker image for this release has been published to DockerHub:
Repository: gooddata/gooddata-goodmock
Tags:
gooddata/gooddata-goodmock:0.3.0gooddata/gooddata-goodmock:latest
Pull Commands
# Pull specific version
docker pull gooddata/gooddata-goodmock:0.3.0
# Pull latest
docker pull gooddata/gooddata-goodmock:latestRun Command
docker run --rm gooddata/gooddata-goodmock:0.3.0 [command]Changelog
0.3.0 - 2026-02-10
Added
- Record mode (
goodmock record) — proxies to upstream and captures request/response pairs /__admin/recordings/snapshotendpoint with URL pattern filtering and scenario support- Automatic gzip decompression for recorded response bodies
- Scenario-based mappings for repeated URLs (
repeatsAsScenarios) VERBOSEenvironment variable for full request/response traffic logging
0.2.1 - 2026-02-10
Changed
- Added mode as primary CLI arg (
goodmock replay), defaults toreplay - Replaced
-portflag withPORTenvironment variable (default: 8080)
0.2.0 - 2026-02-10
Fixed
- URL path matching now preserves percent-encoding (e.g.
%3A) by using raw request URI instead of fasthttp's decoded path
Added
- Request header rewriting (Origin, Referer, Accept-Encoding) to match recorded stubs
REFERER_PATHenvironment variable for app-specific Referer header path
0.1.1 - 2026-02-10
Changed
- Refactor and minor improvements
0.1.0 - 2026-02-09
Added
- Initial release
Build Information
Release v0.2.1
Docker Image
The Docker image for this release has been published to DockerHub:
Repository: gooddata/gooddata-goodmock
Tags:
gooddata/gooddata-goodmock:0.2.1gooddata/gooddata-goodmock:latest
Pull Commands
# Pull specific version
docker pull gooddata/gooddata-goodmock:0.2.1
# Pull latest
docker pull gooddata/gooddata-goodmock:latestRun Command
docker run --rm gooddata/gooddata-goodmock:0.2.1 [command]Changelog
0.2.1 - 2026-02-10
Changed
- Added mode as primary CLI arg (
goodmock replay), defaults toreplay - Replaced
-portflag withPORTenvironment variable (default: 8080)
0.2.0 - 2026-02-10
Fixed
- URL path matching now preserves percent-encoding (e.g.
%3A) by using raw request URI instead of fasthttp's decoded path
Added
- Request header rewriting (Origin, Referer, Accept-Encoding) to match recorded stubs
REFERER_PATHenvironment variable for app-specific Referer header path
0.1.1 - 2026-02-10
Changed
- Refactor and minor improvements
0.1.0 - 2026-02-09
Added
- Initial release
Build Information
Release v0.1.1
Docker Image
The Docker image for this release has been published to DockerHub:
Repository: gooddata/gooddata-goodmock
Tags:
gooddata/gooddata-goodmock:0.1.1gooddata/gooddata-goodmock:latest
Pull Commands
# Pull specific version
docker pull gooddata/gooddata-goodmock:0.1.1
# Pull latest
docker pull gooddata/gooddata-goodmock:latestRun Command
docker run --rm gooddata/gooddata-goodmock:0.1.1 [command]Changelog
0.1.1 - 2026-02-10
Changed
- Refactor and minor improvements
0.1.0 - 2026-02-09
Added
- Initial release
Build Information
Release v0.1.0
Docker Image
The Docker image for this release has been published to DockerHub:
Repository: gooddata/gooddata-goodmock
Tags:
gooddata/gooddata-goodmock:0.1.0gooddata/gooddata-goodmock:latest
Pull Commands
# Pull specific version
docker pull gooddata/gooddata-goodmock:0.1.0
# Pull latest
docker pull gooddata/gooddata-goodmock:latestRun Command
docker run --rm gooddata/gooddata-goodmock:0.1.0 [command]Changelog
0.1.0 - 2026-02-09
Added
- Initial release