fantomas 8.0.0-alpha-021
See the version list below for details.
dotnet tool install --global fantomas --version 8.0.0-alpha-021
dotnet new tool-manifest
dotnet tool install --local fantomas --version 8.0.0-alpha-021
#tool dotnet:?package=fantomas&version=8.0.0-alpha-021&prerelease
nuke :add-package fantomas --version 8.0.0-alpha-021
Fantomas

An opinionated F# source code formatter.
dotnet tool install fantomas
Documentation is available at https://fsprojects.github.io/fantomas/docs/index.html
If you point a coding agent at Fantomas, give it llms.txt for an index of the documentation, or llms-full.txt for all of it in one file.
Contributing Guidelines
See the Contribution Guidelines and our contributors documentation
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 8.0.4 | 0 | 9/23/2026 |
| 8.0.3 | 0 | 9/23/2026 |
| 8.0.2 | 226 | 9/22/2026 |
| 8.0.1 | 894 | 9/21/2026 |
| 8.0.0 | 13,078 | 9/15/2026 |
| 8.0.0-beta-003 | 951 | 9/12/2026 |
| 8.0.0-beta-002 | 304 | 9/8/2026 |
| 8.0.0-beta-001 | 788 | 9/1/2026 |
| 8.0.0-alpha-026 | 336 | 8/29/2026 |
| 8.0.0-alpha-025 | 222 | 8/28/2026 |
| 8.0.0-alpha-024 | 121 | 8/28/2026 |
| 8.0.0-alpha-023 | 125 | 8/28/2026 |
| 8.0.0-alpha-022 | 344 | 8/27/2026 |
| 8.0.0-alpha-021 | 110 | 8/27/2026 |
| 8.0.0-alpha-020 | 125 | 8/27/2026 |
| 8.0.0-alpha-019 | 455 | 8/26/2026 |
| 8.0.0-alpha-018 | 115 | 8/26/2026 |
| 8.0.0-alpha-017 | 3,042 | 8/25/2026 |
| 8.0.0-alpha-016 | 486 | 8/25/2026 |
| 8.0.0-alpha-015 | 256 | 8/24/2026 |
### Fixed
- A call in the middle of a chain keeps its parenthesis against the member name when its lambda argument no longer fits, and breaks behind it instead. Up to now the whole argument moved down a line, `(` and all, which is what the last call of a chain does, but for an earlier one it changes what the code means: `a.Foo (x).Bar()` passes `(x).Bar()` to `Foo` rather than calling `Bar` on the result. With a call behind it the compiler rejected the result with "This argument expression needs parentheses"; with a plain member behind it, such as `.Value`, nothing warned at all and the member quietly became part of the argument. Hanging the parameters under `(fun` would keep the parenthesis in place too, and the F# style guide rules that out, because the column they hang from is the length of the member name. The closing `)` answers to `fsharp_multi_line_lambda_closing_newline` as it did before, and the last call of a chain is untouched, since nothing follows it to be swallowed. [#3432](https://github.com/fsprojects/fantomas/issues/3432)