Skip to content

Releases: fsharp/fsharp-compiler-docs

Release 37.0.0

07 Aug 21:57
Compare
Choose a tag to compare

This release bring a number of new changes, including a massive enhancement to SemanticClassification types thanks to @cartermp.
From dotnet/fsharp:333eb82c8..d9e070a9d:
now allows for multiple implementations of generic interfaces (preview feature) (thanks @0x53A!)
the default assembly set for script resolution now includes System.Numerics (thanks @KevinRansom)
#r nuget package resolution is now committed eagerly, instead of delayed (thanks @KevinRansom)
reduced allocations for some strings in the compiler (thanks @kerams)
better printing for SRTP constraints (thanks @abelbraaksma/@realvictorprm)
more expressive DUs for semantic classification (thanks @cartermp)
remove legacymsbuildreferenceresolver (thanks @kevinrandom)
supply witnesses for op_UnaryPlus (thanks @TIHan)
clean up CE classifications (thanks @cartermp)
Fixed tostring/equality for StringText (thanks @deviousasti)
Fixed error text for FS0874
Disallow assignment to C# Const/Readonly properties (thanks @baronfel)
Allow Int64.MinValue as a valid nativeint literal (thanks @abelbraaksma)
Enhancements to the nameof feature (preview feature)
String interpolation (preview feature)

Release 36.0.2

20 Jun 17:44
c8a935f
Compare
Choose a tag to compare

This is a small bugfix release that I'm making primarily to publish a version
of FCS with sourcelink enabled, so that tooling users can make use of that information.
From dotnet/fsharp:079276b4b..37d0ccc:
Fixes for do! handling in computation expressions (thanks @baronfel)
Add missing versions in FCS' Interactive header (thanks @nightroman)
Support Source-translation in match! expressions (thanks @baronfel)
Ensure stack traces from uncaught exceptions in CEs are maintained (thanks @NinoFloris)
Better handling of inline in witness-passing codepaths (thanks @dsyme)
Enable publishing of FCS with sourcelink (thanks @baronfel)
Extend nameof to support naming generic parameters (nameof<'t>) and instance members (nameof(Unchecked.defaultof<C>.Property)) (thanks @dsyme)

Release 34.1.1

04 Mar 22:44
66d5073
Compare
Choose a tag to compare

34.1.1

From dotnet/fsharp:3777cd4d8..836da28:

  • Slight tweaks to error messages around numeric literals (Thanks @Happypig375)
  • Deny taking native address of an immutable local value (Thanks @TIHan)
  • Fixes to reported ranges for wildcard self-identifiers, module abbreviations, nested modules, attributes, nested types, and fields (Thanks @auduchinok)
  • Better compiler error recovery for errors in constructor expressions (Thanks @auduchinok)
  • Fix handling of F# Options in C# members with regards to nullable type interop (Thanks @TIHan)
  • Move dependency handling of native dlls to the DependencyManager (Thanks @KevinRansom)

Release 34.1.0

26 Feb 01:35
c8d34ea
Compare
Choose a tag to compare

From dotnet/fsharp:3af8959b6..9d69b49:

  • set default script TFM to netcoreapp3.1 if none found
  • improve C#-nullable and optional interop (RFC FS-1075)
  • Add type name to undefined name error if known
  • improve printing via %A/fsi
  • misc. improvements to DependencyManager
  • improve type provider support for .netcoreapp3.1 target frameworks.
  • New, optimized find-all-references API with reduced memory usage.
  • better error messages for failed overload resolution

34.0.1 Hotfix Release

06 Feb 01:29
d12d208
Compare
Choose a tag to compare

After 34.0.0 was unlisted, this release was made to incorporate a few mono-specific fixes to that version.

Contains commits from 32b1249 to d701873 from dotnet/fsharp. Notable changes include:

  • lowered allocations for large strings and char arrays (notably source file texts)
  • improved support for byref-like rules with regards to type abbreviations
  • better support for scopes in recursive modules
  • better location of .net core reference assemblies
  • lowered allocations for several internal compiler structures
  • better error messages for anonymous record mismatches
  • FSharpChecker learned how to keep background symbol uses
  • Project cracker/project cracker tool were removed
  • Better support for consuming C# inref parameters
  • new services around simplifing names and finding unused declarations
  • package management in scripts (in preview)
  • and-bang syntax support (in preview)

FSharp Integration - January 2020

22 Jan 22:57
7127242
Compare
Choose a tag to compare

Note: this release was unlisted due to regressions around F# script project option discovery on some platforms. 34.0.1 will be released in the short term to address these issues.

Contains commits from 32b1249 to 5a01170 from dotnet/fsharp. Notable features:

  • lowered allocations for large strings and char arrays (notably source file texts)
  • improved support for byreflike rules with regards to type abbreviations
  • better support for scopes in recursive modules
  • better location of .net core reference assemblies
  • lowered allocations for several internal compiler structures
  • better error messages for anonymous record mismatches
  • FSharpChecker learned how to keep background symbol uses
  • Project cracker/project cracker tool were removed
  • Better support for consuming C# inref parameters
  • preview-level functionality for #r "nuget" in scripts

33.0.1

09 Dec 20:35
Compare
Choose a tag to compare

Integrate dotnet/fsharp from 4f5f083 to 7b25d7f. Notable changes include:

  • Addition of the FsharpUnionCase.HasFields property
  • FCS builds entirely on .Net Core now
  • Better debug information for ranges
  • Support for Literal values in signature files
  • Using memory-mapped files cross-platform to read IL.

33.0.0

09 Nov 17:04
Compare
Choose a tag to compare

Integrate dotnet/fsharp from 48f932c to 0859851. Notable changes include:

  • allowing '_' as a self-identifier
  • events for FSI evaluation lifecycle events
  • enhancements to FSI return-values
  • fixed parsing for langversion CLI arguments
  • allow cancellation of FSI interactions
  • ToString fixes for value options
  • Fixes for code generation in autogenerated members for very large records
  • make ranges of member declarations capture the entire member
  • improve error recovery in the parser
  • improve logic for auto-detecting framework assemblies for FSI

Packages can be found at Nuget.

32.0.0

01 Oct 02:07
1471a68
Compare
Choose a tag to compare

32.0.0

  • integrate dotnet/fsharp from e1b8537 to 48f932c
  • notable changes include:
    • (preview) nameof
    • (preview) open static classes
    • Fixed 64-bit integer literal parsing
    • Better exhaustiveness checking for byte and sbyte pattern matches
    • Better native resource handling
    • Script-host assembly load events

31.0.0

11 Aug 23:13
02eb8ff
Compare
Choose a tag to compare

31.0.0

  • Integrate dotnet/fsharp from 5a8f454 to 05c558a
  • Notable changes include:
    • Removal of the Microsoft.FSharp.Compiler.SourceCodeServices namespace
    • A new API for determining if an identifier needs to be quoted is available: FSharp.Compiler.LexHelp.Keywords.DoesIdentifierNeedQuotation
    • Enhancements to the correctness of PDBs
    • Better string formatting of records and values
    • More stack overflow fixes in the compiler
    • Inline IL parsing error handling
    • LeafExpressionConverter handles struct tuples
    • FSharpChecker now can parse a file without caching: ParseFileNoCache