Vimanam v0.5.0
Added
--include-examplesis now implemented: at--detail fullit renders request
and response examples as fenced JSON blocks, pulling from media-typeexample
andexamplesand resolving$refs intocomponents/examples. It previously
printed only a placeholder (#6)--group-by pathgroups endpoints by path, emitting one section per path with
its methods listed underneath, in spec order (#8)--max-tokens <N>fits output to a token budget: it renders at the requested
--detaillevel and, if the estimated token count (a chars/4 heuristic) is
over budget, steps the detail level down (full → standard → basic → summary)
until it fits, reporting any reduction on stderr (#7)
Changed
- The
examplesmaps on media types andcomponents.examplesswitched from
HashMaptoIndexMap, so rendered examples preserve spec order and keep the
output-determinism guarantee
Fixed
--required-onlynow also drops parameters whoserequiredis unspecified,
not only those explicitly markedrequired: false- A
requestBodygiven as a$ref(#/components/requestBodies/...) is now
resolved during parsing; previously such specs failed to parse entirely
because the referenced body carries no inlinecontent
Internal
- The ~1200-line
markdown.rswas split into amarkdown/module (views,
endpoint,schema,examples) behind the unchangedgenerate_markdown
entry point, and shared preamble, endpoint-filter, HTTP-method-list, and
JSON-pointer helpers were de-duplicated. No behavior change. ExampleandMediaTypegained#[serde(flatten)]extension maps, so
unknown vendor (x-*) fields are preserved rather than dropped, matching the
other model structs.
Binaries for Linux, macOS (Intel & Apple Silicon), and Windows are attached. Also available via cargo install vimanam.