Skip to content

17.14 - increase fsharpcore build version number #18718

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 17 commits into from
Jul 10, 2025
Merged
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.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,8 @@ extends:
enablePublishBuildAssets: true
enablePublishUsingPipelines: $(_PublishUsingPipelines)
enableSourceBuild: true
sourceBuildParameters:
enableInternalSources: true
enableTelemetry: true
helixRepo: dotnet/fsharp
jobs:
Expand Down
33 changes: 21 additions & 12 deletions eng/SourceBuildPrebuiltBaseline.xml
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
<!-- When altering this file or making other Source Build related changes, include @dotnet/source-build as a reviewer. -->
<!-- See aka.ms/dotnet/prebuilts for guidance on what pre-builts are and how to eliminate them. -->
<!-- Whenever altering this or other Source Build files, please include @dotnet/source-build-internal as a reviewer. -->
<!-- See https://aka.ms/dotnet/prebuilts for guidance on what pre-builts are and how to eliminate them. -->

<UsageData>
<IgnorePatterns>
<!-- Ignoring the known prebuilts. -->
<!--
These will go away when repo updates targeting to net8.0
Tracked with https://github.com/dotnet/fsharp/issues/14765
-->
<UsagePattern IdentityGlob="Microsoft.AspNetCore.App.Ref/8.0.*" />
<UsagePattern IdentityGlob="Microsoft.NETCore.App.Host.linux-x64/8.0.*" />
<UsagePattern IdentityGlob="Microsoft.NETCore.App.Ref/8.0.*" />
Expand All @@ -18,16 +13,30 @@
<UsagePattern IdentityGlob="System.Resources.Extensions/8.0.0" />
<UsagePattern IdentityGlob="System.Diagnostics.DiagnosticSource/8.0.0" />
<UsagePattern IdentityGlob="System.Threading.Tasks.Dataflow/8.0.0" />

<UsagePattern IdentityGlob="Microsoft.AspNetCore.App.Runtime.linux-x64/9.0.*" />
<UsagePattern IdentityGlob="Microsoft.NETCore.App.Crossgen2.linux-x64/9.0.*" />
<UsagePattern IdentityGlob="Microsoft.NETCore.App.Runtime.linux-x64/9.0.*" />

<!-- Tracked in https://github.com/dotnet/source-build/issues/3438 -->
<UsagePattern IdentityGlob="Microsoft.VisualStudio.Setup.Configuration.Interop/3.2.2146" />
</IgnorePatterns>

