Skip to content

Releases

November 3rd Release

Choose a tag to compare

@github-actions github-actions released this 03 Nov 14:28
2136021

8.1.1

Fixed

  • Comment between the type name and the primary constructor is removed. #3569

Special thanks to @claude, @nojaf and @xperiandri!

https://www.nuget.org/packages/fantomas/8.1.1

October 21 Release

October 21 Release Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 20:02

9.0.0-alpha-002

Changed

  • Everything that changed in 8.1.0, the layout changes and fixes listed under that release below. v8.1.0

https://www.nuget.org/packages/fantomas/9.0.0-alpha-002

October 21st Release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 19:44
9b5cde1

8.1.0 Umbra - 21-10-2026

Changed

  • Multiline tuple type after a cast or type annotation operator goes one level in. #3561
  • Line comment lined up with the first element of its container stays with the elements. #3561

Fixed

  • Parenthesized function type gets an extra indent level where no outer function type needs it. #3554
  • Multiline tuple in the middle of a function type gives invalid code. #3556
  • Parenthesized function type after an arrow gives invalid code with indent_size 2. #3557
  • Long type test with :? gives invalid code. #3558
  • Line comment after the opening parenthesis of a type moves and breaks the type. #3559
  • Comment between a match pattern and its when guard gives invalid code. #3560
  • Regression: Stroustrup bracket style in anonymous record type parameter is not respected. #3069
  • Space inserted before final > in type parameter. #2860

Special thanks to @mmabdpr and @nojaf!

https://www.nuget.org/packages/fantomas/8.1.0

October 15 Release

October 15 Release Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 15 Oct 17:44

9.0.0-alpha-001

Changed

  • Fantomas checks that its output keeps every // and (* *) comment of the file. A format run searches its result for each of them, and does not write a result that is missing one, even when it is valid F#. The daemon that editors use refuses such output too, and output that is not valid F#, where it used to send both to the editor. fantomas doctor has a Comments step that checks, more thoroughly than a format run can afford, that the result keeps every comment and directive of the file under every define combination, a Parse step that lists the define combinations the file is parsed under, and ends on a Verdict: what a format run would do with the file. CodeFormatter.FormatDocumentWithValidationsAsync takes the checks to run as Validations, and FormatResult has a new field, Issues, with what they found, so code that constructs a FormatResult has to set it. DefineParseException.Combinations holds the defines of each combination that failed, rather than their names. #1353
  • On Linux x64, the fantomas tool is an executable compiled with Native AOT. It starts in milliseconds rather than first starting the .NET runtime. The fantomas package only names the packages per platform: fantomas.linux-x64 and, for Alpine, fantomas.linux-musl-x64 hold the executable, and every other platform installs fantomas.any, the tool as it shipped before. #3171

Special thanks to @nojaf!

https://www.nuget.org/packages/fantomas/9.0.0-alpha-001

October 14th Release

Choose a tag to compare

@github-actions github-actions released this 14 Oct 19:33
1af520b

8.0.10

Fixed

  • Comment after a property accessor is lost. #3527

Special thanks to @nojaf!

https://www.nuget.org/packages/fantomas/8.0.10

October 14th Release

Choose a tag to compare

@github-actions github-actions released this 14 Oct 19:14
7adf879

8.0.9

Fixed

  • Comment before a let in the right-hand side of an infix operator is lost. #3522

Special thanks to @nojaf!

https://www.nuget.org/packages/fantomas/8.0.9

October 9th Release

Choose a tag to compare

@github-actions github-actions released this 09 Oct 15:34
42c0616

8.0.8

Changed

  • Update FCS to 'Add range of the when keyword to SynMatchClauseTrivia', commit 409c7a62ea193ec060e87ccad78636feeb0883f1 #3531

Fixed

  • Comment after 'when' on its own line is lost. The syntax tree had no range for the when keyword of a match clause, so a comment after it had no node on its line to attach to. The parser now records that range, and the comment stays after the keyword. #3521

Special thanks to @nojaf!

https://www.nuget.org/packages/fantomas/8.0.8

October 5th Release

Choose a tag to compare

@github-actions github-actions released this 05 Oct 12:06
13099e4

8.0.7

Fixed

  • Exception abbreviation loses its right-hand side. #3511
  • Static optimization when ^T struct loses struct. #3514
  • Static optimization loses the and between its conditions, and reverses its conditions and when clauses. #3516
  • static extern inside a type loses static. #3515

Special thanks to @nojaf!

https://www.nuget.org/packages/fantomas/8.0.7

October 1st Release

Choose a tag to compare

@github-actions github-actions released this 01 Oct 08:29
578727b

8.0.6

Changed

  • Update FCS to 'Record the range of the of keyword in SynUnionCaseTrivia', commit 5e9647f158fe282462aba57ed83ada910a91b90e #3502

Fixed

  • Wrong change of comment's position. The syntax tree had no range for the of keyword of a union case or exception, so a block comment after it, as in exception E of (*name*) string, was attached to the case name and printed in front of of. The parser now records that range, and the comment stays after the keyword. #1959
  • Cursor is lost when placed on if, then or else if keywords. The cursor now keeps its place on if, elif, else if, then, match, match! and with. #3387
  • Cursor is lost when placed on the closing bracket of a multiline list or array in the cramped style. #3506

Special thanks to @knocte, @mmabdpr and @nojaf!

https://www.nuget.org/packages/fantomas/8.0.6

September 25th Release

Choose a tag to compare

@github-actions github-actions released this 25 Sep 09:17
972f7d0

8.0.5

Changed

  • Improved formatting performance. Formatting the source files of dotnet/fsharp allocates around 40% less memory and is roughly 1.4 times faster than 8.0.4, depending on hardware. The fields of WriterEvent, returned by CodeFormatter.GetWriterEventsAsync, are renamed so that cases share them: text for the strings, amount for IndentBy and UnIndentBy, column for the indent and column cases, and nodeType and range for NodeEnd. #3499
  • Update FCS to 'Record the range of the exceptionin SynExceptionDefnRepr', commit 349d6aaf1e4685a72e43b7f4a0708205e4104b4c #3500

Fixed

  • Comment between doc comment and exception keyword gets shifted. The syntax tree had no range for the exception keyword, so a comment between the XML doc or attributes and the keyword was placed in front of the exception name, after the keyword. The parser now records that range, and the comment stays in front of the keyword. #3483

Special thanks to @nojaf!

https://www.nuget.org/packages/fantomas/8.0.5

⌂ 换网址