Only the features that makes sense in the context of Fable are listed here.
Since the end of November, we have been working on Fable 5.
We need your help to test it and report any issues you may find.
You can install the latest alpha version of Fable by running the following command:
# This is only necessary if you haven't installed any dotnet tool yet in the directory
dotnet new tool-manifest
dotnet tool install fable --prerelease
Compatibility with Fable 4
Fable 5 is compatible with Fable 4 projects, except that it is now a net8.0
tool.
A new project cracker
Being a net8.0
tool gives us access to MSBuild for cracking your projects. Most of the work has been done by Florian Verdonck. During the last year, the new cracker has been successfully tested against several projects, and for this reason, it is now the default.
If you encounter any issues, you can fall back to the old cracker by passing --legacyCracker
to the fable
command. But please, report the issue to us.
F# 9 support
Below is the status of F# 9 features supported by Fable 5:
Feature | Status | Tracking issue |
---|---|---|
Nullable reference types | π§ | Discussion happening at #3887 |
Discriminated union .Is* properties | β οΈ | TypeScript not fully supported (#3982) |
Partial active patterns can return bool instead of unit option | β | |
Empty-bodied computation expressions | β | |
Updates to the standard library (FSharp.Core) | π§ |
Legend:
- π§ - Not yet supported
- β οΈ - Limited support
- β - Supported
Future development
Because we are a small team, we have decided to focus our efforts on Fable 5.
This means that all new bug fixes and features will be added to Fable 5 and not Fable 4. In fact, Fable 5 is likely stable enough to be released, but we prefer to wait a little longer, because we donβt want to break your project for Christmas π.