Skip to content

Bump fsharp-analyzers from 0.39.2 to 0.41.0 - #145

Closed
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/nuget/dot-config/fsharp-analyzers-0.41.0
Closed

dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/nuget/dot-config/fsharp-analyzers-0.41.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Updated fsharp-analyzers from 0.39.2 to 0.41.0.

Release notes

Sourced from fsharp-analyzers's releases.

0.41.0

0.41.0

Added

  • A run where a project or script does not type check no longer looks clean outside the log. The SARIF report lists every type error as a toolExecutionNotifications entry and sets executionSuccessful to false. Pass --fail-on-type-errors to also exit with code -5 (TypeCheckFailed) in that case. The switch is opt-in, so a run that analyzes before building keeps its exit code. A #load or #r in a script that cannot be resolved counts as a type error too.

Changed

  • Breaking: Client.RunAnalyzersSafely is now Client.RunAnalyzers, and the old Client.RunAnalyzers, which only returned the messages, is gone. It hid an analyzer that threw in the log, so a caller could not tell its messages were missing. RunAnalyzers returns an AnalysisResult per analyzer and does not throw. To get only the messages, collect the Ok outputs.
  • Breaking: AnalysisResult.Output is now Result<AnalyzerMessage list, exn> instead of Result<Message list, exn>, so a caller keeps the name, help link and short description of the analyzer behind each message. Read .Message on each item to get the Message as before.
  • An error from loading a script, such as a #load that cannot be resolved, is no longer logged at error level as Script ... has a diagnostic. It is logged with the type errors, as a warning under did not type check, and each type error now names its file and error code. A warning from loading a script is still logged as Script ... has a diagnostic, but at warning level instead of error level.

Fixed

  • File paths in the SARIF report and in --output-format github are relative to the code root. Without a trailing separator on --code-root (or the current directory, its default), every path started with the name of the code root directory, such as repo/src/A.fs instead of src/A.fs. A code root with a trailing separator is unaffected. GitHub code scanning re-creates open alerts once at the corrected paths, because it ties an alert to its file path.
  • --warnaserror, which TreatWarningsAsErrors passes to the compiler, is ignored when type checking for the analyzers, so a warning no longer counts as a type error.
  • An analyzer that throws no longer crashes the CLI. Its exception is logged, the other analyzers keep their messages, the SARIF report lists the failure as a toolExecutionNotifications entry with executionSuccessful set to false, and the CLI exits with -4 (AnalysisAborted). Previously the run stopped with exit code 22, without a SARIF report and without the messages of the other analyzers.
  • An analyzer written as a function that throws before it returns its Async now reports its own exception, instead of a TargetInvocationException with the message Exception has been thrown by the target of an invocation.

Special thanks to @​nojaf!

https://www.nuget.org/packages/FSharp.Analyzers.SDK/0.41.0
https://www.nuget.org/packages/FSharp.Analyzers.SDK.Testing/0.41.0
https://www.nuget.org/packages/fsharp-analyzers/0.41.0

0.40.0

0.40.0

Changed

  • Breaking: Update FSharp.Compiler.Service to 43.12.402 and FSharp.Core to 10.1.402. FSharp.Compiler.Service is not binary compatible between releases, so analyzers built against 0.39 need to be rebuilt.
  • FSharp.Compiler.Service is now pinned to an exact version, like FSharp.Core already was. NuGet now warns (NU1608) when an analyzer project resolves a newer FSharp.Compiler.Service than the SDK was built with, instead of accepting it silently.

Fixed

  • InlineAnnotation is AlwaysInline again for inline values from assemblies built with F# 4.7 or older (dotnet/fsharp#​20260).
  • An analyzer assembly with a dependency that cannot be loaded, such as a newer FSharp.Compiler.Service than the tool ships, is now skipped with an error. Previously the FileNotFoundException crashed the run and no analyzer ran at all.

https://www.nuget.org/packages/FSharp.Analyzers.SDK/0.40.0
https://www.nuget.org/packages/FSharp.Analyzers.SDK.Testing/0.40.0
https://www.nuget.org/packages/fsharp-analyzers/0.40.0

Commits viewable in compare view.

@dependabot
dependabot Bot requested review from AtwoodTM and jbtule as code owners October 26, 2026 05:54
@dependabot dependabot Bot added the dependencies Dependabot and dependency updates label Oct 26, 2026
@dependabot
dependabot Bot force-pushed the dependabot/nuget/dot-config/fsharp-analyzers-0.41.0 branch from 82b31e4 to c308a0c Compare October 30, 2026 03:28
---
updated-dependencies:
- dependency-name: fsharp-analyzers
  dependency-version: 0.41.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/nuget/dot-config/fsharp-analyzers-0.41.0 branch from c308a0c to c1109ca Compare October 30, 2026 03:31
@AtwoodTM

Copy link
Copy Markdown
Collaborator

Superseded by #149. Ionide.Analyzers 0.20.0 and fsharp-analyzers 0.41.0 have to land together, and the lock file has to keep the net10.0 graph. Closing this once #149 is green.

@AtwoodTM

Copy link
Copy Markdown
Collaborator

Closed in favor of #149, which lands Ionide.Analyzers 0.20.0 and fsharp-analyzers 0.41.0 together with a lock file that keeps net10.0.

@AtwoodTM AtwoodTM closed this Oct 30, 2026
@dependabot @github

dependabot Bot commented on behalf of github Oct 30, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/nuget/dot-config/fsharp-analyzers-0.41.0 branch October 30, 2026 03:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependabot and dependency updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant