Releases: noemaforge/vimanam
Release list
1.0.1 - 2026-07-07
Release Notes
Added
--tocflag as the explicit opposite of--no-toc; when both are given, the
later one wins.- A "no effect" warning when
--required-onlyis combined with--detail basic
or--detail summary, matching the existing--include-schemas/--include-examples
warnings.
Fixed
- Swagger 2.0
schemesis now respected when building the server URL from
host/basePath; previously plain-HTTP specs were rendered with an assumed
https://prefix. Responsemodel now has a dedicated$reffield instead of relying on
flattened extensions, for consistency with other ref-bearing types.- MSRV documentation updated from 1.85 to 1.96 (actual MSRV as of 1.0.0).
Install vimanam 1.0.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/noemaforge/vimanam/releases/download/v1.0.1/vimanam-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/noemaforge/vimanam/releases/download/v1.0.1/vimanam-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install noemaforge/tap/vimanamDownload vimanam 1.0.1
| File | Platform | Checksum |
|---|---|---|
| vimanam-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| vimanam-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| vimanam-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| vimanam-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| vimanam-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
1.0.0 - 2026-07-05
Release Notes
Added
- YAML input support: specs can now be supplied as
.yaml/.ymlin addition to
.json, for both OpenAPI 3.x and Swagger 2.0. Format is detected by extension
(case-insensitive) and falls back to the other parser for misnamed or
extension-less files. YAML and JSON inputs produce byte-identical output (#4).
Changed
- Adopted the Rust 2024 edition and raised the MSRV to 1.96.
- Replaced the deprecated
serde_yamldependency with the maintainedserde_norway
fork, which better handles YAML 1.1 quoting footguns (the "Norway problem").
Security
- All GitHub Actions across CI and the dist release workflow are now pinned to full commit
SHAs, and apin-checkCI job enforces it. dist does not SHA-pin its generated workflow, so
release.ymlis hand-pinned after generation; re-runningdist generatereverts the pins
(thepin-checkjob catches it).
Install vimanam 1.0.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/noemaforge/vimanam/releases/download/v1.0.0/vimanam-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/noemaforge/vimanam/releases/download/v1.0.0/vimanam-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install noemaforge/tap/vimanamDownload vimanam 1.0.0
| File | Platform | Checksum |
|---|---|---|
| vimanam-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| vimanam-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| vimanam-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| vimanam-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| vimanam-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.6.0 - 2026-06-26
Release Notes
Added
- Release automation via
dist. Eachv*
tag now also publishes shell + PowerShell install scripts and a Homebrew formula
(brew install noemaforge/tap/vimanam), andcargo binstall vimanamworks against
the released binaries — alongside the existing crates.io publish and prebuilt
archives (#32, #25, #26). aarch64-unknown-linux-gnu(ARM64 Linux) release binaries.
Changed
- Release archives are now
.tar.xznamedvimanam-<target-triple>(dist's
convention) and additionally bundleCHANGELOG.md; previously.tar.gznamed
vimanam-<version>-<target-triple>. Checksums (.sha256) and a combined
sha256.sumare still published. - crates.io publishing moved from the old hand-rolled release workflow to a dedicated
publish-crate.yml, sincedistdoes not publish to crates.io.
Install vimanam 0.6.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/noemaforge/vimanam/releases/download/v0.6.0/vimanam-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/noemaforge/vimanam/releases/download/v0.6.0/vimanam-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install noemaforge/tap/vimanamDownload vimanam 0.6.0
| File | Platform | Checksum |
|---|---|---|
| vimanam-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| vimanam-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| vimanam-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| vimanam-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| vimanam-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
Vimanam v0.5.1
Fixed
- Parameters given as a
$ref(#/components/parameters/...) are now resolved
during parsing; previously such specs failed to parse entirely because the
bare$refparameter carries noname/in(#48) - Path items given as a
$ref(#/components/pathItems/...) now contribute
their operations instead of being silently dropped; an unresolvable path-item
reference is logged and skipped (#50) - OpenAPI 3.1
typearrays (e.g.["string", "null"]) now parse instead of
failing; multiple non-null members render as a pipe-separated union such as
string | integer(#51) - Operations missing a
responsesobject no longer abort the entire parse (#56) - An operation-level parameter now overrides a path-level one of the same
(name, in)instead of both rendering as duplicate rows (#54) - Operations tagged with a value not in the declared
tagslist now get their
own service section instead of being silently reassigned to the first service;
service extraction is also$ref-aware so tags inside referenced path items
are seen (#60)
Changed
- Release artifacts are now compressed archives instead of bare binaries:
.tar.gzfor Linux/macOS and.zipfor Windows, named
vimanam-<version>-<target-triple>(cargo-binstall-friendly) and bundling the
binary,README.md, andLICENSE. Each archive ships with a matching
.sha256checksum, which downstream package managers need to verify
downloads (#24)
Compressed archives (.tar.gz for Linux/macOS, .zip for Windows) with per-asset .sha256 checksums for Linux, macOS (Intel & Apple Silicon), and Windows are attached. Also available via cargo install vimanam.
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.
Vimanam v0.4.0
Fixed
- Fatal errors are now printed to stderr regardless of the
RUST_LOGsetting,
instead of being silently swallowed when logging was not enabled (#14) --method-filteris now case-insensitive; methods are stored uppercase, so a
lowercase value such as--method-filter getpreviously matched nothing and
silently produced empty output (#13)--service-filteris now case-insensitive, for the same reason (#19)clean_for_idnow collapses runs of 3+ consecutive separators into a single
dash, so anchor IDs derived from inputs likea///bare clean (#15)- The
## Authenticationsection is now emitted in spec order and is
deterministic across runs;security_schemesswitched fromHashMapto
IndexMap, andserde_json'spreserve_orderfeature keeps OpenAPI 2.0
securityDefinitionsin declaration order rather than alphabetical (#16) - The table of contents and body sections now share one endpoint ordering in
every view, so TOC anchor links always point to the corresponding section in
document order (#18)
Changed
- Schema composition variant indices (
allOf/oneOf/anyOf) are now 0-based
(allOf[0],allOf[1], ...) to match JSON Pointer/jq conventions (#21)
Performance
$refresolution no longer re-serializes the entire spec on every reference;
the spec is serialized to JSON once per parse, making$ref-heavy large specs
significantly faster (#17)
Internal
--group-byis no longer wrapped in a misleadingOption(it always has a
clap default), removing an unreachable fallback branch (#20)
Binaries for Linux, macOS (Intel & Apple Silicon), and Windows are attached. Also available via cargo install vimanam.
Vimanam v0.3.0
Added
- Schema expansion at
--detail full --include-schemas(#5): theSchemamodel
now capturestitle,description,format,properties,items,
required,allOf/oneOf/anyOf,enum,nullable, and
additionalProperties, and request/response schemas are rendered as nested
field tables instead of a one-line type or reference name.$refs are
resolved againstcomponents.schemas(OpenAPI 3) anddefinitions
(OpenAPI 2), with cycle detection and a depth guard so self-referential
schemas terminate cleanly
Changed
--detail full --include-schemasoutput format: request/response schemas now
render as| Field | Type | Required | Description |tables instead of the
previous single-line// Schema type:/// Reference:comment
Binaries for Linux, macOS (Intel & Apple Silicon), and Windows are attached. Also available via cargo install vimanam.
Vimanam v0.2.2
Added
--version/-Vflag reporting the crate version (#3)- crates.io publishing: registry metadata (keywords, categories) and an
automatedcargo publishjob on release tags (#10) - This changelog; release notes are now generated from it
Binaries for Linux, macOS (Intel & Apple Silicon), and Windows are attached. Also available via cargo install vimanam.
Vimanam v0.2.1
Vimanam v0.2.1
OpenAPI/Swagger JSON to Markdown documentation generator.
Features:
- Convert OpenAPI JSON files to Markdown documentation
- Group endpoints by service or HTTP method
- Filter by service, path, or method
- Multiple detail levels (summary, basic, standard, full)
- Sorting options for endpoints
Downloads:
Binaries for Linux, macOS (Intel & Apple Silicon), and Windows are attached to this release.
Vimanam v0.2.0
Vimanam v0.2.0
OpenAPI/Swagger JSON to Markdown documentation generator.
Features:
- Convert OpenAPI JSON files to Markdown documentation
- Group endpoints by service or HTTP method
- Filter by service, path, or method
- Multiple detail levels (summary, basic, standard, full)
- Sorting options for endpoints
Downloads:
Binaries for Linux, macOS (Intel & Apple Silicon), and Windows are attached to this release.