Releases: fable-compiler/Fable
Releases · fable-compiler/Fable
4.12.0
Added
All
- GH-3733 GH-3727 Add support for more
ResultAPI (by @zprobinson)Result.isOkResult.isErrorResult.ContainsResult.CountResult.DefaultValueResult.DefaultWithResult.ExistsResult.FoldResult.FoldBackResult.ForAllResult.IterateResult.ToArrayResult.ToListResult.ToOption
- GH-3721 Add
--test:MSBuildCrackerflag allowing to use the experimental MSBuildCracker (by @nojaf)
JavaScript
- GH-3745 Add support for
ListCollector(by @nojaf)instance.Addinstance.AddManyinstance.AddManyAndCloseinstance.Close
Changed
JavaScript
- GH-3749 Rename
fable-librarytofable-library-js(by @MangelMaxime)
Removed
JavaScript
- Remove
Choice.d.tsfrom source code offable-library(by @MangelMaxime)
TypeScript
- Remove
Choice.d.tsfrom source code offable-library(by @MangelMaxime)
Fixed
Python
- GH-3717 Nested type with Custom Equality gives false negative equality (by @dbrattli)
- Generate assert statements for
assertexpressions in debug mode (by @dbrattli)
All
4.11.0
Changed
All
- GH-3719 Restore dependencies against the
.fsprojafter evaluating thefable-temp.csprojfile (Improves IDE supports) (by @MangelMaxime) - Don't delete
fable_moduleswhen 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
--versionto work (by @MangelMaxime)
JavaScript
4.10.0
Added
Python
-
GH-3663 Complete rewrite of
DateTimesupports (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 withoutDateTimeKind) - From
ticks(with and withoutDateTimeKind)
- From
- Instance methods:
dt.Yeardt.Monthdt.Daydt.Hourdt.Minutedt.Seconddt.Milliseconddt.Microseconddt.ToUniversalTimedt.DayOfWeekdt.DayOfYeardt.ToShortDateStringdt.ToShortTimeStringdt.ToLongDateStringdt.ToLongTimeStringdt.ToStringdt.ToLocalTimedt.Datedt.AddYearsdt.AddMonthsdt.AddDaysdt.AddHoursdt.AddMinutesdt.AddSecondsdt.AddMillisecondsdt.AddMicrosecondsdt.Kind
- Static methods:
DateTime.TodayDateTime.NowDateTime.NowDateTime.UtcNowDateTime.MinValueDateTime.MaxValueDateTime.ParseDateTime.TryParseDateTime.SpecifyKind
- Constructors
JavaScript
Changed
All
- GH-3671 Use
Microsoft.Extensions.Logging(by @nojaf) - GH-3634 Suffix temporary
csprojwith.fable-temp.csprojand 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
.gitignorefile in the generatedfable_modules/folder (by @MangelMaxime) - GH-3684 Re-compile files from
fable_modulesafter 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
DateTimeandTimeSpanaddition (by @dbrattli) - GH-3663 Fix
DateTime.ParseandDateTime.TryParse(by @MangelMaxime)
JavaScript
- Fix
DateTime.Parsewhen 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
selfarg capture in methods (by @ncave) - Fixed 'System.Collections.Generic.Queue' bug (by @PierreYvesR)
- Added support for generic comparers (by @ncave)
4.9.0
4.8.1
4.8.0
Added
Python
- GH-3645 Add
TimeSpan.ParseandTimeSpan.TryParsesupport to Python (by @MangelMaxime) - GH-3649 Fixes for
List.sortBy(by @dbrattli) - GH-3638 Fixes for
Array.sortandArray.sortDescending(by @dbrattli)
Fixed
JavaScript
Python
Changed
All
- Updated FCS to fce0cf00585c12174fa3e51e4fc34afe784b9b4e (by @ncave)
-
- GH-3675 Breaking Change
staticmembers always requirestatic member, disregarding FCS from F# v7.0 and early v8.0 supported dismissing thememberkeyword.
- GH-3675 Breaking Change
4.7.0
Added
All
- Overall performance improvements
Fixed
All
- GH-3603 Missing
.gitignorefile 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
Added
All
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.pyallowing for better precision by using a number representation intead of nativetimedelta. (by @MangelMaxime)
4.5.0
Changed
Python
- Use
Anytype for all non-repeated generic arguments (by @dbrattli) - Don't generate unnecessary type type-vars if generic type is replaced by
Any(by @dbrattli) - Generate new style
_T | Noneinstead ofOptional[_T](by @dbrattli)
Rust
- Support multiple namespaces sharing a prefix in the same file (by @ncave)
- Support imports with the same namespace across multiple files (by @ncave)
Fixed
JavaScript
4.4.1
Changed
All
- Fix #3567: Turn off FCS warning 3560 by default (by @vzarytovskii)
Fixed
Rust
- Fixed recursive lambda captured idents cloning (by @ncave)