Repository navigation
Releases: caffeine-projects/vlatte
Releases · caffeine-projects/vlatte
Release list
v1.1.0
Add descriptive and lognormal delays, multi-mock YAML loading, and inbound timeout controls.
Changelog
Features
- 14aaad6 feat(delay): add descriptive delays and lognormal distribution (#174)
- ac64f0b feat(mockgrpc): add inbound connection timeout controls
- 9dcc523 feat(mockhttp): add opt-in inbound read timeouts
- 5e0a076 feat: load multiple mocks from YAML files (#173)
Bug fixes
v1.0.0
The first stable release of VLatte: HTTP and gRPC mocking for Go tests, with a standalone CLI and Docker image.
Includes stateful scenarios, proxying and recording, request verification, and an admin API with MCP support.
Changelog
Breaking changes
- 03d98f0 feat(admin)!: rewrite the admin API (#77)
- b7bf8fd feat(mockhttp)!: negotiate no-match answers and allow custom renderers (#159)
- 346cdc6 fix(kv)!: make the KV contract explicit (#167)
- 1c42efd refactor!: rename Step to Pipe (#164)
- 5bca47a refactor!: rename the parameter store to KV (#165)
- a400035 refactor!: tidy the api
Features
- 5665026 feat(admin): accept middlewares that wrap the admin API (#97)
- 1207366 feat(admin): add Kubernetes liveness, readiness and startup probes (#100)
- 6cfd70b feat(admin): add a homepage and a navbar to the admin pages (#133)
- 4f65b70 feat(admin): add basic and bearer authentication, and TLS (#137)
- a6c84fa feat(admin): dress the admin pages in the vlatte brand (#134)
- 4c561eb feat(admin): group the OpenAPI docs, serve them at the root (#98)
- 9e68831 feat(admin): serve the admin API over MCP (#93)
- ef12be4 feat(cmd): keep the gRPC admin API's mocks across restarts (#131)
- 328fdd4 feat(fault): add network faults (#89)
- 00d7be3 feat(fault): configure faults from mock files (#92)
- c203607 feat(journal): tell the on_complete events that failed (#105)
- b0431a1 feat(mockgrpc): add Seq, Rand, Echo and Shared replies (#106)
- 1b6428a feat(mockgrpc): add a persistent admin store and template data (#129)
- c665538 feat(mockgrpc): cut calls on vlatte.ErrAbort and vlatte.ErrReset (#114)
- bebd7f8 feat(mockgrpc): fail describing a part no mock file can hold (#127)
- 8653fe1 feat(mockgrpc): proxy calls and record them as mock files (#95)
- 5f3eebf feat(mockgrpc): serve TLS with StartTLS and grpc.tls settings (#94)
- 20e3150 feat(mockgrpc): take custom matchers in mock files (#126)
- b5ab708 feat(mockhttp): add RFC 9457 problem details replies (#130)
- a1c5e26 feat(mockhttp): add a proxy-all fallback (#75)
- 5c84b33 feat(mockhttp): add more request matchers (#81)
- 32249d5 feat(mockhttp): add proxy reply options from #69 (#74)
- 6c15710 feat(mockhttp): declare event streams in mock files (#102)
- 012705d feat(mockhttp): intercept HTTPS through the forward proxy (#76)
- d26db0d feat(mockhttp): reply with Server-Sent Events (#101)
- 6918023 feat(recipe): add GitHub Auth recipe and OAuth web flow E2E test (#151)
- 4600dc7 feat(verify): add a request verification API (#140)
- b7be153 feat(webhook): add a timeout parameter and retire Config.WebhookTimeout (#109)
- 224b3e3 feat(webhook): send a header once per value of a list (#111)
- 62c044f feat: add VLatte-* debug headers to mock answers
- 285b6ec feat: add a production-ready Docker image (#124)
- 9e51363 feat: add an admin page to manage scenarios (#121)
- 230a7bb feat: add desc pkg
- 16356c6 feat: add more matchers (#88)
- 6d256b1 feat: add template functions and env allow list (#99)
- a4978e8 feat: bean concept
- a117eaf feat: better event listener
- 27d49a4 feat: binary bodies (#119)
- 170a568 feat: describe scenarios and refuse states no mock names (#118)
- f9efadd feat: flow
- ad6214d feat: flow stages (#86)
- 5c8b4fb feat: give each scenario key an instance of its own (#122)
- c73fdc0 feat: give listeners the logger, transport and dir through the Kit (#107)
- 4c549fd feat: kind type
- 6f24669 feat: let on_complete events run after the response (#110)
- e862d1c feat: limit the addresses mock servers connect to (#136)
- f6aa4b9 feat: load the key-value store from a CSV file (#169)
- 8a3c007 feat: mock gRCP production ready (#91)
- acfa34c feat: multipart (#12)
- a347bfd feat: new descriptor
- b434fb9 feat: postaction + webhook
- dc2d36c feat: prep flavor arch
- 10c17e7 feat: recipe (prep)
- 6764ea3 feat: recording (#53)
- 6ae18ac feat: request journal (#83)
- 2c860b2 feat: roaster
- 86f0048 feat: scratch sip concept
- 27cdc8b feat: serve the key-value store on the admin API (#170)
- be7e3ed feat: shelf
- 4566cbb feat: show scenario moves in templates, the journal and events (#120)
- 76906ef feat: sign and verify JWTs, add an OIDC recipe and a Google OIDC E2E test (#158)
- 3b8c088 feat: topping concept
Bug fixes
- e657e1c fix(deps): require stable grpc v1.85.0
- e434650 fix(make): run lint without time and with go.mod's Go (#71)
- e05f563 fix(mockhttp): cors (#56)
- b6a4b57 fix(mockhttp): keep escaped ? and # in the request path (#30)
- 82efd88 fix(mockhttp): make later options change only what they set (#104)
- 3f7f9e6 fix(mockhttp): rework proxying on one forwarding engine (#73)
- 9df7c13 fix: let a step pass its buffer on in parts (#85)
- ebed72e fix: make a nil Explanation record nothing (#78)
- fcb7c17 fix: make error messages scoped, one sentence and actionable (#150)
- 43dc031 fix: make mock descriptions load back as the same mock (#112)
- 7877201 fix: move a scenario when its mock is picked, in one step (#117)
- fa37011 fix: panic when Jitter deviation is over 200 (#146)
- 9bc8950 fix: project-wide fixes + improvements (#7)
- 15a8800 fix: proxy reply transport (#70)
- 90d9591 fix: report devel when the build carries no version (#171)
- 806d87b fix: resolve sonarcloud findings (#141)
- 69e48eb fix: server start order (#58)
- ee3b2a7 fix: tell browsers not to sniff vlatte's own answers (#160)
- f8793d9 fix: tell failures apart from no-match with X-Vlatte-Error (#17)
- 6f4464c fix: webhooks (#37)
v0.1.0-rc.1
Changelog
Features
- 03d98f0 feat(admin)!: rewrite the admin API (#77)
- 5665026 feat(admin): accept middlewares that wrap the admin API (#97)
- 1207366 feat(admin): add Kubernetes liveness, readiness and startup probes (#100)
- 6cfd70b feat(admin): add a homepage and a navbar to the admin pages (#133)
- 4f65b70 feat(admin): add basic and bearer authentication, and TLS (#137)
- a6c84fa feat(admin): dress the admin pages in the vlatte brand (#134)
- 4c561eb feat(admin): group the OpenAPI docs, serve them at the root (#98)
- 9e68831 feat(admin): serve the admin API over MCP (#93)
- ef12be4 feat(cmd): keep the gRPC admin API's mocks across restarts (#131)
- 328fdd4 feat(fault): add network faults (#89)
- 00d7be3 feat(fault): configure faults from mock files (#92)
- c203607 feat(journal): tell the on_complete events that failed (#105)
- b0431a1 feat(mockgrpc): add Seq, Rand, Echo and Shared replies (#106)
- 1b6428a feat(mockgrpc): add a persistent admin store and template data (#129)
- c665538 feat(mockgrpc): cut calls on vlatte.ErrAbort and vlatte.ErrReset (#114)
- bebd7f8 feat(mockgrpc): fail describing a part no mock file can hold (#127)
- 8653fe1 feat(mockgrpc): proxy calls and record them as mock files (#95)
- 5f3eebf feat(mockgrpc): serve TLS with StartTLS and grpc.tls settings (#94)
- 20e3150 feat(mockgrpc): take custom matchers in mock files (#126)
- b5ab708 feat(mockhttp): add RFC 9457 problem details replies (#130)
- a1c5e26 feat(mockhttp): add a proxy-all fallback (#75)
- 5c84b33 feat(mockhttp): add more request matchers (#81)
- 32249d5 feat(mockhttp): add proxy reply options from #69 (#74)
- 012705d feat(mockhttp): intercept HTTPS through the forward proxy (#76)
- b7be153 feat(webhook): add a timeout parameter and retire Config.WebhookTimeout (#109)
- 224b3e3 feat(webhook): send a header once per value of a list (#111)
- 62c044f feat: add VLatte-* debug headers to mock answers
- 285b6ec feat: add a production-ready Docker image (#124)
- 9e51363 feat: add an admin page to manage scenarios (#121)
- 230a7bb feat: add desc pkg
- 16356c6 feat: add more matchers (#88)
- 6d256b1 feat: add template functions and env allow list (#99)
- a4978e8 feat: bean concept
- a117eaf feat: better event listener
- 27d49a4 feat: binary bodies (#119)
- 170a568 feat: describe scenarios and refuse states no mock names (#118)
- f9efadd feat: flow
- ad6214d feat: flow stages (#86)
- 5c8b4fb feat: give each scenario key an instance of its own (#122)
- c73fdc0 feat: give listeners the logger, transport and dir through the Kit (#107)
- 4c549fd feat: kind type
- 6f24669 feat: let on_complete events run after the response (#110)
- e862d1c feat: limit the addresses mock servers connect to (#136)
- 8a3c007 feat: mock gRCP production ready (#91)
- acfa34c feat: multipart (#12)
- a347bfd feat: new descriptor
- b434fb9 feat: postaction + webhook
- dc2d36c feat: prep flavor arch
- 10c17e7 feat: recipe (prep)
- 6764ea3 feat: recording (#53)
- 6ae18ac feat: request journal (#83)
- 2c860b2 feat: roaster
- 86f0048 feat: scratch sip concept
- be7e3ed feat: shelf
- 4566cbb feat: show scenario moves in templates, the journal and events (#120)
- 3b8c088 feat: topping concept
Bug fixes
- e657e1c fix(deps): require stable grpc v1.85.0
- e434650 fix(make): run lint without time and with go.mod's Go (#71)
- e05f563 fix(mockhttp): cors (#56)
- b6a4b57 fix(mockhttp): keep escaped ? and # in the request path (#30)
- 82efd88 fix(mockhttp): make later options change only what they set (#104)
- 3f7f9e6 fix(mockhttp): rework proxying on one forwarding engine (#73)
- 9df7c13 fix: let a step pass its buffer on in parts (#85)
- ebed72e fix: make a nil Explanation record nothing (#78)
- 43dc031 fix: make mock descriptions load back as the same mock (#112)
- 7877201 fix: move a scenario when its mock is picked, in one step (#117)
- 9bc8950 fix: project-wide fixes + improvements (#7)
- 15a8800 fix: proxy reply transport (#70)
- 806d87b fix: resolve sonarcloud findings (#141)
- 69e48eb fix: server start order (#58)
- f8793d9 fix: tell failures apart from no-match with X-Vlatte-Error (#17)
- 6f4464c fix: webhooks (#37)