Skip to content

Releases: fischeti/rdlfmt

0.1.1 - 2026-08-17

Choose a tag to compare

@github-actions github-actions released this 17 Aug 08:40

Release Notes

Added

  • A PeakRDL plugin. Installed alongside PeakRDL, the same wheel registers a
    peakrdl fmt subcommand — uv tool install peakrdl-cli --with rdlfmt.
    Unlike PeakRDL's other subcommands it does not compile or elaborate its
    input, since formatting needs the source text rather than the register model,
    so it formats files that parse but do not yet elaborate.

Install rdlfmt 0.1.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/fischeti/rdlfmt/releases/download/v0.1.1/rdlfmt-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/fischeti/rdlfmt/releases/download/v0.1.1/rdlfmt-installer.ps1 | iex"

Download rdlfmt 0.1.1

File Platform Checksum
rdlfmt-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
rdlfmt-x86_64-apple-darwin.tar.xz Intel macOS checksum
rdlfmt-x86_64-pc-windows-msvc.zip x64 Windows checksum
rdlfmt-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
rdlfmt-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
rdlfmt-aarch64-unknown-linux-musl.tar.xz ARM64 MUSL Linux checksum
rdlfmt-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum

0.1.0 - 2026-08-16

Choose a tag to compare

@github-actions github-actions released this 16 Aug 20:00

Release Notes

First release.

Added

  • rdlfmt, a formatter for SystemRDL 2.0 following the
    PeakRDL style guide:
    four-space indentation, opening brace on the statement's line, closing brace
    on its own line before the instance name, spaces around assignment and
    expression operators.
  • Line breaks between statements are preserved rather than imposed, so
    deliberate grouping survives and the style guide's sw/hw exception needs
    no special case. Runs of blank lines collapse to one.
  • Comments and preprocessor directives are preserved, including `ifdef
    branches, which are laid out as trivia rather than parsed as code.
  • Line endings are taken from the input: a CRLF file stays CRLF, an LF file
    stays LF.
  • Output is verified before it is returned. The result is re-lexed and compared
    token by token against the input; if anything but whitespace moved, the
    output is withheld rather than written. Input that does not parse cleanly is
    refused rather than reformatted from a guessed-at tree.
  • CLI: files are rewritten in place by default, with --check for CI,
    --diff, --stdout, directory traversal, and stdin/stdout when given no
    path.
  • Library API: rdlfmt::format, plus rdlfmt::syntax for the lexer and the
    lossless rowan CST underneath. The CLI dependencies sit behind the default
    cli feature, so library users can turn them off.

Install rdlfmt 0.1.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/fischeti/rdlfmt/releases/download/v0.1.0/rdlfmt-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/fischeti/rdlfmt/releases/download/v0.1.0/rdlfmt-installer.ps1 | iex"

Download rdlfmt 0.1.0

File Platform Checksum
rdlfmt-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
rdlfmt-x86_64-apple-darwin.tar.xz Intel macOS checksum
rdlfmt-x86_64-pc-windows-msvc.zip x64 Windows checksum
rdlfmt-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
rdlfmt-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
rdlfmt-aarch64-unknown-linux-musl.tar.xz ARM64 MUSL Linux checksum
rdlfmt-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum