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