Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Dec 15, 2025

Updated csharpier from 1.0.3 to 1.2.3.

Release notes

Sourced from csharpier's releases.

1.2.3

What's Changed

Large directories ignored in .gitignore significantly impact performance. #​1776

CSharpier was enumerating all files within all subdirectories and then determining if they should be formatted or not. That logic was optimized to only enumerate files in directories that are not ignored.

Full Changelog: belav/csharpier@1.2.2...1.2.3

1.2.2

What's Changed

The null coalescing operator is grouped in an unexpected place #​1769

Null coalescing is now consistently broken thanks to a contribution from @​ogaken-1

// input & expected output
var x =
    someValue.SomeCall().SomeProperty.SomeProperty
    ?? someValue.SomeCall().SomeProperty.SomeProperty;

var x =
    someValue.SomeCall().SomeProperty?.SomeCall().SomeProperty
    ?? someValue.SomeCall().SomeProperty?.SomeCall().SomeProperty;

var x =
    someValue.SomeCall().A_______.B_______.C_______
    ?? someValue.SomeCall().A_______.B_______.C_______;

// 1.2.1
var x =
    someValue.SomeCall().SomeProperty.SomeProperty ?? someValue
        .SomeCall()
        .SomeProperty.SomeProperty;

var x =
    someValue.SomeCall().SomeProperty?.SomeCall().SomeProperty ?? someValue
        .SomeCall()
        .SomeProperty?.SomeCall()
        .SomeProperty;

var x =
    someValue.SomeCall().A_______.B_______.C_______ ?? someValue
        .SomeCall()
        .A_______.B_______.C_______;

Xml formatter should not add a second line #​1760

When formatting an xml file with a declaration and extra blank line was being added.

<!-- input & expected output -->
<?xml version="1.0" encoding="utf-8"?>

<Element />

<!-- 1.2.1 -->
<?xml version="1.0" encoding="utf-8"?>


<Element />

... (truncated)

1.2.1

What's Changed

Multiline comments are now formatted in a single line in XML format #​1747

The 1.2.0 release was combining xml comments into a single line.

<!-- input & expected output -->
<Root>
  <!-- This is the first line comment-->
  <!-- This is the second line of my comment-->
</Root>

<!-- 1.2.0 -->
<Root>
  <!-- This is the first line comment--><!-- This is the second line of my comment-->
</Root>

Full Changelog: belav/csharpier@1.2.0...1.2.1

1.2.0

What's Changed

Custom XML Parser #​1679

CSharpier now has a custom xml parser. XmlDocument and XDocument do not provide the original white space or the original attribute values from the file that was parsed which blocked the ability to implement supporting keeping empty new lines and not automatically encoding attributes.

Support for keeping empty lines in xml files #​1599

CSharpier now supports keeping a single empty line between elements in xml files. It will remove any initial or trailing empty lines.

<!-- input -->
<Root>

  <Element />


  <Element />

</Root>

<!-- expected output -->
<Root>
  <Element />

  <Element />
</Root>

<!-- 1.1.2 -->
<Root>
  <Element />
  <Element />
</Root>

Xml - don't automatically encode attribute values #​1610

CSharpier will no longer encode attribute values. It will leave them encoded if they are supplied that way.

<!-- input & expected output -->
<Target Name="Transform" BeforeTargets="Build">
  <Message Importance="high" Text="@(MyItems->'MyItems has %(Identity)', ', ')" />
</Target>

<!-- 1.1.2 -->
<Target Name="Transform" BeforeTargets="Build">
  <Message Importance="high" Text="@(MyItems-&gt;'MyItems has %(Identity)', ', ')" />
</Target>

Add option to all integrations to report incorrect formatting as a warning instead of error #​1687

Formatting "using" import split on multiple lines requires formatting it twice to get the expected result #​1698

When a using contained a newline before the namespace it was not being sorted properly.

// input
using System.Net;
using
 ... (truncated)

## 1.1.2

## What's Changed
### Inconsistencies with null-coalescing wrapping on method chains [#​1573](https://github.com/belav/csharpier/issues/1573)
On longer method chains, depending on the exact chain a null coalescing expression wouldn't always be preceded by a new line.

```c#
// input & expected output
var x =
    someValue
        .Property.CallLongMethod_____________________________________()
        .CallMethod__________()
    ?? throw new Exception();

var x =
    someValue
        .Property.CallLongMethod_____________________________________()
        .CallLongMethod___________________________________________________()
    ?? throw new Exception();

// 1.1.1
var x =
    someValue
        .Property.CallLongMethod_____________________________________()
        .CallMethod__________() ?? throw new Exception();

var x =
    someValue
        .Property.CallLongMethod_____________________________________()
        .CallLongMethod___________________________________________________()
    ?? throw new Exception();

Full Changelog: belav/csharpier@1.1.1...1.1.2

1.1.1

What's Changed

Unhandled exception: System.ArgumentOutOfRangeException: startIndex cannot be larger than length of string. (Parameter 'startIndex') #​1673

CSharpier was throwing an exception when formating a directory contained a file without an extension.

1.1.0

What's Changed

.gitignore from parent folders impacts formatting of children #​1627

CSharpier will no longer consider .gitignore files located above the root of the current git repository.

Changes to stdin formatting #​288 #​1657

There is a new option --stdin-filepath that is used to specify the filepath CSharpier should use for resolving options and ignore files.
When no path is specified via stdin-path

  • No ignore files are considered.
  • The current directory is considered when locating options
  • The file is assumed to be c# unless the first non-whitespace character is < in which case it is assumed to be xml.

Support for C# 14 and .NET 10 #​1654 #​1646

Changes were required to support the following

  • Extension Declarations
  • File level directives in file based C# Apps

Support --ignore-path CLI option #​1585

It is now possible to specify the path to an ignore file

dotnet csharpier format . --ignore-path .config/.csharpierignore

Format xaml and slnx by default #​1628 #​1604

CSharpier now formats xaml and slnx by default without the need for configuration changes.

XML formatting is not taking into account EOL configuration on multiline comments #​1660

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.

<Element>
  <!--
  Comment with EOL
  -->
</Element>

Error when no read access to intermediate containing folder #​1656

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.

Misleading message after "csharpier check" #​1645

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.

# 1.0.3
dotnet csharpier check .
Formatted 13226 files in 21986ms.

# 1.1.0
dotnet csharpier check .
Checked 13226 files in 21986ms.

Multiline collection expressions should not be indented #​1635

CSharpier now formats collection expressions consistently when they are in a property

// input & expected output
public class ClassName
{
    public SomeObject LongValue = new
 ... (truncated)

Commits viewable in [compare view](https://github.com/belav/csharpier/compare/1.0.3...1.2.3).
</details>

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=csharpier&package-manager=nuget&previous-version=1.0.3&new-version=1.2.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

---
updated-dependencies:
- dependency-name: csharpier
  dependency-version: 1.2.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added .NET Pull requests that update .net code dependencies Pull requests that update a dependency file labels Dec 15, 2025
@emmorts emmorts closed this Dec 16, 2025
@emmorts emmorts deleted the dependabot/nuget/dot-config/csharpier-1.2.3 branch December 16, 2025 04:08
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Dec 16, 2025

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .net code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants