Skip to content

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Aug 21, 2025

Updated BenchmarkDotNet from 0.13.11 to 0.15.2.

Release notes

Sourced from BenchmarkDotNet's releases.

0.15.2

Full changelog: https://benchmarkdotnet.org/changelog/v0.15.2.html

Highlights

  • The most significant update in this release is the enhanced accuracy of the memory diagnoser (#​2562). This improvement resolves the issue of incorrectly reported memory allocations (#​1542, #​2582).
  • We have introduced a new feature that allows users to sort benchmark jobs in numerical order (#​2768, #​2770).
  • Benchmark validation has been improved (#​2771).
  • An issue with non-persistent auto-generated JobId has been fixed (#​2777).

0.15.1

Full changelog: https://benchmarkdotnet.org/changelog/v0.15.1.html

Highlights

0.15.0

Full changelog: https://benchmarkdotnet.org/changelog/v0.15.0.html

0.14.0

Full changelog: https://benchmarkdotnet.org/changelog/v0.14.0.html

Highlights

  • Introduce BenchmarkDotNet.Diagnostics.dotMemory #​2549: memory allocation profile of your benchmarks using dotMemory, see @​BenchmarkDotNet.Samples.IntroDotMemoryDiagnoser
  • Introduce BenchmarkDotNet.Exporters.Plotting #​2560: plotting via ScottPlot (initial version)
  • Multiple bugfixes
  • The default build toolchains have been updated to pass IntermediateOutputPath, OutputPath, and OutDir properties to the dotnet build command. This change forces all build outputs to be placed in a new directory generated by BenchmarkDotNet, and fixes many issues that have been reported with builds. You can also access these paths in your own .csproj and .props from those properties if you need to copy custom files to the output.

Bug fixes

  • Fixed multiple build-related bugs including passing MsBuildArguments and .Net 8's UseArtifactsOutput.

Breaking Changes

  • DotNetCliBuilder removed retryFailedBuildWithNoDeps constructor option.
  • DotNetCliCommand removed RetryFailedBuildWithNoDeps property and BuildNoRestoreNoDependencies() and PublishNoBuildAndNoRestore() methods (replaced with PublishNoRestore()).

0.13.12

Full changelog: https://benchmarkdotnet.org/changelog/v0.13.12.html

Highlights

The biggest highlight of this release if our new VSTest Adapter, which allows to run benchmarks as unit tests in your favorite IDE!
The detailed guide can be found here.

This release also includes to a minor bug fix that caused incorrect job id generation: fixed job id generation (#​2491).

Also, the target framework in the BenchmarkDotNet templates was bumped to .NET 8.0.

Commits viewable in compare view.

Updated ClangSharp.PInvokeGenerator from 17.0.1 to 20.1.2.1.

Release notes

Sourced from ClangSharp.PInvokeGenerator's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated coverlet.collector from 3.2.0 to 6.0.4.

Release notes

Sourced from coverlet.collector's releases.

6.0.4

Fixed

  • Fix empty coverage report when using include and exclude filters #​1726

Diff between 6.0.3 and 6.0.4

6.0.3

Fixed

Improvements

  • Cache the regex used in InstrumentationHelper #​1693
  • Enable dotnetTool integration tests for linux #​660

Diff between 6.0.2 and 6.0.3

6.0.2

Fixed

  • Threshold-stat triggers error #​1634
  • Fixed coverlet collector 6.0.1 requires dotnet sdk 8 #​1625
  • Type initializer errors after updating from 6.0.0 to 6.0.1 #​1629
  • Exception when multiple exclude-by-attribute filters specified #​1624

Improvements

  • More concise options to specify multiple parameters in coverlet.console #​1624

Diff between 6.0.1 and 6.0.2

6.0.1

Fixed

  • Uncovered lines in .NET 8 for inheriting records #​1555
  • Fix record constructors not covered when SkipAutoProps is true #​1561
  • Fix .NET 7 Method Group branch coverage issue #​1447
  • Fix ExcludeFromCodeCoverage does not exclude method in a partial class #​1548
  • Fix ExcludeFromCodeCoverage does not exclude F# task #​1547
  • Fix issues where ExcludeFromCodeCoverage ignored #​1431
  • Fix issues with ExcludeFromCodeCoverage attribute #​1484
  • Fix broken links in documentation #​1514
  • Fix problem with coverage for .net5 WPF application #​1221 by https://github.com/lg2de
  • Fix unable to instrument module for Microsoft.AspNetCore.Mvc.Razor #​1459 by https://github.com/lg2de

Improvements

Diff between 6.0.0 and 6.0.1

6.0.0

Fixed
-Could not write lines to file CoverletSourceRootsMapping - in use by another process coverlet-coverage/coverlet#1155
-Incorrect coverage for methods returning IAsyncEnumerable in generic classes coverlet-coverage/coverlet#1383
-Wrong branch coverage for async methods .NET Standard 1.x coverlet-coverage/coverlet#1376
-Empty path exception in visual basic projects coverlet-coverage/coverlet#775
-Align published nuget package version to github release version coverlet-coverage/coverlet#1413
-Sync nuget and github release versions coverlet-coverage/coverlet#1122

Improvements
-Migration of the project to .NET 6.0 coverlet-coverage/coverlet#1473

Breaking changes
New parameter ExcludeAssembliesWithoutSources to control automatic assembly exclusion coverlet-coverage/coverlet#1164. The parameter InstrumentModulesWithoutLocalSources has been removed. since it can be handled by setting ExcludeAssembliesWithoutSources to None.
The default heuristics for determining whether to instrument an assembly has been changed. In previous versions any missing source file was taken as a signal that it was a third-party project that shouldn't be instrumented, with exceptions for some common file name patterns for source generators. Now only assemblies where no source files at all can be found are excluded from instrumentation, and the code for detecting source generator files have been removed. To get back to the behaviour that at least one missing file is sufficient to exclude an assembly, set ExcludeAssembliesWithoutSources to MissingAny, or use assembly exclusion filters for more fine-grained control.

Diff between 3.2.0 and 6.0.0

5.8.0

Fixed

-Fix TypeLoadException when referencing Microsoft.Extensions.DependencyInjection v6.0.1 #​1390
-Source Link for code generators fails #​1322
-Await foreach has wrong branch coverage when method is generic #​1210
-ExcludeFromCodeCoverage attribute on local functions ignores lambda expression #​1302

Added

-Added InstrumentModulesWithoutLocalSources setting #​1360 by @​TFTomSun

Diff between 3.1.2 and 3.2.0

5.7.2

Fixed
-Fix CoreLib's coverage measurement is broken #​1286
-Fix UnloadModule injection 1291

Diff between 3.1.1 and 3.1.2

5.7.1

Fixed
-Fix wrong branch coverage with EnumeratorCancellation attribute #​1275 -Fix negative coverage exceeding int.MaxValue #​1266
-Fix summary output format for culture de-DE #​1263
-Fix branch coverage issue for finally block with await #​1233
-Fix threshold doesn't work when coverage empty #​1205
-Fix branch coverage issue for il switch #​1177
-Fix branch coverage with using statement and several awaits#​1176
-Fix CopyCoverletDataCollectorFiles to avoid to override user dlls for dotnet publish scenario #​1243

Improvements
-Improve logging in case of exception inside static ctor of NetstandardAwareAssemblyResolver #​1230
-When collecting open the hitfile with read access #​1214 by https://github.com/JamesWTruher
-Add CompilerGenerated attribute to the tracker #​1229

Diff between 3.1.0 and 3.1.1

5.7.0

Fixed
-Fix branch coverage for targetframework net472 #​1167
-Fix F# projects with unkown source #​1145
-Fix SkipAutoProps for inline assigned properties #​1139
-Fix partially covered throw statement #​1144
-Fix coverage threshold not failing when no coverage #​1115
-Fix partially covered await foreach statement #​1107 by https://github.com/alexthornton1
-Fix System.MissingMethodException(TryGetIntArgFromDict) #​1101
-Fix ExcludeFromCodeCoverage on props #​1114
-Fix incorrect branch coverage with await using #​1111 by https://github.com/alexthornton1

Added
-Support deterministic reports #​1113
-Specifying threshold level for each threshold type #​1123 by https://github.com/pbmiguel

Improvements
-Implementation of Npath complexity for the OpenCover reports #​1058 by https://github.com/benjaminZale

Diff between 3.0.3 and 3.1.0

5.6.3

Fixed
-Fix code coverage stops working if assembly contains source generators generated file #​1091

Diff between 3.0.2 and 3.0.3

5.6.2

Fixed
-Fix multi-line lambda coverage regression #​1060
-Opt-in reachability helper to mitigate resolution issue #​1061

Diff between 3.0.1 and 3.0.2

5.6.1

Fixed
-Fix severe loss in coverage #​1043 by https://github.com/daveMueller

5.6.0

Fixed
-Attribute exclusion does not work if attribute name does not end with "Attribute" #​884 by https://github.com/bddckr
-Fix deterministic build+source link bug #​895
-Fix anonymous delegate compiler generate bug #​896
-Fix incorrect branch coverage with await ValueTask #​949 by https://github.com/alexthornton1
-Fix switch pattern coverage #​1006

Added
-Skip autoprops feature #​912
-Exclude code that follows [DoesNotReturn] from code coverage #​904 by https://github.com/kevin-montrose
-CoverletReport MSBuild variable containing coverage filenames #​932 by https://github.com/0xced
-Add Visual Studio Add-In #​954 by https://github.com/FortuneN
-Remove workaround for deterministic build for sdk >= 3.1.100 #​965
-Allow standalone coverlet usage for integration/end-to-end tests using .NET tool driver #​991
-Support .NET Framework(>= net461) for in-process data collectors #​970

5.4.0

Fixed
-Fix for code complexity not being generated for methods for cobertura reporter #​738 by https://github.com/dannyBies
-Fix coverage, skip branches in generated MoveNext() for singleton iterators #​813 by https://github.com/bert2
-Fix 'The process cannot access the file...because it is being used by another process' due to double flush for collectors driver #coverlet-coverage/coverlet#835
-Fix skip [ExcludefromCoverage] for generated async state machine #​849

Added
-Added support for deterministic build for msbuild/collectors driver #​802 #​796 with the help of https://github.com/clairernovotny and https://github.com/tmat

Improvements
-Refactore DependencyInjection #​728 by https://github.com/daveMueller

5.3.1

Fixed
-Fix ExcludeFromCodeCoverage attribute bugs #​129 and #​670 with #​671 by https://github.com/matteoerigozzi
-Fix bug with nested types filtering #​689
-Fix Coverage Issue - New Using + Async/Await + ConfigureAwait #​669
-Improve branch detection for lambda functions and async/await statements #​702 by https://github.com/matteoerigozzi
-Improve coverage, hide compiler generated branches for try/catch blocks inside async state machine #​716 by https://github.com/matteoerigozzi
-Improve coverage, skip lambda cached field #​753

Improvements
-Trim whitespace between values when reading from configuration from runsettings #​679 by https://github.com/EricStG
-Code improvement, flow ILogger to InstrumentationHelper #​727 by https://github.com/daveMueller
-Add support for line branch coverage in OpenCover format #​772 by https://github.com/costin-zaharia

5.3.0

Added
-Add log to tracker #​553
-Exclude by assembly level System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage #​589
-Allow coverlet integration with other MSBuild test strategies#​615 by https://github.com/sharwell

Fixed
-Fix and simplify async coverage #​549
-Improve lambda scenario coverage #​583
-Mitigate issue in case of failure in assembly loading by cecil #​625
-Fix ConfigureAwait state machine generated branches #​634
-Fix coverage overwritten if the project has multiple target frameworks #​636
-Fix cobertura Jenkins reporter + source link support #​614 by https://github.com/daveMueller
-Fix pdb file locking during instrumentation #​656

Improvements
-Improve exception message for unsupported runtime [#​569](https://github.com/tonerdo/ coverlet/pull/569) by https://github.com/daveMueller
-Improve cobertura absolute/relative path report generation #​661 by https://github.com/daveMueller

5.2.0

[Feature][Collectors]Output multiple formats #​533
[Bug fix] Fix exclude by files #​524
[Feature] Skip instrumentation of module with embedded ppbd without local sources #​510 -> with this today xunit will be skipped in automatic way.
[Bug fix] Changed to calculate based on the average coverage of the module #​479
[Bug fix] Fix property attribute detection #​477
[Feature] Different exit codes to indicate particular failures #​412
[Bug fix] Fix instrumentation serialization bug #​458
[Bug fix] Fix culture for cobertura xml report #​464

5.1.1

#​406 downgrades verbosity when hits file isn't found
#​409 Improves Coverage object to remove need to statically pass an instance of it
#​415 Improves validation of hits file existence

5.1.0

#​367 ensures invalid PDBs do not error out instrumentation
#​368 fixes package layout adding support for .NET framework projects
#​375 ensures PDBs exist before trying to restore them and prevents errors for assemblies with embedded PDBs
#​376 makes inclusion of test assembly excluded by default and configurable
#​383 ensures Coverlet restores original assemblies if process exits unexpectedly
#​397 rounds down Coverage result

5.0.0

#​303 fixes strong name validation errors
#​309 adds option to only record a single hit to improve performance
#​318 adds support for covering test files
#​322 reverts using memory mapped files to store hit counts
#​331 fixes open cover reporting errors
#​341 adds logging to Coverlet to improve debugging

4.1.1

#​286 Fixes type loading issues with .NET Framework assemblies
#​291 Adds enhancements to multi-threaded scenarios
#​297 and #​302 Fixes issues with instrumenting System.Private.CoreLib
#​276 switches to using memory mapped files instead of regular files for storing hit information
#​277 Enhances support for async/await branches after coverage merge

4.1.0

  • #​259 adds support for assemblies with embedded PDBs
  • #​260 adds support for using SourceLink provided source file URLs in coverage results
  • #​236 improves matcher when computing excluded source files
  • #​256 fixes TeamCity reporter decimal separator

4.0.0

  • #​244 fixes error in TeamCity reporting
  • #​252 updates version of Mono.Cecil
  • #​233 adds support for specifying custom attributes on types/methods that you'd like to exclude
  • #​253 allows Coverlet to probe for additional assemblies beyond the dependencies of the test assembly

3.2.2

  • #​220 ensure merging doesn't fail if existing results file doesn't exist
  • #​132 adds support for computation of cyclomatic complexity
  • #​227 adds support for TeamCity reporting format

3.2.1

  • #​158 supports branch coverage on asynchronous calls
  • #​204 and #​211 fixes coverage result merging algorithm
  • #​209 Adds specific support for instrumenting System.Private.CoreLib

Commits viewable in compare view.

Updated CSharpier.Core from 0.25.0 to 1.1.2.

Release notes

Sourced from CSharpier.Core's releases.

1.1.2

What's Changed

Inconsistencies with null-coalescing wrapping on method chains #​1573

On longer method chains, depending on the exact chain a null coalescing expression wouldn't always be preceded by a new line.

// 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)

## 1.0.3

## What's Changed
### Switch block case with conditionals adding newlines [#​1630](https://github.com/belav/csharpier/issues/1630)
Switch blocks were breaking on conditions within patterns.
```c#
// input and expected output
switch ("")
{
    case "" or "":
        break;
}

// 1.0.2
switch ("")
{
    case ""
    or "":
        break;
}

switch expression formatting adds odd newlines #​1620

CSharpier was breaking after a discard with a when, resulting in extra new lines

// input and expected output
_ = someValue switch
{
    _ when KeepWhenWithDiscard() => "",
    _ when KeepWhenWithDiscard_________________(
            SomeObject_______________________________________________
        ) => "",
    _ when KeepWhenWithDiscard_________________(
            SomeObject_______________________________________________
        ) => "LongString_____________________________________________________________________",
};

// 1.0.2
_ = someValue switch
{
    _ when KeepWhenWithDiscard() => "",
    _
        when KeepWhenWithDiscard_________________(
            SomeObject_______________________________________________
        ) => "",
    _
        when KeepWhenWithDiscard_________________(
            SomeObject_______________________________________________
        ) => "LongString_____________________________________________________________________",
};

multi-line raw string in linq query causes a subsequent linq query to be printed on one line #​1617

... (truncated)

1.0.2

What's Changed

Performance issues when supporting .gitignore. #​1588

CSharpier was using a naive algorithm for parsing and evaluating gitignore rules that caused significant perfomance issues. @​kevinboss reworked the implementation to drastically increate performance.

Exclude bin/ and obj/ directory content from xml formatting #​1600

CSharpier now excludes all files in bin/ and obj/ by default.

Error on syntactically valid conditional with is #​1612

The following c# is valid and compiles with 9.0.300+. CSharpier was updated to properly parse it.

var x = y is y ? [] : z ?? [];

Xml formatting with comments in text element inserts extra new lines #​1607

CSharpier has some issues with formatting text that contained xml comments. That has been improved.

Input & expected output

<NoWarn>
  CA1031; <!-- Since this is not a library project, catching general exceptions is OK -->
  IDE0005; <!-- Allow unused usings -->
</NoWarn>

1.0.1

<NoWarn
    >
      CA1031;
    <!-- Since this is not a library project, catching general exceptions is OK -->

    
      IDE0005;
    <!-- Allow unused usings -->
</NoWarn>

Inconsistent formatting of single-line lambda expressions #​1594

CSharpier 1.0.0 introduced a regression that caused the following formatting. This is now working as expected.

// input & expected output
        CallMethod(() => CallAnotherMethod______________________________________________________());
        CallMethod(() =>
            CallAnotherMethod______________________________________________________1()
        );
        CallMethod(() =>
            CallAnotherMethod______________________________________________________12()
        );
        CallMethod(() =>
            CallAnotherMethod______________________________________________________123()
        );

// 1.0.0
 ... (truncated)

## 1.0.1

## What's Changed
### CSharpier's support for .gitignore is causing performance issues [#​1584](https://github.com/belav/csharpier/issues/1584)
The support for `.gitignore` has some major performance problems when there are a large number of `.gitignore` files and/or ignore rules. The feature has been disabled for now until it can be fixed.
### CSharpier.MsBuild issues [#​1586](https://github.com/belav/csharpier/issues/1586)
CSharpier.MsBuild was not properly logging errors when performing a formatting check. This would result in the build passing when files were not formatted.
Setting `CSharpier_LogLevel` was passing an invalid parameter of `--loglevel` to CSharpier, resulting in a build failure


**Full Changelog**: https://github.com/belav/csharpier/compare/1.0.0...1.0.1

## 1.0.0

## Major Changes
### Support for formatting XML [#​819](https://github.com/belav/csharpier/issues/819)
CSharpier now formats xml files by default. It will try to format ".csproj", ".props", ".targets", ".xml", ".config" as if they were xml. \
If a file is not valid xml it will be treated as a warning. \
The default indent size is `2` instead of `4`

### Performance Improvements
@​TimothyMakkison put a lot of effort into improving the performance of CSharpier. These benchmark numbers show drastic improvement for both speed and memory usage.

Baseline
Method Mean Error StdDev Median Gen0 Gen1 Gen2 Allocated
Default_CodeFormatter_Tests 233.3 ms 4.63 ms 8.23 ms 229.7 ms 11000.0000 4000.0000 1000.0000 101.41 MB
Default_CodeFormatter_Complex 433.7 ms 8.53 ms 7.56 ms 433.4 ms 20000.0000 5000.0000 1000.0000 182.44 MB

After Improvements
Method Mean Error StdDev Gen0 Gen1 Allocated
Default_CodeFormatter_Tests 64.72 ms 0.548 ms 0.512 ms 1666.6667 1000.0000 18.33 MB
Default_CodeFormatter_Complex 137.83 ms 2.730 ms 4.708 ms 3000.0000 1000.0000 30.78 MB
## Breaking Changes
### ConfigurationFile - rename TabWidth to IndentSize [#​1377](https://github.com/belav/csharpier/issues/1377)
In order to get consistency between an `.editorconfig` and `.csharpierconfig` the option `TabWidth` has been renamed to `IndentSize`. This is also a more accurate name considering by default indentation is done with spaces and not tabs.
### Rework the CLI to use commands and arguments. [#​1321](https://github.com/belav/csharpier/issues/1321)
The CLI has been reworked to use commands. This helps make it clear which arguments apply to which commands. The two common commands are below, see https://csharpier.com/docs/CLI for more details.

dotnet csharpier format .
dotnet csharpier check .

### Changing the tool command to csharpier. Changing the assembly/exe to CSharpier [#​1418](https://github.com/belav/csharpier/pull/1418)
Prior to `1.0.0` the tool command was `dotnet-csharpier` and assembly/exe were named `dotnet_csharpier`. 
The tool command name was changed to just `csharpier`
- Running a local tool remains the same `dotnet csharpier --version`
- Running a global tool is changed to `csharpier --version`

The assembly/exe names have changed to just `CSharpier`

### Support for ignoring files via a .gitignore [#​631](https://github.com/belav/csharpier/issues/631)
CSharpier now works as follows when determining if a file should be ignored.

- .gitignore files are considered when determining if a file will be ignored. A .gitignore file at the same level as a given file will take priority over a .gitignore file above it in the directory tree.
- If a .csharpierignore file is present at the same level or anywhere above the given file in the tree and it contains a pattern for a given file, that will take priority.
- The patterns within .csharpierignore work the same as a .gitignore, with patterns lower in the file taking priority over patterns above
- CSharpier does not currently look further up the directory tree for additional .csharpierignore files if it finds one. But it does look for .gitignore files. If there is demand this could be added later.
## What's Changed
 ... (truncated)

## 0.30.6

## What's Changed
### Trailing comma is placed on new line if last enum value is followed by a comment [#​1429](https://github.com/belav/csharpier/issues/1429)
```c#
// input
enum MyEnum
{
    First,
    Second // the second value
}

// 0.30.5
enum MyEnum
{
    First,
    Second // the second value
    ,
}

// 0.30.6
enum MyEnum
{
    First,
    Second, // the second value
}

Full Changelog: belav/csharpier@0.30.5...0.30.6

0.30.5

What's Changed

Extra blank line added to file each time csharpier runs on this file #​1426

When a file ended in a comment and that comment had multiple blank lines before it, a new blank line was being added each time it was formatted.
// input

// input
namespace MyCompany.MyNamespace;


// Comment block

// 0.30.4
namespace MyCompany.MyNamespace;



// Comment block

// 0.30.5
namespace MyCompany.MyNamespace;

// Comment block

**Full Changelog**: https://github.com/belav/csharpier/compare/0.30.4...0.30.5

## 0.30.4

# 0.30.4
## What's Changed
### Formatting deletes `unsafe` modifier [#​1416](https://github.com/belav/csharpier/issues/1416)
Formatting a using directive with an unsafe modifier resulted in the lose of the unsafe keyword
```c#
// input & expected output
using unsafe NvapiQueryInterface = delegate* unmanaged[Cdecl]<uint, nint>;

// 0.30.3
using NvapiQueryInterface = delegate* unmanaged[Cdecl]<uint, nint>;

CSharpier keeps adding a newline every time a file is formatted #​1408

In some cases if a file ended with a comment, CSharpier would add a new extra blank line above the comment each time it formatted the file

// input & expected outpet
using System;

namespace MyCompany.MyNamespace;

// Comment block

// 0.30.3
using System;

namespace MyCompany.MyNamespace;


// Comment block

Full Changelog: belav/csharpier@0.30.3...0.30.4

0.30.3

What's Changed

CSharpier.MsBuild doesn't fail the github action anymore #​1357

The changes for 1311 caused CSharpier.MsBuild to not report unformatted files as errors on linux.

Thanks go to @​PetSerAl for the fix

0.30.2

What's Changed

CSharpier.MsBuild now uses DOTNET_HOST_PATH instead of just dotnet #​1387

Use current dotnet binary from DOTNET_HOST_PATH instead of just dotnet.

Collection expression inside a dictionary adds unexpected new line #​1390

// input & expected output
Dictionary<string, string[]> dictionary = new()
{
    {
        "Key",
        [
            "SomeValue__________________________________________",
            "SomeValue__________________________________________",
        ]
    },
};

// 0.30.1
Dictionary<string, string[]> dictionary = new()
{
    {
        "Key",

        [
            "SomeValue__________________________________________",
            "SomeValue__________________________________________",
        ]
    },
};

Failed syntax tree validation reported when trailing comma added before a trailing comment #​1388

With the following code, CSharpier will add a trailing comma before the trailing comment.
CSharpier's syntax tree validation was incorrectly reporting this as a failure.

// input
var someObject = new SomeObject()
{
    Property1 = 1,
    Property2 = 2 // Trailing Comment
};

// output
var someObject = new SomeObject()
 ... (truncated)

## 0.30.0

## Breaking Changes
The CSharpier dotnet tool no longer supports net6 & net7.
## What's Changed
### Support C# 13 & dotnet 9. [#​1318](https://github.com/belav/csharpier/issues/1318)
CSharpier now supports dotnet 9 along with formatting all C# 13 language features.
### Inconsistent Formatting for new() Operator Compared to Explicit Object Constructors [#​1364](https://github.com/belav/csharpier/issues/1364)
Implicit and explicit object initialization with constructors was not formatted consistently
```c#
// input & expected output
SomeObject someObject = new(
    someLongParameter___________________,
    someLongParameter___________________
)
{
    Property = longValue_______________________________________________________________________,
};

SomeObject someObject = new SomeObject(
    someLongParameter___________________,
    someLongParameter___________________
)
{
    Property = longValue_______________________________________________________________________,
};

// 0.29.2
SomeObject someObject =
    new(someLongParameter___________________, someLongParameter___________________)
    {
        Property = longValue_______________________________________________________________________,
    };

SomeObject someObject = new SomeObject(
    someLongParameter___________________,
    someLongParameter___________________
)
{
    Property = longValue_______________________________________________________________________,
};

Adds additional space before each member access in verbatim interpolated multiline string #​1358

When an interpolated verbatim string contained line breaks, the code within the interpolations would contain extra spaces.

// input & expected output
var someStringWithLineBreakAndLongValue =
    $@"
{someValue.GetValue().Name} someLongText________________________________________________________________";

// 0.29.2
 ... (truncated)

## 0.29.2

## What's Changed
### Comments don't follow tabs indent style [#​1343](https://github.com/belav/csharpier/issues/1343)
Prior to `0.29.2` CSharpier was converting any tabs within the block of a multiline comment to spaces.
```c#
public void SomeFunction()
{
	/*
	The following line is an example with an indent:
		This line is indented by one tab. (prior to 0.29.2 this would end up as a tab followed by 4 spaces)
	*/
	/*
	The following line is an example with an indent:
		This line is indented by 4 spaces but will be converted to 1 tab (prior to 0.29.2 this would end up as a tab followed by 4 spaces)
	*/
	/*
	The following line is an example with an indent:
	   This line is indented by 3 spaces but will be left as 3 spaces
	*/
}

csharpier-ignore-start now supported in object initializers #​1342

// input & expected output
return new SomeClass
{
    // csharpier-ignore-start
    SomeProperty =     someValue,
    SomeProperty2 =     someValue
    // csharpier-ignore-end
};

// 0.29.1
return new SomeClass
{
    // csharpier-ignore-start
    SomeProperty = someValue,
    SomeProperty2 = someValue
    // csharpier-ignore-end
};

Fixed extra new line between cast and collection expression. #​1334

// input & expected output
CallMethod(
    (string[])
        [
            longerValue_____________________________________________,
            longerValue_____________________________________________,
        ]
 ... (truncated)

## 0.29.1

## What's Changed
### Sorting of usings with underscore differs from Visual Studio [#​1327](https://github.com/belav/csharpier/issues/1327)
CSharpier now sorts `_` to the bottom of usings.
```c#
using SomeCompany.MWord;
using SomeCompany.ZWord;
using SomeCompany._Word;

Process cannot access the file "....net8.0\any\server.log" while running multiple extensions. #​1324

CSharpier Server now uses a log file name based on the port that it is starting on to avoid concurrency issues trying to access the same log file

Full Changelog: belav/csharpier@0.29.0...0.29.1

0.29.0

Breaking Changes

The formatting command will now exit with an error code of 1 if one of the target files cannot be compiled #​1131

Prior to 0.29.0 if csharpier encountered a file that could not be compiled it would treat it as a warning and exit with a code of 0.
As of 0.29.0 a file that cannot be compiled is now treated as an error and csharpier will exit with code 1

What's Changed

Enforce trailing commas in object and collection initializer #​668

CSharpier will now add trailing commas automatically where appropriate. It will collapse to a single line and remove the trailing comma in cases where everything fits on one line.

// input
public enum SomeEnum
{
    Value1,
    Value2
}

string[] someArray = new string[]
{
    someLongValue_____________________________________________,
    someLongValue_____________________________________________
};

string[] someArray = new string[]
{
    someValue,
    someValue,
};

// 0.29.0
public enum SomeEnum
{
    Value1,
    Value2,
}

string[] someArray = new string[]
{
    someLongValue_____________________________________________,
    someLongValue_____________________________________________,
}

string[] someArray = new string[] { someValue, someValue };

Many thanks go to @​dawust for the contribution.

Support for formatting custom file extensions #​1220

Prior to 0.29.0 csharpier would only format files with an extension of .cs or .csx. It is now possible to configure csharpier to format other files extensions, and to specify configuration options per file extension.
See https://csharpier.com/docs/Configuration#configuration-overrides for more details.

Invalid blank line being added with lambda returning collection expression #​1306

... (truncated)

0.28.2

What's Changed

Pipe to dotnet csharpier fails when subdirectory is inaccessible #​1240

When running the following CSharpier would look for config files in subdirectories of the pwd. This could lead to exceptions if some of those directories were inaccessible.

echo "namespace Foo { public class Bar { public string Baz {get;set;}}}" | dotnet csharpier

Thanks go to @​jamesfoster for reporting the issue.

Full Changelog: belav/csharpier@0.28.1...0.28.2

0.28.1

What's Changed

Third party .editorconfig leading to: Error Failure parsing editorconfig files #​1227

When CSharpier encountered an invalid .editorconfig file, it would throw an exception and not format files. These files could appear in 3rd party code (for example within node_modules). CSharpier now ignores invalid lines in .editorconfigs

Thanks go to @​K0Te for reporting the issue

Full Changelog: belav/csharpier@0.28.0...0.28.1

0.28.0

What's Changed

Fix dedented method call if there is a long chain #​1154

In some cases of method chains, the first invocation would end up dedented.

// 0.27.3
o.Property.CallMethod(
    someParameter_____________________________,
    someParameter_____________________________
)
    .CallMethod()
    .CallMethod();

// 0.28.0
o.Property.CallMethod(
        someParameter_____________________________,
        someParameter_____________________________
    )
    .CallMethod()
    .CallMethod();

Extra newline in switch case statement with curly braces [#​1192](belav/csharpier#1192

If a case statement started with a block it would get an extra new line

// 0.27.3
switch (someValue)
{
    case 0:
    {
        // dedented because the only statement is a block
        break;
    }

    case 1:

        {
            // indented because there are two statements, a block then a break
        }
        break;
}

// 0.28.0
// 0.27.3
switch (someValue)
{
    case 0:
    {
        // dedented because the only statement is a block
        break;
    }
 ... (truncated)

## 0.27.3

## What's Changed
### Add more options to CodeFormatterOptions [#​1172](https://github.com/belav/csharpier/issues/1172)
The API for CSharpier was only exposing `CodeFormatterOptions.PrintWidth`. It is now in sync with the CLI and exposes all of the available options
```c#
public class CodeFormatterOptions
{
    public int Width { get; init; } = 100;
    public IndentStyle IndentStyle { get; init; } = IndentStyle.Spaces;
    public int IndentSize { get; init; } = 4;
    public EndOfLine EndOfLine { get; init; } = EndOfLine.Auto;
}

Thanks go to @​Phault for the contribution

Extra indent when call method on RawStringLiteral #​1169

When a raw string literal was the first argument to a method call, it was getting an extra indent.

// input & expected output
CallMethod(
    """
    SomeRawString
    """.CallMethod()
);

// 0.27.2
CallMethod(
    """
        SomeRawString
        """.CallMethod()
);

Thanks go to @​Rudomitori for reporting the bug.

Using aliases sorting is not always the same depending on the input order #​1168

Using aliases were not sorting properly, resulting differing outputs and unstable formatting.

Inputs of

using A = string;
using B = string;
using C = string;
using D = string;

And

using D = string;
using C = string;
 ... (truncated)

## 0.27.2

## What's Changed
### Orphan variable since 0.27.1 [#​1153](https://github.com/belav/csharpier/issues/1153)
0.27.1 introduced the following formatting regression, resulting in short variables being orphaned on a line
```c#
// 0.27.1
o
    .Property.CallMethod(
        someParameter_____________________________,
        someParameter_____________________________
    )
    .CallMethod()
    .CallMethod();

// 0.27.2
o.Property.CallMethod(
    someParameter_____________________________,
    someParameter_____________________________
)
    .CallMethod()
    .CallMethod();

Thanks go to @​aurnoi1 for reporting the bug

Better support for CSharp Script #​1141

Version 0.27.1 parsed .csx files as if they were C#, so it could only format simple ones. It now parses them as CSharpScript files so it can format them properly.

Thanks go to @​Eptagone for reporting the bug.

Full Changelog: belav/csharpier@0.27.1...0.27.2

0.27.1

What's Changed

Support for CSharp Script #​1141

Previously CSharpier would only format files matching *.cs which prevented it from formatting C# script files. It now formats *.{cs,csx}

Thanks go to @​Eptagone for the suggestion

Weird formatting of invocation chain #​1130

Invocation chains that started with an identifier <= 4 characters were causing a strange break in the first method call. There were other edge cases cleaned up while working on the fix.

// 0.27.0
var something________________________________________ = x.SomeProperty.CallMethod(
    longParameter_____________,
    longParameter_____________
)
    .CallMethod();

// 0.27.1
var something________________________________________ = x
    .SomeProperty.CallMethod(longParameter_____________, longParameter_____________)
    .CallMethod();
// 0.27.0
var someLongValue_________________ = memberAccessExpression[
    elementAccessExpression
].theMember______________________________();

// 0.27.1
var someLongValue_________________ = memberAccessExpression[elementAccessExpression]
    .theMember______________________________();
// 0.27.0
someThing_______________________
    ?.Property
    .CallMethod__________________()
    .CallMethod__________________();

// 0.27.1
someThing_______________________
    ?.Property.CallMethod__________________()
    .CallMethod__________________();

Thanks go to @​Rudomitori for reporting the issue

"Failed syntax tree validation" for raw string literals #​1129

When an interpolated raw string changed indentation due to CSharpier formatting, CSharpier was incorrectly reporting it as failing syntax tree validation.

 ... (truncated)

## 0.27.0

## What's Changed
### Improve formatting of lambda expressions [#​1066](https://github.com/belav/csharpier/pull/1066)
Many thanks go to @​Rudomitori for contributing a number of improvements to the formatting of lambda expressions.

Some examples of the improvements.
```c#
// input
var affectedRows = await _dbContext.SomeEntities
    .ExecuteUpdateAsync(
        x => 
            x.SetProperty(x => x.Name, x => command.NewName)
                .SetProperty(x => x.Title, x => command.NewTItle)
                .SetProperty(x => x.Count, x => x.Command.NewCount)
    );

// 0.27.0
var affectedRows = await _dbContext.SomeEntities
    .ExecuteUpdateAsync(x =>
        x.SetProperty(x => x.Name, x => command.NewName)
            .SetProperty(x => x.Title, x => command.NewTItle)
            .SetProperty(x => x.Count, x => x.Command.NewCount)
    );
// input
builder.Entity<IdentityUserToken<string>>(b =>
{
    b.HasKey(
        l =>
            new
            {
                l.UserId,
                l.LoginProvider,
                l.Name
            }
    );
    b.ToTable("AspNetUserTokens");
});

// 0.27.0
builder.Entity<IdentityUserToken<string>>(b =>
{
    b.HasKey(l => new
    {
        l.UserId,
        l.LoginProvider,
        l.Name
    });
    b.ToTable("AspNetUserTokens");
 ... (truncated)

## 0.26.7

## What's Changed
### Keep Field.Method() on the same line when breaking long method chain [#​1010](https://github.com/belav/csharpier/issues/1010)
0.26.0 introduced changes that broke long invocation chains on fields/properties as well as methods. That change has been reverted after community feedback.

```c#
// 0.26.0
var loggerConfiguration = new LoggerConfiguration()
    .Enrich
    .FromLogContext()
    .Enrich
    .WithProperty("key", "value")
    .Enrich
    .WithProperty("key", "value")
    .Enrich
    .WithProperty("key", "value")
    .Enrich
    .WithProperty("key", "value")
    .WriteTo
    .Console(outputTemplate: "template");

// 0.26.7
var loggerConfiguration = new LoggerConfiguration()
    .Enrich.FromLogContext()
    .Enrich.WithProperty("key", "value")
    .Enrich.WithProperty("key", "value")
    .Enrich.WithProperty("key", "value")
    .Enrich.WithProperty("key", "value")
    .WriteTo.Console(outputTemplate: "template");

Full Changelog: belav/csharpier@0.26.6...0.26.7

0.26.6

What's Changed

CSharpier incorrectly reports problems with differing line endings as "The file did not end with a single newline"#​1067

If CSharpier was validating that a file was formatted, and that file contained only \n but CSharpier was configured to use \r\n, then it would report the problem as The file did not end with a single newline

CSharpier added support for reading line ending configuration from an .editorconfig which could contain end_of_line = crlf so some users were unknowingly configuring CSharpier to use \r\n

CSharpier now correctly reports the problem as The file contained different line endings than formatting it would result in.

Full Changelog: belav/csharpier@0.26.5...0.26.6

0.26.5

What's Changed

0.26.4 sorts NSubstitute before Newtonsoft.Json #​1061

The using sorting in 0.26.4 was taking into account case.

// 0.26.4
using System;
using NSubstitute;
using Newtonsoft.Json;

// 0.26.5
using System;
using Newtonsoft.Json;
using NSubstitute;

Thanks go to @​loraderon for contributing the fix.

Extra newline added when using a collection expression with { get; } #​1063

A collection expression in a property initializer was including an extra new line.

// 0.26.4
public class ClassName
{
    public List<DayOfWeek> DaysOfWeek { get; } =

        [
            DayOfWeek.Sunday,
            // snip
            DayOfWeek.Saturday
        ];    
}

// 0.26.5
public class ClassName
{
    public List<DayOfWeek> DaysOfWeek { get; } =
        [
            DayOfWeek.Sunday,
            // snip
            DayOfWeek.Saturday
        ];    
}

Thanks go to @​SapiensAnatis for contributing the fix.

Comments at the end of a collection expression should be indented #​1059

When the close bracket on a collection expression had a leading comment, it had the same indentation as the bracket.

// 0.26.4
 ... (truncated)

## 0.26.4

## What's Changed
### Spacing bugs related to C#​12 collection expressions [#​1049](https://github.com/belav/csharpier/issues/1049) [#​1047](https://github.com/belav/csharpier/issues/1047)
There were a number of cases where CSharpier was including extra blank lines, an extra space, or not formatting contents of collection expressions.
```c#
// 0.26.3
var a = new A { B =  [1, 2, 3] };

List<string> items = [// My item
    "Hello",];

items.AddRange(

    [
        LongValue________________________________________________,
        LongValue________________________________________________
    ]
);

items =  [];
items ??=  [];

class SomeClass
{
    public SomeValue SomeProperty =>

        [
            LongValue________________________________________________,
            LongValue________________________________________________
        ];

    public SomeValue Method() =>

        [
            LongValue________________________________________________,
            LongValue________________________________________________
        ];
}

// 0.26.4
var a = new A { B = [1, 2, 3] };

List<string> items =
[
    // My item
    "Hello",
];

items.AddRange(
    [
        LongValue________________________________________________,
 ... (truncated)

## 0.26.3

## What's Changed
#### C#​12 Collection expressions are prefixed with two spaces [#​1009](https://github.com/belav/csharpier/issues/1009)
```c#
// 0.26.0
List<int> ids =  [];

// 0.26.3
List<int> ids = [];

Thanks go to @​Jackenmen for reporting the problem.

CSharpier inserts extra spaces around the contents of collection expressions #​1002

// 0.26.0
List<int> ids = [ ];
List<int> ids = [ 1, 2, 3 ];

// 0.26.3
List<int> ids = [];
List<int> ids = [1, 2, 3];

Thanks go to @​golavr for reporting the problem.

Configuration files not respected for stdin #​1028

When piping a file to csharpier via stdin, CSharpier uses the working directory to locate any configuration files. This was broken with 0.26.0.

Thanks go to @​kikniknik for reporting the problem.

Modify CSharpier.MSBuild to use NETCoreSdkVersion to detect which sdk to use for running CSharpier #​1022 #​1027

Previously CSharpier.MSBuild was using targetFramework to determine which version of CSharpier to run. This was problematic when there were multiple target frameworks, or the project was targeting a superset such as net8.0-windows

It now makes use of NETCoreSdkVersion to determine which version of CSharpier to run.

Thanks go to @​Tyrrrz for the suggestion and to @​Cjewett for the contribution to make it work

CSharpierIgnore not respected when recursively finding .editorconfig

When looking for .editorconfig files, CSharpier looks for them recursively in the current directory. This logic was not taking into account any files or directories ignored by a .csharpierignore.

Thanks go to @​sebastieng84 for the contribution.

Optimize editorconfig lookups when piping files #​1039

CSharpier now only looks for an .editorconfig for the file being piped to CSharpier. Under normal usage it recursively looks for all possible .editorconfig files for the given directory.

Full Changelog: belav/csharpier@0.26.2...0.26.3

0.26.2

0.26.2

What's Changed

CSharpier.MsBuild does not support DotNet 8 #​1012

When using CSharpier.MsBuild in a setting where the project targeted net8.0 and only the net8 sdk was installed, CSharpier.MsBuild would attempt to run the net7.0 version of csharpier and fail because the net7 sdk was not installed.

Thanks go to @​aditnryn for the fix

Global System using directives should be sorted first #​1003

Global using were not sorting System to the top, which was inconsistent with regular using.

// 0.26.1
global using ZWord;
global using AWord;
global using System.Web;
global using System;

// 0.26.2
global using System;
global using System.Web;
global using AWord;
global using ZWord;

Thanks go to @​vipentti for the fix

Full Changelog: belav/csharpier@0.26.1...0.26.2

0.26.1

What's Changed

Editorconfig with duplicated sections was freezing IDE's #​989

CSharpier was unable to parse an .editorconfig file that contained duplicate sections and would crash. This would result in a hung IDE.

[*]
insert_final_newline = true

[*]
spelling_languages = en-us

Thanks go to @​echoix for helping track this down.

A .csharpierrc file anywhere above a file now takes priority over any .editorconfig #​987

Given the following setup

/src/.editorconfig
/src/ProjectName/.editorconfig
/src/.csharpierrc

Originally with 0.26.0, the /src/ProjectName/.editorconfig file would be used for determining the configuration options for a file within src/ProjectName. This resulted in the existing options within .csharpierrc being ignored.

With 0.26.1, if a .csharpierrc exists anywhere above a given file, it will be used to determine the configuration options.

Thanks go to @​parched for reporting the issue.

Full Changelog: belav/csharpier@0.26.0...0.26.1

0.26.0

What's Changed

EditorConfig Support

CSharpier will now read configuration options from an .editorconfig. See https://csharpier.com/docs/Configuration for more details.

Net8 Support

CSharpier now supports the .net8 sdk. It still supports net6 and net7.

Sorting of using directives #​661

CSharpier now sorts using statements. It follows the following rules

global using System.Linq; // sort global first
using System; // sort anything in System
using NonSystem; // sort anything non-system
using static Static; // sort static
using Alias = Z; // sort alias
using SomeAlias = A;
#if DEBUG // finally any usings in #if's
using Z; // contents are not sorted as of now
using A;
#endif

Remove line before the content of a bracketless if/else statement #​979

// input
if (true)

    CallMethod();
else if (false)

    CallMethod();
else

    CallMethod();

for (; ; )

    CallMethod();

while (true)

    CallMethod();

// 0.26.0
if (true)
    CallMethod();
else if (false)
    CallMethod();
else
    CallMethod();

 ... (truncated)

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

Updated [Fody](https://github.com/Fody/Fody) from 6.8.0 to 6.9.3.

<details>
<summary>Release notes</summary>

_Sourced from [Fody's releases](https://github.com/Fody/Fody/releases)._

## 6.9.3

## What's Changed
* Refactor packaging and remove `Fody.nuspec` #​2. by @​tom-englert in https://github.com/Fody/Fody/pull/1313
* Clean-up unnecessary dependencies. by @​teo-tsirpanis in https://github.com/Fody/Fody/pull/1316
* Update Verify.Xunit and xunit.runner.visualstudio by @​GeertvanHorrik in https://github.com/Fody/Fody/pull/1320
* Prevent failure on updating xsd during build by @​GeertvanHorrik in https://github.com/Fody/Fody/pull/1319


**Full Changelog**: https://github.com/Fody/Fody/compare/6.9.2...6.9.3

## 6.9.2

## What's Changed
* Avoid constructing `StrongNameKeyPair`. by @​teo-tsirpanis in https://github.com/Fody/Fody/pull/1311

## New Contributors
* @​teo-tsirpanis made their first contribution in https://github.com/Fody/Fody/pull/1311

**Full Changelog**: https://github.com/Fody/Fody/compare/6.9.1...6.9.2

## 6.9.1

## What's Changed
* Embed a simplified readme in the nuget package by @​tom-englert in https://github.com/Fody/Fody/pull/1305


**Full Changelog**: https://github.com/Fody/Fody/compare/6.9.0...6.9.1

## 6.9.0

## What's Changed
* Update cecil to v0.11.6 by @​ltrzesniewski in https://github.com/Fody/Fody/pull/1304


**Full Changelog**: https://github.com/Fody/Fody/compare/6.8.2...6.9.0

## 6.8.2

## What's Changed
* Bump xunit from 2.8.1 to 2.9.0 by @​dependabot in https://github.com/Fody/Fody/pull/1281
* Bump xunit.runner.visualstudio from 2.8.1 to 2.8.2 by @​dependabot in https://github.com/Fody/Fody/pull/1282
* Bump Microsoft.NET.Test.Sdk from 17.9.0 to 17.10.0 by @​dependabot in https://github.com/Fody/Fody/pull/1272
* Add folder name to test weaver by @​GeertvanHorrik in https://github.com/Fody/Fody/pull/1298


**Full Changelog**: https://github.com/Fody/Fody/compare/6.8.1...6.8.2

## 6.8.1

## What's Changed
* Base load contexts on weaver paths by @​ltrzesniewski in https://github.com/Fody/Fody/pull/1269
* Take `$(TreatWarningsAsErrors)` into account in #​1224

**Full Changelog**: https://github.com/Fody/Fody/compare/6.8.0...6.8.1

Commits viewable in [compare view](https://github.com/Fody/Fody/compare/6.8.0...6.9.3).
</details>

Updated [InlineIL.Fody](https://github.com/ltrzesniewski/InlineIL.Fody) from 1.7.4 to 1.10.1.

<details>
<summary>Release notes</summary>

_Sourced from [InlineIL.Fody's releases](https://github.com/ltrzesniewski/InlineIL.Fody/releases)._

## 1.10.1

- Removed `unmanaged` constraint from generic pointers (#​34 by @​teo-tsirpanis)
- Added `net35`  target framework (#​35 by @​js6pak)
- Some internal cleanup

## 1.10.0

- Added support for `ref struct` generic arguments on net9.0
- Updated Fody to v6.9.0

## 1.9.0

- Fixed emitting invalid field references (#​33)
- Added experimental `TypeRef.FromDllFile` methods (#​31)
- Added recognition of `typeof(...).FullName` when e...

_Description has been truncated_

Bumps BenchmarkDotNet from 0.13.11 to 0.15.2
Bumps ClangSharp.PInvokeGenerator from 17.0.1 to 20.1.2.1
Bumps coverlet.collector from 3.2.0 to 6.0.4
Bumps CSharpier.Core from 0.25.0 to 1.1.2
Bumps Fody from 6.8.0 to 6.9.3
Bumps InlineIL.Fody from 1.7.4 to 1.10.1
Bumps Microsoft.Build.Locator from 1.6.10 to 1.9.1
Bumps Microsoft.CodeAnalysis.CSharp from 4.6.0 to 4.14.0
Bumps Microsoft.CodeAnalysis.CSharp.Workspaces from 4.6.0 to 4.14.0
Bumps Microsoft.CodeAnalysis.PublicApiAnalyzers from 3.3.4 to 4.14.0
Bumps Microsoft.CodeAnalysis.Workspaces.MSBuild from 4.6.0 to 4.14.0
Bumps Microsoft.Extensions.Configuration from 7.0.0 to 9.0.8
Bumps Microsoft.Extensions.Configuration.CommandLine from 7.0.0 to 9.0.8
Bumps Microsoft.Extensions.Configuration.EnvironmentVariables from 7.0.0 to 9.0.8
Bumps Microsoft.Extensions.Configuration.Json from 7.0.0 to 9.0.8
Bumps Microsoft.Extensions.FileSystemGlobbing from 8.0.0 to 9.0.8
Bumps Microsoft.Extensions.Logging.Console from 7.0.0 to 9.0.8
Bumps Microsoft.NET.Test.Sdk from 16.1.1 to 17.14.1
Bumps Microsoft.VisualStudio.Setup.Configuration.Interop from 3.6.2115 to 3.14.2075
Bumps NUnit from 3.12.0 to 4.4.0
Bumps NUnit.Analyzers from 3.10.0 to 4.10.0
Bumps NUnit3TestAdapter from 4.5.0 to 5.1.0
Bumps System.CommandLine from 2.0.0-beta4.22272.1 to 2.0.0-beta7.25380.108
Bumps Ultz.Native.GLFW from 3.3.9.1 to 3.4.0
Bumps xunit from 2.6.3 to 2.9.3
Bumps xunit.runner.visualstudio from 2.5.1 to 3.1.4

---
updated-dependencies:
- dependency-name: BenchmarkDotNet
  dependency-version: 0.15.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: silk3_deps
- dependency-name: ClangSharp.PInvokeGenerator
  dependency-version: 20.1.2.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: silk3_deps
- dependency-name: coverlet.collector
  dependency-version: 6.0.4
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: silk3_deps
- dependency-name: CSharpier.Core
  dependency-version: 1.1.2
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: silk3_deps
- dependency-name: Microsoft.CodeAnalysis.CSharp
  dependency-version: 4.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: silk3_deps
- dependency-name: Microsoft.CodeAnalysis.CSharp.Workspaces
  dependency-version: 4.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: silk3_deps
- dependency-name: Fody
  dependency-version: 6.9.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: silk3_deps
- dependency-name: InlineIL.Fody
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: silk3_deps
- dependency-name: Microsoft.Build.Locator
  dependency-version: 1.9.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: silk3_deps
- dependency-name: Microsoft.CodeAnalysis.PublicApiAnalyzers
  dependency-version: 4.14.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: silk3_deps
- dependency-name: Microsoft.CodeAnalysis.Workspaces.MSBuild
  dependency-version: 4.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: silk3_deps
- dependency-name: Microsoft.Extensions.Configuration
  dependency-version: 9.0.8
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: silk3_deps
- dependency-name: Microsoft.Extensions.Configuration.CommandLine
  dependency-version: 9.0.8
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: silk3_deps
- dependency-name: Microsoft.Extensions.Configuration.EnvironmentVariables
  dependency-version: 9.0.8
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: silk3_deps
- dependency-name: Microsoft.Extensions.Configuration.Json
  dependency-version: 9.0.8
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: silk3_deps
- dependency-name: Microsoft.Extensions.FileSystemGlobbing
  dependency-version: 9.0.8
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: silk3_deps
- dependency-name: Microsoft.Extensions.Logging.Console
  dependency-version: 9.0.8
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: silk3_deps
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 17.14.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: silk3_deps
- dependency-name: Microsoft.VisualStudio.Setup.Configuration.Interop
  dependency-version: 3.14.2075
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: silk3_deps
- dependency-name: NUnit
  dependency-version: 4.4.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: silk3_deps
- dependency-name: NUnit.Analyzers
  dependency-version: 4.10.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: silk3_deps
- dependency-name: NUnit3TestAdapter
  dependency-version: 5.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: silk3_deps
- dependency-name: System.CommandLine
  dependency-version: 2.0.0-beta7.25380.108
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: silk3_deps
- dependency-name: Ultz.Native.GLFW
  dependency-version: 3.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: silk3_deps
- dependency-name: xunit
  dependency-version: 2.9.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: silk3_deps
- dependency-name: xunit.runner.visualstudio
  dependency-version: 3.1.4
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: silk3_deps
...

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 Aug 21, 2025
Copy link
Author

dependabot bot commented on behalf of github Aug 28, 2025

Looks like these dependencies are no longer updatable, so this is no longer needed.

@dependabot dependabot bot closed this Aug 28, 2025
@dependabot dependabot bot deleted the dependabot/nuget/develop/3.0/silk3_deps-ca37397984 branch August 28, 2025 21:45
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.

0 participants