Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 22, 2025

This PR contains the following updates:

Package Change Age Confidence
CSharpier.MSBuild 1.1.2 -> 1.2.1 age confidence

Release Notes

belav/csharpier (CSharpier.MSBuild)

v1.2.1

Compare Source

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

v1.2.0

Compare Source

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="@&#8203;(MyItems->'MyItems has %(Identity)', ', ')" />
</Target>

<!-- 1.1.2 -->
<Target Name="Transform" BeforeTargets="Build">
  <Message Importance="high" Text="@&#8203;(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
    SomeProject.Bar;
using Microsoft.Extensions.Logging;

// expected output
using System.Net;
using Microsoft.Extensions.Logging;
using SomeProject.Bar;

// 1.1.2
using System.Net;
using SomeProject.Bar;
using Microsoft.Extensions.Logging;
An empty line is inserted in lambda #​1694

CSharpier was inserting an extra blank line in some situations with a lambda and a collection expression

// input & expected output
CallMethod(
    (parameter1, parameter2) =>
        [
            LongValue________________________________________________,
            LongValue________________________________________________,
        ]
);

// 1.1.2
CallMethod(
    (parameter1, parameter2) =>

        [
            LongValue________________________________________________,
            LongValue________________________________________________,
        ]
);
Indent .ThenInclude() for clearer navigation hierarchy in EF Core queries #​1602

CSharpier now treats .ThenInclude as a special case to improve formatting of EF queries

// input & expected output
websiteQueryable = websiteQueryable
    .Include(o => o.Categories)
    .Include(o => o.Categories)
        .ThenInclude(c => c.Products)
    .Include(o => o.Categories)
        .ThenInclude(c => c.RuleManager)
            .ThenInclude(rm => rm.RuleClauses)
    .Include(o => o.Categories)
        .ThenInclude(c => c.RuleManager)
            .ThenInclude(rm => rm.RuleClauses)
                .ThenInclude(rc => rc.RuleTypeOption);

// 1.1.2
websiteQueryable = websiteQueryable
    .Include(o => o.Categories)
    .Include(o => o.Categories)
    .ThenInclude(c => c.Products)
    .Include(o => o.Categories)
    .ThenInclude(c => c.RuleManager)
    .ThenInclude(rm => rm.RuleClauses)
    .Include(o => o.Categories)
    .ThenInclude(c => c.RuleManager)
    .ThenInclude(rm => rm.RuleClauses)
    .ThenInclude(rc => rc.RuleTypeOption);
Inconsistent indentation between is and other operators #​1601

Pattern operators were being indented inconsistently with other operators. The formatting is now more consistent

// input & expected output
var b2 = (
    System.Environment.SpecialFolder.AdminTools
    is System.Environment.SpecialFolder.AdminTools
        or System.Environment.SpecialFolder.AdminTools
        or System.Environment.SpecialFolder.AdminTools
);

var b2 =
    System.Environment.SpecialFolder.AdminTools
    is System.Environment.SpecialFolder.AdminTools
        or System.Environment.SpecialFolder.AdminTools
        or System.Environment.SpecialFolder.AdminTools;

var b2 =
    someLongValue____________________________________________
    == someOtherLongValue______________________________
        + someOtherLongValue______________________________;

var b2 = (
    someLongValue____________________________________________
    == someOtherLongValue______________________________
        + someOtherLongValue______________________________
);

// 1.1.2
var b2 = (
    System.Environment.SpecialFolder.AdminTools
        is System.Environment.SpecialFolder.AdminTools
            or System.Environment.SpecialFolder.AdminTools
            or System.Environment.SpecialFolder.AdminTools
);

var b2 =
    System.Environment.SpecialFolder.AdminTools
        is System.Environment.SpecialFolder.AdminTools
            or System.Environment.SpecialFolder.AdminTools
            or System.Environment.SpecialFolder.AdminTools;

var b2 =
    someLongValue____________________________________________
    == someOtherLongValue______________________________
        + someOtherLongValue______________________________;

var b2 = (
    someLongValue____________________________________________
    == someOtherLongValue______________________________
        + someOtherLongValue______________________________
);
Error when formatting with an indent size <= 0 #​1741

Previously csharpier would attempt to format code when indent size was set to 0. This was not intentional and had a number of bugs. CSharpier now error out when encountering an indent size of 0

Fix condition causing FirstTargetFramework build property erasure #​1696

In some situations CSharpier.Msbuild was running into a build failure.

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


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependency:nuget Indicates a pull request related to updating or managing NuGet package dependencies. label Nov 22, 2025
@codecov
Copy link

codecov bot commented Nov 22, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.96%. Comparing base (9b17ce7) to head (641800d).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #42   +/-   ##
=======================================
  Coverage   83.96%   83.96%           
=======================================
  Files          13       13           
  Lines         237      237           
  Branches       74       74           
=======================================
  Hits          199      199           
  Misses         23       23           
  Partials       15       15           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@samtrion samtrion enabled auto-merge (squash) November 22, 2025 11:53
Copy link
Member

@samtrion samtrion left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated approval by NetEvolve.Socks

@samtrion samtrion merged commit 0c07c5c into main Nov 22, 2025
11 checks passed
@samtrion samtrion deleted the renovate/csharpier.msbuild-1.x branch November 22, 2025 11:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependency:nuget Indicates a pull request related to updating or managing NuGet package dependencies.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants