Release build of Microsoft.CodeAnalysis.NetAnalyzers 9.0.0 containing first-party code quality analyzers ("CAxxxx rules").
Contains bug fixes on top of 8.0.0 release.
What's Changed
- Update AnalyzerBannedSymbols.txt by @jaredpar in #6882
- Brand main to 9.0 by @carlossanlop in #6883
- Change localization branch to release/8.0.1xx temporarily by @carlossanlop in #6890
- Runtime90357 6012 by @manfred-brands in #6885
- Add backporting yml job by @carlossanlop in #6892
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #6887
- Refactor CA1826 to read option only when needed and use SpecialType checks by @Youssef1313 in #6872
- [Performance] Improve AvoidUninstantiatedInternalClasses performance by @Youssef1313 in #6864
- Refactor PropertiesShouldNotBeWriteOnlyAnalyzer (CA1044) by @Youssef1313 in #6871
- Use direct cast instead of type checking when type is known by @Youssef1313 in #6874
- [Performance] Use Length property instead of Count() by @Youssef1313 in #6869
- Add minimal binary pattern support for null checks in DFA by @Youssef1313 in #6877
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #6895
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #6902
- Remove CA2229 Implement serialization constructors by @buyaa-n in #6911
- Update AnalyzerBannedSymbols.txt by @jaredpar in #6917
- Add analyzer/fixer to suggest using cached SearchValues instances by @MihaZupan in #6898
- [Performance] Simplify UseSpanBasedStringConcat for better performance by @Youssef1313 in #6870
- [Performance] Improve SpecifyIFormatProvider (CA1305) performance by @Youssef1313 in #6865
- [Performance] Improve UseValidPlatformString (CA1418) performance by @Youssef1313 in #6867
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #6927
- Correct URL in AnalyzerReleases.Unshipped.md by @JustArchi in #6933
- Avoid 'Collection was modified' InvalidOperationException by @mavasani in #6935
- Update AnalyzerReleases file to reflect new analyzers for .NET8 release by @mavasani in #6940
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #6941
- Address CA1862 cases to diagnose and to fix and improve messages by @carlossanlop in #6928
- Add dotnet9 and dotnet9-transport feeds by @carlossanlop in #6939
- Fix SearchValues fixer introducing slight changes for edge case inputs by @MihaZupan in #6926
- CA1853: Address issues found in PR review #6767 by @mpidash in #6791
- Handle reference to non-source symbols in UseConcreteTypeAnalyzer by @mavasani in #6959
- Add CA1514: Remove redundant length argument by @mpidash in #6814
- Add MakeTypesInternalAnalyzer by @CollinAlpert in #6820
- Update AnalyzerBannedSymbols.txt by @jaredpar in #6920
- Preserve trivia when fixing CA1865 by @mpidash in #6932
- Analyzer for misusage of MaxResponseHeadersLength by @amiru3f in #6796
- AddAllResxFilesAsAdditionalFiles depends on PrepareResourceNames by @sharwell in #6970
- Fix typo in CA1846 description by @mpidash in #6968
- Add support for ExperimentalAttribute by @sharwell in #6971
- Write CA1824 as non-compilation-end by @Youssef1313 in #6873
- Fix false-flag of CompareExchange and re-usage with loops by @jozkee in #6979
- Suggest CA2007 for await foreach without specified cancellation by @CollinAlpert in #6683
- Adjust source generator verifier for broader usability by @Youssef1313 in #6995
- Update version used in tests by @sharwell in #6996
- Don't emit CA1849 for nameof expressions by @CollinAlpert in #7010
- Update to Microsoft.CodeAnalysis.Testing 1.1.2-beta1.23509.1 by @mpidash in #6980
- Replace explicit richCodeNavigationEnvironment in azure-pipelines-richnav.yml by @akoeplinger in #6989
- Add analyzer for SemanticModel.GetDeclaredSymbol by @CollinAlpert in #6779
- Do not raise CA1065 when in delegate by @CollinAlpert in #6986
- Generate unique name for CA1861 by @CollinAlpert in #7013
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #6972
- docs(grammatical): correct typos by @AbhineshJha in #7016
- CA2213:Disposable fields should be disposed and support for
DisposeCoreAsync
by @MartyIX in #6976 - Fix doc link by @gewarren in #7038
- CA2237: Don't report diagnostic when ISerializable is inherited by @david-acker in #6997
- Remove target that warns that user needs to upgrade to a newer SDK NetAnalyzers version by @carlossanlop in #7040
- Don't emit CA1849 for IDbContextFactory.CreateDbContext by @CollinAlpert in #7058
- BannedApiAnalyzers: Support banning base types by @aelij in #7052
- CA2241: Non supported heuristically found format methods should not be checked. by @manfred-brands in #7024
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7017
- Don't emit CA1508 in Debug.Assert by @CollinAlpert in #7014
- Don't raise CA1861 in for attribute arguments by @CollinAlpert in #7044
- Don't raise RS1039 when passing LocalFunctionStatementSyntax by @CollinAlpert in #7062
- CA1307: Only consider equal or more accessible overloads by @david-acker in #6998
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7059
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7064
- Fix grammar in CA2261 message by @gewarren in #7039
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7067
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7070
- Change localization back to main by @carlossanlop in #7072
- Localized file check-in by OneLocBuild Task: Build definition ID 830: Build ID 2331554 by @dotnet-bot in #7076
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7079
- Localized file check-in by OneLocBuild Task: Build definition ID 830: Build ID 2332469 by @dotnet-bot in #7081
- Remove extra space by @joegoldman2 in #7084
- Suppress CA1862 for string.Contains on netfx by @CollinAlpert in #7083
- Localized file check-in by OneLocBuild Task: Build definition ID 830: Build ID 2332945 by @dotnet-bot in #7089
- Suppress CA1725 for generic parameters by @CollinAlpert in #7077
- fix(CA2208): false positive when message start with parameter name followed by punctuation by @HenryZhang-ZHY in #7065
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7091
- Localized file check-in by OneLocBuild Task: Build definition ID 830: Build ID 2334867 by @dotnet-bot in #7094
- Remove Microsoft.SourceBuild.Intermediate from prebuilt baseline by @ellahathaway in #7080
- Preserve code style during fix by @sharwell in #7107
- Localized file check-in by OneLocBuild Task: Build definition ID 830: Build ID 2341912 by @dotnet-bot in #7117
- Create fix for CA1861 in top level statements by @CollinAlpert in #7119
- Fix CA1027 fires for simple aliases by @daveMueller in #7120
- Use ExportCodeFixProviderAttribute to trigger RS1016 by @reduckted in #6966
- Improvements for CodeMetricsAnalyzer performance by @sharwell in #7118
- Suppress CA1860 when in expression tree by @CollinAlpert in #7123
- Implement RS1041 (Compiler extensions should be implemented in assemblies targeting netstandard2.0) by @sharwell in #7116
- Support RefKind.RefReadOnlyParameter in RS0042 (Do not copy value) by @sharwell in #7132
- Fix #7008 Make AnalyzerOptionsExtensions to have public modifier instead of internal by @eriawan in #7085
- Localized file check-in by OneLocBuild Task: Build definition ID 830: Build ID 2354239 by @dotnet-bot in #7144
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7096
- CA1065: Consider explicit interface implementations of Equals, GetHashCode by @david-acker in #7140
- Allow static virtual members in CA1000 by @RenderMichael in #7142
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7145
- Fix a number of issues in CA1859. by @geeknoid in #7133
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7149
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7156
- Add new compiler codebase analyzer for primary constructor capturing by @333fred in #7138
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7158
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7165
- Adjust message for banned symbol CultureInfo.CurrentCulture by @RikkiGibson in #7167
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7166
- Fix grammar for CA2262's description by @gewarren in #7169
- Localized file check-in by OneLocBuild Task: Build definition ID 830: Build ID 2368116 by @dotnet-bot in #7172
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7171
- In PlatformCompatiblityAnalyzer, set ObsoleteUrl based on child ObsoleteUrl by @omajid in #7168
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7174
- Move SB metadata to intermediates by @ellahathaway in #7173
- Unified Build control update by @mmitche in #7184
- fix CA2021 false positives by @fowl2 in #7183
- CA2263: Prefer generic overload when type is known by @mpidash in #6857
- Add IsFileLocal lightup, use it in
CA1708
by @RenderMichael in #7190 - Warn about ignored method result for IQueryable by @CollinAlpert in #7182
- Set ProducesDotNetReleaseShippingAssets property in Publishing.props by @MilenaHristova in #7206
- Update version in bug report template by @CollinAlpert in #7181
- Enhance: Inline variable in CA1854 (IDictionary.TryGetValue) by @Poker-sang in #7071
- Add DoNotPassStructToArgumentNullExceptionThrowIfNullAnalyzer by @CollinAlpert in #6815
- Don't report CA2257 on nested types by @jkoritzinsky in #7157
- CA1065: Ignore System.Diagnostics.UnreachableException by @mpidash in #7200
- Support collection expressions for non-copyable analyzer by @333fred in #7210
- Make CA1827 fire for 'is' patterns. by @CollinAlpert in #7213
- Create DoNotCompareSpanToNullAnalyzer by @CollinAlpert in #6838
- Report RS1008 for ISymbol and IOperation fields by @mpidash in #7197
- Remove temporary .NET 8 reference assemblies by @mpidash in #7220
- Remove UsingToolNetFrameworkReferenceAssemblies by @ViktorHofer in #7211
- Use offline validation for any kind of VMR build by @akoeplinger in #7227
- Remove unnecessary install .NET task by @jjonescz in #7235
- Add UseVolatileReadWriteAnalyzer by @CollinAlpert in #7043
- Enable publishing in VMR by @NikolaMilosavljevic in #7233
- CA2263: Fix wrong fix for notnull constraints and fix crash on unbound generic types by @mpidash in #7247
- Localized file check-in by OneLocBuild Task: Build definition ID 830: Build ID 2406064 by @dotnet-bot in #7248
- Update to Microsoft.CodeAnalysis.Testing 1.1.2-beta1.24168.2 by @mpidash in #7250
- Add CA1872: Prefer 'Convert.ToHexString' over 'BitConverter.ToString' by @mpidash in #6967
- Improve support for RefKind.RefReadOnlyParameter in RS0042 (Do not copy value) by @sharwell in #7254
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7240
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7265
- Localized file check-in by OneLocBuild Task: Build definition ID 830: Build ID 2413598 by @dotnet-bot in #7266
- Add CA2022: Avoid inexact read with 'Stream.Read' by @mpidash in #7208
- Migrate to 1ES template migration for official builds and mark others accordingly by @arunchndr in #7253
- Remove CodeQL tasks duplicating injected ones by @jjonescz in #7267
- CA2022: Do not flag well known reliable stream types by @mpidash in #7269
- CA2022: Specify IEqualityComparer when creating well known type set by @mpidash in #7270
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7272
- Localized file check-in by OneLocBuild Task: Build definition ID 830: Build ID 2419250 by @dotnet-bot in #7273
- Update EOL Ubuntu version by @richlander in #7255
- Localized file check-in by OneLocBuild Task: Build definition ID 830: Build ID 2420525 by @dotnet-bot in #7276
- Add CollectionExpression support to CA1870 (UseSearchValues) by @MihaZupan in #7252
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7284
- Stop publishing of additional packages by @NikolaMilosavljevic in #7282
- Check for the CollectionExpression syntax kind early in UseSearchValuesAnalyzer by @MihaZupan in #7279
- Do not emit CA1854/CA1864 for nested conditionals by @CollinAlpert in #7228
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7292
- Replace deprecated CI image by @jjonescz in #7294
- Fix some typos by @raulsntos in #7298
- Avoid direct descriptor comparison, so the fix can be shown by @DoctorKrolic in #7296
- Add ClassName property to ResxSourceGenerator by @raulsntos in #7226
- Monthly run of the CI build to make sure all rel branches are buildable by @arunchndr in #7316
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7301
- Prevent SemaphoreSlim.Wait(0) from triggering CA1849 by @CollinAlpert in #7310
- Mark type as instantiated when used with a collection expression initializer by @CollinAlpert in #7229
- Generate field for const arrays in constructor declarations by @CollinAlpert in #7231
- Do not warn when invoking APIs that has SupportedOSPlatformGuard attribute by @buyaa-n in #7326
- Update to Microsoft.CodeAnalysis.Testing 1.1.2-beta1.24314.1 by @sharwell in #7333
- Don't emit CA1064 in executables by @CollinAlpert in #7234
- Execute NameAndParametersValid only when needed. by @mandel-macaque in #7353
- Highlight C# code in unit tests by @JakeYallop in #7335
- CA2213: Handle overriden
DisposeCoreAsync
/DisposeAsyncCore
by @MartyIX in #7347 - [release/9.0.1xx] Change localization branch to release/9.0.1xx temporarily by @github-actions in #7378
- [release/9.0.1xx] Update dependencies from dotnet/arcade by @dotnet-maestro in #7386
- [release/9.0.1xx] Update dependencies from dotnet/arcade by @dotnet-maestro in #7391
- [release/9.0.1xx] Update AnalyzerReleases file to reflect new analyzers for .NET9 release by @buyaa-n in #7397
- [release/9.0.1xx] Update dependencies from dotnet/arcade by @dotnet-maestro in #7401
- [release/9.0.1xx] Update dependencies from dotnet/arcade by @dotnet-maestro in #7410
- [release/9.0.1xx] Update dependencies from dotnet/arcade by @dotnet-maestro in #7427
- [release/9.0.1xx] Update field references by @github-actions in #7432
New Contributors
- @MihaZupan made their first contribution in #6898
- @JustArchi made their first contribution in #6933
- @amiru3f made their first contribution in #6796
- @AbhineshJha made their first contribution in #7016
- @gewarren made their first contribution in #7038
- @david-acker made their first contribution in #6997
- @aelij made their first contribution in #7052
- @joegoldman2 made their first contribution in #7084
- @HenryZhang-ZHY made their first contribution in #7065
- @ellahathaway made their first contribution in #7080
- @daveMueller made their first contribution in #7120
- @eriawan made their first contribution in #7085
- @RenderMichael made their first contribution in #7142
- @MilenaHristova made their first contribution in #7206
- @Poker-sang made their first contribution in #7071
- @raulsntos made their first contribution in #7298
- @mandel-macaque made their first contribution in #7353
- @JakeYallop made their first contribution in #7335
Full Changelog: 8.0.0...9.0.0