Skip to content

Releases: sbryngelson/ffmt

v0.3.4

25 Mar 00:59

Choose a tag to compare

Fix slice comma spacing: when slice-colon is disabled (compact mode), commas separating slice dimensions also omit trailing spaces. e.g. a(:, :, 1)a(:,:,1). Commas between regular subroutine arguments are unaffected.

v0.3.1

24 Mar 22:51

Choose a tag to compare

Add implicit none spacing: ensures one blank line before and after implicit none

v0.3.0

23 Mar 22:26

Choose a tag to compare

New features

  • Format suppression! ffmt off / ! ffmt on to skip formatting regions
  • EOL normalizationend-of-line = "lf" (default), "crlf", or "preserve"
  • Relational operator modernization.eq.==, .ne./=, etc.
  • Double-colon enforcementinteger xinteger :: x
  • Multi-statement splittingx = 1; y = 2 → separate lines (opt-in)
  • Assignment alignment — align = across consecutive assignments (opt-in)
  • Continuation & alignment — align & at column limit (opt-in)
  • Use-statement reformatting — one import per line (opt-in)
  • --dump-config — print resolved configuration
  • .ffmt.toml — hidden config file support

Improvements

  • Toggle type — most options now accept true, false, or "preserve"
  • Fuzz-discovered fixes — repeated ;;, !&!&, \r normalization, blank line collapse
  • Early \r normalization — prevents idempotency issues with CRLF input

Documentation

  • ReadTheDocs site with per-option examples
  • Expanded README with feature summary
  • CI: docs build, markdown lint, cargo fmt check

v0.2.8

22 Mar 19:42

Choose a tag to compare

Fix 2-space enforcement for single !< inline Doxygen comments

v0.2.7

22 Mar 19:33

Choose a tag to compare

2-space inline comments (S102), trailing semicolon removal (S081), string-aware print/write rewrapping

v0.2.6

21 Mar 22:01

Choose a tag to compare

Strip comment-only continuation lines (& ! ...) that cause Cray ftn-71 errors

v0.2.5

21 Mar 21:29

Choose a tag to compare

Strip trailing !& no-op continuation comments that cause Cray ftn strict-mode errors

v0.2.4

21 Mar 20:13

Choose a tag to compare

Fix Fypp #: directives inserting spurious blank lines in declaration regions

v0.2.3

21 Mar 19:45

Choose a tag to compare

Blank line normalization fixes: #else/#elif openers, #ifdef in declaration regions, Fypp continuation alignment

v0.2.2

21 Mar 16:06

Choose a tag to compare

Structural blank line formatting, comment rewrapping, use statement alignment, idempotency fixes