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
- Fix Comment removed in multi-case pattern matching. #813
- Fix Wrong handling multi lines comment at the end of file after function application. #810
- Fix Opening brace for test missing. #806
- Fix Return attribute deleted on reformatting. #800
- Fix Fantomas crash with evaluation of array member. #798
- Fix Type restrictions in FSI files. #797
- Fix AssemblyInfo.fs attributes get squashed together. #796
- Fix Byte-order mark is stripped. #795
- Fix Fantomas replaces "abstract" in fsi, leading to compile errors. #794
- Fix Broken links in Readme.md. #791
- Fix Multiline first member should not introduce initial newline. #789
- Fix Newline added before let binding with attribute in class. #786
- Fix Some floating-point numbers are changed. #785
- Fix Adding newline before first comment in module. #784
- Fix Parameter after multiline string parameter. #783
- Fix Modulo operator misplaced. #780
- Fix double-backtick identifier is formatted wrong when starts with non-alphanum character. #776
- Fix Line comment after record not printed. #774
- Fix Additional blank lines inserted after formatting. #772
- Fix Error while formatting Fantomas unit test with compiler define. #761
- Fix AbstractSlot with line comment is consider multi line. #757
- Fix Missing space after multiline string. #754
- Fix Cannot determine upper or lowercase. #753
- Fix Feature: Add blank line between type definition and members. #752
- Fix Default member implementation changed to member during formatting. #742
- Fix Long function definition should put equals and body on a newline. #740
- Fix Add extra space between prefix operator and string. #736
- Fix MaxIfThenElseShortWidth is not respected. #734
- Fix Shouldn't remove getters. #733
- Fix Comment after
then
keyword gets removed. #730 - Fix Determine if DotGet expression is upper- or lowercase. #729
- Fix Check for Trivia content before the equals sign in let bindings. #728
- Fix When advising user to file a bug, should mention the file it was trying to format. #726
- Fix space removed from parameters passed to inherited class. #720
- Fix Place parameters on a new line for very long member definitions. #719
- Fix Exception: Unexpected scenario when formatting else if / elif. #713
- Fix Fantomas keeps adding newlines every time you format. #709
- Fix Duplicate spaces and lost of linecomment. #687
- Fix Formatting of array literals of BigInteger. #682
- Fix Hash directive not between namespace and module. #681
- Fix Comment above static member is wrongly placed. #680
- Fix Do not remove property setters. #664
- Fix StringConstant printed twice. #646
- Fix Newline after "bang" keywords in computation expressions. #615
- Fix Incorrect indentation when folding a record update expression. #536
- Fix Preserve comments after record. #516
- Fix Long function signature broken into two lines. #492
- Fix "Better" support for nesting complex expressions in async { } blocks. #386
Special thanks to @Bobface, @jindraivanek, @deviousasti, @ErikSchierboom, @knocte, @kontomondo, @auduchinok, @panesofglass, @matteobaglini, @jasondown, @c-rindi, @Szer, @baronfel, @jgiannuzzi, @Smaug123 and @JackMatusiewiczGR.