<Usages>
<Usage Id="System.Formats.Asn1" Version="8.0.1" />
<Usage Id="Microsoft.Bcl.Cryptography" Version="9.0.0" />
<Usage Id="Microsoft.Build.Framework" Version="17.14.8" IsDirectDependency="true" />
<Usage Id="Microsoft.Build.Tasks.Core" Version="17.14.8" IsDirectDependency="true" />
<Usage Id="Microsoft.Build.Utilities.Core" Version="17.14.8" IsDirectDependency="true" />
<Usage Id="Microsoft.NET.StringTools" Version="17.14.8" />
<Usage Id="System.CodeDom" Version="9.0.0" />
<Usage Id="System.Collections.Immutable" Version="9.0.0" />
<Usage Id="System.Configuration.ConfigurationManager" Version="9.0.0" />
<Usage Id="System.Diagnostics.DiagnosticSource" Version="9.0.0" />
<Usage Id="System.Diagnostics.EventLog" Version="9.0.0" />
<Usage Id="System.Formats.Asn1" Version="9.0.0" />
<Usage Id="System.Formats.Nrbf" Version="9.0.0" />
<Usage Id="System.Reflection.Metadata" Version="9.0.0" />
<Usage Id="System.Resources.Extensions" Version="9.0.0" />
<Usage Id="System.Security.Cryptography.Pkcs" Version="9.0.0" />
<Usage Id="System.Security.Cryptography.ProtectedData" Version="9.0.0" />
<Usage Id="System.Security.Cryptography.Xml" Version="9.0.0" />
<Usage Id="System.Text.Encoding.CodePages" Version="9.0.0" />
<Usage Id="System.Threading.Tasks.Dataflow" Version="9.0.0" />
</Usages>
</UsageData>
16 changes: 8 additions & 8 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<!-- F# Version components -->
<FSMajorVersion>9</FSMajorVersion>
<FSMinorVersion>0</FSMinorVersion>
<FSBuildVersion>300</FSBuildVersion>
<FSBuildVersion>303</FSBuildVersion>
<FSRevisionVersion>0</FSRevisionVersion>
<!-- -->
<!-- F# Language version -->
Expand All @@ -37,7 +37,7 @@
<FSharpLibrariesChangelogVersion>$(FSMajorVersion).$(FSMinorVersion).$(FSBuildVersion)</FSharpLibrariesChangelogVersion>
<!-- -->
<!-- The current published nuget package -->
<FSharpCoreShippedPackageVersionValue>9.0.201</FSharpCoreShippedPackageVersionValue>
<FSharpCoreShippedPackageVersionValue>9.0.300</FSharpCoreShippedPackageVersionValue>
<!-- -->
<!-- The pattern for specifying the preview package -->
<FSharpCorePreviewPackageVersionValue>$(FSCorePackageVersionValue)-$(PreReleaseVersionLabel).*</FSharpCorePreviewPackageVersionValue>
Expand Down Expand Up @@ -80,14 +80,14 @@
<!-- Dependencies from maintenance-packages, everything else -->
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' != 'true'">
<SystemBuffersVersion>4.6.0</SystemBuffersVersion>
<SystemMemoryVersion>4.5.5</SystemMemoryVersion>
<SystemMemoryVersion>4.6.0</SystemMemoryVersion>
<SystemRuntimeCompilerServicesUnsafeVersion>6.1.0</SystemRuntimeCompilerServicesUnsafeVersion>
</PropertyGroup>
<PropertyGroup>
<!-- System.* packages -->
<!-- If a System.* package is stuck on version 4.3.x, targets .NET Standard 1.x and hasn't been
updated in years, you most likely DON'T need it, please exercise caution when adding it to the list. -->
<SystemPackageVersionVersion>8.0.0</SystemPackageVersionVersion>
<SystemPackageVersionVersion>9.0.0</SystemPackageVersionVersion>
<SystemCollectionsImmutableVersion>$(SystemPackageVersionVersion)</SystemCollectionsImmutableVersion>
<SystemComponentModelCompositionVersion>$(SystemPackageVersionVersion)</SystemComponentModelCompositionVersion>
<SystemCompositionVersion>$(SystemPackageVersionVersion)</SystemCompositionVersion>
Expand All @@ -102,7 +102,7 @@
<MicrosoftVisualStudioShellPackagesVersion>17.10.40152</MicrosoftVisualStudioShellPackagesVersion>
<VisualStudioProjectSystemPackagesVersion>17.10.526-pre-g1b474069f5</VisualStudioProjectSystemPackagesVersion>
<MicrosoftVisualStudioThreadingPackagesVersion>17.10.41</MicrosoftVisualStudioThreadingPackagesVersion>
<MicrosoftBuildVersion>17.13.22</MicrosoftBuildVersion>
<MicrosoftBuildVersion>17.14.8</MicrosoftBuildVersion>
<!-- Roslyn packages -->
<MicrosoftCodeAnalysisEditorFeaturesVersion>$(RoslynVersion)</MicrosoftCodeAnalysisEditorFeaturesVersion>
<MicrosoftCodeAnalysisEditorFeaturesTextVersion>$(RoslynVersion)</MicrosoftCodeAnalysisEditorFeaturesTextVersion>
Expand Down Expand Up @@ -138,9 +138,9 @@
<MicrosoftVisualStudioShellImmutable150Version>15.0.25123-Dev15Preview</MicrosoftVisualStudioShellImmutable150Version>
<!-- -->
<!-- Microsoft Build packages -->
<MicrosoftBuildFrameworkVersion>17.13.22</MicrosoftBuildFrameworkVersion>
<MicrosoftBuildTasksCoreVersion>17.13.22</MicrosoftBuildTasksCoreVersion>
<MicrosoftBuildUtilitiesCoreVersion>17.13.22</MicrosoftBuildUtilitiesCoreVersion>
<MicrosoftBuildFrameworkVersion>$(MicrosoftBuildVersion)</MicrosoftBuildFrameworkVersion>
<MicrosoftBuildTasksCoreVersion>$(MicrosoftBuildVersion)</MicrosoftBuildTasksCoreVersion>
<MicrosoftBuildUtilitiesCoreVersion>$(MicrosoftBuildVersion)</MicrosoftBuildUtilitiesCoreVersion>
<!-- -->
<!-- Visual Studio Editor packages -->
<MicrosoftVisualStudioCoreUtilityVersion>$(VisualStudioEditorPackagesVersion)</MicrosoftVisualStudioCoreUtilityVersion>
Expand Down
7 changes: 7 additions & 0 deletions eng/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,13 @@ while [[ $# > 0 ]]; do
tfm=$2
shift
;;
# nop implementations of runtime* args sourcebuild might pass in on internal builds
--runtimesourcefeed)
shift
;;
--runtimesourcefeedkey)
shift
;;
/p:*)
properties="$properties $1"
;;
Expand Down
13 changes: 0 additions & 13 deletions tests/FSharp.Test.Utilities/XunitHelpers.fs
Original file line number Diff line number Diff line change
Expand Up @@ -138,18 +138,6 @@ type FSharpXunitFramework(sink: IMessageSink) =
AssemblyResolver.addResolver ()
#endif

