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)
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)
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)
2.5.1 - 2026-07-24
๐ Bug Fixes
- (js/ts,python) Inline Option/ValueOption combinators to avoid closures and allocations (#4836) (61cac646)
2.5.0 - 2026-07-15
๐ Features
- (js/ts) Add
System.IO.Directorysupport (Exists, CreateDirectory) (#4798) (6568f35e) - (js/ts/python/beam) Preserve member calls and pattern matches in quotations (#4780) (55482e6b)
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)
2.4.1 - 2026-07-09
๐ Bug Fixes
- MailboxProcessor dropping falsy messages and unit replies (8299b2e7)
- (all) Add
Seq.enumerateTryWithfor 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.Replacecount/substitutions andRegex.Splitsemantics (#4741) (d6ae6bd3)
2.4.0 - 2026-07-05
๐ Features
- (js/ts) Add
System.IO.PathandSystem.IO.FileAPI 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)
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)
2.2.0 - 2026-06-24
๐ Features
- (all) Support Exception.InnerException across all targets (#4677) (c9b3ee24)
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)
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)
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.ContainsignoringStringComparisonargument (second argument was silently discarded)
2.0.0-rc.6 - 2026-04-07
Fixed
- [JS/TS] Fix
Async.StartChildwith 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.EscapeandRegex.Unescapehandling (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 asnullinstead of'\0'(by @MangelMaxime)
2.0.0-rc.3 - 2026-03-10
Fixed
- [TS] Expose optional
stackproperty onException(by @MangelMaxime)
2.0.0-rc.2 - 2026-03-03
Fixed
- [JS/TS] Allows compiling
fable-library-tsfor Browser environment (by @goswinr)
2.0.0-rc.1 - 2026-02-26
2.0.0-beta.7 - 2026-02-03
- [JS/TS] Fix
StringBuilder.Charsgetter and setter (by @MangelMaxime)
2.0.0-beta.6 - 2025-12-26
Fixed
- [JS/TS] Fix #4305
DateTimeOffset.Nowreturns wrong time (by @ncave)
2.0.0-beta.5 - 2025-11-19
Changed
- [JS/TS] Replace the deprecated
substrmethod withslice(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
nullArgCheckreport 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
decimaltocharconversion checks (by @ManngelMaxime) - [JS/TS] Propagate non-captured exception when running
Async.StartorAsync.StartImmediate(by @MangelMaxime) - [JS/TS] Remove
Async.RunSynchronously(by @MangelMaxime) - [JS/TS] Change signature of
startWithContinuationsto always require all its arguments (by @MangelMaxime) - [JS/TS] Fix short
DateTimeandDateTimeOffsetshort format strings (by @MangelMaxime) - [JS/TS] Add
Candcformat for numeric types (by @MangelMaxime) - [JS/TS] Add
Bandbformat for numeric types (by @MangelMaxime) - [JS/TS] Add
nformat 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
TimSpaneoverload support coming from .NET 9 (by @MangelMaxime)
Fixed
- [JS/TS] Fix
DateTimeOffset.ToLocalTime(by @MangelMaxime)
1.8.0 - 2024-11-19
- [JS/TS] Fix
hinDateTime.ToString(@MangelMaxime) - [JS/TS] Fix
hhinDateTime.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(fromAsync.ts) class (by @MangelMaxime)
Changed
- Renamed
IAsynctoAsyncinAsyncBuilder.ts(#3906) (by @ncave)
1.5.0 - 2024-09-19
Added
- [JS/TS] Add support for
OrdinalIgnoreCaseoverload forString.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.Hostto 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.tryParseshould not crash onnullstring (@goswinr)
1.2.0 - 2024-03-01
Fixed
-
GH-3772 [JS/TS] Re-implement
DateTime.ToStringcustom format handling (by @MangelMaxime)It now supports all custom format specifiers, and behave as if
CultureInfo.InvariantCulturewas 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.getItemandArray.setItem(by @MangelMaxime)
1.0.0 - 2024-02-13
- Release stable version
1.0.0-beta-001 - 2024-02-12
Changed
- Separate
ResultfromChoice - Released as part of Fable 4.12.0