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

Microsoft.Diagnostics.Tracing.EventSource.Redist package support will end with .NET 6 #71231

Closed
noahfalk opened this issue Jun 23, 2022 · 8 comments · Fixed by #71573
Closed

Comments

@noahfalk
Copy link
Member

Microsoft.Diagnostics.Tracing.EventSource.Redist package support will end with .NET 6

The Microsoft.Diagnostics.Tracing.EventSource.Redist package has historically allowed us to fast-track EventSource API bug fixes out-of-band for .NET Framework 4.x. In recent years we continued to ship versions of this package concurrently with .NET Core releases, but the last time it was used to intentionally distribute out-of-band fixes for .NET Framework was package version 1.1.28 from 2015. The fixes that originally made the package useful have long since been applied to the .NET Framework in-box EventSource API and now we plan to phase out this package. Support for the current 6.0 version of the package will continue for as long as .NET 6.0 is supported but no future versions concurrent with .NET 7 and beyond are planned.

We recommend developers targeting .NET Framework 4.x use the in-box version of the EventSource API, System.Diagnostics.Tracing.EventSource. Developers who want to track future feature development in the EventSource API should target System.Diagnostics.Tracing.EventSource included in the latest available release of .NET runtime, currently .NET 6.

Details

How to migrate away from Microsoft.Diagnostics.Tracing.EventSource.Redist

  1. For apps and libraries targeting .NET Framework ensure you are targeting at least version 4.6.2. For apps and libraries targeting
    .NET Standard, .NET Core, or .NET 5+ no targeting change is needed.

  2. Replace references in source to the namespace Microsoft.Diagnostics.Tracing
    with System.Diagnostics.Tracing instead. For example

using Microsoft.Diagnostics.Tracing;

should now be

using System.Diagnostics.Tracing;
  1. Remove package references to Microsoft.Diagnostics.Tracking.EventSource.Redist from project files. You can do this in Visual Studio UI by selecting References->Manage NuGet packages... , then selecting the package from the installed package list and click the uninstall button. Alternately you can use the Uninstall command in Visual Studio package manager. For apps developed using the .NET CLI tools you can use the dotnet remove package command.

What happens if I do nothing?

The Microsoft.Diagnostics.Tracing.EventSource.Redist package should continue to work as-is, but support for the latest major version of the package will end November 12, 2024. After that point the package will receive no further fixes for security or any other reason. There are no known security vulnerabilities in this package but it is always possible new issues will be discovered in the future.

@ghost
Copy link

ghost commented Jun 23, 2022

Tagging subscribers to this area: @tarekgh, @tommcdon, @pjanotti
See info in area-owners.md if you want to be subscribed.

Issue Details

Microsoft.Diagnostics.Tracing.EventSource.Redist package support will end with .NET 6

The Microsoft.Diagnostics.Tracing.EventSource.Redist package has historically allowed us to fast-track EventSource API bug fixes out-of-band for .NET Framework 4.x. In recent years we continued to ship versions of this package concurrently with .NET Core releases, but the last time it was used to intentionally distribute out-of-band fixes for .NET Framework was package version 1.1.28 from 2015. The fixes that originally made the package useful have long since been applied to the .NET Framework in-box EventSource API and now we plan to phase out this package. Support for the current 6.0 version of the package will continue for as long as .NET 6.0 is supported but no future versions concurrent with .NET 7 and beyond are planned.

We recommend developers targeting .NET Framework 4.x use the in-box version of the EventSource API, System.Diagnostics.Tracing.EventSource. Developers who want to track future feature development in the EventSource API should target System.Diagnostics.Tracing.EventSource included in the latest available release of .NET runtime, currently .NET 6.

Details

How to migrate away from Microsoft.Diagnostics.Tracing.EventSource.Redist

  1. For apps and libraries targeting .NET Framework ensure you are targeting at least version 4.6.2. For apps and libraries targeting
    .NET Standard, .NET Core, or .NET 5+ no targeting change is needed.

  2. Replace references in source to the namespace Microsoft.Diagnostics.Tracing
    with System.Diagnostics.Tracing instead. For example

