|
| 1 | +# 1.1.0 |
| 2 | +## What's Changed |
| 3 | +### .gitignore from parent folders impacts formatting of children [#1627](https://github.com/belav/csharpier/issues/1627) |
| 4 | +CSharpier will no longer consider `.gitignore` files located above the root of the current git repository. |
| 5 | +### Changes to stdin formatting [#288](https://github.com/belav/csharpier/issues/288) [#1657](https://github.com/belav/csharpier/issues/1657) |
| 6 | +There is a new option `--stdin-filepath` that is used to specify the filepath CSharpier should use for resolving options and ignore files. \ |
| 7 | +When no path is specified via `stdin-path` |
| 8 | + - No ignore files are considered. |
| 9 | + - The current directory is considered when locating options |
| 10 | + - The file is assumed to be c# unless the first non-whitespace character is `<` in which case it is assumed to be xml. |
| 11 | +### Support for C# 14 and .NET 10 [#1654](https://github.com/belav/csharpier/issues/1654) [#1646](https://github.com/belav/csharpier/issues/1646) |
| 12 | +Changes were required to support the following |
| 13 | +- Extension Declarations |
| 14 | +- File level directives in file based C# Apps |
| 15 | +### Support --ignore-path CLI option [#1585](https://github.com/belav/csharpier/issues/1585) |
| 16 | +It is now possible to specify the path to an ignore file |
| 17 | +```bash |
| 18 | +dotnet csharpier format . --ignore-path .config/.csharpierignore |
| 19 | +``` |
| 20 | +### Format xaml and slnx by default [#1628](https://github.com/belav/csharpier/issues/1628) [#1604](https://github.com/belav/csharpier/issues/1604) |
| 21 | +CSharpier now formats `xaml` and `slnx` by default without the need for configuration changes. |
| 22 | +### XML formatting is not taking into account EOL configuration on multiline comments [#1660](https://github.com/belav/csharpier/issues/1660) |
| 23 | +When formatting the following XML, CSharpier would always use the system system default for ending lines within the comment instead of the respecting the configured EOL setting. |
| 24 | +```xml |
| 25 | +<Element> |
| 26 | + <!-- |
| 27 | + Comment with EOL |
| 28 | + --> |
| 29 | +</Element> |
| 30 | +``` |
| 31 | + |
| 32 | +### Error when no read access to intermediate containing folder [#1656](https://github.com/belav/csharpier/issues/1656) |
| 33 | +In the case that CSharpier had access to a sub directory but not the parent of that sub directory, it was failing with an exception. That has been resolved. |
| 34 | +### Misleading message after "csharpier check" [#1645](https://github.com/belav/csharpier/issues/1645) |
| 35 | +Previously the `format` and `check` commands both used the same output message. The `check` command now correctly reports that it checked files and did not format them. |
| 36 | +```bash |
| 37 | +# 1.0.3 |
| 38 | +dotnet csharpier check . |
| 39 | +Formatted 13226 files in 21986ms. |
| 40 | + |
| 41 | +# 1.1.0 |
| 42 | +dotnet csharpier check . |
| 43 | +Checked 13226 files in 21986ms. |
| 44 | +``` |
| 45 | +### Multiline collection expressions should not be indented [#1635](https://github.com/belav/csharpier/issues/1635) |
| 46 | +CSharpier now formats collection expressions consistently when they are in a property |
| 47 | +```c# |
| 48 | +// input & expected output |
| 49 | +public class ClassName |
| 50 | +{ |
| 51 | + public SomeObject LongValue = new |
| 52 | + { |
| 53 | + One = "One", |
| 54 | + Two = "Two", |
| 55 | + ThreeThreeThree = "ThreeThreeThree", |
| 56 | + }; |
| 57 | + |
| 58 | + public SomeObject LongValue { get; } = new |
| 59 | + { |
| 60 | + One = "One", |
| 61 | + Two = "Two", |
| 62 | + ThreeThreeThree = "ThreeThreeThree", |
| 63 | + }; |
| 64 | +} |
| 65 | + |
| 66 | +// 1.0.3 |
| 67 | +public class ClassName |
| 68 | +{ |
| 69 | + public SomeObject LongValue = new |
| 70 | + { |
| 71 | + One = "One", |
| 72 | + Two = "Two", |
| 73 | + ThreeThreeThree = "ThreeThreeThree", |
| 74 | + }; |
| 75 | + |
| 76 | + public SomeObject LongValue { get; } = |
| 77 | + new |
| 78 | + { |
| 79 | + One = "One", |
| 80 | + Two = "Two", |
| 81 | + ThreeThreeThree = "ThreeThreeThree", |
| 82 | + }; |
| 83 | +} |
| 84 | + |
| 85 | +``` |
| 86 | + |
| 87 | +### .editorconfig is not considered, when its part of the .gitignore [#1582](https://github.com/belav/csharpier/issues/1582) |
| 88 | +Previously if an `.editorconfig` was in the `.gitignore` it would not be considered when determining the configuration options for formatting a given file. That behavior has been changed so it will be considered. |
| 89 | + |
| 90 | +**Full Changelog**: https://github.com/belav/csharpier/compare/1.0.3...1.1.0 |
1 | 91 | # 1.0.3 |
2 | 92 | ## What's Changed |
3 | 93 | ### Switch block case with conditionals adding newlines [#1630](https://github.com/belav/csharpier/issues/1630) |
@@ -3341,5 +3431,6 @@ Thanks go to @pingzing |
3341 | 3431 |
|
3342 | 3432 |
|
3343 | 3433 |
|
| 3434 | +
|
3344 | 3435 |
|
3345 | 3436 |
|
0 commit comments