Fable Versions Save

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

4.12.2

4 months ago

Changed

  • Update to Fable.AST 4.4.0

4.12.1

4 months ago

Fixed

JavaScript

  • Embed fable-library-js in Fable DLL (by @MangelMaxime)

4.12.0

4 months ago

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

  • GH-3749 Rename fable-library to fable-library-js (by @MangelMaxime)

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

5 months ago

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

  • GH-3723 Fix logger initialisation to allow --version to work (by @MangelMaxime)

JavaScript

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

4.10.0

5 months ago

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

  • GH-3715 Add support for System.Array.Resize (by @chkn)

Changed

All

  • GH-3671 Use Microsoft.Extensions.Logging (by @nojaf)
  • GH-3634 Suffix temporary csproj with .fable-temp.csproj and include a comment in the file (by @MangelMaxime)

Dart

  • Fix DateTime.DayOfWeek (by @MangelMaxime)

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

  • Fixed nested type with custom hashcode (by @dbrattli)
  • Add 'Double.IsPositiveInfinity' (by @PierreYvesR)
  • GH-3666 Fix for DateTime and TimeSpan addition (by @dbrattli)
  • GH-3663 Fix DateTime.Parse and DateTime.TryParse (by @MangelMaxime)

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)

4.9.0

6 months ago

Fixed

Python

  • GH-3655 Fix for Python output file names (by @dbrattli)
  • GH-3660 Fix for decimal to string with culture (by @dbrattli)

4.8.1

6 months ago

Fixed

All

  • Fix the version reported by Fable (@MangelMaxime)

4.8.0

6 months ago

Added

Python

  • GH-3645 Add TimeSpan.Parse and TimeSpan.TryParse support to Python (by @MangelMaxime)
  • GH-3649 Fixes for List.sortBy (by @dbrattli)
  • GH-3638 Fixes for Array.sort and Array.sortDescending (by @dbrattli)

Fixed

JavaScript

  • GH-3465 Fix string.IndexOfAny (by @pkese)

Python

  • GH-3465 Fix string.IndexOfAny (by @pkese)

Changed

All

4.7.0

6 months ago

Added

All

  • Overall performance improvements
    • GH-3620 Removed double-dictionary lookups (by @Thorium)
    • GH-3624 Add G-Research analyzers and fix reported issues (by @nojaf)

Fixed

All

  • GH-3603 Missing .gitignore file in the generated `fable_modules/`` folder (by @MangelMaxime)

Python

  • GH-3617: Fix comparaison between list option when one is None (by @mangelmaxime)
  • GH-3615: Fix remove from dictionary with tuple as key (by @dbrattli)
  • GH-3598: Using obj () now generated an empty dict instead of None (by @dbrattli)
  • GH-3597: Do not translate .toString methods to str (by @dbrattli)
  • GH-3610: Cleanup Python regex handling (by @dbrattli)
  • GH-3628: System.DateTime.Substract not correctly transpiled (by @dbrattli)
  • GH-3640: All union cases return the same hash code (by @dbrattli)

4.6.0

7 months ago

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)