Maintenance release. No changes to the exported API or to documented behaviour. See #167 for the full commit-by-commit history.
Bug fixes
- Failure messages are no longer dropped for tests created without a name.
- Mock responses no longer share the mock's header map, so
AnyTimesmocks stop accumulating duplicateSet-Cookieheaders and no longer race under concurrent calls. Result.UnmatchedMocks()returns every unmatched mock instead of only the first.BasicAuthkeeps passwords that contain:.- Request builder errors (
BodyFromFile,JSON,MultipartFile, …) fail the test fromExpect(t)instead of panicking with a nil pointer. - Sequence diagrams no longer corrupt host names that contain
cliorsut. - Concurrent mock interactions are captured safely when reporting, and the diagram file is closed after writing.
Mock.copy()andcopyHttpResponseno longer share state with the original.
Internal
io/ioutilreplaced,interface{}→any,errors.Is/As,maps/sliceshelpers.apitest.goandmocks.gosplit into smaller files by responsibility.- golangci-lint configuration,
-raceinmake test, CI matrix on Go 1.23 and stable. - New tests for
mocks/verifierandx/db.
Docs
- README section on how mocks are matched; the sequence diagram example now uses
SequenceDiagram. InboundRequestandFinalResponseare marked deprecated (unused, retained for compatibility).