Releases: domodwyer/tlafmt
v0.4.1
Fixes some minor whitespace issues and a crash when a CASE block has an unparsable body.
What's Changed
- build(deps): bump clap from 4.5.32 to 4.5.33 by @dependabot in #64
- build(deps): bump clap from 4.5.33 to 4.5.34 by @dependabot in #65
- ci: restrict permissions by @domodwyer in #66
- ci(fix): add release creation permission by @domodwyer in #67
- test: extend corpus from TLA Examples by @domodwyer in #68
- build(deps): bump clap from 4.5.34 to 4.5.35 by @dependabot in #69
- fix: elide empty ident tokens by @domodwyer in #70
- test: add module body fuzzer by @domodwyer in #71
- refactor: simplify newline token delimiters by @domodwyer in #72
- test: extend test corpus from TLA Examples by @domodwyer in #73
- ci: separate caches for fuzz targets by @domodwyer in #74
- build: bump version to 0.4.1 by @domodwyer in #75
Full Changelog: v0.4.0...v0.4.1
v0.4.0
Nearing a v1, this release contains a number of significant fixes for spec breakage, as well as general output and perf improvements.
Using --check
now emits a colourised diff of changes that would be made.
Thanks @Ciflire for reporting multiple issues!
What's Changed
- build(deps): bump tempfile from 3.19.0 to 3.19.1 by @dependabot in #40
- fix: comment padding after raw token by @domodwyer in #41
- test: extend corpus from TLA examples by @domodwyer in #42
- fix: line length calculation for comment only line by @domodwyer in #44
- build: release WASM binary by @domodwyer in #43
- fix: indent comment if first lien of op body by @domodwyer in #45
- ci: cache build state using lockfile by @domodwyer in #46
- fix: alignment of comment only lines by @domodwyer in #47
- test: no comment re-indent for re-indented block by @domodwyer in #48
- refactor: re-indent blocks of comment-only lines by @domodwyer in #49
- test: add PaxosCommit spec to corpus by @domodwyer in #50
- fix: aligned comments split after formatting by @domodwyer in #51
- refactor: split indent from render mod by @domodwyer in #52
- feat: coloured diff output for --check mode by @domodwyer in #53
- build: bump version to 0.4.0 by @domodwyer in #55
- fix: spacing before open paren by @domodwyer in #54
- test: LET IN with missing IN body by @domodwyer in #56
- feat: explicit handling of number sets by @domodwyer in #58
- fix: do not respect indent of newlines for rewrite by @domodwyer in #59
- feat: explicit UNION and @ tokens by @domodwyer in #60
- fix: connective item body indentation by @domodwyer in #61
- perf: avoid node indent rewrite for delta=0 by @domodwyer in #62
- fix: indentation not squashed by rewrite pass by @domodwyer in #63
Full Changelog: v0.3.2...v0.4.0
v0.3.2
Various fixes, including spec breakage for some CASE statements.
Now tests against ~210 specs from TLA Examples with more to come after additional fixes; see #27.
What's Changed
- build(deps): bump tempfile from 3.18.0 to 3.19.0 by @dependabot in #32
- ci: continious fuzzing workflow fixes by @domodwyer in #33
- ci(fuzz): seed corpus after cache restore by @domodwyer in #34
- fix: block comment indentation by @domodwyer in #35
- feat: CASE statement rendering by @domodwyer in #37
- fix: indent bounded_op nodes by @domodwyer in #36
- test: add TLA Examples corpus by @domodwyer in #39
- build: bump version to 0.3.2 by @domodwyer in #38
Full Changelog: v0.3.1...v0.3.2
v0.3.1
This release fixes a bug that could cause the formatter to output an invalid spec - thanks @lemmy for reporting the issue.
Also included: a number of small spacing fixes, and improved indentation edge cases.
What's Changed
- fix: indentation rewriter pass & spacing fixes by @domodwyer in #26
- build: bump version to 0.3.1 by @domodwyer in #28
- docs(readme): tweaks but respects input spec style by @domodwyer in #29
- fix: spacing between op == (parens) by @domodwyer in #30
- ci: no force reinstall cargo fuzz by @domodwyer in #31
Full Changelog: v0.3.0...v0.3.1
v0.3.0
Thanks @Ciflire for ongoing work to integrate tlafmt with the helix editor!
What's Changed
- feat: accept input from stdin by @domodwyer in #21
- test(e2e): missing --in-place & --check conflict by @domodwyer in #22
- build(deps): bump clap from 4.5.31 to 4.5.32 by @dependabot in #19
- build: bump version to 0.3.0 by @domodwyer in #23
Full Changelog: v0.2.1...v0.3.0
v0.2.1
What's Changed
- build(deps): bump insta from 1.42.1 to 1.42.2 by @dependabot in #12
- build(deps): bump thiserror from 2.0.11 to 2.0.12 by @dependabot in #11
- build(deps): bump tree-sitter from 0.25.2 to 0.25.3 by @dependabot in #13
- fix: operator body indentation by @domodwyer in #15
- fix: format inline / and strings by @domodwyer in #16
- build: bump version to 0.2.1 by @domodwyer in #17
- build(deps): bump tempfile from 3.17.1 to 3.18.0 by @dependabot in #14
- perf: buffer --in-place file writing by @domodwyer in #18
Full Changelog: v0.2.0...v0.2.1
v0.2.0
This release improves comment formatting so that vertically aligned comments stay aligned, even if the line lengths change:
Init ==
/\ store = [k \in Key |-> NoVal] \* All store values are initially NoVal.
/\ tx = {} \* The set of open transactions is initially empty.
/\ snapshotStore = \* All snapshotStore values are initially NoVal.
[t \in TxId |-> [k \in Key |-> NoVal]]
/\ written = [t \in TxId |-> {}] \* All write logs are initially empty.
/\ missed = [t \in TxId |-> {}] \* All missed writes are initially empty.
Plus fixes a hard tab bug.
What's Changed
- build(deps): bump tree-sitter from 0.25.1 to 0.25.2 by @dependabot in #1
- test(fuzz): libtlafmt fuzzing target by @domodwyer in #2
- build(deps): bump clap from 4.5.30 to 4.5.31 by @dependabot in #4
- feat: aligned comment preservation by @domodwyer in #5
- ci: fix missing_docs lint by @domodwyer in #7
- fix: bad AST when using hard tabs for spacing by @domodwyer in #6
- build: bump version to 0.2.0 by @domodwyer in #8
- build: add makefile by @domodwyer in #9
- build(make): fix windows cross-compilation target by @domodwyer in #10
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Initial release - go forth and format.
Full Changelog: https://github.com/domodwyer/tlafmt/commits/v0.1.0