|  | 
| 1 |  | -# 0.29.2 | 
|  | 1 | +# 0.30.0 | 
|  | 2 | +## Breaking Changes | 
|  | 3 | +The CSharpier dotnet tool no longer supports net6 & net7. | 
|  | 4 | +## What's Changed | 
|  | 5 | +### Support C# 13 & dotnet 9. [#1318](https://github.com/belav/csharpier/issues/1318) | 
|  | 6 | +CSharpier now supports dotnet 9 along with formatting all C# 13 language features. | 
|  | 7 | +### Inconsistent Formatting for new() Operator Compared to Explicit Object Constructors [#1364](https://github.com/belav/csharpier/issues/1364) | 
|  | 8 | +Implicit and explicit object initialization with constructors was not formatted consistently | 
|  | 9 | +```c# | 
|  | 10 | +// input & expected output | 
|  | 11 | +SomeObject someObject = new( | 
|  | 12 | +    someLongParameter___________________, | 
|  | 13 | +    someLongParameter___________________ | 
|  | 14 | +) | 
|  | 15 | +{ | 
|  | 16 | +    Property = longValue_______________________________________________________________________, | 
|  | 17 | +}; | 
|  | 18 | + | 
|  | 19 | +SomeObject someObject = new SomeObject( | 
|  | 20 | +    someLongParameter___________________, | 
|  | 21 | +    someLongParameter___________________ | 
|  | 22 | +) | 
|  | 23 | +{ | 
|  | 24 | +    Property = longValue_______________________________________________________________________, | 
|  | 25 | +}; | 
|  | 26 | + | 
|  | 27 | +// 0.29.2 | 
|  | 28 | +SomeObject someObject = | 
|  | 29 | +    new(someLongParameter___________________, someLongParameter___________________) | 
|  | 30 | +    { | 
|  | 31 | +        Property = longValue_______________________________________________________________________, | 
|  | 32 | +    }; | 
|  | 33 | + | 
|  | 34 | +SomeObject someObject = new SomeObject( | 
|  | 35 | +    someLongParameter___________________, | 
|  | 36 | +    someLongParameter___________________ | 
|  | 37 | +) | 
|  | 38 | +{ | 
|  | 39 | +    Property = longValue_______________________________________________________________________, | 
|  | 40 | +}; | 
|  | 41 | + | 
|  | 42 | +``` | 
|  | 43 | +### Adds additional space before each member access in verbatim interpolated multiline string [#1358](https://github.com/belav/csharpier/issues/1358) | 
|  | 44 | +When an interpolated verbatim string contained line breaks, the code within the interpolations would contain extra spaces. | 
|  | 45 | +```c# | 
|  | 46 | +// input & expected output | 
|  | 47 | +var someStringWithLineBreakAndLongValue = | 
|  | 48 | +    $@" | 
|  | 49 | +{someValue.GetValue().Name} someLongText________________________________________________________________"; | 
|  | 50 | + | 
|  | 51 | +// 0.29.2 | 
|  | 52 | +var someStringWithLineBreakAndLongValue = | 
|  | 53 | +    $@" | 
|  | 54 | +        {someValue .GetValue() .Name} someLongText________________________________________________________________"; | 
|  | 55 | +``` | 
|  | 56 | + | 
|  | 57 | +### Inserting trailing comma with trailing comment causes problems. [#1354](https://github.com/belav/csharpier/issues/1354) | 
|  | 58 | +CSharpier would insert a trailing comma after a trailing comment and format the end result poorly. | 
|  | 59 | +```c# | 
|  | 60 | +// input | 
|  | 61 | +var someObject = new SomeObject() | 
|  | 62 | +{ | 
|  | 63 | +    Property1 = 1, | 
|  | 64 | +    Property2 = 2 // Trailing Comment | 
|  | 65 | +}; | 
|  | 66 | + | 
|  | 67 | +// 0.29.2 | 
|  | 68 | +var someObject = new SomeObject() | 
|  | 69 | +{ | 
|  | 70 | +    Property1 = 1, | 
|  | 71 | +    Property2 = | 
|  | 72 | +        2 // Trailing Comment | 
|  | 73 | +    , | 
|  | 74 | +}; | 
|  | 75 | + | 
|  | 76 | +// 0.30.0 | 
|  | 77 | +var someObject = new SomeObject() | 
|  | 78 | +{ | 
|  | 79 | +    Property1 = 1, | 
|  | 80 | +    Property2 = 2, // Trailing Comment | 
|  | 81 | +}; | 
|  | 82 | +``` | 
|  | 83 | + | 
|  | 84 | +### Double line break before collection expression in field [#1351](https://github.com/belav/csharpier/issues/1351) | 
|  | 85 | +CSharpier was inserting an extra line break on a long field name followed by a collection expression to initialize it. | 
|  | 86 | +```c# | 
|  | 87 | +// input & expected output | 
|  | 88 | +class ClassName | 
|  | 89 | +{ | 
|  | 90 | +    public SomeType[] LongName____________________________________________________________________________ = | 
|  | 91 | +    [ | 
|  | 92 | +        someLongValue___________________________________________________, | 
|  | 93 | +        someLongValue___________________________________________________, | 
|  | 94 | +    ]; | 
|  | 95 | +} | 
|  | 96 | + | 
|  | 97 | +// 0.29.2 | 
|  | 98 | +class ClassName | 
|  | 99 | +{ | 
|  | 100 | +    public SomeType[] LongName____________________________________________________________________________ = | 
|  | 101 | + | 
|  | 102 | +        [ | 
|  | 103 | +            someLongValue___________________________________________________, | 
|  | 104 | +            someLongValue___________________________________________________, | 
|  | 105 | +        ]; | 
|  | 106 | +} | 
|  | 107 | + | 
|  | 108 | +``` | 
|  | 109 | + | 
|  | 110 | +**Full Changelog**: https://github.com/belav/csharpier/compare/0.29.2...0.30.0 | 
|  | 111 | +# 0.29.2 | 
| 2 | 112 | ## What's Changed | 
| 3 | 113 | ### Comments don't follow tabs indent style [#1343](https://github.com/belav/csharpier/issues/1343) | 
| 4 | 114 | Prior to `0.29.2` CSharpier was converting any tabs within the block of a multiline comment to spaces. | 
| @@ -2653,3 +2763,4 @@ Thanks go to @pingzing | 
| 2653 | 2763 | 
 | 
| 2654 | 2764 | 
 | 
| 2655 | 2765 | 
 | 
|  | 2766 | +
 | 
0 commit comments