Skip to content

Releases: fsprojects/fantomas

Release October

05 Oct 16:26
835872c
Compare
Choose a tag to compare

4.5.4 - 10/2021

  • Fix Documentation contains reference to infix multiline formatter even though it's removed. #1884
  • Fix Newline was introduced in Sequential with LetBang. #1882
  • Fix Vanity alignment used when calling base constructor. #1442

Special thanks to @panmau and @su8898.

https://www.nuget.org/packages/fantomas-tool/4.5.4

Release September

07 Sep 16:09
7d861f4
Compare
Choose a tag to compare

4.5.3 - 09/2021

  • Fix indented #if directive inside another non-indented #if directive drops significant whitespace. #1866

Special thanks to @kentcb

https://www.nuget.org/packages/fantomas-tool/4.5.3

August Release

11 Aug 17:15
383b729
Compare
Choose a tag to compare

4.5.2 - 08/2021

  • Fix Dropped comment with function with type parameter. #1861
  • Fix Comment dropped in a multi-option match. #1855
  • Fix StackoverflowException when formatted long triple-quoted strings. #1837
  • Fix Comment removed in match. #1677

Special thanks to @kentcb, @pbiggar, @texastoland and @OkkeHendriks.

https://www.nuget.org/packages/fantomas-tool/4.5.2

Late July Release

24 Jul 08:01
5fe2005
Compare
Choose a tag to compare

4.5.1 - 07/2021

  • Fix StackOverflow exceptions when collecting ColMultilineItem list. #1839
  • Honor .fantomasignore file when processing a folder. #1834
  • Fix Overly indented members on a record type with accessibility modifier. #1824
  • Fix MultiLineLambdaClosingNewline not respected with function keyword. #1823
  • Fix Comment is lost at the end of a match. #1822

Special thanks to @kentcb and @Smaug123.

https://www.nuget.org/packages/fantomas-tool/4.5.1

July Release

07 Jul 07:57
6f0df78
Compare
Choose a tag to compare

4.5.0 "Miasma" - 07/2021

  • Feature Always place bar in front of discriminated union. #1750
  • Feature Support multiple files/dirs as command-line arguments. #1696
  • Feature Disable empty line between mutually recursive type. #1658
  • Feature BlankLinesAroundNestedMultilineExpressions. #1587
  • Initial support of KeepIndentInBranch. #1361
  • Improve: Collect empty define block as single trivia. #1528
  • Improve: Refactor ASTTransformer. #1497
  • Improve: replace genTypeByLookup with Trivia. #594
  • Update to FCS 39 #1479
  • Fix Space between identifier and then is lost. #1816
  • Fix KeepIndentInBranch causing offside error in if condition. #1812
  • Fix Indentation warnings for multiline match expression. #1774
  • Fix Extra indentation on match-case block. #1234
  • Fix Fantomas introduces meaningless match block. #1806
  • Fix Lazy causes indentation to produce invalid F#. #1805
  • Fix Nested Fluent API produces wrong code: misses indentation. #1804
  • Fix Tuple should be consider short branch in KeepIndentInBranch setting. #1800
  • Fix Fantomas adds "of" to a union case when it is seemingly too long. #1796
  • Fix Function application in if expression should remain on single line. #1795
  • Fix Conditional code is not printed. #1794
  • Fix Records in list in a pattern match always have a semicolon. #1793
  • Fix parenthesis expression in then should further indent inner expression. #1777
  • Fix Wild cards in lambda. #1789
  • Fix Soundness regression in 4.5.0-beta-001. Nested lambdas are stripped. #1782
  • Fix KeepIndentInBranch not respected when returning short function application. #1779
  • Fix Hash directive not printed above recursive binding. #1776
  • Fix Fantomas adds space before colon when SpaceBeforeColon is false. #1773
  • Fix Long return expression not formatted multiline. #1771
  • Fix Add support for LibraryOnlyStaticOptimization. #1769
  • Fix fsharp_keep_indent_in_branch not respected for multiline infix expression. #1768
  • Fix Inline lambda in argument list causes problems for argument chopping and lambda alignment. #1028
  • Fix Difference in behavior between signature and implementation files for single case DU. #973
  • Fix Concatenation of multi-line """ strings mis-indented. #639
  • Fix Comment after arrow lost with KeepIndentInBranch. #1759
  • Fix Multiline if/then/else in infix expression. #1757
  • Fix Newline and comment trivia are mixed up. #1468
  • Fix Inline lambda in argument list causes problems for argument chopping and lambda alignment. #1028
  • Fix Difference in behavior between signature and implementation files for single case DU. #973
  • Fix Concatenation of multi-line """ strings mis-indented. #639
  • Fix Trivia before SynPat.Paren. #1753
  • Fix Idempotency problem when trailing comment is present. #1538
  • Fix Offside error after formatting with MultiLineLambdaClosingNewline. #1741
  • Fix Pipe character missing in single-case try/with. #1571
  • Fix Multiline if condition in KeepIndentInBranch leads to warnings. #1729
  • Fix KeepIndentInBranch not respected for values. #1728
  • Fix KeepIndentInBranch not respected. #1717
  • Fix Bad interaction between KeepIndentInBranch and MultiLambdaClosingNewLine. #1715
  • Fix KeepIndentInBranch not being respected. #1714
  • Fix Breaking method chain in the middle of an if statement causes offside error. #1712
  • Fix Offside error when a comment appears before a match statement in pipeline. #1711
  • Fix Line comment after short pattern match clause causes additional parenthesis. #1721
  • Fix Appending two lists with @ fails. #1719
  • Fix Leading block comment makes type multiline. #1718
  • Fix List concat chain using operators fails to format. #1188
  • Fix Unexpected newline after inner let binding. #1709
  • Fix Currying a pair gets spread over multiple lines. #1700
  • Fix Additional parentheses are introduced when match is piped. #1698
  • Fix \t in string replaced by ASCII 9. #1695
  • Fix Idempotency problem with nested else if. #1648
  • Fix Idempotency problem with ifdef in a function. #1646
  • Fix string interpolation part crossing max line length introduces new line and lots of whitespace. #1511
  • Fix Splitting generic type parameters over multiple lines sometimes puts the break in an invalid place. #1687
  • Fix Idempotency problem related to comments in with. #1686
  • Fix Upcast requires a line break but is not given one. #1685
  • Fix Idempotency problem when trying to format a type with method chaining in it. #1681
  • Fix Line comments after null value used as argument in function call are removed. #1676
  • Fix Idempotency problem when trying to format a type with method chaining in it. #1681
  • Fix Comment after constant got moved to the next line. #1671
  • Fix Idempotency problem when ending with a comment. #1649
  • Fix end_of_line not respecting when file has ifdef. #1673
  • Fix Attributes in a recursive type get misplaced. #1668
  • Fix alternative_long_member_definitions docs. #1666
  • Fix Stack overflow on macOS for long pipelines. #1453
  • Fix Comment inside empty Elmish children is lost. #1179
  • Fix Long .Setup line in Moq code results in broken indentation. #1662
  • Fix Don't introduce parenthesis around SynPat.IsInst. #1660
  • Fix Offside error splitting long line. #1651
  • Fix Offside errors after formatting. #1650
  • Fix Idempotency problem with with block. #1647
  • Fix Formatting code makes Interpolated verbatim strings to non-verbatim strings, which breaks the code. #1645
  • Fix Comment stripped in a record with semi-colons. #1643
  • Fix Another shape which isn't respecting KeepIndentInBranch. [#1638](https://github.com/fsproje...
