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

An opinionated F# source code formatter.
dotnet tool install fantomas
Documentation is available at https://fsprojects.github.io/fantomas/docs/index.html
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.0-alpha-018 | 0 | 8/26/2026 |
| 8.0.0-alpha-017 | 43 | 8/25/2026 |
| 8.0.0-alpha-016 | 251 | 8/25/2026 |
| 8.0.0-alpha-015 | 210 | 8/24/2026 |
| 8.0.0-alpha-014 | 107 | 8/20/2026 |
| 8.0.0-alpha-013 | 101 | 8/19/2026 |
| 8.0.0-alpha-012 | 6,764 | 4/16/2026 |
| 8.0.0-alpha-011 | 172 | 4/15/2026 |
| 8.0.0-alpha-010 | 168 | 4/15/2026 |
| 8.0.0-alpha-009 | 334 | 4/3/2026 |
| 8.0.0-alpha-008 | 177 | 3/25/2026 |
| 8.0.0-alpha-007 | 185 | 3/10/2026 |
| 8.0.0-alpha-006 | 150 | 3/9/2026 |
| 8.0.0-alpha-005 | 137 | 3/9/2026 |
| 8.0.0-alpha-004 | 131 | 3/7/2026 |
| 8.0.0-alpha-003 | 148 | 3/3/2026 |
| 8.0.0-alpha-002 | 389 | 12/15/2025 |
| 8.0.0-alpha-001 | 188 | 12/12/2025 |
| 7.0.6 | 2,749 | 8/19/2026 |
### Changed
- Bump `StreamJsonRpc` to `2.25.29`. This clears the NuGet vulnerability warnings coming from the transitive `MessagePack` and `Nerdbank.MessagePack` dependencies. [#3393](https://github.com/fsprojects/fantomas/pull/3393)
- Breaking: `Expr.Chain` is redesigned around a head, a list of `ChainSegment` and a `ChainTerminal`. `Expr.DotLambda`, `Expr.DotIndexedGet`, `Expr.AppLongIdentAndSingleParenArg` and `Expr.NestedIndexWithoutDot` are removed, and a dotted long identifier now yields `Expr.Chain` instead of `Expr.OptVar` in expression position. See the [upgrade guide](https://fsprojects.github.io/fantomas/docs/end-users/UpgradeGuide.html) for how to migrate. [#3385](https://github.com/fsprojects/fantomas/pull/3385)
- Chains are laid out by a documented set of rules, written up in full under [Chains](https://fsprojects.github.io/fantomas/docs/contributors/Chains.html). They are a proposal for the F# style guide and may still change. A chain that fits on one line is left alone. When one has to break, only a call claims a line of its own and plain property access rides along in front of it, where a comment between the steps previously put every step on its own line. A long run of property access now wraps into balanced lines instead of overflowing the margin. [#3385](https://github.com/fsprojects/fantomas/pull/3385)
- With `fsharp_multi_line_lambda_closing_newline = false` (the default), a match lambda argument keeps `function` beside the `(` when the call is reached through a dot, matching what a call without a receiver already did. [#3385](https://github.com/fsprojects/fantomas/pull/3385)
- With `fsharp_multi_line_lambda_closing_newline = true`, a lambda argument whose opening line does not fit moves onto its own line instead of hanging its parameters under the opening parenthesis. This applies to calls with and without a receiver. [#3385](https://github.com/fsprojects/fantomas/pull/3385)
- Added `InvariantViolationException`, raised when Fantomas reaches a state its own model says is impossible. It derives from `FormatException`, carries the source range of the construct involved, and points at the issue tracker. [#3385](https://github.com/fsprojects/fantomas/pull/3385)
### Fixed
- CLI refuses to format files containing IWSAM types (warning 3535 fails output validation). [#3396](https://github.com/fsprojects/fantomas/issues/3396)
- A space was added before the parenthesis of a call inside a `_.` shorthand lambda when `fsharp_space_before_uppercase_invocation` was enabled, producing code that does not compile. [#3364](https://github.com/fsprojects/fantomas/issues/3364)