using Microsoft.Diagnostics.Tracing;

should now be

using System.Diagnostics.Tracing;
  1. Remove package references to Microsoft.Diagnostics.Tracking.EventSource.Redist from project files. You can do this in Visual Studio UI by selecting References->Manage NuGet packages... , then selecting the package from the installed package list and click the uninstall button. Alternately you can use the Uninstall command in Visual Studio package manager. For apps developed using the .NET CLI tools you can use the dotnet remove package command.

What happens if I do nothing?

The Microsoft.Diagnostics.Tracing.EventSource.Redist package should continue to work as-is, but support for the latest major version of the package will end November 12, 2024. After that point the package will receive no further fixes for security or any other reason. There are no known security vulnerabilities in this package but it is always possible new issues will be discovered in the future.

Author: noahfalk
Assignees: -
Labels:

area-System.Diagnostics.Tracing

Milestone: 7.0.0

@stephentoub
Copy link
Member

@noahfalk, I assume this means we'll be ripping out all of the ifdefs and the like from the implementation?

@noahfalk
Copy link
Member Author

Yeah, unless I missed a dependency somewhere this should be the end of ES_BUILD_STANDALONE

@stephentoub
Copy link
Member

And there was much rejoicing.

@KalleOlaviNiemitalo
Copy link

What's the support situation with Microsoft.Diagnostics.Tracing.EventRegister? The latest version is 1.1.28 and NuGet Gallery does not show it as deprecated.

@KalleOlaviNiemitalo
Copy link

EventCounter is available in .NET Framework 4.7.1 and later. The redist package provides an equivalent on .NET Framework 4.6.1 and later. According to https://docs.microsoft.com/lifecycle/products/microsoft-net-framework, .NET Framework 4.6.1 is no longer supported.

So to remain supported, software that now publishes data via EventCounter by using the redist package on .NET Framework 4.6.2 or 4.7 will have to discontinue this feature or retarget to .NET Framework 4.7.1 when .NET 6.0 support ends in November 2024, even though no end-of-support date has been published for .NET Framework 4.6.2 or 4.7. 🤔

@noahfalk
Copy link
Member Author

So to remain supported, software that now publishes data via EventCounter by using the redist package ...

Is this a concern from software you are maintaining? In addition to discontinue use or retarget to 4.7.1, a 3rd option could be to take advantage of the permissive MIT licensing and copy the source that implements the EventCounter feature. It probably wouldn't be that much work to lift the subset of code needed from EventCounter.cs and CounterGroup.cs. Ultimately any EventSource that responds to the "EventCounterIntervalSec" filter argument and transmits "EventCounters" events with same payload fields should interoperate correctly with EventCounters tooling.

What's the support situation with Microsoft.Diagnostics.Tracing.EventRegister? The latest version is 1.1.28 and NuGet Gallery does not show it as deprecated.

Let me look into this.

@brianrob
Copy link
Member

@KalleOlaviNiemitalo, there are no plans to release further versions of EventRegister. EventRegister should continue to work with EventSources created via Microsoft.Diagnostics.Tracing.EventSource.Redist. Given that there will not be support for Microsoft.Diagnostics.Tracing.EventSource.Redist, there will not be support EventRegister either.

@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Jul 2, 2022
noahfalk added a commit to noahfalk/runtime that referenced this issue Jul 6, 2022
…t-of-band but

is no longer needed. This change removed the project and the ES_BUILD_STANDALONE
ifdef which was only defined when the project was building.

Fixes dotnet#71231
noahfalk added a commit that referenced this issue Jul 16, 2022
This package was used historically to distribute EventSource fixes out-of-band but
is no longer needed. This change removed the project and the ES_BUILD_STANDALONE
ifdef which was only defined when the project was building.

Fixes #71231
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Jul 16, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Aug 15, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants