Skip to content
Merged
2 changes: 1 addition & 1 deletion eng/Version.Details.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Dependencies>
<Source Uri="https://github.com/dotnet/dotnet" Mapping="fsharp" Sha="7b9ad20ba1d45df5a99fdd9dedbf3bfe6a6fc24f" BarId="296906" />
<Source Uri="https://github.com/dotnet/dotnet" Mapping="fsharp" Sha="887f3d5a26e1001ee2777afde10cadcacb8cc735" BarId="297286" />
<ProductDependencies>
<Dependency Name="Microsoft.Build" Version="18.1.0-preview-25515-01">
<Uri>https://github.com/dotnet/msbuild</Uri>
Expand Down
16 changes: 8 additions & 8 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@
<!-- Don't use the built in support for pre-release iteration. The nuget repack task doesn't support
the iteration format at the moment. https://github.com/dotnet/arcade/issues/15919 -->
<FSharpPreReleaseIteration></FSharpPreReleaseIteration>
<PreReleaseVersionLabel>servicing$(FSharpPreReleaseIteration)</PreReleaseVersionLabel>
<PreReleaseVersionLabel>alpha$(FSharpPreReleaseIteration)</PreReleaseVersionLabel>
<!-- F# Version components -->
<FSMajorVersion>10</FSMajorVersion>
<FSMajorVersion>11</FSMajorVersion>
<FSMinorVersion>0</FSMinorVersion>
<FSBuildVersion>200</FSBuildVersion>
<FSBuildVersion>100</FSBuildVersion>
<FSRevisionVersion>0</FSRevisionVersion>
<!-- -->
<!-- F# Language version -->
Expand All @@ -30,26 +30,26 @@
<FSCorePackageVersionValue>$(FSMajorVersion).$(FSMinorVersion).$(FSBuildVersion)</FSCorePackageVersionValue>
<FSCoreVersionPrefix>$(FSMajorVersion).$(FSMinorVersion).$(FSBuildVersion)</FSCoreVersionPrefix>
<FSCoreVersion>$(FSMajorVersion).$(FSMinorVersion).0.0</FSCoreVersion>
<FSCoreShippedVersion>10.0.100.0</FSCoreShippedVersion>
<FSCoreShippedVersion>10.0.101.0</FSCoreShippedVersion>
<!-- -->
<!-- FSharp.Compiler.Service version -->
<FCSMajorVersion>43</FCSMajorVersion>
<FCSMinorVersion>11</FCSMinorVersion>
<FCSMinorVersion>12</FCSMinorVersion>
<FCSBuildVersion>$(FSBuildVersion)</FCSBuildVersion>
<FCSRevisionVersion>$(FSRevisionVersion)</FCSRevisionVersion>
<FSharpCompilerServicePackageVersion>$(FCSMajorVersion).$(FCSMinorVersion).$(FCSBuildVersion)</FSharpCompilerServicePackageVersion>
<FSharpCompilerServiceVersion>$(FCSMajorVersion).$(FCSMinorVersion).$(FCSBuildVersion).$(FCSRevisionVersion)</FSharpCompilerServiceVersion>
<FSharpLibrariesChangelogVersion>$(FSMajorVersion).$(FSMinorVersion).$(FSBuildVersion)</FSharpLibrariesChangelogVersion>
<!-- -->
<!-- The current published nuget package -->
<FSharpCoreShippedPackageVersionValue>10.0.100</FSharpCoreShippedPackageVersionValue>
<FSharpCoreShippedPackageVersionValue>10.0.101</FSharpCoreShippedPackageVersionValue>
<!-- -->
<!-- The pattern for specifying the preview package -->
<FSharpCorePreviewPackageVersionValue>$(FSCorePackageVersionValue)-$(PreReleaseVersionLabel).*</FSharpCorePreviewPackageVersionValue>
<!-- -->
<!-- FSharp tools for Visual Studio version number -->
<FSToolsMajorVersion>15</FSToolsMajorVersion>
<FSToolsMinorVersion>1</FSToolsMinorVersion>
<FSToolsMinorVersion>2</FSToolsMinorVersion>
<FSToolsBuildVersion>$(FSBuildVersion)</FSToolsBuildVersion>
<FSToolsRevisionVersion>$(FSRevisionVersion)</FSToolsRevisionVersion>
<FSProductVersionPrefix>$(FSToolsMajorVersion).$(FSToolsMinorVersion).$(FSToolsBuildVersion)</FSProductVersionPrefix>
Expand All @@ -59,7 +59,7 @@
<PropertyGroup>
<!-- These have to be in sync with latest release branch -->
<VSMajorVersion>18</VSMajorVersion>
<VSMinorVersion>3</VSMinorVersion>
<VSMinorVersion>4</VSMinorVersion>
<VSGeneralVersion>$(VSMajorVersion).0</VSGeneralVersion>
<VSAssemblyVersionPrefix>$(VSMajorVersion).$(VSMinorVersion).0</VSAssemblyVersionPrefix>
<VSAssemblyVersion>$(VSAssemblyVersionPrefix).0</VSAssemblyVersion>
Expand Down
2 changes: 1 addition & 1 deletion src/Compiler/Driver/FxResolver.fs
Original file line number Diff line number Diff line change
Expand Up @@ -412,7 +412,7 @@ type internal FxResolver