// Configure OpenTelemetry export. Traces can be viewed in Jaeger or other compatible tools.
use tracerProvider =
OpenTelemetry.Sdk.CreateTracerProviderBuilder()
.AddSource(ActivityNames.FscSourceName)
.ConfigureResource(fun r -> r.AddService("F#") |> ignore)
.AddOtlpExporter(fun o ->
// Empirical values to ensure no traces are lost and no significant delay at the end of test run.
o.TimeoutMilliseconds <- 200
o.BatchExportProcessorOptions.MaxQueueSize <- 16384
o.BatchExportProcessorOptions.ScheduledDelayMilliseconds <- 100
)
.Build()

logConfig initialConfig
log "Installing TestConsole redirection"
Expand All @@ -162,7 +150,6 @@ type FSharpXunitFramework(sink: IMessageSink) =
runner.RunAsync().Wait()
end

tracerProvider.ForceFlush() |> ignore

cleanUpTemporaryDirectoryOfThisTestRun ()
}
Expand Down
12 changes: 12 additions & 0 deletions vsintegration/tests/Salsa/VsMocks.fs
Original file line number Diff line number Diff line change
Expand Up @@ -1375,6 +1375,8 @@ module internal VsMocks =
let vsTargetFrameworkAssemblies40 = vsTargetFrameworkAssembliesN 0x40000u
let vsTargetFrameworkAssemblies45 = vsTargetFrameworkAssembliesN 0x40005u
let vsTargetFrameworkAssemblies46 = vsTargetFrameworkAssembliesN 0x40006u
let vsTargetFrameworkAssemblies47 = vsTargetFrameworkAssembliesN 0x40007u
let vsTargetFrameworkAssemblies48 = vsTargetFrameworkAssembliesN 0x40008u

let vsFrameworkMultiTargeting =
{ new IVsFrameworkMultiTargeting with
Expand Down Expand Up @@ -1601,6 +1603,16 @@ module internal VsMocks =
sp.AddService(typeof<SVsTargetFrameworkAssemblies>, box vsTargetFrameworkAssemblies46, false)
sp.AddService(typeof<SVsFrameworkMultiTargeting>, box vsFrameworkMultiTargeting, false)
sp, ccn
let MakeMockServiceProviderAndConfigChangeNotifier47() =
let sp, ccn = MakeMockServiceProviderAndConfigChangeNotifierNoTargetFrameworkAssembliesService()
sp.AddService(typeof<SVsTargetFrameworkAssemblies>, box vsTargetFrameworkAssemblies47, false)
sp.AddService(typeof<SVsFrameworkMultiTargeting>, box vsFrameworkMultiTargeting, false)
sp, ccn
let MakeMockServiceProviderAndConfigChangeNotifier48() =
let sp, ccn = MakeMockServiceProviderAndConfigChangeNotifierNoTargetFrameworkAssembliesService()
sp.AddService(typeof<SVsTargetFrameworkAssemblies>, box vsTargetFrameworkAssemblies48, false)
sp.AddService(typeof<SVsFrameworkMultiTargeting>, box vsFrameworkMultiTargeting, false)
sp, ccn

// This is the mock thing that all tests, except the multitargeting tests call.
// By default, let it use the 4.0 assembly version.
Expand Down
2 changes: 2 additions & 0 deletions vsintegration/tests/UnitTests/TestLib.ProjectSystem.fs
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,8 @@ type TheTests() =
File.AppendAllText(file, TheTests.FsprojTextWithProjectReferencesAndOtherFlags(compileItems, references, [], null, other, targetFramework))
let sp, cnn =
match targetFramework with
| "v4.8" -> VsMocks.MakeMockServiceProviderAndConfigChangeNotifier48()
| "v4.7" -> VsMocks.MakeMockServiceProviderAndConfigChangeNotifier47()
| "v4.6" -> VsMocks.MakeMockServiceProviderAndConfigChangeNotifier46()
| "v4.5" -> VsMocks.MakeMockServiceProviderAndConfigChangeNotifier45()
| "v4.0" -> VsMocks.MakeMockServiceProviderAndConfigChangeNotifier40()
Expand Down