Skip to content

Releases: fable-compiler/Fable

5.0.0-alpha.18

03 Dec 10:02

Choose a tag to compare

5.0.0-alpha.18 Pre-release
Pre-release

Fixed

  • [Python] Fix record member method naming (by @dbrattli)
  • [Python] Fix regression, named arguments not being converted to snake_case (by @dbrattli)
  • [Python] Fix regression, erased interfaces should not generate code (#4277) (by @dbrattli)

Changed

  • [Rust] Update fable-library-rust dependencies (by @ncave)
  • [All] Update TargetFramework to net10.0 (by @ncave)
  • [All] Update FCS to latest (commit cfda5f6) (by @ncave)

5.0.0-alpha.17

27 Nov 14:23

Choose a tag to compare

5.0.0-alpha.17 Pre-release
Pre-release

Changed

  • [Python] fable-library for Python is now distributed via PyPI instead of being bundled in the NuGet package (by @dbrattli)

5.0.0-alpha.16

25 Nov 22:11

Choose a tag to compare

5.0.0-alpha.16 Pre-release
Pre-release

Fixed

Changed

  • [All] Invoke MSBuild from Fable current working directory (by @cr3wdayt5p)

4.28.0

25 Nov 22:04
7243111

Choose a tag to compare

Fixed

5.0.0-alpha.15

19 Nov 10:58

Choose a tag to compare

5.0.0-alpha.15 Pre-release
Pre-release

Added

  • [TS] Added support for erasableSyntaxOnly in TypeScript (by @ncave)
  • [All] Added some default System exception implementations (by @ncave)
  • [All] Added ofOption/toOption/ofValueOption/toValueOption (by @ncave)
  • [Python] Added Decorate attribute to add Python decorators to classes (by @dbrattli)
  • [Python] Added ClassAttributes attribute to control Python class generation (@dbrattli)
  • [Python] Added support for Python 3.14 (by @dbrattli)

Changed

  • [JS/TS] Replace the deprecated substr method with slice (by @Thorium)

Fixed

  • [TS] Fix ObjectExpr tests with multiple interfaces (by @ncave)
  • [TS] Fix ObjectExpr abstract base constructor type (by @ncave)
  • [JS/TS] Fix #4240 Missing DateTime constructor (by @ncave)
  • [PHP] Fix php import extensions (by @MangelMaxime)
  • [TS] Fix #3973 Typescript imports file extension (by @ncave)
  • [TS] Fix support for abstract classes and members (by @ncave)
  • [TS] Fix getters, setters, indexers in interfaces (by @ncave)
  • [TS] Enable typedArrays flag usage for TypeScript (by @ncave)
  • [All] Fix #4221 Fable.Type union case arg names (by @ncave)
  • [All] Erase Nullable Reference Types to inner type (by @ncave)
  • [Python] Improve Python (e.g. Pydantic) interop (by @dbrattli)
  • [JS/TS] Fix comparers for non-nullable types (by @ncave)
  • [Rust] Fix curried object expression getters (by @ncave)
  • [Rust] Fix compiler-generated generic args (by @ncave)
  • [All] Fixed #4041 missing unit argument (by @ncave)
  • [JS/TS/Python] Fixed eq comparer mangling (by @ncave)
  • [All] Fix all BitConverter return types (by @ncave)
  • [TS] Don't cast union case types to any (by @ncave)
  • [JS/TS] Fix Dictionary.ICollection.Remove (by @ncave)
  • [TS/Dart] Fixed optional parameter types (by @ncave)
  • [TS] Initialize un-initialized variables (by @ncave)
  • [JS/TS] Replace Error with Exception (by @ncave)
  • [All] Fix MSBuildResolver to include define when restoring the project (by @MangelMaxime)

5.0.0-alpha.14

25 Jul 18:57

Choose a tag to compare

5.0.0-alpha.14 Pre-release
Pre-release

Added

  • [Python] Support for Nullable Reference Types (by @dbrattli)
  • [JS/TS] Fix #3533: Add directives prologues supports (by @MangelMaxime)
  • [JS/TS] Support for Nullable Reference Types (by @ncave and @MangelMaxime)
  • [Rust] Initial support for Nullable Reference Types (by @ncave)

Changed

  • [Python] Use Python 3.12 type parameter syntax. Deprecate Python 3.10 and 3.11 (by @dbrattli)
  • [Python] Records now snake-cases all member fields (by @dbrattli)
  • [Python] Anonymous records now preserves the casing of member fields (by @dbrattli)
  • [Python] Option type is now Option[T] instead of T | None (by @dbrattli)
  • [Python] Use uv instead of Poetry for package management (by @dbrattli)
  • [Python] Fable Library for Python is now partially written in Rust (by @dbrattli)
  • [All] Improve filewatcher error messages (by @goswinr)

Fixed

  • [Python] Fixed static properties and are now translated as Python class attributes (by @dbrattli)
  • [Python] Fixed DateTime with DateTimeKind generates proper enum reference (#3689) (by @dbrattli)
  • [Python] Fixed Dictionary KeyValuePair enumeration when casting to IEnumerable (#3771) (by @dbrattli)
  • [Python] Fixed createEmpty<T> for interfaces using SimpleNamespace with type casting (#3604) (by @dbrattli)
  • [Python] Fixed EmitMethod + ParamObject losing keyword arguments (#3871) (by @dbrattli)
  • [Python] Fixed EmitConstructor + ParamObject losing keyword arguments (#3871) (by @dbrattli)
  • [Python] Fixed DateTimeOffset.TryParse, ToString() and Offset property access (#3854) (by @dbrattli)
  • [Python] Fixed anonymous records in Maps causing comparison errors (#3869) (by @dbrattli)
  • [Python] Fixed handling of erased types for Python (#3968) (by @dbrattli)
  • [Python] Fixed unit function (zero arguments functions) are transpiled inconsistently (#4126) (by @dbrattli)
  • [Python] Fixed resource managers with empty body (#3912) (by @dbrattli)
  • [Python] Fixed Async.Sleepto handle TimeSpan correctly (#4137) (by @dbrattli)
  • [Python] Make sure snake-cased Record do not conflict (by @dbrattli)
  • [Python] Do not return None | None for optional unit types (#4127) (by @dbrattli)
  • [JS/TS] JSX : Alias empty CEs list to null when encountered in the children list (by @MangelMaxime)
  • [JS/TS] JSX : Allow usage of unbox when definining properties for JSX.create (by @MangelMaxime)

4.26.0

14 Jul 12:50

Choose a tag to compare

Changed

  • [All] Fix #4176: Move TargetFramework to net8.0 (@ncave)

5.0.0-alpha.13

04 May 08:42

Choose a tag to compare

5.0.0-alpha.13 Pre-release
Pre-release

Fixed

  • [Python] Fixed testing with interfaces leads to incorrect pattern match (#3972) (by @dbrattli)
  • [Python] Fixed error when type contains multiple generic type parameters (#3986) (by @dbrattli)
  • [Python] Fixed import path handling for libraries (#4088) (by @dbrattli)
  • [Python] Reenable type aliasing for imports with name "*" (by @Freymaurer)
  • [JS/TS] Optimise JSX output in order to avoid F# list CEs to surface in it (by @MangelMaxime)

Removed

  • [All] Remove unused Fable.Core copy types from internal module (by @MangelMaxime)

4.25.0

26 Apr 15:38

Choose a tag to compare

Fixed

  • [JS/TS] Propagate non-captured exception when running Async.Start or Async.StartImmediate (by @MangelMaxime)
  • [JS/TS] Report an error at compilation time when trying to use Async.RunSynchronously (by @MangelMaxime)

5.0.0-alpha.12

14 Mar 21:37

Choose a tag to compare

5.0.0-alpha.12 Pre-release
Pre-release

Added

Fixed

  • [JS/TS] Make nullArgCheck report the same error message as on .NET (by @MangelMaxime)
  • [TS] Sanitize DUs case names when generating constructor function (by @MangelMaxime)
  • [All] Don't print help message on failed compilation (by @MangelMaxime)
  • [JS] Don't generate an import statement for pojos defined in another file (by @shayanhabibi)