fix: update Fable.AST to 5.0.0-rc.3 - #700
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the repo to align with the breaking changes in Fable.AST by moving from 5.0.0-beta.3 to 5.0.0-rc.3, adjusting compiler-plugin code for the updated AST shape, and recording the release in package changelogs.
Changes:
- Bump centrally-managed
Fable.ASTto5.0.0-rc.3and update affectedpackages.lock.jsonfiles. - Update compiler plugin code to include the new
Fable.Identfield (IsInlineIfLambda). - Add release entries to package changelogs and update local .NET tooling (Fable + an additional tool).
Reviewed changes
Copilot reviewed 12 out of 13 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/Globals/packages.lock.json | Lockfile updated to resolve Fable.AST 5.0.0-rc.3 for tests. |
| tests/Feliz.CompilerPlugin/packages.lock.json | Lockfile updated to resolve Fable.AST 5.0.0-rc.3 for compiler plugin tests. |
| src/Vitest.ReactTestingLibrary/packages.lock.json | Lockfile updated to resolve Fable.AST 5.0.0-rc.3. |
| src/Vitest.ReactTestingLibrary/CHANGELOG.md | Adds a 1.1.0 release entry referencing the dependency support update. |
| src/Feliz/packages.lock.json | Lockfile updated to resolve Fable.AST 5.0.0-rc.3. |
| src/Feliz/CHANGELOG.md | Adds a 3.2.0 release entry referencing the dependency support update. |
| src/Feliz.CompilerPlugins/ReactComponent.fs | Updates Fable.Ident construction to include IsInlineIfLambda. |
| src/Feliz.CompilerPlugins/packages.lock.json | Direct dependency lockfile updated to Fable.AST 5.0.0-rc.3. |
| src/Feliz.CompilerPlugins/CHANGELOG.md | Adds a 3.1.0 release entry for the Fable.AST bump. |
| src/Feliz.CompilerPlugins/AstUtils.fs | Updates Fable.Ident construction to include IsInlineIfLambda. |
| package-lock.json | Large lockfile churn (peer metadata changes). |
| Directory.Packages.props | Central package version bump for Fable.AST to 5.0.0-rc.3. |
| .config/dotnet-tools.json | Updates Fable tool version and adds dotnet-outdated-tool. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| <ItemGroup> | ||
| <PackageVersion Include="BlackFox.CommandLine" Version="1.0.0" /> | ||
| <PackageVersion Include="Fable.AST" Version="5.0.0-rc.3" /> | ||
| <PackageVersion Include="Fable.Browser.Dom" Version="2.20.0" /> |
There was a problem hiding this comment.
Directory.Packages.props bumps Fable.AST to 5.0.0-rc.3, but multiple committed packages.lock.json files still resolve Fable.AST to 5.0.0-beta.3 (e.g. src/Feliz.Delay/packages.lock.json, playground/src/packages.lock.json, docs/docs/feliz-docs/packages.lock.json). With RestorePackagesWithLockFile=true, restoring will rewrite those lockfiles; please regenerate/commit all affected lockfiles (or scope the change to the projects you intend to update).
|
|
||
| ### 🔄 Changed | ||
|
|
||
| - Update `Feliz.CompilerPlugins` version to support `Fable.AST` to `5.0.0-rc.3` (by @MangelMaxime) |
There was a problem hiding this comment.
Changelog entry wording is grammatically off: “support Fable.AST to 5.0.0-rc.3”. Consider rephrasing to “support Fable.AST 5.0.0-rc.3” or “support Fable.AST v5.0.0-rc.3” to make the release note clearer.
| - Update `Feliz.CompilerPlugins` version to support `Fable.AST` to `5.0.0-rc.3` (by @MangelMaxime) | |
| - Update `Feliz.CompilerPlugins` version to support `Fable.AST` v`5.0.0-rc.3` (by @MangelMaxime) |
|
|
||
| ### 🔄 Changed | ||
|
|
||
| - Update `Feliz.CompilerPlugins` version to support `Fable.AST` to `5.0.0-rc.3` (by @MangelMaxime) |
There was a problem hiding this comment.
Changelog entry wording is grammatically off: “support Fable.AST to 5.0.0-rc.3”. Consider rephrasing to “support Fable.AST 5.0.0-rc.3” or “support Fable.AST v5.0.0-rc.3” to make the release note clearer.
| - Update `Feliz.CompilerPlugins` version to support `Fable.AST` to `5.0.0-rc.3` (by @MangelMaxime) | |
| - Update `Feliz.CompilerPlugins` version to support `Fable.AST` v`5.0.0-rc.3` (by @MangelMaxime) |
| "rollForward": false | ||
| }, | ||
| "dotnet-outdated-tool": { | ||
| "version": "4.7.1", | ||
| "commands": [ | ||
| "dotnet-outdated" | ||
| ], | ||
| "rollForward": false | ||
| } |
There was a problem hiding this comment.
This PR introduces a new local tool (dotnet-outdated-tool). If it’s not required for the Fable.AST/Fable upgrade, consider removing it from this PR (or documenting why it’s needed) to keep the change set focused.
|
As i see it we should:
If you have time, you can do these changes, otherwise i will do it as soon as i can find some time :) |
|
@Freymaurer Thank you for the review.
Done ✅
Will need to be done in a separate PR, because we need the packages on NuGet in order to update the
I don't think it is needed because the migration guide for v3 already says to use the latest version of Fable.
|

Hello,
There is a breaking change in Fable.AST requiring a new release of the packages.
I tried to identify how
CHANGELOG.mdworks and also tried to decide of the next version computed.Can you please check that I did it correctly?