match runningTfmOpt with
| Some tfm -> tfm
| _ -> if isRunningOnCoreClr then "net10.0" else "net472"
| _ -> if isRunningOnCoreClr then "net11.0" else "net472"

let trySdkRefsPackDirectory =
lazy
Expand Down
1 change: 1 addition & 0 deletions src/Compiler/Facilities/CompilerLocation.fs
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ module internal FSharpEnvironment =
|]
elif typeof<obj>.Assembly.GetName().Name = "System.Private.CoreLib" then
[|
"net11.0"
"net10.0"
"net9.0"
"net8.0"
Expand Down
12 changes: 11 additions & 1 deletion src/Compiler/Facilities/LanguageFeatures.fs
Original file line number Diff line number Diff line change
Expand Up @@ -117,10 +117,11 @@ type LanguageVersion(versionText) =
static let languageVersion80 = 8.0m
static let languageVersion90 = 9.0m
static let languageVersion100 = 10.0m
static let languageVersion110 = 11.0m
static let previewVersion = 9999m // Language version when preview specified
static let defaultVersion = languageVersion100 // Language version when default specified
static let latestVersion = defaultVersion // Language version when latest specified
static let latestMajorVersion = languageVersion100 // Language version when latestmajor specified
static let latestMajorVersion = defaultVersion // Language version when latestmajor specified

static let validOptions = [| "preview"; "default"; "latest"; "latestmajor" |]

Expand All @@ -135,6 +136,7 @@ type LanguageVersion(versionText) =
languageVersion80
languageVersion90
languageVersion100
languageVersion110
|]

static let features =
Expand Down Expand Up @@ -241,6 +243,12 @@ type LanguageVersion(versionText) =
LanguageFeature.ReturnFromFinal, languageVersion100
LanguageFeature.ErrorOnInvalidDeclsInTypeDefinitions, languageVersion100

// F# 11.0
// Put stabilized features here for F# 11.0 previews via .NET SDK preview channels

// Difference between languageVersion110 and preview - 11.0 gets turned on automatically by picking a preview .NET 11 SDK
// previewVersion is only when "preview" is specified explicitly in project files and users also need a preview SDK

// F# preview (still preview in 10.0)
LanguageFeature.FromEndSlicing, previewVersion // Unfinished features --- needs work
]
Expand Down Expand Up @@ -268,6 +276,8 @@ type LanguageVersion(versionText) =
| "9" -> languageVersion90
| "10.0"
| "10" -> languageVersion100
| "11.0"
| "11" -> languageVersion110
| _ -> 0m

let specified = getVersionFromString versionText
Expand Down
10 changes: 10 additions & 0 deletions src/FSharp.Build/Microsoft.FSharp.NetSdk.props
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,16 @@ WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and

<Import Project="Microsoft.FSharp.Core.NetSdk.props" /> <!-- Sets initial value of FSharp.Core -->

<!--
Auto-set LangVersion for preview SDK users.
When using a preview SDK and user hasn't explicitly set LangVersion,
derive the language version from the SDK's major version.
This allows SDK 11 preview users to use F# 11 features automatically.
-->
<PropertyGroup Condition="'$(LangVersion)' == '' and '$(_NETCoreSdkIsPreview)' == 'true' and '$(NETCoreSdkVersion)' != '' and $(NETCoreSdkVersion.StartsWith('11.'))">
<LangVersion>11</LangVersion>
</PropertyGroup>

<PropertyGroup>
<ValueTupleImplicitPackageVersion>4.6.1</ValueTupleImplicitPackageVersion>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@ latestmajor
7.0
8.0
9.0
10.0 (Default)
10.0 (Default)
11.0
Loading