Changelog

September 12, 2026 ยท View on GitHub

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

2.7.1 - 2026-09-11

๐Ÿž Bug Fixes

  • (js/ts) Keep the sign of negative decimals below 0.1 (91d80f18)
  • (js/ts) Respect the precision when formatting decimals below 0.1 (1c02557e)
  • (js/ts) Omit the decimal sign when the rounded result is zero (ef63087d)

View changes on Github

2.7.0 - 2026-09-08

๐Ÿš€ Features

  • Add Temporal dates and times (opt-in) (#4759) (3e8f56f7)

๐Ÿž Bug Fixes

  • (js/ts) Match .NET for G, E and custom numeric formats (6fb03090)
  • (js/ts) Allow the E format specifier on Int64 and UInt64 (c49d1ec5)

View changes on Github

2.6.0 - 2026-09-03

๐Ÿš€ Features

  • (all) Quotations: DerivedPatterns, and captured locals as Value nodes (#4919) (fae5093f)

๐Ÿž Bug Fixes

  • (all) Emit instance calls for virtual methods inherited from Object (#4926) (2fb535a7)

View changes on Github

2.5.1 - 2026-07-24

๐Ÿž Bug Fixes

  • (js/ts,python) Inline Option/ValueOption combinators to avoid closures and allocations (#4836) (61cac646)

View changes on Github

2.5.0 - 2026-07-15

๐Ÿš€ Features

  • (js/ts) Add System.IO.Directory support (Exists, CreateDirectory) (#4798) (6568f35e)
  • (js/ts/python/beam) Preserve member calls and pattern matches in quotations (#4780) (55482e6b)

View changes on Github

2.4.2 - 2026-07-11

๐Ÿž Bug Fixes

  • (js/ts) Async cancellation propagation and continuation double-resolve (#4746) (c78a9a8e)
  • (js/ts) Date arithmetic: PM parsing, AddMonths day clamp, AddYears offset (#4744) (be0558eb)
  • (js/ts) Int64 non-decimal parsing and BitConverter .NET mismatches (#4748) (2704d9c5)

View changes on Github

2.4.1 - 2026-07-09

๐Ÿž Bug Fixes

  • MailboxProcessor dropping falsy messages and unit replies (8299b2e7)
  • (all) Add Seq.enumerateTryWith for try/with in seq, list, array comprehensions (#4750) (448c90d7)
  • (js/ts) Match .NET NaN semantics in JS comparison, min and max (7e5106f9)
  • (js/ts) BigInteger byte-array corruption, checked conversions, gcd, log2 (#4743) (f3cb7f2b)
  • (js/ts) Observable/Event dropping null/undefined/unit values (#4742) (75bff73b)
  • (js/ts) EndsWith regression for empty pattern with non-ordinal comparison (7793ed7b)
  • (js/ts/python) Quote strings with the %A format specifier (#4749) (75321f3b)
  • (ts/js) Regex.Replace count/substitutions and Regex.Split semantics (#4741) (d6ae6bd3)

View changes on Github

2.4.0 - 2026-07-05

๐Ÿš€ Features

  • (js/ts) Add System.IO.Path and System.IO.File API support (ec99fac5)
  • (js/ts/python) Add Environment and Console.Error support (6e082f95)

๐Ÿž Bug Fixes

  • (js/ts) DateTime.ToString() and %A are now consistent across all DateTimeKind values (#4714) (de98b0e4)

View changes on Github

2.3.0 - 2026-06-30

๐Ÿš€ Features

  • (js/ts) Map task { } to Promise (97f54d36)
  • (js/ts/python/beam) Add support for Async.AwaitEvent (#4693) (71c98179)

๐Ÿž Bug Fixes

  • (js) Respect StringComparison in String.IndexOf/LastIndexOf (#4681) (7cb92d52)
  • (js/ts) Int list is not a union type (#4698) (ecbecbe7)
  • (js/ts) Pass TypeInfo to getRecordFields to handle None fields in anonymous records (#4704) (c977d78b)
  • (ts) Widen isEnumDefined value parameter to accept any value (#4690) (0d6498dd)

View changes on Github

2.2.0 - 2026-06-24

๐Ÿš€ Features

  • (all) Support Exception.InnerException across all targets (#4677) (c9b3ee24)

View changes on Github

2.1.1 - 2026-06-10

๐Ÿž Bug Fixes

  • (js/ts) Reject JS-permissive date strings that .NET TryParse rejects (#4588) (09003de)
  • (js/ts) Make Exception.ToString() return the message instead of "Exception" (#4635) (4c36f76)

View changes on Github

2.1.0 - 2026-05-28

๐Ÿš€ Features

  • (js/ts/python) Add missing standard DateTime format specifiers for JS/TS and Python (#4547) (90f5eb7)
  • (js/ts/python) Add missing StringBuilder.Append overloads for numeric types (#4568) (b402c30)

๐Ÿž Bug Fixes

  • [JS/TS] Fix DatetimeOffset.ToString("s") (#4596) (3ce6f3f)
  • (js/ts) Fix datetime custom format off by one year (#4558) (83bdbb5)
  • (js/ts) Hex format specifier uses no padding unless precision is specified (#4603) (ba9857a)
  • (js/ts) Fix Decimal.GetBits returning incorrect mantissa after round arithmetic result (#4561) (345bcd4)
  • (js/ts) Fix G/g format specifier corrupting exponential notation when trimming trailing zeros (#4587) (773c098)
  • (js/ts/python) Fix FSharpOption not recognized as union type in F# reflection (#4529) (d78a37d)
  • (ts) Enforce browser-only compatibility in fable-library-ts tsconfig (#4563) (10c81c1)

View changes on Github

2.0.0 - 2026-04-21

Fixed

  • [JS/TS] Fix ResizeArray (System.Collections.Generic.List) equality to use reference equality instead of structural equality (fixes #3718)
  • [JS/TS] Fix String.Contains ignoring StringComparison argument (second argument was silently discarded)

2.0.0-rc.6 - 2026-04-07

Fixed

  • [JS/TS] Fix Async.StartChild with timeout always timing out even when the computation finishes before the deadline (fixes #4481) (by @MangelMaxime)

2.0.0-rc.5 - 2026-03-31

Fixed

  • [JS/TS] Improve Regex.Escape and Regex.Unescape handling (by @MangelMaxime)
  • [JS/TS] Fixed quotation for union string cases (by @MangelMaxime)

2.0.0-rc.4 - 2026-03-19

Fixed

  • [JS/TS] Fix Unchecked.defaultof<char> being emitted as null instead of '\0' (by @MangelMaxime)

2.0.0-rc.3 - 2026-03-10

Fixed

  • [TS] Expose optional stack property on Exception (by @MangelMaxime)

2.0.0-rc.2 - 2026-03-03

Fixed

  • [JS/TS] Allows compiling fable-library-ts for Browser environment (by @goswinr)

2.0.0-rc.1 - 2026-02-26

2.0.0-beta.7 - 2026-02-03

  • [JS/TS] Fix StringBuilder.Chars getter and setter (by @MangelMaxime)

2.0.0-beta.6 - 2025-12-26

Fixed

  • [JS/TS] Fix #4305 DateTimeOffset.Now returns wrong time (by @ncave)

2.0.0-beta.5 - 2025-11-19

Changed

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

2.0.0-beta.4 - 2025-07-25

Added

  • [JS/TS] Initial support for Nullable Reference Types (by @ncave)

2.0.0-beta.3 - 2025-03-14

Fixed

  • [JS/TS] Make nullArgCheck report the same error message as on .NET (by @MangelMaxime)

2.0.0-beta.2 - 2025-03-03

  • [JS/TS] Fix #4049: decimal/bigint to integer conversion checks (by @ncave)
  • [JS/TS] Fix decimal to char conversion checks (by @ManngelMaxime)
  • [JS/TS] Propagate non-captured exception when running Async.Start or Async.StartImmediate (by @MangelMaxime)
  • [JS/TS] Remove Async.RunSynchronously (by @MangelMaxime)
  • [JS/TS] Change signature of startWithContinuations to always require all its arguments (by @MangelMaxime)
  • [JS/TS] Fix short DateTime and DateTimeOffset short format strings (by @MangelMaxime)
  • [JS/TS] Add C and c format for numeric types (by @MangelMaxime)
  • [JS/TS] Add B and b format for numeric types (by @MangelMaxime)
  • [JS/TS] Add n format for numeric types (by @MangelMaxime)
  • [JS/TS] Fix numeric formats (by @MangelMaxime)

2.0.0-beta.1 - 2025-02-16

  • Compiled with Fable 5.0.0-alpha.10

1.10.0 - 2025-01-23

Added

  • [JS/TS] Add StringBuiler.Append(c: char, repeatCount: int) overload (by @roboz0r)

1.9.0 - 2025-01-09

Added

  • [JS/TS] Add new TimSpane overload support coming from .NET 9 (by @MangelMaxime)

Fixed

  • [JS/TS] Fix DateTimeOffset.ToLocalTime (by @MangelMaxime)

1.8.0 - 2024-11-19

  • [JS/TS] Fix h in DateTime.ToString (@MangelMaxime)
  • [JS/TS] Fix hh in DateTime.ToString (@MangelMaxime)

1.7.0 - 2024-11-19

Fixed

  • [JS/TS] Added missing IReadOnlyCollection helpers (#3953)

1.6.0 - 2024-10-02

Removed

  • Remove Async (from Async.ts) class (by @MangelMaxime)

Changed

  • Renamed IAsync to Async in AsyncBuilder.ts (#3906) (by @ncave)

1.5.0 - 2024-09-19

Added

  • [JS/TS] Add support for OrdinalIgnoreCase overload for String.EndsWith (#3892) (by @goswinr)
  • [JS/TS] Add uri.Port, uri.IsDefaultPort (by @MangelMaxime)

Fixed

  • [JS/TS] Fix escaping of { and } in FormattableString (#3890) (by @roboz0r)
  • [JS/TS] Fix uri.Host to return the host name without the port (by @MangelMaxime)
  • [JS/TS] Fix TypeScript compilation by resolving type of jsOptions (#3894) (by @MangelMaxime)

1.4.3 - 2024-09-04

  • [JS/TS] Fixed Decimal comparisons (#3884) (by @ncave)

1.4.2 - 2024-06-13

Fixed

  • [JS/TS] Fixed BigInt.ToDecimal with negative values (#3500) (by @ncave)

1.4.1 - 2024-06-13

Fixed

  • [JS/TS] Fixed DateTime.MinValue, DateTime.MaxValue (#3836) (by @ncave)

1.4.0 - 2024-03-20

Added

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

1.3.0 - 2024-03-18

  • [JS/TS] Boolean.tryParse should not crash on null string (@goswinr)

1.2.0 - 2024-03-01

Fixed

  • 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).

1.1.0 - 2024-02-20

Added

JavaScript

  • GH-3759 Add StringBuilder.Chars (by @MangelMaxime)
  • Add StringBuilder.AppendFormat (by @ncave)
  • GH-3748 Add Array.getItem and Array.setItem (by @MangelMaxime)

1.0.0 - 2024-02-13

  • Release stable version

1.0.0-beta-001 - 2024-02-12

Changed

  • Separate Result from Choice
  • Released as part of Fable 4.12.0