Skip to content

Releases: fable-compiler/Fable

4.17.0

23 Apr 14:10
Compare
Choose a tag to compare

Added

  • [Rust] Added support for XmlDoc comments (by @ncave)
  • [Rust] Support captures in object expressions (by @ncave)
  • [Rust] Added type extensions support (by @ncave)
  • [Rust] Added Char implementation module (by @ncave)

Fixed

  • [Python] Fixes for custom hash values (#3796) (by @dbrattli)
  • [Python] Fix for import of camelCased class (#3808) (by @dbrattli)
  • [JS/TS] Fixed optional args for reflection (by @ncave)
  • [JS/TS] Fixed type visibility when parent is namespace (by @ncave)
  • [JS/TS] Fixed DateTimeOffset.ToString with custom format (by @ncave)
  • [Rust] Fixed property get on constrained generic types (by @ncave)
  • [Rust] Fixed module member imports (by @ncave)

4.16.0

20 Mar 08:51
Compare
Choose a tag to compare

Added

  • [JS/TS] Add ConditionalWeakTable (by @chkn)

4.15.0

18 Mar 09:29
Compare
Choose a tag to compare

Fixed

  • [JS/TS] Fixed DateTime.Add for DateTimeKind.Unspecified (by @ncave)
  • [Rust] Fixed deprecated NaiveDateTime usage in DateTime (by @ncave)
  • [Rust] Fixed generic interface implementation types (by @ncave)
  • [Rust] Fixed Dictionary constructor from IEnumerable (by @ncave)
  • [Rust] Fixed Seq.cast support for arrays and lists (by @ncave)
  • [JS/TS] Boolean.tryParse should not crash on null string (@goswinr)

Added

  • [Rust] Added some boxing support (by @ncave)

4.14.0

01 Mar 08:43
Compare
Choose a tag to compare

Changed

Fixed

  • GH-3769 [All] Local plugin build does not run indefinably. (by @nojaf)
  • GH-3769 [JS/TS] Types hidden by signature files should not be exported. (by @nojaf)
  • GH-3772 [JS/TS] Re-implement DateTime.ToString custom format handling (by @MangelMaxime)
    It now supports all custom format specifiers, and behave as if CultureInfo.InvariantCulture was used (Fable does not support Globalization).
  • GH-3772 [JS/TS] Make compilation fails if calling DateTime constructor with microseconds (by @MangelMaxime)
    JavaScript Date does not support microseconds, we need to wait for Temporal to be widely supported before reconsidering this.
  • GH-3773 [Python] Fix DateTime custom format fffffff and FFFFFFF (by @MangelMaxime)

4.13.0

20 Feb 20:26
Compare
Choose a tag to compare

Added

JavaScript

Rust

  • GH-3761 Added StringBuilder.Chars, StringBuilder.Remove and tests. (by @ncave)

Dart

Changed

JavaScript

  • GH-3761 Updated StringBuilder to remove allocations where possible. (by @ncave)

Python

  • GH-3761 Updated StringBuilder to remove allocations where possible. (by @ncave)

Fixed

JavaScript

Python

  • GH-3761 Fixed incorrect StringBuilder.Remove implementation. (by @ncave)

4.12.2

13 Feb 09:29
Compare
Choose a tag to compare

Changed

  • Update to Fable.AST 4.4.0

4.12.1

13 Feb 08:13
Compare
Choose a tag to compare

Fixed

JavaScript

4.12.0

12 Feb 21:54
Compare
Choose a tag to compare

Added

All

  • GH-3733 GH-3727 Add support for more Result API (by @zprobinson)
    • Result.isOk
    • Result.isError
    • Result.Contains
    • Result.Count
    • Result.DefaultValue
    • Result.DefaultWith
    • Result.Exists
    • Result.Fold
    • Result.FoldBack
    • Result.ForAll
    • Result.Iterate
    • Result.ToArray
    • Result.ToList
    • Result.ToOption
  • GH-3721 Add --test:MSBuildCracker flag allowing to use the experimental MSBuildCracker (by @nojaf)

JavaScript

  • GH-3745 Add support for ListCollector (by @nojaf)
    • instance.Add
    • instance.AddMany
    • instance.AddManyAndClose
    • instance.Close

Changed

JavaScript

Removed

JavaScript

  • Remove Choice.d.ts from source code of fable-library (by @MangelMaxime)

TypeScript

  • Remove Choice.d.ts from source code of fable-library (by @MangelMaxime)

Fixed

Python

  • GH-3717 Nested type with Custom Equality gives false negative equality (by @dbrattli)
  • Generate assert statements for assert expressions in debug mode (by @dbrattli)

All

  • GH-3744 Fix behaviour when passing --verbose to be consistent with behaviour before changing the logging library (by @nojaf)

4.11.0

30 Jan 08:42
Compare
Choose a tag to compare

Changed

All

  • GH-3719 Restore dependencies against the .fsproj after evaluating the fable-temp.csproj file (Improves IDE supports) (by @MangelMaxime)
  • Don't delete fable_modules when re-evaluating the project file after a changes has been detected (Improves HMR experience) (by @MangelMaxime)

Fixed

All

JavaScript

  • GH-3716 System.Array.Resize: also handle the case where the array is null (by @chkn)

4.10.0

25 Jan 07:47
Compare
Choose a tag to compare

Added

Python

  • GH-3663 Complete rewrite of DateTime supports (by @MangelMaxime)
    Special thanks to @dbrattli and @ncave for their help

    • Constructors
      • From (year, month, day) up to (year, month, day, hour, minute, second, millisecond, microsecond) (with and without DateTimeKind)
      • From ticks (with and without DateTimeKind)
    • Instance methods:
      • dt.Year
      • dt.Month
      • dt.Day
      • dt.Hour
      • dt.Minute
      • dt.Second
      • dt.Millisecond
      • dt.Microsecond
      • dt.ToUniversalTime
      • dt.DayOfWeek
      • dt.DayOfYear
      • dt.ToShortDateString
      • dt.ToShortTimeString
      • dt.ToLongDateString
      • dt.ToLongTimeString
      • dt.ToString
      • dt.ToLocalTime
      • dt.Date
      • dt.AddYears
      • dt.AddMonths
      • dt.AddDays
      • dt.AddHours
      • dt.AddMinutes
      • dt.AddSeconds
      • dt.AddMilliseconds
      • dt.AddMicroseconds
      • dt.Kind
    • Static methods:
      • DateTime.Today
      • DateTime.Now
      • DateTime.Now
      • DateTime.UtcNow
      • DateTime.MinValue
      • DateTime.MaxValue
      • DateTime.Parse
      • DateTime.TryParse
      • DateTime.SpecifyKind

JavaScript

Changed

All

Dart

Fixed

All

  • Fixed function composition types (by @ncave)
  • GH-3668 Normalize fable-library argument (by @nojaf)
  • GH-3682 Support some custom unary math operors (Acos, Asin, Atan, Atan2, Cos, Cosh, Exp, Log, Log2, Log10, Sin, Sinh, Sqrt, Tan, Tanh) (by @PierreYvesR)
  • GH-3603 Port back fixes for missing .gitignore file in the generated fable_modules/ folder (by @MangelMaxime)
  • GH-3684 Re-compile files from fable_modules after changing the project file in watch mode (by @OrfeasZ)

Javascript

  • Fixed 'System.Collections.Generic.Queue' bug (by @PierreYvesR)
  • Fixed instance calls for generic comparers (by @ncave)

Python

JavaScript

  • Fix DateTime.Parse when providing a 1 digit hour for PM times (3:5:34 PM) (by @MangelMaxime)

Rust

  • Fixed unary negation for signed integer MinValue (by @ncave)
  • Fixed excluding signature files from imports (by @ncave)
  • Fixed generic try_catch closure trait (by @ncave)
  • Fixed self arg capture in methods (by @ncave)
  • Fixed 'System.Collections.Generic.Queue' bug (by @PierreYvesR)
  • Added support for generic comparers (by @ncave)