Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions azure-pipelines-PR.yml
Original file line number Diff line number Diff line change
Expand Up @@ -891,6 +891,8 @@ stages:
- script: dotnet tool restore
displayName: Restore dotnet tools
- pwsh: .\tests\ILVerify\ilverify.ps1
env:
SKIP_NETCURRENT_FSC_BUILD: true
displayName: Run ILVerify
workingDirectory: $(Build.SourcesDirectory)

Expand Down
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>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DO NOT MERGE YET, VS MAPPING TO DECIDE

<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
14 changes: 12 additions & 2 deletions 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 defaultVersion = languageVersion110 // Language version when default specified
Copy link
Member

@auduchinok auduchinok Jan 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this be updated closer to the release time?

We probably don't want to change the default so early. If I understand it correctly, FCS clients will get the effectively preview language version as default in all projects, unless some language version is specified.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have put this on hold for main for now - I want to fly this config into NET11 SDK preview, so that preview users of NET11SDK do get langversion 11.

But not in other channels, those should stay on 10 as the default.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My comment was about the tooling using FCS, not about the SDKs. I think we've never changed the default so early previously, and this would be quite unexpected.

static let latestVersion = defaultVersion // Language version when latest specified
static let latestMajorVersion = languageVersion100 // Language version when latestmajor specified
static let latestMajorVersion = languageVersion110 // 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
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
11.0 (Default)
Loading