Repository navigation
v0.7.0
-
Requires
rasuvaeff/openapi-contract^0.5(was^0.4), which closes the
same review's ten warnings. The oracle is correspondingly stricter and more
accurate: header list values lose the whitespace around their separator, a
booleanschema: falserejects instead of accepting everything,multipart
honoursencoding.explode, an OAS 3.1 type union is read as the shape it
declares, and parameter diagnostics point at the declaration that carries
them. Body values are redacted from rendered diagnostics, whichCheckFailed
passes through — aCheckFailedmessage no longer shows a body'sactual. -
The negative const witness never collides with the const it contradicts.
constMismatch()used a fixed literal, so a parameter declaring that literal
as itsconstgot an "invalid" value that was in fact valid.enumMismatch()
already walked away from the collision; the const side now agrees. -
An unsupported media type no longer hides the request-body examples declared
after it.contentis a map, and giving up on the first entry this phase
cannot encode lost every JSON example a document happened to list after a
multipart body. -
A decimal
multipleOfno longer accumulates float error:3 * 0.1was
emitted as0.30000000000000004. Our own oracle tolerates that, but a server
checkingfmodwithout a tolerance does not, and the resulting failure lands
on the user's API rather than on the generator. The product is rounded back to
the precision the multiple itself carries. -
A
patternthat cannot satisfy its length window fails closed at compile
time, naming both constraints, instead of exhaustingGen::filter()mid-run.
The package's own rules call a run-timeGenerationExhausteda defect; the
probe is deterministic and twice the retry budget the filter would have had,
so a window it cannot hit is one the filter would have exhausted anyway.