Read more

February Release

25 Feb 08:41
9bc785c
Compare
Choose a tag to compare

4.4.0 "Life Eternal" February release

  • Revisit SynExpr.IfThenElse. #1258
  • Target netcoreapp3.1 for fantomas-tool.
  • Stricter trivia selection. #1304
  • Fix Idempotency problem when function argument's type annotation requires brackets. #1470
  • Fix Inconsistency about when fantomas decides to split () (unit) to the next line. #1469
  • Fix Unexpected newline between hash directives. #1464
  • Fix Oscillating newlines in custom computation expression. #1463
  • Fix Violation of "avoid name-sensitive alignments" clause. #1422
  • Fix Incorrectly combines tokens when formatting. #1407
  • Fix string interpolation with multi-line string causes literal part to change. #1451
  • Fix when clause in try-with block gets split and causes compiler warnings about indentation. #1406
  • Fix Long line breaks match. #1403
  • Fix Long line causes offside error. #1402
  • Fix Nested matches format into something invalid. #1400
  • Fix Shortening big if clause still creates compiler warnings. #1390
  • Fix “FS0058: Possible incorrect indentation” on function composition after running Fantomas. #1341
  • Fix Typed App followed by chained lambda should not add space. #1448
  • Fix TypedApp should not have a space when chained. #1447
  • Fix Unexpected newline after short match expression. #1445
  • Fix Space after chain lambda function is not allowed. #1440
  • Fix Formatting error with MultilineBlockBracketsOnSameColumn. #1396
  • Fix fsharp_space_before_uppercase_invocation=true breaks method calls. #1437
  • Fix Crash regression on 4.4.0-beta-003. #1438
  • Fix MultiLineLambdaClosingNewline concats lambda arguments. #1427
  • Fix member val causes invalid code to be generated. #1426
  • Fix Surround return type annotations with white space [F# style guide]. #1420
  • Fix Lists concatene onto one line invalidly. #1405
  • Fix Accessibility modifier on record causes unindentation of following type. #1404
  • Fix Invalid addition of a space after constructor invocation. #1401
  • Fix "Inline" is incorrectly stripped out in FSI file. #1399
  • Fix Multiple type checks in a try/with get collapsed. #1395
  • Fix Short line length and member constraint leads to invalid code. #1394
  • Fix Object expression newline gets added/removed. #1388
  • Fix Arrays of constructors with lots of arguments gets dedented too much. #1382
  • Fix Format in pre-commit hook. #1207
  • Fix Shortening an 'if' condition causes compilation warnings about indentation. #1374
  • Fix Some escapes are unexpectedly modified in character literal patterns. #1372
  • Fix Fantomas formats with an error for very long DU case match. #1364
  • Fix Fantomas errors out on new Foo "". #1363
  • Fix Aesthetics of long members in a type declaration. #1362
  • Fix Comment on first constructor argument gets removed. #1350
  • Fix “FS0058: Possible incorrect indentation” around if/then/else after running Fantomas. #1349
  • Fix Failing to format file should return an exit code different than 0. #1340
  • Fix Shorter MaxLineLength with long variable name yields invalid F# code according to fantomas. #1241
  • Fix MultilineBlockBracketsOnSameColumn should be honored inside match block. #1238
  • Fix Update constructor formatting to match MS Style guide. #1359
  • Fix Violation of name-sensitive alignments. #1358
  • Fix Pattern matching breaks code when expression is long and somewhat complex. #1352
  • Fix Inserts extra newline everytime formatter runs. #1346
  • Fix Functions looses space before parameter if func is defined inside method. #1345
  • Fix Required backslash removed in string interpolation. #1344
  • Fix Swallows comment before #nowarn directive. #1220
  • Fix Swallows comment inside with block (of a try-with). #1219
  • Fix Program.fs inside full path can lead to invalid AST. #1337
  • Fix Formatting of long parameter lists. #657
  • Fix DotGet inside If expression not correct on second format. #1329
  • Fix Pipe is indented too far. #1327
  • Fix IfThenElse piped leads to invalid code. #1324
  • Fix Multiline when condition in pattern match needs to be further indented. #1320
  • Fix Add comma in front of expression in tuple with if/then/else. #1319
  • Fix New line before for loop not preserved. #1317
  • Fix Newline before set expression is lost. #1314
  • Fix Newline after let bang is missing. #1313
  • Fix Revisit place parameters on a new line for long definitions. #1307
  • Fix static member should only have a single indent. #1300
  • Fix Elmish-like syntax using yields with interspersed let statements breaks the code. #1191
  • Fix The 'member' keyword gets deleted in 'abstract member' declarations. #1106
  • Fix Don't indent too far. #659
  • Fix static member should only have a single indent. #1300
  • Fix Named string argument to type provider requires a space prior to '@', which Fantomas removes. #1209
  • Fix Don't indent too far. #659
  • Fix spaces removed from string. #1290

Special thanks to @btzo, @knocte, @HumbertoCortes, @theothornhill, @Evangelink, @josh-degraw, @johlrich, @suside, @vain0x, @ursenzler, @TobyShaw, @JackMatusiewiczGR, @Smaug123, @c-rindi, @jgiannuzzi and @stackedsax

https://www.nuget.org/packages/fantomas-tool/4.4.0

December release

17 Dec 07:50
fc5969a
Compare
Choose a tag to compare

4.3.0 "See The Light" December release

  • Feature Clarify constructors. #1217
  • Feature MultiLineLambdaClosingNewline. #1221
  • Feature Disable Elmish syntax. #1198
  • Support user-provided end-of-line characters. #1231
  • Add option to make expressions multiline based on number of subexpressions rather than character length. #1143
  • Update to FCS 38. #1240
  • Fix Comment after let binding breaks downstream output. #1284
  • Fix Comments are removed before and after empty array literals. #1281
  • Fix Use a safe filename when formatting from CodeFormatter. #1279
  • Fix Incorrect movement of a comma. #966
  • Fix Bracket indentation is incorrect. #1271
  • Fix tuple with match formats to invalid code. #1269
  • Fix Incorrect movement of a comma. #966
  • Fix Not adding a space even when all SpaceBefore* settings are enabled. #964
  • Fix Multiline if condition can have incorrect indentation error. #1267
  • Fix multiline do bang gives a warning. #1265
  • Fix regressions. #1264
  • Fix multiline yield bang in list should be further indented. #1254
  • Fix Or pipe in destructured record should not be splitted. #1252
  • Fix Swap order of private and inline. #1250
  • Fix Comment is lost in enum. #1247
  • Fix Nested if/else/then in short mode. #1243
  • Fix Something doesn't add up in fix for 303. #1093
  • Fix Fantomas format is "unstable/oscillates" after upcast operator: adds/removes empty line. #1227
  • Fix Misplaces = in function signature so it's invalid F# code. #1218
  • Fix Additional newline is added between if/elif and for loop. #1211
  • Fix Let binding in hash directive disappears. #1205
  • Fix Downcast operator doesn't get a new line. #1203
  • Fix Implicit unit else results in extra lines with each reformat. #1187
  • Fix Incorrect formatting of function parameter application with lambdas. #1201
  • Fix Lambda functions in fluent API calls should indent further. #970
  • Fix Hard to read code when using Thoth.Json. #685
  • Fix --check should ignore the line endings. #1196
  • Fix Format entire return type on the line. #1181
  • Fix Only add one in keyword in LetOrUse. #1176
  • Fix Multiline SynPat.Record in pattern match is formatted as a mixture of single/multiline styles. #1173
  • Fix Inconsistent indentation of multiline records with internal keyword when fsharp_multiline_block_brackets_on_same_column is on/off. #1171
  • Fix Lambda argument splits in awkward way. #1164
  • Fix Multiline expression should be on next line. #1158
  • Fix Missing in keyword makes code invalid. #1114
  • Fix Invalid code after format. #1032
  • Fix Space before ^ SRTP type is removed in function call. #984
  • Fix Shouldn't remove space after colon. #908
  • Fix Crash when formatting with config file. #824
  • Fix Formatting typeof generic static constraint fails to compile. #803
  • Fix Indenting of record definition when internal. #658

Special thanks to @Fizzixnerd, @baronfel, @SamarSha, @btzo, @aarani, @WalternativE, @ThisFunctionalTom, @ShalokShalom, @deviousasti, @knocte, @JackMatusiewiczGR, @Smaug123, @c-rindi, @jgiannuzzi and @stackedsax

https://www.nuget.org/packages/fantomas-tool/4.3.0

Late September Release

25 Sep 08:02
2d1eeb4
Compare
Choose a tag to compare

4.2.0 "Ritual" Late September release

  • Feature MaxDotGetExpressionWidth. #501
  • Fix Confusing symmetry between infix operators. #988
  • Fix Comment before closing parenthesis is lost. #1146

https://www.nuget.org/packages/fantomas-tool/4.2.0

4.1.1 release

17 Sep 08:48
2968e2d
Compare
Choose a tag to compare

4.1.1

  • Fix No newline between module and first declaration. #1139
  • Fix additional new lines added after each call to format. #1137
  • Fix Generics error when breaking line. #1134
  • Fix Comments on DUs parameterized by functions are dropped. #1128
  • Fix Preserve underscore in number. #1120

https://www.nuget.org/packages/fantomas-tool/4.1.1

September release

10 Sep 06:29
0d32005
Compare
Choose a tag to compare

4.1.0 "If You Have Ghosts" September release

  • Ignore files by .fantomasignore file. #420
  • Limit trivia by AST MainNode name. #992
  • Lead by example. #666
  • Verify all unit test whether the formatted code is valid. #842
  • Fix Comments get dropped from the end of multi-line records. #1124
  • Fix Functions in nested modules which follow a type consisting of only one member of a DU are un-nested from that module. #1123
  • Fix After discriminated union in module wrongly indented. #1122
  • Fix Extra whitespace with a type which has an attribute. #1116
  • Fix Adds newline between comments and (all but the first) attribute. #1108
  • Fix Extra whitespace lines added in fsi files at the end of a nested module declaration. #1105
  • Fix Extra new line is added before attributes. #1097
  • Fix Comments after closing brace are lost. #1096
  • Fix Comment after Or operator lost. #1095
  • Fix Trivia before bar is being repeated. #1083
  • Fix Comment after arrow is being duplicated. #1082
  • Fix Allow line break after return to avoid excessive indenting/aligning. #1062
  • Fix Name of static members are removed/empty. #1059
  • Fix When using parenthesis in type definition, it will sometimes keep adding additional () for each time fantomas i run. #1057
  • Fix Multiline string in use expression. #1055
  • Fix Issue #246 has returned in v4.0.0. #1051
  • Fix Indentation after multiple hash directives is off. #1026
  • Fix if/then/else indented too far. #1054
  • Fix Single AST node should contain trivia. #1031
  • Fix Formatter adds extra newlines between type and any subsequent val in .fsi files. #1029
  • Fix Comments in if/then/else statements are sometimes deleted. #1019
  • Fix Moves type name around when writing constrained type definitions. #1018
  • Fix Line break before bracket on long method call followed by member access causes semantic change. #994
  • Fix Long union case should be split over multiple lines. #972
  • Fix FSI formatting does the wrong thing with comments on single-case DU. #965
  • Fix Invalid unit test should break lines on multiline if conditions. #863
  • Fix Abstract member declarations don't follow page width. #435

Special thanks to @gihyeonsung and @knocte.

https://www.nuget.org/packages/fantomas-tool/4.1.0