Releases: ANcpLua/ANcpLua.Analyzers
Releases · ANcpLua/ANcpLua.Analyzers
v1.20.0
What's New
New Diagnostics (AL0107–AL0110)
Four new [Traced] attribute validation analyzers with code fixes:
- AL0107 (Warning): Orphaned
[TracedTag]on methods without[Traced] - AL0108 (Info): Redundant
[NoTrace]on methods already excluded - AL0109 (Warning):
[Traced]on non-interceptable methods - AL0110 (Error):
[TracedTag]onout/refparameters
Infrastructure
- Bumped ANcpLua.Roslyn.Utilities to 1.47.0
- Bumped NuGet packages to latest stable
- Updated existing OTel/GenAI/Metrics analyzers
- Added .NET 11 reminder workflow
Full rule catalog: 106 diagnostics, 42 automatic code fixes.
v1.18.0
What's Changed
Refactoring
- Decentralized diagnostic IDs: Moved from centralized
DiagnosticIdsregistry to per-analyzerDiagnosticIdconstants, improving locality and reducing coupling - Extracted core types:
DiagnosticCategoriesandDiagnosticSeveritiesmoved to dedicated files fromALAnalyzer.cs - Removed
WellKnownTypes.cs: Migrated toANcpLua.Roslyn.Utilities
Infrastructure
- Added
ANcpLua.Roslyn.Utilities.Polyfillspackage for netstandard2.0 polyfill support - Fixed CPM declarations for SDK-injected testing packages
- Removed deprecated
InjectAllPolyfillsOnLegacyproperty
Full Changelog: v1.17.2...v1.18.0
v1.15.0
What's Changed
Suppression Elimination
- Removed all 6 solution-wide NoWarn entries from Directory.Build.props (NU1701, CA1034, CA2208, CA1031, RS2008, AL0026) — all confirmed dead via Hades audit
- Directory.Build.props now has zero warning suppressions
Release Tracking (RS2008)
- Added
AnalyzerReleases.Shipped.mddocumenting all 93 shipped diagnostics (AL0001-AL0093) - Added
AnalyzerReleases.Unshipped.mdfor 3 upcoming diagnostics (AL0094-AL0096)
Code Fix Improvements
- Migrated AL0074 code fix to
AlCodeFixProvider<T>base class (eliminated ~20 lines boilerplate) - Fixed AL0016 violations in AL0031, AL0071-AL0073 code fix providers
- Removed AL0016 suppression from CodeFixes.csproj
Other
- Widened parameter types in AL0084 (INamedTypeSymbol → ISymbol)
- Simplified SuppressMessage attributes in AL0084
- Added test coverage for AL0061 and AL0064 analyzers
- Fixed ANcpLua.NET.Sdk to 2.0.6 (2.0.7 not yet published)
v1.14.0
What's Changed
AL0063 Rewrite
- Rewritten from simple per-file heuristic to cross-compilation analysis
- Collects all
AddSource()registrations andActivitySourcecreations across the entire compilation, reports only unmatched sources - Wildcard pattern support (e.g.,
AddSource("OpenAI.*")covers"OpenAI.Chat") - Foreach-over-array resolution for common registration patterns
Dependencies
- Bump ANcpLua.Roslyn.Utilities to 1.33.0 (runtime, sources, testing, MSBuild SDKs)
- Bump ANcpLua.NET.Sdk to 2.0.5
- Suppress MSB3277 in CodeFixes for System.Threading.Tasks.Extensions assembly version conflict
v1.5.1 - Code Quality Improvements
Changes
Refactoring
- Implement WellKnownType pattern for AL0020-24 analyzer (efficient cached symbol resolution)
- Simplify AL0015 analyzer config reading with helper methods
- Fix IDE warnings (use
ISymbolparameter types, addstaticto lambdas) - Remove default DocFX logo from documentation site
No behavioral changes - internal code quality improvements only.
Full Changelog
v1.5.0 - ASP.NET Core Form Binding Analyzers
New Analyzers
This release adds 5 new analyzers for validating ASP.NET Core Minimal API form binding patterns:
| Rule | Severity | Description |
|---|---|---|
| AL0020 | Error | IFormCollection requires explicit [FromForm] attribute |
| AL0021 | Error | Multiple structured form sources not allowed |
| AL0022 | Error | Cannot mix IFormCollection with DTO binding |
| AL0023 | Error | Unsupported form type (interface/abstract/no valid constructor) |
| AL0024 | Error | [FromForm] and [FromBody] conflict in same method |
Full Changelog
v1.3.6
v1.3.5
Changes
CI Fixes
- Replaced Version.props symlink with standalone version file for CI compatibility
- Updated package versions for CI builds:
- Basic.Reference.Assemblies.Net100: 1.8.4
- Microsoft.CodeAnalysis.*.Testing: 1.1.2
Documentation
- Updated README with ANcpLua.NET.Sdk integration documentation
- Added Guard Clauses and Test Base Classes examples
- Fixed documentation links to point to new
docs/rules/path
v1.3.4
Changes
Documentation
- Added DocFX documentation site with GitHub Pages deployment
- Reorganized rule documentation into
docs/rules/with proper navigation - Created landing page and API reference structure
- Automatic deployment via GitHub Actions workflow
Build
- Enabled XML documentation generation for API docs
- Fixed duplicate package references in test project
Documentation Site
After enabling GitHub Pages in repository settings, documentation will be available at:
https://ancplua.github.io/ANcpLua.Analyzers/
Structure:
- Home - Overview and quick start
- Rules - All 17 analyzer rules (AL0001-AL0017)
- API Reference - Auto-generated from XML comments
v1.3.3
Changes
Refactoring
-
Tests: Condensed analyzer test files using parameterized InlineData patterns
- AL0001, AL0002, AL0003, AL0010, AL0014, AL0015 reduced by 40-70%
- Replaced verbose multi-line raw strings with concise single-line InlineData
-
Code Fixes: Optimized code fix providers
AR0001: Unified 4 duplicate methods into genericRenameNodeAsync<T>AL0004: Consolidated array processing with switch expression
Stats
- 17 files changed
- 598 insertions, 985 deletions (-387 net)