Closed MangelMaxime closed 2 days ago
@MangelMaxime IMO staying with FableMinimumVersion = "4.0" makes sense, since Fable AST hasn't changed (so # 2 above).
I forgot to mention it, but I am also in favour of # 2.
5.0.0-alpha.1
is a different notation to how the 4.0.0-theta-018
was used in the past.
Regex over at https://github.com/fable-compiler/Fable/blob/04f23a0dbaa01418fe8581ef7c236d8d47273e07/src/Fable.Transforms/Global/Compiler.fs#L102-L124 probably no longer matches.
@nojaf
probably no longer matches.
No, that Regex just matches the version parts, should be ok, see #3963.
Description
When releasing Fable 5.0.0-alpha.1, the tests didn't capture the fact that upgrading Fable version would make Fable 4 plugins not supported.
This happened because when running the tests, we don't upgrade Fable internal version so it was still checking against version 4.24.0
Solutions
We ask Fable plugins to upgrade their
FableMinimumVersion
to5.0
.Pro we don't need to do anything on Fable side.
Cons this will create a new shift in Fable ecosystem, because then Feliz will need to create a new major version. Which could cause a cascade of upgrade needed for others packages that depends on it.
The problem is that package authors are not as active as before, so this cascade change can take some time.
We adapt Fable logic to allows plugins requesting
FableMinimumVersion = "4.0"
to works with Fable 5.Pro Fable compiler plugins and others NuGet packages depending on them will need to do nothing. This seems also more aligned with the name of the property
FableMinimumVersion
. It says minimum version and not major version.Cons we will start to make custom logic allowing to support different span of Fable compiler plugins. This would allows us to say as long as Fable.AST stay stable we can support the same plugin for Fable 4, 5, 6, etc.
This question also if we should not have used the version of Fable.AST assembly (I think .NET as version info in the assembly) instead of an arbitrary
FableMinimumVersion
property.What do you think @ncave @dbrattli ?