diff --git a/.github/workflows/check_release_notes.yml b/.github/workflows/check_release_notes.yml
index 359046abcde..da343532c64 100644
--- a/.github/workflows/check_release_notes.yml
+++ b/.github/workflows/check_release_notes.yml
@@ -50,39 +50,27 @@ jobs:
echo "Opt out of release notes: $OPT_OUT_RELEASE_NOTES"
- # Parse version from eng/Versions.props
- # For FSarp.Core:
- # 8
- # 0
- # 100
- # For FCS:
- # FCSMajorVersion>43
- # 8
- # $(FSBuildVersion)
- # For VS:
- # 17
- # 8
+ # VNEXT is a GitHub repository variable set via admin settings
+ # It controls the expected release notes version for FSharp.Core and FCS
+ VNEXT="${{ vars.VNEXT }}"
+ if [[ -z "$VNEXT" ]]; then
+ echo "Error: VNEXT repository variable is not set. Please configure it in GitHub repository settings."
+ exit 1
+ fi
- _fs_major_version=$(grep -oPm1 "(?<=)[^<]+" eng/Versions.props)
- _fs_minor_version=$(grep -oPm1 "(?<=)[^<]+" eng/Versions.props)
- _fs_build_version=$(grep -oPm1 "(?<=)[^<]+" eng/Versions.props)
- _fcs_major_version=$(grep -oPm1 "(?<=)[^<]+" eng/Versions.props)
- _fcs_minor_version=$(grep -oPm1 "(?<=)[^<]+" eng/Versions.props)
- _fcs_build_version=$_fs_build_version
+ # Parse VS major version from eng/Versions.props for the vNext pattern
+ # 18
_vs_major_version=$(grep -oPm1 "(?<=)[^<]+" eng/Versions.props)
- _vs_minor_version=$(grep -oPm1 "(?<=)[^<]+" eng/Versions.props)
- FSHARP_CORE_VERSION="$_fs_major_version.$_fs_minor_version.$_fs_build_version"
- FCS_VERSION="$_fcs_major_version.$_fcs_minor_version.$_fcs_build_version"
- VISUAL_STUDIO_VERSION="$_vs_major_version.$_vs_minor_version"
+ FSHARP_CORE_VERSION="$VNEXT"
+ FCS_VERSION="$VNEXT"
+ VISUAL_STUDIO_VERSION="$_vs_major_version.vNext"
- echo "Found F# version: ${FSHARP_CORE_VERSION}"
- echo "Found FCS version: ${FCS_VERSION}"
- echo "Found Visual Studio version: ${VISUAL_STUDIO_VERSION}"
+ echo "Using VNEXT for release notes: ${VNEXT}"
+ echo "Visual Studio release notes: ${VISUAL_STUDIO_VERSION}"
- [[ "$FSHARP_CORE_VERSION" =~ ^[0-9]+\.[0-9]+.[0-9]+$ ]] || (echo " Invalid FSharp.Core Version parsed"; exit 1)
- [[ "$FCS_VERSION" =~ ^[0-9]+\.[0-9]+.[0-9]+$ ]] || (echo " Invalid FCS Version parsed"; exit 1)
- [[ "$VISUAL_STUDIO_VERSION" =~ ^[0-9]+\.[0-9]+$ ]] || (echo " Invalid Visual Studio Version parsed"; exit 1)
+ [[ "$VNEXT" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || (echo " Invalid VNEXT format (expected X.Y.Z)"; exit 1)
+ [[ "$_vs_major_version" =~ ^[0-9]+$ ]] || (echo " Invalid VS major version parsed"; exit 1)
_release_notes_base_path='docs/release-notes'
_fsharp_core_release_notes_path="${_release_notes_base_path}/.FSharp.Core/${FSHARP_CORE_VERSION}.md"
diff --git a/docs/release-notes/.FSharp.Compiler.Service/10.0.200.md b/docs/release-notes/.FSharp.Compiler.Service/10.0.200.md
index a9cc3d71551..8088ddec55e 100644
--- a/docs/release-notes/.FSharp.Compiler.Service/10.0.200.md
+++ b/docs/release-notes/.FSharp.Compiler.Service/10.0.200.md
@@ -8,13 +8,38 @@
* Fixed runtime crash when using interfaces with unimplemented static abstract members as constrained type arguments. ([Issue #19184](https://github.com/dotnet/fsharp/issues/19184))
* Fix delegates with `[]` and caller info attributes failing to compile. ([Issue #18868](https://github.com/dotnet/fsharp/issues/18868), [PR #19069](https://github.com/dotnet/fsharp/pull/19069))
* Type checker: mark generated event tree nodes as synthetic ([PR #19213](https://github.com/dotnet/fsharp/pull/19213))
+* Nullness: Fix nullness refinement in match expressions to correctly narrow type to non-null after matching null case. ([Issue #18488](https://github.com/dotnet/fsharp/issues/18488), [PR #18852](https://github.com/dotnet/fsharp/pull/18852))
+* Scripts: Fix resolving the dotnet host path when an SDK directory is specified. ([PR #18960](https://github.com/dotnet/fsharp/pull/18960))
+* Fix excessive StackGuard thread jumping ([PR #18971](https://github.com/dotnet/fsharp/pull/18971))
+* Adjust conservative method-overload duplicate detection rules for nativeptr types ([PR #18911](https://github.com/dotnet/fsharp/pull/18911))
+* Checking: Fix checking nested fields for records and anonymous ([PR #18964](https://github.com/dotnet/fsharp/pull/18964))
+* Fix name is bound multiple times is not reported in 'as' pattern ([PR #18984](https://github.com/dotnet/fsharp/pull/18984))
+* Syntax Tree: fix return type info for let! / and! / use! ([PR #19004](https://github.com/dotnet/fsharp/pull/19004))
+* Fix: warn FS0049 on upper union case label. ([PR #19003](https://github.com/dotnet/fsharp/pull/19003))
+* Type relations cache: handle potentially "infinite" types ([PR #19010](https://github.com/dotnet/fsharp/pull/19010))
+* Disallow recursive structs with lifted type parameters ([Issue #18993](https://github.com/dotnet/fsharp/issues/18993), [PR #19031](https://github.com/dotnet/fsharp/pull/19031))
+* Fix units-of-measure changes not invalidating incremental builds. ([Issue #19049](https://github.com/dotnet/fsharp/issues/19049))
+* Fix race in graph checking of type extensions. ([PR #19062](https://github.com/dotnet/fsharp/pull/19062))
+* Type relations cache: handle unsolved type variables ([Issue #19037](https://github.com/dotnet/fsharp/issues/19037)) ([PR #19040](https://github.com/dotnet/fsharp/pull/19040))
+* Fix insertion context for modules with multiline attributes. ([Issue #18671](https://github.com/dotnet/fsharp/issues/18671))
+* Fix `--typecheck-only` for scripts stopping after processing `#load`-ed script ([PR #19048](https://github.com/dotnet/fsharp/pull/19048))
+* Fix object expressions in struct types generating invalid IL with byref fields causing TypeLoadException at runtime. ([Issue #19068](https://github.com/dotnet/fsharp/issues/19068), [PR #19070](https://github.com/dotnet/fsharp/pull/19070))
### Added
* Detect and error on static extension members extending types with the same simple name but different namespaces in the same module. ([PR #18821](https://github.com/dotnet/fsharp/pull/18821))
* FSharpDiagnostic: add default severity ([#19152](https://github.com/dotnet/fsharp/pull/19152))
* Add warning FS3879 for XML documentation comments not positioned as first non-whitespace on line. ([PR #18891](https://github.com/dotnet/fsharp/pull/18891))
-* FsiEvaluationSession.ParseAndCheckInteraction: add keepAssemblyContents optional parameter ([#19155](https://github.com/dotnet/fsharp/pull/19155))
+* FsiEvaluationSession.ParseAndCheckInteraction: add keepAssemblyContents optional parameter ([#19155](https://github.com/dotnet/fsharp/pull/19155))
+* Add FSharpCodeCompletionOptions ([PR #19030](https://github.com/dotnet/fsharp/pull/19030))
+* Type checker: recover on checking binding parameter constraints ([#19046](https://github.com/dotnet/fsharp/pull/19046))
+* Debugger: provide breakpoint ranges for short lambdas ([#19067](https://github.com/dotnet/fsharp/pull/19067))
+* Add support for triple quoted ASCII byte string ([#19182](https://github.com/dotnet/fsharp/pull/19182))
+
+### Changed
+
+* Parallel compilation features: ref resolution, graph based checking, ILXGen and optimization enabled by default ([PR #18998](https://github.com/dotnet/fsharp/pull/18998))
+* Make graph based type checking and parallel optimizations deterministic ([PR #19028](https://github.com/dotnet/fsharp/pull/19028))
### Breaking Changes
diff --git a/docs/release-notes/.FSharp.Compiler.Service/10.0.300.md b/docs/release-notes/.FSharp.Compiler.Service/10.0.300.md
new file mode 100644
index 00000000000..c247da5870b
--- /dev/null
+++ b/docs/release-notes/.FSharp.Compiler.Service/10.0.300.md
@@ -0,0 +1,7 @@
+### Fixed
+
+### Added
+
+### Changed
+
+### Breaking Changes
diff --git a/docs/release-notes/.FSharp.Compiler.Service/11.0.0.md b/docs/release-notes/.FSharp.Compiler.Service/11.0.0.md
deleted file mode 100644
index 79ef59c29d9..00000000000
--- a/docs/release-notes/.FSharp.Compiler.Service/11.0.0.md
+++ /dev/null
@@ -1,32 +0,0 @@
-### Fixed
-
-* Nullness: Fix nullness refinement in match expressions to correctly narrow type to non-null after matching null case. ([Issue #18488](https://github.com/dotnet/fsharp/issues/18488), [PR #18852](https://github.com/dotnet/fsharp/pull/18852))
-* Scripts: Fix resolving the dotnet host path when an SDK directory is specified. ([PR #18960](https://github.com/dotnet/fsharp/pull/18960))
-* Fix excessive StackGuard thread jumping ([PR #18971](https://github.com/dotnet/fsharp/pull/18971))
-* Adjust conservative method-overload duplicate detection rules for nativeptr types ([PR #18911](https://github.com/dotnet/fsharp/pull/18911))
-* Checking: Fix checking nested fields for records and anonymous ([PR #18964](https://github.com/dotnet/fsharp/pull/18964))
-* Fix name is bound multiple times is not reported in 'as' pattern ([PR #18984](https://github.com/dotnet/fsharp/pull/18984))
-* Syntax Tree: fix return type info for let! / and! / use! ([PR #19004](https://github.com/dotnet/fsharp/pull/19004))
-* Fix: warn FS0049 on upper union case label. ([PR #19003](https://github.com/dotnet/fsharp/pull/19003))
-* Type relations cache: handle potentially "infinite" types ([PR #19010](https://github.com/dotnet/fsharp/pull/19010))
-* Disallow recursive structs with lifted type parameters ([Issue #18993](https://github.com/dotnet/fsharp/issues/18993), [PR #19031](https://github.com/dotnet/fsharp/pull/19031))
-* Fix units-of-measure changes not invalidating incremental builds. ([Issue #19049](https://github.com/dotnet/fsharp/issues/19049))
-* Fix race in graph checking of type extensions. ([PR #19062](https://github.com/dotnet/fsharp/pull/19062))
-* Type relations cache: handle unsolved type variables ([Issue #19037](https://github.com/dotnet/fsharp/issues/19037)) ([PR #19040](https://github.com/dotnet/fsharp/pull/19040))
-* Fix insertion context for modules with multiline attributes. ([Issue #18671](https://github.com/dotnet/fsharp/issues/18671))
-* Fix `--typecheck-only` for scripts stopping after processing `#load`-ed script ([PR #19048](https://github.com/dotnet/fsharp/pull/19048))
-* Fix object expressions in struct types generating invalid IL with byref fields causing TypeLoadException at runtime. ([Issue #19068](https://github.com/dotnet/fsharp/issues/19068), [PR #19070](https://github.com/dotnet/fsharp/pull/19070))
-* Reject direct invocation of static abstract interface members on F#-defined interface types, which caused BadImageFormatException at runtime. ([Issue #19231](https://github.com/dotnet/fsharp/issues/19231), [PR #19232](https://github.com/dotnet/fsharp/pull/19232))
-
-### Added
-
-* Add FSharpCodeCompletionOptions ([PR #19030](https://github.com/dotnet/fsharp/pull/19030))
-* Type checker: recover on checking binding parameter constraints ([#19046](https://github.com/dotnet/fsharp/pull/19046))
-* Debugger: provide breakpoint ranges for short lambdas ([#19067](https://github.com/dotnet/fsharp/pull/19067))
-* FSharpDiagnostic: add default severity ([#19152](https://github.com/dotnet/fsharp/pull/19152))
-* Add support for triple quoted ASCII byte string ([#19182](https://github.com/dotnet/fsharp/pull/19182))
-
-### Changed
-
-* Parallel compilation features: ref resolution, graph based checking, ILXGen and optimization enabled by default ([PR #18998](https://github.com/dotnet/fsharp/pull/18998))
-* Make graph based type checking and parallel optimizations deterministic ([PR #19028](https://github.com/dotnet/fsharp/pull/19028))
diff --git a/docs/release-notes/.FSharp.Core/10.0.300.md b/docs/release-notes/.FSharp.Core/10.0.300.md
new file mode 100644
index 00000000000..c247da5870b
--- /dev/null
+++ b/docs/release-notes/.FSharp.Core/10.0.300.md
@@ -0,0 +1,7 @@
+### Fixed
+
+### Added
+
+### Changed
+
+### Breaking Changes
diff --git a/docs/release-notes/.VisualStudio/18.vNext.md b/docs/release-notes/.VisualStudio/18.vNext.md
new file mode 100644
index 00000000000..c92e27375f3
--- /dev/null
+++ b/docs/release-notes/.VisualStudio/18.vNext.md
@@ -0,0 +1,3 @@
+### Fixed
+
+### Changed