Skip to content
New issue

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

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

Already on GitHub? # to your account

Bump the codeanalysis group with 3 updates #6021

Merged
merged 1 commit into from
May 2, 2024

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github May 1, 2024

Bumps the codeanalysis group with 3 updates: Microsoft.CodeAnalysis.CSharp, Microsoft.CodeAnalysis.CSharp.Workspaces and Microsoft.Bcl.AsyncInterfaces.

Updates Microsoft.CodeAnalysis.CSharp from 4.8.0 to 4.9.2

Release notes

Sourced from Microsoft.CodeAnalysis.CSharp's releases.

.NET 6.0.1

Release

.NET 5.0.4

Release

.NET 5.0.2

Release Notes Install Instructions

Repos

Changelog

Sourced from Microsoft.CodeAnalysis.CSharp's changelog.

API Breaking Changes

Version 1.1.0

Removed VisualBasicCommandLineParser.ctor

During a toolset update we noticed the constructor on VisualBasicCommandLineParser was public. This in turn made many of the protected members of CommandLineParser a part of the API surface as it gave external customers an inheritance path.

It was never the intent for these members to be a part of the supported API surface. Creation of the parsers is meant to be done via the Default singleton properties. There seems to be little risk that we broke any customers here and hence we decided to remove this API.

PR: dotnet/roslyn#4169

Changed Simplifier methods to throw ArgumentNullExceptions

Changed Simplifier.ReduceAsync, Simplifier.ExpandAsync, and Simplifier.Expand methods to throw ArgumentNullExceptions if any non-optional, nullable arguments are passed in. Previously the user would get a NullReferenceException for synchronous methods and an AggregateException containing a NullReferenceException for asynchronous methods.

PR: dotnet/roslyn#5144

Version 1.3.0

Treat a method marked with both public and private flags as private

The scenario is loading an assembly where some methods, fields or nested types have accessibility flags set to 7 (all three bits set), which mean public AND private. After the fix, such flags are loaded to mean private. The compat change is we’re trading a compile-time success and runtime failure (native compiler) against a compile-time error (restoring the behavior of v1.2).

Details below:

  • The native compiler successfully compiles the method and field case (those only yield runtime error System.TypeLoadException: Invalid Field Access Flags) and reported an accessibility error on the nested type.
  • The 1.2 compiler generated errors:
error BC30390: 'C.Private Overloads Sub M()' is not accessible in this context because it is 'Private'.
error BC30389: 'C.F' is not accessible in this context because it is 'Private'.
error BC30389: 'C.C2' is not accessible in this context because it is 'Protected Friend'.
error BC30390: 'C2.Private Overloads Sub M2()' is not accessible in this context because it is 'Private'.
  • The 1.3 compiler crashes.
  • After fix, the same errors as 1.2 are generated again.

PR: dotnet/roslyn#11547

Don't emit bad DateTimeConstant, and load bad BadTimeConstant as default value instead

The change affects compatibility in two ways:

  • When loading an invalid DateTimeConstant(-1), the compiler will use default(DateTime) instead, whereas the native compiler would produce code that fails to execute.
  • DateTimeConstant(-1) will still count when we check that you don’t specify two default values. The compiler will produce an error, instead of succeeding (and producing IL with two attributes).

PR: dotnet/roslyn#11536

Version 4.1.0

... (truncated)

Commits

Updates Microsoft.CodeAnalysis.CSharp.Workspaces from 4.8.0 to 4.9.2

Release notes

Sourced from Microsoft.CodeAnalysis.CSharp.Workspaces's releases.

.NET 6.0.1

Release

.NET 5.0.4

Release

.NET 5.0.2

Release Notes Install Instructions

Repos

Changelog

Sourced from Microsoft.CodeAnalysis.CSharp.Workspaces's changelog.

API Breaking Changes

Version 1.1.0

Removed VisualBasicCommandLineParser.ctor

During a toolset update we noticed the constructor on VisualBasicCommandLineParser was public. This in turn made many of the protected members of CommandLineParser a part of the API surface as it gave external customers an inheritance path.

