Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for .NET 6 and 7 deprecated in minor version #706

Open
delilahw opened this issue Nov 13, 2024 · 14 comments
Open

Support for .NET 6 and 7 deprecated in minor version #706

delilahw opened this issue Nov 13, 2024 · 14 comments

Comments

@delilahw
Copy link

Describe the bug
Hey, it appears that support for .NET 6/7 was dropped in the latest minor version. Starting from v5.4.0, .NET 8/9 is required instead.

Should this change be a major version instead? Previous changes to .NET versioning requirements were published in major releases:

To Reproduce
Running the ReportGenerator on systems without the .NET 8 or .NET 9 Runtimes will fail. Example ADO output:

==============================================================================
Task         : ReportGenerator
Description  : ReportGenerator converts coverage reports generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov, or lcov into human readable reports in various formats.
Version      : 5.4.0
Author       : Palmmedia
Help         : [More Information](https://github.com/danielpalme/ReportGenerator)
==============================================================================
/usr/bin/dotnet /mnt/vss/_work/_tasks/reportgenerator_be803a55-9253-4895-a525-be570d86f161/5.4.0/tools/net8.0/ReportGenerator.dll
You must install or update .NET to run this application.

App: /mnt/vss/_work/_tasks/reportgenerator_be803a55-9253-4895-a525-be570d86f161/5.4.0/tools/net8.0/ReportGenerator.dll
Architecture: x64
Framework: 'Microsoft.NETCore.App', version '8.0.0' (x64)
.NET location: /usr/share/dotnet/

The following frameworks were found:
  6.0.35 at [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  7.0.20 at [/usr/share/dotnet/shared/Microsoft.NETCore.App]

Learn about framework resolution:
https://aka.ms/dotnet/app-launch-failed

To install missing framework, download:
https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=8.0.0&arch=x64

##[error]The process '/usr/bin/dotnet' failed with exit code 150
@delilahw delilahw changed the title Support for .NET v6 and v7 deprecated in minor version Support for .NET 6 and 7 deprecated in minor version Nov 13, 2024
@giovannimele
Copy link

Same issue here. Is there a way to force using version 5.3.11 to still be compatible with .net 6?

@Marc-fra76
Copy link

Same issue for us too. We have addded the --version 5.3.11 option to the install task in our pipeline in order to continue using this tool.

The deprecated warning would have been more than appreciated for this change.

@mmonteiroc
Copy link

Same issue for us too. We have addded the --version 5.3.11 option to the install task in our pipeline in order to continue using this tool.

The deprecated warning would have been more than appreciated for this change.

@Marc-fra76

In our side, we have a Powershell@2 task where we force a version
dotnet tool install -v:diag --local dotnet-reportgenerator-globaltool --version 5.3.4

but then when we run the task reportgenerator@5, it seems to ignore this version

This breaking change should have been a new version of the task reportgenerator@6 😢

@erikbjoernestad
Copy link

@giovannimele
We're were able to solve this by pinning the task to specific version.

- task: [email protected]

@Marc-fra76
Copy link

Same issue for us too. We have addded the --version 5.3.11 option to the install task in our pipeline in order to continue using this tool.
The deprecated warning would have been more than appreciated for this change.

@Marc-fra76

In our side, we have a Powershell@2 task where we force a version dotnet tool install -v:diag --local dotnet-reportgenerator-globaltool --version 5.3.4

but then when we run the task reportgenerator@5, it seems to ignore this version

This breaking change should have been a new version of the task reportgenerator@6 😢

We use the command line instead of the task. But I agree with you, a new version of the task or the use of the deprecated warning would have been a better way to handle this.

@giovannimele
Copy link

@erikbjoernestad thx! This solved our issue.

@danielpalme
Copy link
Owner

.NET 6 and 7 are no longer supported by Microsoft. You should upgrade to .NET 8 or 9 as soon as possible.
https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core

The build agents provided by Microsoft already have .NET 9 installed. If you have a custom build agent you should consider updating it.

@delilahw
Last year I dropped support for .NET 3.1 and .NET 5.0. Also in a minor release (5.2.0)

This year .NET 6 and 7 got dropped as they are out of support. This is also documented here: https://github.com/danielpalme/ReportGenerator/releases/tag/v5.4.0

As mentioned by @erikbjoernestad you can pin the previous release which supports .NET 6 and 7.

@rohitgupta-ipo
Copy link

Also It seems the latest version is not respecting -fileFilters argument altogether - we have started using latest tool with .net 8, but suddenly all our code converge percentage is dropped as exclusions are not considered and excluded files are also included in calculating the code coverage - can this be fixed please @danielpalme

@danielpalme
Copy link
Owner

danielpalme commented Nov 14, 2024

@rohitgupta-ipo
This issue has already been fixed in version 5.4.1 (see: #707).

@ruskinb1
Copy link

@erikbjoernestad . we are using this as Azure devops Task. Is there any way to provide specific version ?

@danielpalme
Copy link
Owner

@ruskinb1
This should work for you:

@delilahw
Copy link
Author

@danielpalme Thank you for your response and your ongoing work on this project. We understand that dropping support for older .NET versions in a minor release has been the precedent (e.g. last year's v5.2.0).

However, some consumers — like others on this thread — pin only the major version (reportgenerator@5) and use custom build agents. In this case, it can cause unexpected disruptions when breaking changes occur in a minor release.

To address this, @mmonteiroc and @Marc-fra76 had some good suggestions:

This breaking change should have been a new version of the task reportgenerator@6 😢

But I agree with you, a new version of the task or the use of the deprecated warning would have been a better way to handle this.

We really appreciate you considering this feedback! =)

@danielpalme
Copy link
Owner

@delilahw

This breaking change should have been a new version of the task reportgenerator@6 😢

In a "perfect" world I would agree. But major releases cause another problem:
It takes a long time until all users upgrade to the latest version. That means users would create issues and support requests for older releases. Since my time is limited, I can't support older versions.

But I agree with you, a new version of the task or the use of the deprecated warning would have been a better way to handle this.

Will consider this next year, when .NET 10 ships.
The general rule is: Whenever Microsoft releases a new major .NET version, I add support for the new version and remove versions that are out of support.
Next time I will wait some weeks/months before I remove support for old versions.

@delilahw
Copy link
Author

@danielpalme Thanks so much for taking it into consideration! We really appreciate it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants