Skip to content

Releases: fable-compiler/Fable

4.8.0

12 Dec 21:06
Compare
Choose a tag to compare

Added

Python

Fixed

JavaScript

Python

Changed

All

4.7.0

06 Dec 15:18
Compare
Choose a tag to compare

Added

All

  • Overall performance improvements

Fixed

All

Python

4.6.0

27 Nov 09:40
Compare
Choose a tag to compare

Added

All

  • Fix #3584: Unit type compiles to undeclared variable (by @ncave)

Python

  • Support DateTime(..., DateTimeKind.Utc).ToString("O") (by @MangelMaxime)

Rust

  • Added Guid.TryParse, Guid.ToByteArray (by @ncave)

Changed

All

  • Updated .NET metadata to 8.0.100 (by @ncave)

Fixed

Python

  • Fixed char to string type regression with binary operator (by @dbrattli)
  • Fix DateTime(..., DateTimeKind.Local).ToString("O") (by @MangelMaxime)
  • Fix calling value.ToString(CultureInfo.InvariantCulture) (by @MangelMaxime)
  • Fix #3605: Fix record equality comparison to works with optional fields (by @MangelMaxime and @dbrattli)
  • PR #3608: Rewrite time_span.py allowing for better precision by using a number representation intead of native timedelta. (by @MangelMaxime)

4.5.0

07 Nov 14:30
Compare
Choose a tag to compare

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

25 Oct 17:44
Compare
Choose a tag to compare

Changed

All

Fixed

Rust

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

4.4.0

24 Oct 18:52
Compare
Choose a tag to compare

Changed

All

JavaScript

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

4.3.0

18 Oct 08:56
Compare
Choose a tag to compare

Added

Python

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

4.2.2

14 Oct 12:33
Compare
Choose a tag to compare

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

29 Sep 09:45
Compare
Choose a tag to compare
  • Fix package to include Fable libraries folders

4.2.0

29 Sep 09:07
Compare
Choose a tag to compare
  • 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.