It was never the intent for these members to be a part of the supported API surface. Creation of the parsers is meant to be done via the Default singleton properties. There seems to be little risk that we broke any customers here and hence we decided to remove this API.

PR: dotnet/roslyn#4169

Changed Simplifier methods to throw ArgumentNullExceptions

Changed Simplifier.ReduceAsync, Simplifier.ExpandAsync, and Simplifier.Expand methods to throw ArgumentNullExceptions if any non-optional, nullable arguments are passed in. Previously the user would get a NullReferenceException for synchronous methods and an AggregateException containing a NullReferenceException for asynchronous methods.

PR: dotnet/roslyn#5144

Version 1.3.0

Treat a method marked with both public and private flags as private

The scenario is loading an assembly where some methods, fields or nested types have accessibility flags set to 7 (all three bits set), which mean public AND private. After the fix, such flags are loaded to mean private. The compat change is we’re trading a compile-time success and runtime failure (native compiler) against a compile-time error (restoring the behavior of v1.2).

Details below:

  • The native compiler successfully compiles the method and field case (those only yield runtime error System.TypeLoadException: Invalid Field Access Flags) and reported an accessibility error on the nested type.
  • The 1.2 compiler generated errors:
error BC30390: 'C.Private Overloads Sub M()' is not accessible in this context because it is 'Private'.
error BC30389: 'C.F' is not accessible in this context because it is 'Private'.
error BC30389: 'C.C2' is not accessible in this context because it is 'Protected Friend'.
error BC30390: 'C2.Private Overloads Sub M2()' is not accessible in this context because it is 'Private'.
  • The 1.3 compiler crashes.
  • After fix, the same errors as 1.2 are generated again.

PR: dotnet/roslyn#11547

Don't emit bad DateTimeConstant, and load bad BadTimeConstant as default value instead

The change affects compatibility in two ways:

  • When loading an invalid DateTimeConstant(-1), the compiler will use default(DateTime) instead, whereas the native compiler would produce code that fails to execute.
  • DateTimeConstant(-1) will still count when we check that you don’t specify two default values. The compiler will produce an error, instead of succeeding (and producing IL with two attributes).

PR: dotnet/roslyn#11536

Version 4.1.0

... (truncated)

Commits

Updates Microsoft.CodeAnalysis.CSharp from 4.8.0 to 4.9.2

Release notes

Sourced from Microsoft.CodeAnalysis.CSharp's releases.

.NET 6.0.1

Release

.NET 5.0.4

Release

.NET 5.0.2

Release Notes Install Instructions

Repos

Changelog

Sourced from Microsoft.CodeAnalysis.CSharp's changelog.

API Breaking Changes

Version 1.1.0

Removed VisualBasicCommandLineParser.ctor

During a toolset update we noticed the constructor on VisualBasicCommandLineParser was public. This in turn made many of the protected members of CommandLineParser a part of the API surface as it gave external customers an inheritance path.

It was never the intent for these members to be a part of the supported API surface. Creation of the parsers is meant to be done via the Default singleton properties. There seems to be little risk that we broke any customers here and hence we decided to remove this API.

PR: dotnet/roslyn#4169

Changed Simplifier methods to throw ArgumentNullExceptions

Changed Simplifier.ReduceAsync, Simplifier.ExpandAsync, and Simplifier.Expand methods to throw ArgumentNullExceptions if any non-optional, nullable arguments are passed in. Previously the user would get a NullReferenceException for synchronous methods and an AggregateException containing a NullReferenceException for asynchronous methods.

PR: dotnet/roslyn#5144

Version 1.3.0

Treat a method marked with both public and private flags as private

The scenario is loading an assembly where some methods, fields or nested types have accessibility flags set to 7 (all three bits set), which mean public AND private. After the fix, such flags are loaded to mean private. The compat change is we’re trading a compile-time success and runtime failure (native compiler) against a compile-time error (restoring the behavior of v1.2).

