Releases: fsprojects/fantomas
Releases · fsprojects/fantomas
August release
4.0.0 "He is" August release
- Add initial support of String Interpolation. #998
- Extract FakeHelpers and EditorConfig to Fantomas.Extras project #986
- Update FCS to 37. #996
- Update FCS to 36. #899, #961
- Replaced json configuration with .editorconfig. #650
- Sunset setting ReorderOpenDeclaration. #645
- Sunset setting KeepNewlineAfter. #737
- Renamed setting IndentSpaceNum to IndentSize. #940
- Renamed setting PageWidth to MaxLineLength. #940
- Removed all style configuration options from CLI tool. #704
- Added Benchmarks. #867
- Split up setting SpaceBeforeArgument to multiple settings. #649
- SpaceBeforeParameter
- SpaceBeforeLowercaseInvocation
- SpaceBeforeUppercaseInvocation
- SpaceBeforeClassConstructor
- SpaceBeforeMember
- Increase control over length of certain code constructs. #697
- MaxRecordWidth
- MaxArrayOrListWidth
- MaxValueBindingWidth
- MaxFunctionBindingWidth
- MaxElmishWidth
- Better support for Elmish inspired code. #922
- Feature SingleArgumentWebMode. #927
- Feature AlignFunctionSignatureToIndentation. #946
- Feature AlternativeLongMemberDefinitions. #913
- Feature MultilineBlockBracketsOnSameColumn. #453
- Feature NewlineBetweenTypeDefinitionAndMembers. #752
- Feature KeepIfThenInSameLine. #825
- Fix Comments in match statements are sometimes deleted. #1010
- Fix Comments on members with get/set are deleted. #1009
- Fix Hexadecimal numbers in enums are output as decimal numbers. #1006
- Fix List indentation issue. #999
- Fix Hexadecimal numbers in match arms are output as decimal numbers. #995
- Fix Removes the first comment above the member of the list. #990
- Fix Brackets increased every time Fantomas is run. #989
- Fix Bug: Hash directive in computation expression. #977
- Fix Bug with hash directives inside a match statement. #976
- Fix Bug with defines in record member assignment. #968
- Fix Backquotes are stripped down from
checked
. #937 - Fix Fantomas wraps extra set of parenthesis around parenthesis. #921
- Fix Remove indent setting from CLI tool. #888
- Fix Fantomas generating invalid F# when trying to format a list created with yields. #882
- Fix Invalid unit test
method call on multiple lines
. #862 - Fix Invalid unit test
should break on . operator and keep indentation
. #860 - Fix Multi-line arguments to chained method calls produce invalid code. #702
- Fix Line comment displaced from commented #-directive. #638
- Fix #if'd argument types are lost. #633
- Fix #if'd attributes moved to wrong column. #631
- Fix Assembly attributes create over-long lines. #629
- Fix List expression can get combined to a single line with different semantics. #931
- Fix Additional new line inserted around attributes. #949
- Fix
with get
removal in FSI invalid. #945 - Fix FSI file has "abstract" stripped. #944
- Fix Insertion of space before function application can break dot-chaining. #943
- Fix Concatenation of lines can break operator precedence. #942
- Fix Extra spaces inserted in record definition. #941
- Fix Comments at the end of async blocks are deleted automatically. #936
- Fix Newline between comments should lead to individual comments. #920
- Fix VS Code | Extra white space added to record definition. #910
- Fix When cutting off function invocations, should place each param in its own line (or align them to the 1st param). #907
- Fix Try online link points to old location. #890
- Fix Leading
|
in single-case union type with access modifier. #889 - Fix Type constraint on a type definition causes a loss of the type definition. #887
- Fix Fantomas removes the 'and' if there are multiple member constraints on a function declaration. #886
- Fix Comments inside a type definition can cause issues. #885
- Fix Long function signature should align with equal sign. #883
- Fix Newline not preserved between let and let bang. #879
- Fix Stackoverflow problem with let bang in match. #876
- Fix Incorrect formatting for chained class members using Websharper. #871
- Fix Pipe before and inside lambda leads to wrong indent of following lambda. #870
- Fix Formatting Program.fs with
--check
fails. #869 - Fix Possible wrong indentation for functions with parameters over multiple lines. #868
- Fix Invalid unit test
different attributes according to defines
. #864 - Fix Invalid unit test
record instance with inherit keyword
. #861 - Fix Invalid unit test
should add space before type provider params
. #859 - Fix Incorrect end of line added after "(" which makes the code not to compile. #856
- Fix Incorrect end of line added after "(". #855
- Fix SpaceBeforeUppercaseInvocation applied in the middle of a invocation chain. #853
- Fix MultilineBlockBracketsOnSameColumn not working properly when calling base constructors. #852
- Fix PageWidth not respected for member with one long parameter. #850
- Fix Wrong indentation in member definition. #844
- Fix Class type with long variable names results in invalid formatted F# code. #841
- Fix Multiline let bang should have newline before. #838
- Fix complex computation expression identifier looks off. #835
- Fix keyword before type declaration leads to invalid F# code. #830
- Fix Inconsistent if-then-else cut. #825
- Fix MultilineBlockBracketsOnSameColumn=true not working on records with short names. #823
- Fix --config fantomas-config.json gives error. #821
- Fix multiline let bang should have a newline. #819
- Fix Updated value not indented correctly. [#817](https://github.com/fsprojects/fantomas/issu...
Late February Release
3.3.0 "Pro Memoria" Late February release
- Support for
and!
. #690 - Support for new slice syntax. #691
- Support for check style flag #642
- Update FCS to 34.1 #699
- Allow to configure spaces before and after semicolon. #653
- Fix Problem with --config and directory names containing ".". #694
- Fix Space is removed after Foo.Create. #676
- Fix Error in formatting nested else if construction. #675
- Fix Unbalanced and misplaced #if directives after formatting. #635
- Fix Stack overflow when using fantomas 3.2.0-beta-002. #630
- Fix --help and --version return exit code 1. #612
- Fix Line comment disappears after format. #598
- Fix Stack overflow for global tool on OSX. #591
- Fix Page width is not respected when formatting a function signature. #495
- Update README with link to YouTube videos series. #672
Special thanks to @jindraivanek, @baronfel, @lpedrosa & @tcallan
February release
3.2.0 "Con Clavi Con Dio" February release
- Added support for settings configuration file. #354
- Use Argu for commandline argument parsing. #607
- Fix Unicode null escapes are still unescaped. #632
- Fix Back ticks are removed from enum. #626
- Fix Pipe is removed when DU type name matches record type name. #641
- Fix fantomas --version should return version. #625
- Fix Extra newline between attribute and function. #611
- Fix Invalid code produced when formatting type alias for struct tuple. #605
- Fix Extra newlines repeatedly being added inside an object expression. #601
- Fix Empty line added on each format. #597
- Fix Error when formatting DU with single choice and attribute. #596
- Fix Unwanted new line after elif expression. #588
- Fix Unwanted new line added. #586
- Fix Empty lines in multi-line string get moved. #577
- Fix Error when combining #if directive with async block and let. #576
- Fix DllImport not detected when using additional attribute. #574
- Fix Comment in async block gets moved. #573
- Fix Enum comments removed. #572
- Fix Fantomas keeps adding new lines between two interface member implementations. #569
- Fix Unindented DU case causes compile error. #567
- Fix Erroneous whitespace in chained accessors. #566
- Fix Comments inside type signatures break formatting. #565
- Fix Hash symbol in signatures requires parens to remain. #564
- Fix Stack overflow in Strict mode. #562
- Fix Accessibility modifiers in DUs. #561
- Fix Line comment place after lambda instead of infix function. #559
- Fix Sequence expression inside computation expression outputs uncompilable code. #553
- Fix Comment after [ is not preserved. #551
- Fix Record update indentation incorrect around comments. #537
- Fix Formatting document continuously adds new lines each time it's called. #535
- Fix Comments like
(fun arg -> // comment
are lost. #534 - Fix KeepNewlineAfter not respected in let binding. #524
- Fix Improve formatting of lambda between parenthesis. #523
- Fix Crash when using --keepNewlineAfter. #513
- Fix Over-aggresive folding breaks nested lambda expressions. #486
- Fix Add FormatASTRangeAsync to API. #454
- Fix Intrinsic type extension member signatures are erased. #413
- Fix Inconsistencies in if formatting. #135
Special thanks to @jindraivanek, @lpedrosa & @theimowski
November release
3.1.0 "Kiss The Go-Goat" November release
- Fix invalid code generated after multiline string when other expressions exist on same line. #545
- Fix Trivia before elif generates invalid code due to missing indentation. #527
- Fix Don't add additional newline between two and blocks. #520
- Fix Print line comment after
{
#517 - Fix Formatting document removes '#if DEBUG' and '#endif'. #512
- Fix Some unicode control characters are incorrectly formatted. #506
- Fix New empty line inserted preceding module attribute. #505
- Fix Weird indentation/breaks with lambda in pipeline. #503
- Fix Sufficiently indent match case bodies for other indentation lengths than 4. #502
- Fix
--noSpaceBeforeColon
doesn't work. #499 - Fix Invalid code produced when wrapping method call to new line. #498
- Fix Indexer usage fails to parse. #497
- Use FCS 33.0.0. pull/568
- Use dotnet tools pull/558
- Add
--maxIfThenElseShortWidth
option, see documentation
Special thanks to @jindraivanek, @smoothdeveloper & @baronfel
October release
3.0.0 "Infestissumam" October release
- Use FCS 32.0.0. 490b121af427ec4f6eba94f6d6d08cf3f91e04c8
- Deprecate PreserveEndOfLine feature. #390
- Upgrade to .NET Core 3.0 and deprecate dotnet-fantomas. b13aa00a57541be5f6182dc65ee27dc81174ab15
- F# 4.7 support. 9ab8f007446d2e8311a204a9c8a73d758a189939
- KeepNewlineAfter setting. #449
- Refactored API #454
- Fix Adding parentheses around expressions can lead to incorrect indentation. #385
- Fix Indentation removed when combining comments and compiler directives. #382
- Fix Fantomas removes module and namespace if it is only 1 word (without dots). #380
- Fix Indentation incorrect for code with chained fluent interface method calls. #379
- Fix Incorrect indentation when space around delimiter is false. #362
- Fix Meaningful spaces can be collapsed in record-with expressions. #353
- Fix CLI arguments not accepted. #334
- Fix Calls to constructor from inherited class leads to wrong indentation (breaks build). #326
- Fix Indent level context lost in record initialization -- causes compilation failure. #313
- Fix Semi-colons may or may not be insterted in list literals. #312
- Fix Handling of blank lines is idiosyncratic. #311
- Fix Over-length line not folded (inside #if block). #309
- Fix With --preserverEOL, multi-line lambdas are not correctly formatted. #307
- Fix Reformatting #if blocks controlling attributes changes the meaning of the code. #304
- Fix Some spacing is still lost in and around #if blocks. #303
- Fix Weird formattiing behavior. #287
- Fix #if blocks result in code being moved around incorrectly. #282
- Fix Inline replacement. #278
- Fix No new line after long name when copying record with "with". #155
- Fix Formatting of multi-line list literals. #133
- Fix Problems with very long lines and/or files. #119
- Fix Adjust default configuration to be more F# idiomatic. #61
- Fix Excessive line breaking. #43
- Fix [Trivia] Line comment after
then
breaks code. #451 - Fix Bug report from fantomas-ui. #450
- Fix Publish 3.0.0 to NuGet.org with a preview flag. #448
- Fix Include directive with
__SOURCE_DIRECTORY__
is removed and replace. #447 - Fix Formatting if expressions not according to style-guide. #446
- Fix PreserveEndOfLine+SpaceAroundDelimiter add an unnecessary space before closing brace. #443
- Fix Record option with attribute gets an additional space with PreserveEndOfLine. #442
- Fix Quotation escapes removed - Bug report from fantomas-ui. #440
- Fix Fantomas fails in Fake script. #439
- Fix Configuration options for "Fabulous compatibility"?. #437
- Fix Using fantomas with dotnet-format. #430
- Fix Change space before colon default to false. #429
- Fix global.json specifies outdated dotnet sdk. #426
- Fix Errors after formatting secondary constructors. #423
- Fix Wrong attribute and xml doc placement on reformat with PreserveEOL. #422
- Fix When running the tool for a fairly large script file (1000 lines) nothing happens. #416
- Fix Is Fantomas still supported for VS? Couldn't find it?. #415
- Fix the required library libhostfxr.so could not be found. #412
- Fix Latest FCS breaks fantomas. #410
- Fix Compiled operators names are replaced with source names. #409
- Fix Wrong anon module formatting when filename starts with a digit. #408
- Fix Raw method names with
/
are formatted improperly. #406 - Fix Attributes followed by unit literals aren't formatted properly. #405
- Fix Wrongly removed "with" for member on record, PreserveEndOfLine=true. #388
- Fix IndentSpaceNum is ignored if PreserveEndOfLine is enable. #387
- Fix An option to preserve empty lines between logical blocks. #496
- Fix Bug report from fantomas-ui. #491
- Fix
finally
is duplicated, moved. #487 - Fix Multiple #if cases causes failure (3.0.0 beta3 and beta4). #484
- Fix Significant spaces lost (v3.0.0-beta4). #483
- Fix #if/#endif lost with v3.0.0-beta-004. #482
- Fix Exception when code for no defines is empty. #480
- Fix Stackoverflow exception in AstTransformer. #479
- Fix [Trivia] Significant spacing added after let binding in function. #478
- Fix Incorrect replacement of
override
withmember
. #477 - Fix [Trivia] Fantomas removes the parentheses around Fable's string field access syntax. #476
- Fix [Trivia] Additional line added after very specific case. #475
- Fix Multiple extension members cause additional lines to be printed. #473
- Fix Long text lines cause out of range exception in 3.0.0-beta. #472
- Fix Class member attributes cause additional lines. #471
- Fix 'with' incorrectly removed. #469
- Fix Online UI tool doesn't understand F# 4.6's {| |}. #467
- Fix Exception handling 'with' clause using drop-through is malformed. #465
- Fix Unicode null escapes are unescaped (v3.0.0. beta1, beta2). #464
- Fix Multiline record not on new line after DU constructor. #462
- Fix Feature request: Prefix generic type parameters. #460
- Fix Fantomas hangs indefinitely when run. #459
- Fix record mutation: first field after
with
should be placed in a new line. #457 - Fix for i in 1..-1..0 do: should add space before
-
. #456 - Fix Incorrect handling of attributes in static method. #452
Special thanks to @jindraivanek & G-Research
February release
2.9.2 February release
- Fix PreserveEndOfLine introduces additional newlines. #360
- Fix Extra newline is introduced when file ends with multiline comment. #363
- Fix Fantomas shouldn't remove parens when using the dynamic operator (?). #369
- Fix Extra semicolons in list with PreserveEndOfLine. #371
- Use qualified name for inputPath and outputPath. #376
- Added Nightly nuget feed. #375
- Moved solution file to root folder. #377
- Fix Multiple attributes indented wrongly with PreserveEndOfLine. #370
- Fix pattern matched unions are formatted badly. #283
- Fix wrong indentation when accessing member of constructed record. #383
- Fix latest fantomas breaks Falanx indentation. #384
- Add support for SynExpr.Set(,,_). #368
- Fix Recurse option with globally installed dotnet-tool traverses 'obj' directories. #341
- Fix creates invalid F# for string handling operations. #365
- Use FAKE 5. #261
- Added FAKE 5 sample. #402
Special thanks to @jindraivanek, @tathanhdinh
November release
2.9.1 November release
- Added instructions for vscode and online website. #333
- Removed trailing spaces for each line, after formatting. #328
- Allow easy build/format/build cycle of external projects. #337
- Fix
in
is removed from binding when PreserveEndOfLine is true. #340 - Fix unnecessary conversion from 'YieldOrReturn' to 'YieldOrReturnFrom', by update of FCS. #339
- Fix Lazy<'T> is incorrectly rewritten. #335
- Fix Fluent API with comments breaks code. #331
- Update to .NET Core 2.1 #350
- Removed unused open statements. #352
- Added regression test for Implicit module is added to resulting code. #355
- Fix wrong comment placement. #289
Special thanks to @jindraivanek, @danyx23
October release
2.9.0 "Monstrance Clock" October release
- Improved README. #243
- Bad split of chained method call expression. #246
- rec modifier removed for namespaces and modules. #292
- Over-enthusiastic removal of parentheses #249
- Broken reformat of "if" inside call (fantomas-tool 2.8.0) #288
- Support struct tuple. #224
- Support match! #262
- Fix for AST formatting regression. #321
- Upgrade to .NET 4.5.2 #325
Special thanks to @jindraivanek, @7sharp9 , @kkm000, @sasmithjr and @alfonsogarciacaro.
September release
2.8.1 - September release
- Force parameter is true by default. #267
- Formatting compiler directives with inactive code is incorrect. #270
- Fix "Fantômas" mistranslation in README. #273
- Fix for preserve EOL feature. #275
- rec keyword is removed from recursive modules #274
- Access modifiers in method signatures in signature files are not formatted correctly. #284
#if FOO || BAR => #if FOO
#280override
becomesmember
in interface implementations. #263- Operator >>.~ incorrectly formatted. #291
- Bad choice of line break location in boolean equality expression. #248
- Pipe operator inside quotation expression leads to wrong indentation. #256
- broken indent by pipe formatting. #269
Special thanks to @jindraivanek, @s-trooper, @AnthonyLloyd, @vasily-kirichenko, @7sharp9 and @ThibaultLemaire
VS extension and NuGet package 1.0.5
v1.0.5:
- Fully support F# 3.1 syntax
- Be compatible with F# on Mono
- Handle external functions
- Improve support of multiline strings
- Implement various bug fixes
Download VS extension at http://visualstudiogallery.msdn.microsoft.com/24ef5c87-b4e3-4c3b-b126-1064cc66e148