Fable Versions Save

F# to JavaScript, TypeScript, Python, Rust and Dart Compiler

4.5.0

7 months ago

Changed

Python

  • Use Any type for all non-repeated generic arguments (by @dbrattli)
  • Don't generate unnecessary type type-vars if generic type is replaced by Any (by @dbrattli)
  • Generate new style _T | None instead of Optional[_T] (by @dbrattli)

Rust

  • Support multiple namespaces sharing a prefix in the same file (by @ncave)
  • Support imports with the same namespace across multiple files (by @ncave)

Fixed

JavaScript

  • Fix #3571: [<AttachMembers>] not compatible with f# member this.Item (by @ncave)

4.4.1

8 months ago

Changed

All

  • Fix #3567: Turn off FCS warning 3560 by default (by @vzarytovskii)

Fixed

Rust

  • Fixed recursive lambda captured idents cloning (by @ncave)

4.4.0

8 months ago

Changed

All

JavaScript

  • Support (un)curry up to 20 arguments (by @MangelMaxime)

Python

  • Remove support for Python 3.9. Add GH testing for Python 3.12 (by @dbrattli)
  • Support (un)curry up to 20 arguments (by @MangelMaxime)

Dart

  • Support (un)curry up to 20 arguments (by @MangelMaxime)

4.3.0

8 months ago

Added

Python

  • Added Async.StartChild (by @dbrattli)
  • Fix #3482: Revert removal of Py.python and Py.expr_python (by @dbrattli)

Changed

JavaScript

  • Improve error messages for Decimal.Parse, Double.Parse, Int32.Parse, Long.Parse (by @ncave)

Rust

  • Improve error messages for BigInt.Parse, DateOnly.Parse, DateTime.Parse, DateTimeOffset.Parse, Decimal.Parse, TimeOnly.Parse (by @ncave)

Python

  • Improve error messages for Double.Parse, Int32.Parse, Long.Parse (by @ncave)
  • Refactored async trampoline leveraging asyncio mainloop. (by @dbrattli)

Fixed

JavaScript

  • Fix #3541: Interface imported in generated javascript when DU has an interface type constraint (by @ncave)

Python

  • Fixed Async.Parallel (by @dbrattli)

4.2.2

8 months ago

Fixed

  • [Python] Fix #3527: Fix error name '...' is not defined (by @dbrattli)
  • [Python] Fix #3496: Python target is confused with class taking a length: int argument (by @dbrattli)

4.2.1

9 months ago
  • Fix package to include Fable libraries folders

4.2.0

9 months ago
  • Fix #3480: Function decorated with [<NamedParams>] without arguments provided should take an empty object

  • Fix #3494: Calling an attached parametrized getter fails in transpiled javascript

  • Remove fable-py support

  • Fix #3461: Don't default to javascript if the language requested by the user is unknown (help detect typo)

  • Improve --help message for the --lang section

  • Fix #3464: Invalidate cache when the target language changes

  • Always delete the fable_modules folder when the cache is invalidated

  • Remove --typescript options support, use --lang <target> instead

  • Fix #3441: Don't ignore error when loading plugin

  • Fix #3482: Remove Py.python and Py.expr_python use emitPyStatement and emitPyExpr instead

  • Restrict replacements to accept only functions from their target language module

  • Fix #3528: Consider functions hidden by a signature file as private (@nojaf)

  • Improve error message when Fable doesn't find the fable-library folder.

    This is especially useful when working on Fable itself, and should save time to others. Each time I got this is error, I needed several minutes to remember the cause of it.

4.1.4

1 year ago
  • Fix #3438: Source maps
  • Fix #3440: Don't curry arity-1 functions
  • Fix #3452: DateTimeOffset conversion to DateTime
  • Fix regression: Don't type test interfaces declared in F# code
  • Rust: Added no_std test build
  • Rust: Added regex support
  • Rust: Fixed no_std support
  • Rust: Fixed uncurried options
  • Rust: Enabled some applicative tests
  • Rust: Enabled some tests
  • Rust: Updated switch transform (#3449)
  • Rust: Updated dependencies (#3447)
  • Rust: Fixed interface properties (#3445)
  • Rust: Updated object equality (#3444)
  • Rust: Enabled some Comparison tests (#3442)
  • Rust: Added DateOnly, TimeOnly tests
  • Rust: Added DateTimeOffset tests
  • Rust: Updated TimeSpan
  • Rust: Added DateTimeOffset

3.7.22

1 year ago
  • Fix typo in error message when using Fable 3 from .NET 7 @MangelMaxime

3.7.21

1 year ago
  • Fix #3441: Don't ignore error when loading plugin @MangelMaxime
  • PR #3448: Prevent Fable 3 to hang if called from .NET 7 @MangelMaxime
  • Move Fable 3 to .NET 6 @MangelMaxime