Details below:

  • The native compiler successfully compiles the method and field case (those only yield runtime error System.TypeLoadException: Invalid Field Access Flags) and reported an accessibility error on the nested type.
  • The 1.2 compiler generated errors:
error BC30390: 'C.Private Overloads Sub M()' is not accessible in this context because it is 'Private'.
error BC30389: 'C.F' is not accessible in this context because it is 'Private'.
error BC30389: 'C.C2' is not accessible in this context because it is 'Protected Friend'.
error BC30390: 'C2.Private Overloads Sub M2()' is not accessible in this context because it is 'Private'.
  • The 1.3 compiler crashes.
  • After fix, the same errors as 1.2 are generated again.

PR: dotnet/roslyn#11547

Don't emit bad DateTimeConstant, and load bad BadTimeConstant as default value instead

The change affects compatibility in two ways:

  • When loading an invalid DateTimeConstant(-1), the compiler will use default(DateTime) instead, whereas the native compiler would produce code that fails to execute.
  • DateTimeConstant(-1) will still count when we check that you don’t specify two default values. The compiler will produce an error, instead of succeeding (and producing IL with two attributes).

PR: dotnet/roslyn#11536

Version 4.1.0

... (truncated)

Commits

Updates Microsoft.Bcl.AsyncInterfaces from 7.0.0 to 8.0.0

Release notes

Sourced from Microsoft.Bcl.AsyncInterfaces's releases.

.NET 8.0.0

Release

What's Changed

... (truncated)

Commits

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 commands and options

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 <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Bumps the codeanalysis group with 3 updates: [Microsoft.CodeAnalysis.CSharp](https://github.com/dotnet/roslyn), [Microsoft.CodeAnalysis.CSharp.Workspaces](https://github.com/dotnet/roslyn) and [Microsoft.Bcl.AsyncInterfaces](https://github.com/dotnet/runtime).


Updates `Microsoft.CodeAnalysis.CSharp` from 4.8.0 to 4.9.2
- [Release notes](https://github.com/dotnet/roslyn/releases)
- [Changelog](https://github.com/dotnet/roslyn/blob/main/docs/Breaking%20API%20Changes.md)
- [Commits](https://github.com/dotnet/roslyn/commits)

Updates `Microsoft.CodeAnalysis.CSharp.Workspaces` from 4.8.0 to 4.9.2
- [Release notes](https://github.com/dotnet/roslyn/releases)
- [Changelog](https://github.com/dotnet/roslyn/blob/main/docs/Breaking%20API%20Changes.md)
- [Commits](https://github.com/dotnet/roslyn/commits)

Updates `Microsoft.CodeAnalysis.CSharp` from 4.8.0 to 4.9.2
- [Release notes](https://github.com/dotnet/roslyn/releases)
- [Changelog](https://github.com/dotnet/roslyn/blob/main/docs/Breaking%20API%20Changes.md)
- [Commits](https://github.com/dotnet/roslyn/commits)

Updates `Microsoft.Bcl.AsyncInterfaces` from 7.0.0 to 8.0.0
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](dotnet/runtime@v7.0.0...v8.0.0)

---
updated-dependencies:
- dependency-name: Microsoft.CodeAnalysis.CSharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: codeanalysis
- dependency-name: Microsoft.CodeAnalysis.CSharp.Workspaces
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: codeanalysis
- dependency-name: Microsoft.CodeAnalysis.CSharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: codeanalysis
- dependency-name: Microsoft.Bcl.AsyncInterfaces
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: codeanalysis
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added .NET Pull requests that update .net code Type: Maintenance labels May 1, 2024
@bdukes bdukes added this to the 9.13.4 milestone May 2, 2024
Copy link
Contributor

@valadas valadas left a comment

Choose a reason for hiding this comment

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

Great

@valadas valadas merged commit edeb883 into develop May 2, 2024
4 checks passed
@dependabot dependabot bot deleted the dependabot/nuget/codeanalysis-ce50b1e808 branch May 2, 2024 18:19
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
.NET Pull requests that update .net code Type: Maintenance
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants