Skip to content

Bump ALCops.Analyzers from 1.0.1 to 1.2.0 - #23

Merged
Arthurvdv merged 1 commit into
mainfrom
dependabot/nuget/tests/ALCops.Mcp.Tests/ALCops.Analyzers-1.2.0
Sep 12, 2026
Merged

Arthurvdv merged 1 commit into
mainfrom
dependabot/nuget/tests/ALCops.Mcp.Tests/ALCops.Analyzers-1.2.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 12, 2026

Copy link
Copy Markdown
Contributor

Updated ALCops.Analyzers from 1.0.1 to 1.2.0.

Release notes

Sourced from ALCops.Analyzers's releases.

1.2.0

This release sharpens several existing rules, fixes a number of false positives, and hardens the build with full static-analysis enforcement across all target frameworks.

⚠️ Breaking change

FC0004 now enforces the permission order produced by the AZ AL Dev Tools "Sort Permissions" command instead of the old alphabetical-by-type-keyword order (community decision, #​245). Permission lists that satisfied the previous order — e.g. codeunit before tabledata — will now be reported, and the code fix reorders them. table/tabledata are interleaved by object name, names sort naturally (Item 2 before Item 10), and #region groups are sorted independently. There is no opt-out switch — the community vote made this the order. (#​493)

✨ Rule improvements

  • FC0002 now also checks casing in generic type arguments and subtyped object references, not just plain identifiers. (#​502)

🐛 Fixes

  • AC0011 — resolve unknown SymbolKind members to an unknown kind instead of misclassifying them as Module. (#​504)
  • AC0031 / AC0032 — pair each DataTransfer executor with the SetTables call that actually reaches it, fixing incorrect table-operation attribution. (#​495)
  • AC0032 — recognize DataTransfer.CopyFields / CopyRows as table operations. (#​491)
  • AC0032 — treat Next as a read operation in the method-operation map. (#​490)
  • FC0006 — no longer flags AccessByPermission values. (#​486)
  • LC0089 — keep compilation-scoped settings out of analyzer instance fields, preventing state bleeding across compilations. (#​501)

📚 Documentation

  • Record the LC0096 / issue #​323 edge case as by-design. (#​503)
  • Correct stale local-TFM and RoslynTestKit statements in the rules files. (#​489)

🔧 Build, CI & internal

  • Enabled static analysis (NetAnalyzers, Roslynator, .editorconfig code style) with every warning promoted to a build error, now blocking on every TFM. This covered a large batch of cleanup: fixing IDE0055/IDE0005, sealing analyzer/CodeFix/CodeAction types (CA1852), aligning override parameter names (CA1725), stripping UTF-8 BOMs, and resolving/suppressing the remaining CA & RCS warnings. (#​472, #​475–#​482, #​484, #​487)
  • Made test reporting fork-safe via an artifact provider and gated releases on the unified report; bumped RoslynTestKit to 1.4.1. (#​378, #​487)
  • Migrated the repo's AI-assistant setup from Copilot instructions to the Claude Code .claude/ layout. (#​470)
  • CI now retries the BC DevTools download and surfaces missing test results, and runs the dotnet format check after the cop builds. (#​471, #​478)

Full changelog: ALCops/Analyzers@v1.1.0...v1.2.0

1.1.0

New Rules

  • FC0005 — Flag method calls written as assignments (#​402)
  • FC0006 — Permission values should be lowercase (#​401)
  • FC0007 — Statement blocks should be separated by a blank line (opt-in) (#​424)
  • LC0097 — Return-flow diagnostic (alongside PC0038) (#​393)
  • LC0098 — Event subscriber name does not match the configured template (#​408)
  • LC0099 — Split unreferenced-parameter rule into LC0095 and LC0099 (#​425)
  • PC0038 — Return-flow diagnostic (alongside LC0097) (#​393)

Bug Fixes

  • AC0011 — Skip Caption check for field controls on HeadlinePart pages (#​450)
  • AC0012 — Remove stray backtick from message format (#​397)
  • AC0032 — Disable rule for objects containing RecordRef database operations (#​448)
  • DC0004 — False positive on procedures in internal interfaces (#​452)
  • DC0005 — Handle <param> tag without name attribute (#​427)
  • FC0007 — Resolve control-flow spacing interactions (#​457)
  • LC0083 — Suppress false positive on FieldRef.Value (#​410)
  • LC0091 — Namespace-aware translation IDs for SDK 18.0.38.52553 (#​391)
  • PC0020/PC0021 — Fire for fields on removed tables (#​445)
  • PC0021 — Strip AppSource mandatory affixes before field name comparison (#​447)
  • PC0030 — Suppress diagnostic when record escapes via exit statement (#​443)
  • PC0035 — CodeFix no longer crashes on unblocked then-branch targets (#​400)
  • PC0035 — Preserve qualified receivers in SetAutoCalcFields CodeFix (#​441)
  • PC0037 — CodeFix no longer fabricates semicolon before else (#​399)
  • Fix missing MessageFormat arguments across multiple analyzers (#​415)

Tests

  • FC0002 — Lock in context-dependent XmlPort casing behavior (#​444)
  • PC0021 — Regression coverage for coincidental glued affix stripping (#​459)
  • LC0054 — Regression for coincidental glued prefix overlap (#​460)

Internal

  • Refactor TranslationIdHelper: encapsulate translation-ID casing workaround (#​412)
  • CI: Support BC29 flat VSIX layout for Analyzers DLL discovery (#​439)

Dependencies

  • Bump actions/cache from 5 to 6 (#​373)
  • Bump actions/setup-dotnet from 5 to 6 (#​413)
  • Bump gittools/actions from 4.5.0 to 4.7.0 (#​387)

1.0.2

Backport release: contains the fixes from v1.0.1 plus:

  • #​391 - fix(LC0091): namespace-aware translation IDs for SDK 18.0.38.52553 (fixes the AD0001/MissingMethodException crash reported in #​419)
  • #​439 - fix(ci): support BC29 flat VSIX layout for Analyzers DLL discovery

This is a hotfix/backport of v1.0.1 for consumers who need the LC0091 fix without moving to the v1.1.0 line. No other changes are included.

Commits viewable in compare view.

Dependabot compatibility score

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

---
updated-dependencies:
- dependency-name: ALCops.Analyzers
  dependency-version: 1.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Sep 12, 2026
@Arthurvdv
Arthurvdv merged commit e44a322 into main Sep 12, 2026
5 checks passed
@Arthurvdv
Arthurvdv deleted the dependabot/nuget/tests/ALCops.Mcp.Tests/ALCops.Analyzers-1.2.0 branch September 12, 2026 09:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant