Browse Source

feat: Content updates for .NET 10 (#433)

* feat: Update to .NET 10  (#429)

* chore: Version bumped to .NET 10

* feat: TargetFramework updated

* chore: Version bumped

* test: New step added

* test: Some projects removed

* test: Projects added back

* feat: 4.3 content updates

* test: Stride.Core.Assets.csproj removed

* test: Reversing the change

* feat: Release notes updated

* test: Remove test project

* Update workflow to build DocFX from PR using dotnet publish and add to PATH

* fix: Image path fixed

* fix: Note section fixed

* test: Custom build test added

* test: Template install added

* test: Another action disabled

* test: Minor updates

* fix: Paths fixed

* test: Actions enabled

* feat: Test build added to solution items

* fix: Minor update

* Update GitHub Actions workflow for DocFX build

* Change runner to windows-latest for deployment

* Revise PDF file sizes in documentation

Updated file sizes for PDF versions of Stride documentation.

* style: Blockqoute styling improved (#431)

* fix: Update quotations in the article

* feat: Styling improvemens for the quote

* feat: added details in major release workflow (#432)

Co-authored-by: Virgile Bello <[email protected]>

* feat: Draft improved

---------

Co-authored-by: Virgile Bello <[email protected]>
Vaclav Elias 1 month ago
parent
commit
a9e876b084

+ 36 - 9
.github/workflows/stride-docs-staging-azure.yml

@@ -25,17 +25,17 @@ jobs:
   build:
     # Run this job only if the repository is 'stride3d/stride-docs'
     if: github.repository == 'stride3d/stride-docs'
-    runs-on: windows-2022
+    runs-on: windows-latest
 
     steps:
     - name: .NET SDK Setup
       uses: actions/setup-dotnet@v4
       with:
-        dotnet-version: 8.x
+        dotnet-version: 10.x
 
     # Checkout the Stride Docs repository from the branch that triggered the workflow
     - name: Checkout Stride Docs
-      uses: actions/checkout@v4
+      uses: actions/checkout@v5
       with:
         path: ${{ env.DOCS_PATH }}
         lfs: true
@@ -57,7 +57,7 @@ jobs:
 
     # Checkout the Stride repository from the default branch
     - name: Checkout Stride (note the LFS)
-      uses: actions/checkout@v4
+      uses: actions/checkout@v5
       with:
         repository: stride3d/stride
         token: ${{ secrets.GITHUB_TOKEN }}
@@ -65,11 +65,38 @@ jobs:
         lfs: true
         ref: master
 
-    - name: Install DocFX
+    # Temporary solution till the new docfx is available
+    - name: Checkout DocFX PR Branch
+      uses: actions/checkout@v5
+      with:
+        repository: filzrev/docfx
+        ref: feat-add-net10-support
+        path: docfx-build
+
+    - name: Restore npm dependencies
+      run: npm install
+      working-directory:  docfx-build/templates
+
+    - name: Build site templates
+      run: npm run build
+      working-directory:  docfx-build/templates
+
+    - name: Build DocFX from PR
+      run: dotnet pack src/docfx -c Release /p:Version=2.9-stride -o drop/nuget
+      working-directory: docfx-build
+      shell: pwsh
+
+    - name: Build Install DocFX
+      run: dotnet tool install -g docfx --version 2.9-stride --add-source drop/nuget
+      working-directory: docfx-build
+      shell: pwsh
+      # End of Temporary solution
+      
+    #- name: Install DocFX
       # This installs the latest version of DocFX and may introduce breaking changes
       # run: dotnet tool update -g docfx
       # This installs a specific, tested version of DocFX.
-      run: dotnet tool update -g docfx --version 2.78.3
+      #run: dotnet tool update -g docfx --version 2.78.3
 
     - name: Build documentation
       run: ./build-all.bat
@@ -79,14 +106,14 @@ jobs:
       run: 7z a -r DocFX-app.zip ./${{ env.DOCS_PATH }}/_site/*
 
     - name: Upload artifact for deployment job
-      uses: actions/upload-artifact@v4
+      uses: actions/upload-artifact@v5
       with:
         name: DocFX-app
         path: DocFX-app.zip
 
   deploy:
     if: github.repository == 'stride3d/stride-docs'
-    runs-on: windows-2022
+    runs-on: windows-latest
 
     needs: build
     environment:
@@ -95,7 +122,7 @@ jobs:
 
     steps:
     - name: Download artifact from build job
-      uses: actions/download-artifact@v4
+      uses: actions/download-artifact@v6
       with:
         name: DocFX-app
 

+ 35 - 8
.github/workflows/stride-docs-test-build.yml

@@ -13,17 +13,17 @@ on:
 
 jobs:
   build:
-    runs-on: windows-2022
+    runs-on: windows-latest
 
     steps:
     - name: .NET SDK Setup
-      uses: actions/setup-dotnet@v4
+      uses: actions/setup-dotnet@v5
       with:
-        dotnet-version: 8.x
+        dotnet-version: 10.x
 
     # Checkout the Stride Docs repository from the branch that triggered the workflow
     - name: Checkout Stride Docs
-      uses: actions/checkout@v4
+      uses: actions/checkout@v5
       with:
         path: ${{ env.DOCS_PATH }}
         lfs: true
@@ -45,7 +45,7 @@ jobs:
 
     # Checkout the Stride repository from the default branch
     - name: Checkout Stride (note the LFS)
-      uses: actions/checkout@v4
+      uses: actions/checkout@v5
       with:
         repository: stride3d/stride
         token: ${{ secrets.GITHUB_TOKEN }}
@@ -53,11 +53,38 @@ jobs:
         lfs: true
         ref: master
 
-    - name: Install DocFX
+    # Temporary solution till the new docfx is available
+    - name: Checkout DocFX PR Branch
+      uses: actions/checkout@v5
+      with:
+        repository: filzrev/docfx
+        ref: feat-add-net10-support
+        path: docfx-build
+
+    - name: Restore npm dependencies
+      run: npm install
+      working-directory:  docfx-build/templates
+
+    - name: Build site templates
+      run: npm run build
+      working-directory:  docfx-build/templates
+
+    - name: Build DocFX from PR
+      run: dotnet pack src/docfx -c Release /p:Version=2.9-stride -o drop/nuget
+      working-directory: docfx-build
+      shell: pwsh
+
+    - name: Build Install DocFX
+      run: dotnet tool install -g docfx --version 2.9-stride --add-source drop/nuget
+      working-directory: docfx-build
+      shell: pwsh
+      # End of Temporary solution
+
+    #- name: Install DocFX
       # This installs the latest version of DocFX and may introduce breaking changes
       # run: dotnet tool update -g docfx
       # This installs a specific, tested version of DocFX.
-      run: dotnet tool update -g docfx --version 2.78.3
+      #run: dotnet tool update -g docfx --version 2.78.3
 
     - name: Build documentation
       run: ./build-all.bat
@@ -67,7 +94,7 @@ jobs:
       run: 7z a -r DocFX-app.zip ./${{ env.DOCS_PATH }}/_site/*
 
     - name: Upload artifact for deployment job
-      uses: actions/upload-artifact@v4
+      uses: actions/upload-artifact@v5
       with:
         name: DocFX-app
         path: DocFX-app.zip

+ 1 - 1
Stride.Docs.csproj

@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk.Web">
 
     <PropertyGroup>
-        <TargetFramework>net6.0</TargetFramework>
+        <TargetFramework>net10.0</TargetFramework>
         <Nullable>enable</Nullable>
         <ImplicitUsings>enable</ImplicitUsings>
     </PropertyGroup>

+ 3 - 2
Stride.Docs.sln

@@ -1,7 +1,7 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.5.33516.290
+# Visual Studio Version 18
+VisualStudioVersion = 18.0.11205.157 d18.0
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Stride.Docs", "Stride.Docs.csproj", "{F221508C-43CE-45A5-BC37-3050882A22A5}"
 EndProject
@@ -13,6 +13,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
 		.github\workflows\stride-docs-release-fast-track-azure.yml = .github\workflows\stride-docs-release-fast-track-azure.yml
 		.github\workflows\stride-docs-staging-azure.yml = .github\workflows\stride-docs-staging-azure.yml
 		.github\workflows\stride-docs-staging-fast-track-azure.yml = .github\workflows\stride-docs-staging-fast-track-azure.yml
+		.github\workflows\stride-docs-test-build.yml = .github\workflows\stride-docs-test-build.yml
 		.github\workflows\stride-docs-wiki.yml = .github\workflows\stride-docs-wiki.yml
 	EndProjectSection
 EndProject

+ 253 - 0
en/ReleaseNotes/ReleaseNotes-4.2.md

@@ -0,0 +1,253 @@
+# Stride 4.2 Release notes
+
+February 6th, 2024
+
+Stride contributors are thrilled to announce the release of Stride 4.2, now fully compatible with .NET 8 and leveraging the latest enhancements in C# 12. This release brings significant improvements in performance, stability, and developer experience.
+
+Read the full blog post here: [Announcing Stride 4.2](https://www.stride3d.net/blog/announcing-stride-4-2-in-dotnet-8/)
+
+A massive thank you to the open-source Stride community for your dedicated contributions. This release saw over 75 contributions from more than 22 amazing contributors, each playing a crucial role in making Stride 4.2 a reality.
+
+## Other releases since the last major release
+
+- [4.2.1.2485](https://github.com/stride3d/stride/releases/tag/releases%2F4.2.1.2485): October 2025
+- [4.2.1.2442](https://github.com/stride3d/stride/releases/tag/releases%2F4.2.1.2442): August 2025
+- [4.2.0.2381](https://github.com/stride3d/stride/releases/tag/releases%2F4.2.0.2381): March 2025
+- [4.2.0.2374](https://github.com/stride3d/stride/releases/tag/releases%2F4.2.0.2374): February 2025
+- [4.2.0.2293](https://github.com/stride3d/stride/releases/tag/releases%2F4.2.0.2293): January 2025
+- [4.2.0.2282](https://github.com/stride3d/stride/releases/tag/releases%2F4.2.0.2282): December 2024
+- [4.2.0.2232](https://github.com/stride3d/stride/releases/tag/releases%2F4.2.0.2232): September 2024
+- [4.2.0.2188](https://github.com/stride3d/stride/releases/tag/releases%2F4.2.0.2188): June 2024
+- [4.2.0.2122](https://github.com/stride3d/stride/releases/tag/releases%2F4.2.0.2122): March 2024
+
+## What's new in Stride 4.2
+Stride 4.2 includes numerous enhancements and improvements. Here’s what to expect:
+
+- **.NET 8 Integration**: Stride 4.2 is now fully aligned with .NET 8, harnessing its performance improvements and efficiency gains for game development. This means faster execution times, reduced memory footprint, and access to the latest C# features, making your development smoother and more efficient. [Learn more](https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-8/)
+
+- **C# 12 Features**: With C# 12, Stride users can write cleaner, more concise code thanks to new language features. These improvements reduce boilerplate and enhance readability. [Discover C# 12](https://devblogs.microsoft.com/dotnet/announcing-csharp-12/)
+
+- **Changed Assimp Binding to Silk.Net.Assimp**: This update transitions the asset compiler's binding from C++/CLR to Silk.Net.Assimp, a move that not only simplifies the codebase but also paves the way for asset compilation on non-Windows systems, broadening Stride's accessibility. [See the pull request](https://github.com/stride3d/stride/pull/1158)
+
+- **Migration NET6+ and More gettextnet#2**: Stride's commitment to staying current with .NET versions continues, ensuring compatibility and leveraging the stability and features of the latest .NET environment across all aspects of the engine. [Check out the update](https://github.com/stride3d/gettextnet/pull/2)
+
+- **Enable Multiple Profiler Consumers and Add a Timeline/Tracing Profiler**: This enhancement introduces a profiler with chrome://tracing output format, significantly improving the debugging and performance tuning process by allowing for a more granular analysis of game performance. [Explore the feature](https://github.com/stride3d/stride/pull/1788)
+
+- **Feature: Add Support for F# and VB Project Types**: Stride now welcomes developers using F# and Visual Basic, offering support for code-only projects in these languages. This opens up Stride to a broader audience. [Learn about F# and VB support](https://github.com/stride3d/stride/pull/1821)
+
+- **Stride Diagnostics Analyzer**: This new tool provides immediate feedback within your IDE, identifying potential compatibility issues with Stride's serialization system. It's about making your development process smoother and helping you catch and resolve issues faster. [Discover how it works](https://www.stride3d.net/blog/new-diagnostic-analyzers-feature/), [the docs page](https://doc.stride3d.net/latest/en/diagnostics/index.html) and [here is the pull request](https://github.com/stride3d/stride/pull/1864).
+
+- **OpenVR Handle Custom Resolution Specified by the User Through VR Settings**: Enhancing VR development, this update allows developers to specify custom resolutions for VR projects, optimizing performance and visual quality for various VR devices. [See the details](https://github.com/stride3d/stride/pull/2000)
+
+- **Editor Enhancements**:
+
+  - **Dynamic Snapping for Selected Objects**: This feature introduces dynamic snapping while transforming objects, improving precision and workflow efficiency within the Stride Editor. [Dynamic snapping PR](https://github.com/stride3d/stride/pull/1801)
+
+  - **Animation Stack Selection for FBX Imports**: Stride now allows you to select specific animations from a stack when importing FBX files, giving you more control over the assets you bring into your projects. [Learn more](https://github.com/stride3d/stride/pull/1977)
+
+  - **Automatic Asset Copying to Resources Directory**: To streamline asset management, the editor can now automatically copy imported assets to the project's Resources directory, ensuring your assets are always where they need to be. [See how it works](https://github.com/stride3d/stride/pull/1827)
+
+## What's Changed in Details
+
+* Fixed Exception Caused By Privacy Policy URL in Crash Reporter by @MeharDT in https://github.com/stride3d/stride/pull/1878
+* docs: add acastrodev as a contributor for code by @allcontributors in https://github.com/stride3d/stride/pull/1886
+* docs: add SVNMLR as a contributor for design by @allcontributors in https://github.com/stride3d/stride/pull/1887
+* docs: add JeromyWalsh as a contributor for code by @allcontributors in https://github.com/stride3d/stride/pull/1888
+* docs: add parhamgholami as a contributor for design by @allcontributors in https://github.com/stride3d/stride/pull/1889
+* Fix missing OpenGLES texture formats. by @Basewq in https://github.com/stride3d/stride/pull/1898
+* field typo by @IXLLEGACYIXL in https://github.com/stride3d/stride/pull/1900
+* [Editor] Improve Cameracontrol in Editor by @SVNMLR in https://github.com/stride3d/stride/pull/1879
+* [XML Comment] Minor updates on EFlags in CollisionFilterGroups.cs by @VaclavElias in https://github.com/stride3d/stride/pull/1910
+* Fixes the issue where projects were disappearing from the launcher by @acastrodev in https://github.com/stride3d/stride/pull/1880
+* Fix typo in translations generation by @Ethereal77 in https://github.com/stride3d/stride/pull/1916
+* Handle importing meshes with duplicate material names by @adrsch in https://github.com/stride3d/stride/pull/1920
+* [Native] - Implement some existing C++ methods in C# by @Jklawreszuk in https://github.com/stride3d/stride/pull/1896
+* [Launcher] Prevent launcher automatically closing when offline by @Eideren in https://github.com/stride3d/stride/pull/1912
+* Small refactoring changes in Stride.GameStudio by @Jklawreszuk in https://github.com/stride3d/stride/pull/1741
+* Remove MSBuild.Extras from project by @Jklawreszuk in https://github.com/stride3d/stride/pull/1895
+* [Editor] Allow drag and drop of EntityComponent by @Eideren in https://github.com/stride3d/stride/pull/1921
+* Add editor settings for the camera speed increase/decrease hotkeys by @adrsch in https://github.com/stride3d/stride/pull/1927
+* docs: add adrsch as a contributor for code by @allcontributors in https://github.com/stride3d/stride/pull/1930
+* Let the user set the default Bullet gravity vector in PhysicsSettings by @adrsch in https://github.com/stride3d/stride/pull/1928
+* Migrate Irony.GrammarExplorer to net 6.0 by @Jklawreszuk in https://github.com/stride3d/stride/pull/1932
+* [Core] Enable multiple profiler consumers and add a timeline/tracing profiler by @froce in https://github.com/stride3d/stride/pull/1788
+* [Build] Fixed an errors in the build pipeline associated with having a space in the user name by @Fydar in https://github.com/stride3d/stride/pull/1941
+* fix(graphics): Stop FastTextRenderer VB clobbering by @froce in https://github.com/stride3d/stride/pull/1954
+* Update SSH.NET to 2023.0.0 by @WojciechNagorski in https://github.com/stride3d/stride/pull/1951
+* [Build] Fix Android build error by @froce in https://github.com/stride3d/stride/pull/1949
+* [Docs] Use XML documentation lists by @Fydar in https://github.com/stride3d/stride/pull/1948
+* [Editor] Remove some windows dependencies in editor libraries by @Kryptos-FR in https://github.com/stride3d/stride/pull/1908
+* parse numbers in NumericTextBox using CurrentCulture by @Schossi in https://github.com/stride3d/stride/pull/1811
+* Xml comments fixing 1 by @VaclavElias in https://github.com/stride3d/stride/pull/1918
+* [Presentation] Reduce allocations when parsing number in NumericTextBox by @Kryptos-FR in https://github.com/stride3d/stride/pull/1955
+* [Sample] Replace deprecated GetServiceAs calls by @Eideren in https://github.com/stride3d/stride/pull/1943
+* Fix compiling assets in Android build by @Basewq in https://github.com/stride3d/stride/pull/1905
+* Removed all references to $(SolutionDir) from build artifacts by @JeromyWalsh in https://github.com/stride3d/stride/pull/1894
+* [Serialization] Fix diverging rules for editor and runtime serialization of fields and properties by @Eideren in https://github.com/stride3d/stride/pull/1875
+* feat(extension): Rename launcher buttons for clarity by @acastrodev in https://github.com/stride3d/stride/pull/1872
+* Stride Diagnostics Analyzer by @IXLLEGACYIXL in https://github.com/stride3d/stride/pull/1864
+* Fix Building by @MaximilianEmel in https://github.com/stride3d/stride/pull/1956
+* [Math] Add a couple of helpers for Vectors by @ch3mbot in https://github.com/stride3d/stride/pull/1769
+* Fix #1769 and introduce an optional argument to specify a different r… by @Kryptos-FR in https://github.com/stride3d/stride/pull/1964
+* [Github] Update pull request template to ensure users tried out their changes by @Eideren in https://github.com/stride3d/stride/pull/1965
+* Fixed small xml docs mistake by @Doprez in https://github.com/stride3d/stride/pull/1976
+* Revert "[Editor] Remove some windows dependencies in editor libraries (#1908)" by @Eideren in https://github.com/stride3d/stride/pull/1980
+* [AssemblyProcessor] Fixed packing path. by @Basewq in https://github.com/stride3d/stride/pull/1987
+* [Core] Make object id more performant by @IXLLEGACYIXL in https://github.com/stride3d/stride/pull/1957
+* [Docs] Move bounty paragraph to a more prominent spot by @Eideren in https://github.com/stride3d/stride/pull/1984
+* [Readme] Some additional info for building Stride from source by @tebjan in https://github.com/stride3d/stride/pull/1988
+* [Docs] Update PropertiesDemo.cs by @Eideren in https://github.com/stride3d/stride/pull/1991
+* Fix failing to load data/db/index file on non-Win desktop platforms by @Jklawreszuk in https://github.com/stride3d/stride/pull/1995
+* [Shaders] Fixes `EffectValueDescription.DefaultValue` for negative values by @azeno in https://github.com/stride3d/stride/pull/1990
+* [Editor] Re-introduce workaround for missing input while navigating by @Eideren in https://github.com/stride3d/stride/pull/1897
+* [Build] Fix native library loading picking up invalid files by @Basewq in https://github.com/stride3d/stride/pull/1999
+* Fixes OpenXR by @MaximilianEmel in https://github.com/stride3d/stride/pull/1911
+* [Breaking] Scoping generic extension methods by @Fydar in https://github.com/stride3d/stride/pull/1959
+* Add information about Irony.GrammarExplorer project by @Jklawreszuk in https://github.com/stride3d/stride/pull/2007
+* [VR] Remove framecap from VR sample by @Eideren in https://github.com/stride3d/stride/pull/2002
+* Bump Newtonsoft.Json from 12.0.3 to 13.0.1 in /sources/metrics/Stride.Metrics by @dependabot in https://github.com/stride3d/stride/pull/1539
+* [OpenVR] Handle custom resolution specified by the user through VR settings by @Eideren in https://github.com/stride3d/stride/pull/2000
+* Update NuGet libraries to 6.4.2 by @manio143 in https://github.com/stride3d/stride/pull/2017
+* Let the user pick which animation stack to import in an fbx by @adrsch in https://github.com/stride3d/stride/pull/1977
+* Fixes OpenGL by @MaximilianEmel in https://github.com/stride3d/stride/pull/2023
+* Update dotnet 8 by @Doprez in https://github.com/stride3d/stride/pull/1616
+* [Native] - Implement IsXInputDevice method in C# by @Jklawreszuk in https://github.com/stride3d/stride/pull/1926
+* Rollback changes to Stride.Native.targets and add StrideNative.cpp by @Kryptos-FR in https://github.com/stride3d/stride/pull/2047
+* Use central package management by @Kryptos-FR in https://github.com/stride3d/stride/pull/2045
+* [Build] Use central package management  - missed a couple of projects by @Kryptos-FR in https://github.com/stride3d/stride/pull/2052
+* [Profiling] Fix performance regression in FastTextRenderer by @Eideren in https://github.com/stride3d/stride/pull/2058
+* [Project] GitIgnore Rider cache/user config by @Eideren in https://github.com/stride3d/stride/pull/2062
+* [Build] Fix build following changes from #2045 by @Eideren in https://github.com/stride3d/stride/pull/2061
+* Replace net 6 leftovers by @Jklawreszuk in https://github.com/stride3d/stride/pull/2038
+* updated missed dotnet 6 reference in readme by @Doprez in https://github.com/stride3d/stride/pull/2051
+* [Math] Relax constraints on arguments passed as ref across math types by @Eideren in https://github.com/stride3d/stride/pull/2044
+* fix(fbx import): Prevent zero-length tangents/normals (partial fix for #325) by @froce in https://github.com/stride3d/stride/pull/2066
+* [Editor] Fix NuGet.Frameworks failing to load causing RoslynPad to break by @Eideren in https://github.com/stride3d/stride/pull/2075
+* [Native] Undo lightprobe-related code removal by @Jklawreszuk in https://github.com/stride3d/stride/pull/2077
+* Fix extension by @Doprez in https://github.com/stride3d/stride/pull/2064
+* [Build] Move Directory.Packages.props by @Kryptos-FR in https://github.com/stride3d/stride/pull/2055
+* Fix Typos in XML docs by @Doprez in https://github.com/stride3d/stride/pull/2091
+
+## Contributors
+
+A heartfelt thank you to all the contributors who have played a significant role in this release:
+
+- [@MeharDT](https://github.com/MeharDT)
+- [@Basewq](https://github.com/Basewq)
+- [@Doprez](https://github.com/Doprez)
+- [@IXLLEGACYIXL](https://github.com/IXLLEGACYIXL)
+- [@SVNMLR](https://github.com/SVNMLR)
+- [@VaclavElias](https://github.com/VaclavElias)
+- [@acastrodev](https://github.com/acastrodev)
+- [@Ethereal77](https://github.com/Ethereal77)
+- [@adrsch](https://github.com/adrsch)
+- [@Jklawreszuk](https://github.com/Jklawreszuk)
+- [@Eideren](https://github.com/Eideren)
+- [@Fydar](https://github.com/Fydar)
+- [@froce](https://github.com/froce)
+- [@Kryptos-FR](https://github.com/Kryptos-FR)
+- [@Schossi](https://github.com/Schossi)
+- [@MaximilianEmel](https://github.com/MaximilianEmel)
+- [@ch3mbot](https://github.com/ch3mbot)
+- [@tebjan](https://github.com/tebjan)
+- [@JeromyWalsh](https://github.com/JeromyWalsh)
+- [@azeno](https://github.com/azeno)
+- [@WojciechNagorski](https://github.com/WojciechNagorski)
+- [@manio143](https://github.com/manio143)
+
+## New Contributors
+
+We are especially excited to welcome the following new contributors to Stride with the 4.2 release. Your contributions are greatly appreciated!
+
+* @adrsch made their first contribution in https://github.com/stride3d/stride/pull/1920
+* @froce made their first contribution in https://github.com/stride3d/stride/pull/1788
+* @Fydar made their first contribution in https://github.com/stride3d/stride/pull/1941
+* @WojciechNagorski made their first contribution in https://github.com/stride3d/stride/pull/1951
+* @Schossi made their first contribution in https://github.com/stride3d/stride/pull/1811
+* @MaximilianEmel made their first contribution in https://github.com/stride3d/stride/pull/1956
+* @ch3mbot made their first contribution in https://github.com/stride3d/stride/pull/1769
+
+## Stride 4.2 Feature Overview
+
+### F# and Visual Basic Integration
+
+A pivotal PR has enabled **F#** and **Visual Basic** support for game development in Stride. This feature is currently limited to a code-only approach. Detailed insights and tutorials will be provided in upcoming blog posts.
+
+We will use the [Stride Community Toolkit [WIP]](https://stride3d.github.io/stride-community-toolkit/), with further details to be covered in a separate post.
+
+Below is a simple example of rendering a capsule using F#:
+
+```fsharp
+open Stride.CommunityToolkit.Engine;
+open Stride.CommunityToolkit.ProceduralModels;
+open Stride.Core.Mathematics;
+open Stride.Engine;
+
+let game = new Game()
+
+let Start rootScene =
+    game.SetupBase3DScene()
+    game.AddProfiler() |> ignore
+
+    let firstBox = game.CreatePrimitive(PrimitiveModelType.Capsule);
+    firstBox.Transform.Position <- new Vector3(0f, 2.5f, 0f)
+    firstBox.Scene <- rootScene
+
+[<EntryPoint>]
+let main argv =
+    game.Run(start = Start)
+    0
+```
+
+![Example basic 3d scene with a capsule](media/ReleaseNotes-4.2/stride-game-engine-example01-basic-3d-scene.webp)
+
+The equivalent Visual Basic example:
+
+```vb
+Imports Stride.CommunityToolkit.Engine
+Imports Stride.CommunityToolkit.ProceduralModels
+Imports Stride.Core.Mathematics
+Imports Stride.Engine
+
+Module Program
+    Private game As New Game()
+
+    Sub Main()
+        GameExtensions.Run(game, Nothing, AddressOf StartGame)
+    End Sub
+
+    Private Sub StartGame(rootScene As Scene)
+        game.SetupBase3DScene()
+        game.AddProfiler()
+
+        Dim entity = game.CreatePrimitive(PrimitiveModelType.Capsule)
+        entity.Transform.Position = New Vector3(0, 8, 0)
+        entity.Scene = rootScene
+    End Sub
+End Module
+
+```
+
+These examples showcase how F# and Visual Basic can be utilized in Stride. The Stride Community Toolkit provides a set of helpers and extensions designed to enhance your experience with the Stride Game Engine.
+
+## Fixes
+Although there have been [many fixes](https://github.com/stride3d/stride/pulls?page=2&q=is%3Apr+merged%3A%3E2023-10-10), we'd like to point some of them out:
+
+- [Runtime rasterized fonts are broken #1750](https://github.com/stride3d/stride/issues/1750)
+- [Game Studio doesn't reload sub projects after changes #1703](https://github.com/stride3d/stride/issues/1703)
+- [Changing the comparison project related and not UPath related #1704](https://github.com/stride3d/stride/pull/1704)
+- [Translations fix #1717](https://github.com/stride3d/stride/pull/1717)
+- [C# Beginner Tutorial Build Errors #1652](https://github.com/stride3d/stride/issues/1652)
+- [Can not create "C# Beginner" project #1650](https://github.com/stride3d/stride/issues/1650)
+
+## Also good to know
+Although not directly tied to Release 4.2, we have some more big things going on.
+
+For instance to our website and documentation. We also had another community meeting to address all those new members.
+
+- [Website and documentation revamped and build process updated](https://www.stride3d.net/blog/announcing-website-update/)
+- [Contributor section moved to docs](https://doc.stride3d.net/latest/en/contributors/index.html)
+- [Community meeting October 2023](https://www.stride3d.net/blog/community-meeting-october-2023/)
+
+## Acknowledgements
+We extend our heartfelt gratitude for all the hard work and donations we have received. Your generous contributions significantly aid in the continuous development and enhancement of the Stride community and projects. Thank you for your support and belief in our collective efforts.

+ 45 - 226
en/ReleaseNotes/ReleaseNotes.md

@@ -1,253 +1,72 @@
-# Stride 4.2 Release notes
-
-February 6th, 2024
-
-Stride contributors are thrilled to announce the release of Stride 4.2, now fully compatible with .NET 8 and leveraging the latest enhancements in C# 12. This release brings significant improvements in performance, stability, and developer experience.
-
-Read the full blog post here: [Announcing Stride 4.2](https://www.stride3d.net/blog/announcing-stride-4-2-in-dotnet-8/)
-
-A massive thank you to the open-source Stride community for your dedicated contributions. This release saw over 75 contributions from more than 22 amazing contributors, each playing a crucial role in making Stride 4.2 a reality.
-
-## Other releases since the last major release
-
-- [4.2.1.2485](https://github.com/stride3d/stride/releases/tag/releases%2F4.2.1.2485): October 2025
-- [4.2.1.2442](https://github.com/stride3d/stride/releases/tag/releases%2F4.2.1.2442): August 2025
-- [4.2.0.2381](https://github.com/stride3d/stride/releases/tag/releases%2F4.2.0.2381): March 2025
-- [4.2.0.2374](https://github.com/stride3d/stride/releases/tag/releases%2F4.2.0.2374): February 2025
-- [4.2.0.2293](https://github.com/stride3d/stride/releases/tag/releases%2F4.2.0.2293): January 2025
-- [4.2.0.2282](https://github.com/stride3d/stride/releases/tag/releases%2F4.2.0.2282): December 2024
-- [4.2.0.2232](https://github.com/stride3d/stride/releases/tag/releases%2F4.2.0.2232): September 2024
-- [4.2.0.2188](https://github.com/stride3d/stride/releases/tag/releases%2F4.2.0.2188): June 2024
-- [4.2.0.2122](https://github.com/stride3d/stride/releases/tag/releases%2F4.2.0.2122): March 2024
-
-## What's new in Stride 4.2
-Stride 4.2 includes numerous enhancements and improvements. Here’s what to expect:
-
-- **.NET 8 Integration**: Stride 4.2 is now fully aligned with .NET 8, harnessing its performance improvements and efficiency gains for game development. This means faster execution times, reduced memory footprint, and access to the latest C# features, making your development smoother and more efficient. [Learn more](https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-8/)
-
-- **C# 12 Features**: With C# 12, Stride users can write cleaner, more concise code thanks to new language features. These improvements reduce boilerplate and enhance readability. [Discover C# 12](https://devblogs.microsoft.com/dotnet/announcing-csharp-12/)
-
-- **Changed Assimp Binding to Silk.Net.Assimp**: This update transitions the asset compiler's binding from C++/CLR to Silk.Net.Assimp, a move that not only simplifies the codebase but also paves the way for asset compilation on non-Windows systems, broadening Stride's accessibility. [See the pull request](https://github.com/stride3d/stride/pull/1158)
-
-- **Migration NET6+ and More gettextnet#2**: Stride's commitment to staying current with .NET versions continues, ensuring compatibility and leveraging the stability and features of the latest .NET environment across all aspects of the engine. [Check out the update](https://github.com/stride3d/gettextnet/pull/2)
-
-- **Enable Multiple Profiler Consumers and Add a Timeline/Tracing Profiler**: This enhancement introduces a profiler with chrome://tracing output format, significantly improving the debugging and performance tuning process by allowing for a more granular analysis of game performance. [Explore the feature](https://github.com/stride3d/stride/pull/1788)
-
-- **Feature: Add Support for F# and VB Project Types**: Stride now welcomes developers using F# and Visual Basic, offering support for code-only projects in these languages. This opens up Stride to a broader audience. [Learn about F# and VB support](https://github.com/stride3d/stride/pull/1821)
-
-- **Stride Diagnostics Analyzer**: This new tool provides immediate feedback within your IDE, identifying potential compatibility issues with Stride's serialization system. It's about making your development process smoother and helping you catch and resolve issues faster. [Discover how it works](https://www.stride3d.net/blog/new-diagnostic-analyzers-feature/), [the docs page](https://doc.stride3d.net/latest/en/diagnostics/index.html) and [here is the pull request](https://github.com/stride3d/stride/pull/1864).
-
-- **OpenVR Handle Custom Resolution Specified by the User Through VR Settings**: Enhancing VR development, this update allows developers to specify custom resolutions for VR projects, optimizing performance and visual quality for various VR devices. [See the details](https://github.com/stride3d/stride/pull/2000)
-
-- **Editor Enhancements**:
-
-  - **Dynamic Snapping for Selected Objects**: This feature introduces dynamic snapping while transforming objects, improving precision and workflow efficiency within the Stride Editor. [Dynamic snapping PR](https://github.com/stride3d/stride/pull/1801)
-
-  - **Animation Stack Selection for FBX Imports**: Stride now allows you to select specific animations from a stack when importing FBX files, giving you more control over the assets you bring into your projects. [Learn more](https://github.com/stride3d/stride/pull/1977)
-
-  - **Automatic Asset Copying to Resources Directory**: To streamline asset management, the editor can now automatically copy imported assets to the project's Resources directory, ensuring your assets are always where they need to be. [See how it works](https://github.com/stride3d/stride/pull/1827)
-
-## What's Changed in Details
-
-* Fixed Exception Caused By Privacy Policy URL in Crash Reporter by @MeharDT in https://github.com/stride3d/stride/pull/1878
-* docs: add acastrodev as a contributor for code by @allcontributors in https://github.com/stride3d/stride/pull/1886
-* docs: add SVNMLR as a contributor for design by @allcontributors in https://github.com/stride3d/stride/pull/1887
-* docs: add JeromyWalsh as a contributor for code by @allcontributors in https://github.com/stride3d/stride/pull/1888
-* docs: add parhamgholami as a contributor for design by @allcontributors in https://github.com/stride3d/stride/pull/1889
-* Fix missing OpenGLES texture formats. by @Basewq in https://github.com/stride3d/stride/pull/1898
-* field typo by @IXLLEGACYIXL in https://github.com/stride3d/stride/pull/1900
-* [Editor] Improve Cameracontrol in Editor by @SVNMLR in https://github.com/stride3d/stride/pull/1879
-* [XML Comment] Minor updates on EFlags in CollisionFilterGroups.cs by @VaclavElias in https://github.com/stride3d/stride/pull/1910
-* Fixes the issue where projects were disappearing from the launcher by @acastrodev in https://github.com/stride3d/stride/pull/1880
-* Fix typo in translations generation by @Ethereal77 in https://github.com/stride3d/stride/pull/1916
-* Handle importing meshes with duplicate material names by @adrsch in https://github.com/stride3d/stride/pull/1920
-* [Native] - Implement some existing C++ methods in C# by @Jklawreszuk in https://github.com/stride3d/stride/pull/1896
-* [Launcher] Prevent launcher automatically closing when offline by @Eideren in https://github.com/stride3d/stride/pull/1912
-* Small refactoring changes in Stride.GameStudio by @Jklawreszuk in https://github.com/stride3d/stride/pull/1741
-* Remove MSBuild.Extras from project by @Jklawreszuk in https://github.com/stride3d/stride/pull/1895
-* [Editor] Allow drag and drop of EntityComponent by @Eideren in https://github.com/stride3d/stride/pull/1921
-* Add editor settings for the camera speed increase/decrease hotkeys by @adrsch in https://github.com/stride3d/stride/pull/1927
-* docs: add adrsch as a contributor for code by @allcontributors in https://github.com/stride3d/stride/pull/1930
-* Let the user set the default Bullet gravity vector in PhysicsSettings by @adrsch in https://github.com/stride3d/stride/pull/1928
-* Migrate Irony.GrammarExplorer to net 6.0 by @Jklawreszuk in https://github.com/stride3d/stride/pull/1932
-* [Core] Enable multiple profiler consumers and add a timeline/tracing profiler by @froce in https://github.com/stride3d/stride/pull/1788
-* [Build] Fixed an errors in the build pipeline associated with having a space in the user name by @Fydar in https://github.com/stride3d/stride/pull/1941
-* fix(graphics): Stop FastTextRenderer VB clobbering by @froce in https://github.com/stride3d/stride/pull/1954
-* Update SSH.NET to 2023.0.0 by @WojciechNagorski in https://github.com/stride3d/stride/pull/1951
-* [Build] Fix Android build error by @froce in https://github.com/stride3d/stride/pull/1949
-* [Docs] Use XML documentation lists by @Fydar in https://github.com/stride3d/stride/pull/1948
-* [Editor] Remove some windows dependencies in editor libraries by @Kryptos-FR in https://github.com/stride3d/stride/pull/1908
-* parse numbers in NumericTextBox using CurrentCulture by @Schossi in https://github.com/stride3d/stride/pull/1811
-* Xml comments fixing 1 by @VaclavElias in https://github.com/stride3d/stride/pull/1918
-* [Presentation] Reduce allocations when parsing number in NumericTextBox by @Kryptos-FR in https://github.com/stride3d/stride/pull/1955
-* [Sample] Replace deprecated GetServiceAs calls by @Eideren in https://github.com/stride3d/stride/pull/1943
-* Fix compiling assets in Android build by @Basewq in https://github.com/stride3d/stride/pull/1905
-* Removed all references to $(SolutionDir) from build artifacts by @JeromyWalsh in https://github.com/stride3d/stride/pull/1894
-* [Serialization] Fix diverging rules for editor and runtime serialization of fields and properties by @Eideren in https://github.com/stride3d/stride/pull/1875
-* feat(extension): Rename launcher buttons for clarity by @acastrodev in https://github.com/stride3d/stride/pull/1872
-* Stride Diagnostics Analyzer by @IXLLEGACYIXL in https://github.com/stride3d/stride/pull/1864
-* Fix Building by @MaximilianEmel in https://github.com/stride3d/stride/pull/1956
-* [Math] Add a couple of helpers for Vectors by @ch3mbot in https://github.com/stride3d/stride/pull/1769
-* Fix #1769 and introduce an optional argument to specify a different r… by @Kryptos-FR in https://github.com/stride3d/stride/pull/1964
-* [Github] Update pull request template to ensure users tried out their changes by @Eideren in https://github.com/stride3d/stride/pull/1965
-* Fixed small xml docs mistake by @Doprez in https://github.com/stride3d/stride/pull/1976
-* Revert "[Editor] Remove some windows dependencies in editor libraries (#1908)" by @Eideren in https://github.com/stride3d/stride/pull/1980
-* [AssemblyProcessor] Fixed packing path. by @Basewq in https://github.com/stride3d/stride/pull/1987
-* [Core] Make object id more performant by @IXLLEGACYIXL in https://github.com/stride3d/stride/pull/1957
-* [Docs] Move bounty paragraph to a more prominent spot by @Eideren in https://github.com/stride3d/stride/pull/1984
-* [Readme] Some additional info for building Stride from source by @tebjan in https://github.com/stride3d/stride/pull/1988
-* [Docs] Update PropertiesDemo.cs by @Eideren in https://github.com/stride3d/stride/pull/1991
-* Fix failing to load data/db/index file on non-Win desktop platforms by @Jklawreszuk in https://github.com/stride3d/stride/pull/1995
-* [Shaders] Fixes `EffectValueDescription.DefaultValue` for negative values by @azeno in https://github.com/stride3d/stride/pull/1990
-* [Editor] Re-introduce workaround for missing input while navigating by @Eideren in https://github.com/stride3d/stride/pull/1897
-* [Build] Fix native library loading picking up invalid files by @Basewq in https://github.com/stride3d/stride/pull/1999
-* Fixes OpenXR by @MaximilianEmel in https://github.com/stride3d/stride/pull/1911
-* [Breaking] Scoping generic extension methods by @Fydar in https://github.com/stride3d/stride/pull/1959
-* Add information about Irony.GrammarExplorer project by @Jklawreszuk in https://github.com/stride3d/stride/pull/2007
-* [VR] Remove framecap from VR sample by @Eideren in https://github.com/stride3d/stride/pull/2002
-* Bump Newtonsoft.Json from 12.0.3 to 13.0.1 in /sources/metrics/Stride.Metrics by @dependabot in https://github.com/stride3d/stride/pull/1539
-* [OpenVR] Handle custom resolution specified by the user through VR settings by @Eideren in https://github.com/stride3d/stride/pull/2000
-* Update NuGet libraries to 6.4.2 by @manio143 in https://github.com/stride3d/stride/pull/2017
-* Let the user pick which animation stack to import in an fbx by @adrsch in https://github.com/stride3d/stride/pull/1977
-* Fixes OpenGL by @MaximilianEmel in https://github.com/stride3d/stride/pull/2023
-* Update dotnet 8 by @Doprez in https://github.com/stride3d/stride/pull/1616
-* [Native] - Implement IsXInputDevice method in C# by @Jklawreszuk in https://github.com/stride3d/stride/pull/1926
-* Rollback changes to Stride.Native.targets and add StrideNative.cpp by @Kryptos-FR in https://github.com/stride3d/stride/pull/2047
-* Use central package management by @Kryptos-FR in https://github.com/stride3d/stride/pull/2045
-* [Build] Use central package management  - missed a couple of projects by @Kryptos-FR in https://github.com/stride3d/stride/pull/2052
-* [Profiling] Fix performance regression in FastTextRenderer by @Eideren in https://github.com/stride3d/stride/pull/2058
-* [Project] GitIgnore Rider cache/user config by @Eideren in https://github.com/stride3d/stride/pull/2062
-* [Build] Fix build following changes from #2045 by @Eideren in https://github.com/stride3d/stride/pull/2061
-* Replace net 6 leftovers by @Jklawreszuk in https://github.com/stride3d/stride/pull/2038
-* updated missed dotnet 6 reference in readme by @Doprez in https://github.com/stride3d/stride/pull/2051
-* [Math] Relax constraints on arguments passed as ref across math types by @Eideren in https://github.com/stride3d/stride/pull/2044
-* fix(fbx import): Prevent zero-length tangents/normals (partial fix for #325) by @froce in https://github.com/stride3d/stride/pull/2066
-* [Editor] Fix NuGet.Frameworks failing to load causing RoslynPad to break by @Eideren in https://github.com/stride3d/stride/pull/2075
-* [Native] Undo lightprobe-related code removal by @Jklawreszuk in https://github.com/stride3d/stride/pull/2077
-* Fix extension by @Doprez in https://github.com/stride3d/stride/pull/2064
-* [Build] Move Directory.Packages.props by @Kryptos-FR in https://github.com/stride3d/stride/pull/2055
-* Fix Typos in XML docs by @Doprez in https://github.com/stride3d/stride/pull/2091
+# Stride 4.3 release notes
 
-## Contributors
-
-A heartfelt thank you to all the contributors who have played a significant role in this release:
-
-- [@MeharDT](https://github.com/MeharDT)
-- [@Basewq](https://github.com/Basewq)
-- [@Doprez](https://github.com/Doprez)
-- [@IXLLEGACYIXL](https://github.com/IXLLEGACYIXL)
-- [@SVNMLR](https://github.com/SVNMLR)
-- [@VaclavElias](https://github.com/VaclavElias)
-- [@acastrodev](https://github.com/acastrodev)
-- [@Ethereal77](https://github.com/Ethereal77)
-- [@adrsch](https://github.com/adrsch)
-- [@Jklawreszuk](https://github.com/Jklawreszuk)
-- [@Eideren](https://github.com/Eideren)
-- [@Fydar](https://github.com/Fydar)
-- [@froce](https://github.com/froce)
-- [@Kryptos-FR](https://github.com/Kryptos-FR)
-- [@Schossi](https://github.com/Schossi)
-- [@MaximilianEmel](https://github.com/MaximilianEmel)
-- [@ch3mbot](https://github.com/ch3mbot)
-- [@tebjan](https://github.com/tebjan)
-- [@JeromyWalsh](https://github.com/JeromyWalsh)
-- [@azeno](https://github.com/azeno)
-- [@WojciechNagorski](https://github.com/WojciechNagorski)
-- [@manio143](https://github.com/manio143)
-
-## New Contributors
-
-We are especially excited to welcome the following new contributors to Stride with the 4.2 release. Your contributions are greatly appreciated!
+November 14th, 2025
 
-* @adrsch made their first contribution in https://github.com/stride3d/stride/pull/1920
-* @froce made their first contribution in https://github.com/stride3d/stride/pull/1788
-* @Fydar made their first contribution in https://github.com/stride3d/stride/pull/1941
-* @WojciechNagorski made their first contribution in https://github.com/stride3d/stride/pull/1951
-* @Schossi made their first contribution in https://github.com/stride3d/stride/pull/1811
-* @MaximilianEmel made their first contribution in https://github.com/stride3d/stride/pull/1956
-* @ch3mbot made their first contribution in https://github.com/stride3d/stride/pull/1769
+Stride contributors are thrilled to announce the release of Stride 4.3, now fully compatible with .NET 10 and leveraging the latest enhancements in C# 14. This release brings significant improvements in performance, stability, and developer experience.
 
-## Stride 4.2 Feature Overview
+Read the full blog post here: [Announcing Stride 4.3](https://www.stride3d.net/blog/announcing-stride-4-3-in-dotnet-10/)
 
-### F# and Visual Basic Integration
+A massive thank you to the open-source Stride community for your dedicated contributions. This release saw over 75 contributions from more than 22 amazing contributors, each playing a crucial role in making Stride 4.3 a reality.
 
-A pivotal PR has enabled **F#** and **Visual Basic** support for game development in Stride. This feature is currently limited to a code-only approach. Detailed insights and tutorials will be provided in upcoming blog posts.
+## What's new in Stride 4.3
+Stride 4.3 includes numerous enhancements and improvements. Here’s what to expect:
 
-We will use the [Stride Community Toolkit [WIP]](https://stride3d.github.io/stride-community-toolkit/), with further details to be covered in a separate post.
+- **.NET 10 Integration**: Stride 4.3 is now fully aligned with .NET 10, harnessing its performance improvements and efficiency gains for game development. This means faster execution times, reduced memory footprint, and access to the latest C# features, making your development smoother and more efficient. [Learn more](https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-8/)
 
-Below is a simple example of rendering a capsule using F#:
+- **C# 14 Features**: With C# 14, Stride users can write cleaner, more concise code thanks to new language features. These improvements reduce boilerplate and enhance readability. [Discover C# 14](https://devblogs.microsoft.com/dotnet/announcing-csharp-12/)
 
-```fsharp
-open Stride.CommunityToolkit.Engine;
-open Stride.CommunityToolkit.ProceduralModels;
-open Stride.Core.Mathematics;
-open Stride.Engine;
 
-let game = new Game()
+## What's changed in details
 
-let Start rootScene =
-    game.SetupBase3DScene()
-    game.AddProfiler() |> ignore
+### 🎉 New features
+* fix: Add mouse wheel delta to virtual button by @Acissathar in https://github.com/stride3d/stride/pull/2946
+### 🧠 Core
+* chore: Update to dotnet 10 by @Eideren in https://github.com/stride3d/stride/pull/2888
+* refactor: Use CollectionsMarshal.SetCount to resize lists by @azeno in https://github.com/stride3d/stride/pull/2945
+### 🔨 Build
+* chore: Move bepu asset compilation to Stride.Assets by @Eideren in https://github.com/stride3d/stride/pull/2963
+* chore: Update dependencies to .Net10 by @Eideren in https://github.com/stride3d/stride/pull/2966
+### 📄 Docs
+* fix: Typo in InstancingEntiyTransform by @Acissathar in https://github.com/stride3d/stride/pull/2951
+* fix: Update MSBuild path for Visual Studio 2026 by @ModxVoldHunter in https://github.com/stride3d/stride/pull/2961
+* chore: Change disk space requirement from 14 GB to 19 GB by @VaclavElias in https://github.com/stride3d/stride/pull/2968
+### 🎨 Graphics
+* fix: Rollback regression introduced through #2798 wrt lightprobes by @Eideren in https://github.com/stride3d/stride/pull/2949
+* fix: Regression in mesh bounds calculation introduced through #2858 by @johang88 in https://github.com/stride3d/stride/pull/2952
+* fix: Ensure cached data is up to date when models are mutated by @Eideren in https://github.com/stride3d/stride/pull/2936
+* feat: Match constructors between Index and VertexBufferHelper and improve documentation by @Eideren in https://github.com/stride3d/stride/pull/2941
+### ⚙️ Physics
+* docs: fix incorrect documentation from pr #2930 by @Eideren in https://github.com/stride3d/stride/pull/2943
+* fix: Removal of self while running OnSimulationUpdate by @Eideren in https://github.com/stride3d/stride/pull/2954
+### 🔄 Serialization
+* fix: Instantiate() behavior for Prefab and Entity references by @Eideren in https://github.com/stride3d/stride/pull/2914
+### 💪 Other changes
+* Adds touch support to Winforms based GameForm by @joreg in https://github.com/stride3d/stride/pull/1664
 
-    let firstBox = game.CreatePrimitive(PrimitiveModelType.Capsule);
-    firstBox.Transform.Position <- new Vector3(0f, 2.5f, 0f)
-    firstBox.Scene <- rootScene
-
-[<EntryPoint>]
-let main argv =
-    game.Run(start = Start)
-    0
-```
-
-![Example basic 3d scene with a capsule](media/ReleaseNotes-4.2/stride-game-engine-example01-basic-3d-scene.webp)
-
-The equivalent Visual Basic example:
+## Contributors
 
-```vb
-Imports Stride.CommunityToolkit.Engine
-Imports Stride.CommunityToolkit.ProceduralModels
-Imports Stride.Core.Mathematics
-Imports Stride.Engine
+A heartfelt thank you to all the contributors who have played a significant role in this release.
 
-Module Program
-    Private game As New Game()
+## New contributors
 
-    Sub Main()
-        GameExtensions.Run(game, Nothing, AddressOf StartGame)
-    End Sub
+We are especially excited to welcome the following new contributors to Stride with the 4.3 release. Your contributions are greatly appreciated!
 
-    Private Sub StartGame(rootScene As Scene)
-        game.SetupBase3DScene()
-        game.AddProfiler()
+* @ModxVoldHunter made their first contribution in https://github.com/stride3d/stride/pull/2961
 
-        Dim entity = game.CreatePrimitive(PrimitiveModelType.Capsule)
-        entity.Transform.Position = New Vector3(0, 8, 0)
-        entity.Scene = rootScene
-    End Sub
-End Module
+[TODO] add all new contributors from 4.2
 
-```
+## Stride 4.3 feature overview
 
-These examples showcase how F# and Visual Basic can be utilized in Stride. The Stride Community Toolkit provides a set of helpers and extensions designed to enhance your experience with the Stride Game Engine.
+[TODO]
 
 ## Fixes
 Although there have been [many fixes](https://github.com/stride3d/stride/pulls?page=2&q=is%3Apr+merged%3A%3E2023-10-10), we'd like to point some of them out:
 
-- [Runtime rasterized fonts are broken #1750](https://github.com/stride3d/stride/issues/1750)
-- [Game Studio doesn't reload sub projects after changes #1703](https://github.com/stride3d/stride/issues/1703)
-- [Changing the comparison project related and not UPath related #1704](https://github.com/stride3d/stride/pull/1704)
-- [Translations fix #1717](https://github.com/stride3d/stride/pull/1717)
-- [C# Beginner Tutorial Build Errors #1652](https://github.com/stride3d/stride/issues/1652)
-- [Can not create "C# Beginner" project #1650](https://github.com/stride3d/stride/issues/1650)
+[TODO]
 
 ## Also good to know
-Although not directly tied to Release 4.2, we have some more big things going on.
-
-For instance to our website and documentation. We also had another community meeting to address all those new members.
 
-- [Website and documentation revamped and build process updated](https://www.stride3d.net/blog/announcing-website-update/)
-- [Contributor section moved to docs](https://doc.stride3d.net/latest/en/contributors/index.html)
-- [Community meeting October 2023](https://www.stride3d.net/blog/community-meeting-october-2023/)
+[TODO]
 
 ## Acknowledgements
-We extend our heartfelt gratitude for all the hard work and donations we have received. Your generous contributions significantly aid in the continuous development and enhancement of the Stride community and projects. Thank you for your support and belief in our collective efforts.
+We extend our heartfelt gratitude for all the hard work and donations we have received. Your generous contributions significantly aid in the continuous development and enhancement of the Stride community and projects. Thank you for your support and belief in our collective efforts.

+ 3 - 1
en/ReleaseNotes/toc.yml

@@ -1,5 +1,7 @@
-- name: 4.2 release notes
+- name: 4.3 release notes
   href: ReleaseNotes.md
+- name: 4.2 release notes
+  href: ReleaseNotes-4.2.md
 - name: 4.1 release notes
   href: ReleaseNotes-4.1.md
 - name: 4.0 release notes

+ 0 - 2
en/contributors/documentation/major-release-workflow.md

@@ -28,8 +28,6 @@ The `BuildDocs.ps1` script will manage the deployment to the `4.2` folder while
 
 ## Other locations to update
 
-1. Modify `contributors\documentation\installation.md`
-   - Update SDK version references
 1. Modify `contributors\engine\building-source-windows.md`
    - Update SDK version references
 1. Modify `manual\troubleshooting\stride-doesnt-run.md`

+ 2 - 2
en/contributors/engine/building-source-windows.md

@@ -3,9 +3,9 @@
 ## Prerequisites
 
 1. **Latest [Git](https://git-scm.com/downloads)** with **Large File Support** selected during setup. For convenience, you might also use a Git UI client like [GitExtensions](https://gitextensions.github.io/).
-2. **[.NET 8.0 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/8.0)**
+2. **[.NET 10.0 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/10.0)**
    - Run `dotnet --info` in a console or PowerShell window to see which versions you have installed.
-3. **[Visual Studio 2022](https://visualstudio.microsoft.com/downloads/)** (the Community edition is free), with the following workloads. Follow this link if you would rather use [a different IDE or the command line](#build-stride-without-visual-studio).
+3. **[Visual Studio 2026](https://visualstudio.microsoft.com/insiders/)** (the Community edition is free), with the following workloads. Follow this link if you would rather use [a different IDE or the command line](#build-stride-without-visual-studio).
    - **.NET desktop development** with **.NET Framework 4.7.2 targeting pack** *(should be enabled by default)*
    - **Desktop development with C++** with:
      - **Windows 11 SDK (10.0.22621.0)** or a later version *(should be enabled by default)*

+ 2 - 2
en/docfx.json

@@ -26,7 +26,7 @@
           ],
           "src": "../../stride",
           "properties": {
-            "TargetFramework": "net8.0",
+            "TargetFramework": "net10.0",
             "StrideBuildDoc": "true"
           }
         },
@@ -37,7 +37,7 @@
           ],
           "src": "../../stride",
           "properties": {
-            "TargetFramework": "net8.0-windows7.0",
+            "TargetFramework": "net10.0-windows7.0",
             "StrideBuildDoc": "true"
           }
         }

+ 4 - 4
en/index.md

@@ -75,9 +75,9 @@ Welcome to the Stride documentation, specifically designed for game developers,
 
 You can download PDF versions of various Stride documentation sections:
 
-- [Stride Manual](manual/stride-manual.pdf): (File size: 82MB)
-- [Stride Tutorials](tutorials/stride-tutorials.pdf): (File size: 13MB)
-- [Contributing to Stride](contributors/contributing-in-stride.pdf): (File size: 8MB)
+- [Stride Manual](manual/stride-manual.pdf): (File size: 120MB)
+- [Stride Tutorials](tutorials/stride-tutorials.pdf): (File size: 17MB)
+- [Contributing to Stride](contributors/contributing-in-stride.pdf): (File size: 16MB)
 
 > [!NOTE]
-> Please note that while our English documentation is actively updated, translations may not always be current. We recommend English-literate users to refer to the original for the latest information. To help with translations or report discrepancies, please see our GitHub or community forums. Your input is invaluable!
+> Please note that while our English documentation is actively updated, translations may not always be current. We recommend English-literate users to refer to the original for the latest information. To help with translations or report discrepancies, please see our GitHub or community forums. Your input is invaluable!

+ 6 - 6
en/manual/files-and-folders/distribute-a-game.md

@@ -16,7 +16,7 @@ When you're ready to publish your game, create a release build from Visual Studi
 
 4. In Visual Studio, from the **Solution Explorer** right click your Windows project and select **Publish**
 
-    ![Select Publish](media\publish-project-dropdown.png)
+    ![Select Publish](media/publish-project-dropdown.png)
 
 5. Select the **Target** **Folder** in the publish window.
 
@@ -26,7 +26,7 @@ When you're ready to publish your game, create a release build from Visual Studi
 
 8. You should now see the **Publish** view where you can manage the project export settings.
 
-    ![Publish View](media\publish-view.png)
+    ![Publish View](media/publish-view.png)
 
 9. Finally you can click publish and see your project in the output folder you selected at **step 6**
 
@@ -34,7 +34,7 @@ When you're ready to publish your game, create a release build from Visual Studi
 
     Select **Show all settings** -> **Deployment mode** -> **Self-contained** -> **Save**
 
-    ![Publish Self Contained](media\publish-self-contained.png)
+    ![Publish Self Contained](media/publish-self-contained.png)
 
     > [!Note]
     >
@@ -53,7 +53,7 @@ When you're ready to publish your game, create a release build from Visual Studi
 
 ### To build using terminal instead of Visual Studio
 
- 1. Ensure the relevant .NET SDK is installed (Stride 4.2 is on .NET 8)
+ 1. Ensure the relevant .NET SDK is installed (Stride 4.3 is on .NET 10)
  2. Open the folder of your project where the `*.Windows.csproj` file sits.
 
     ![Project Folder](media/project-folder.png)
@@ -71,7 +71,7 @@ When you're ready to publish your game, create a release build from Visual Studi
     or the below to include the .NET runtime with your game
 
     ```
-    dotnet publish -r win-x64 --self-contained  true --  framework net8.0-windows
+    dotnet publish -r win-x64 --self-contained  true --  framework net10.0-windows
     ```
  
     You can also append `--output <YOUR_EXPORT_FOLDER>` to specify where to export to.
@@ -92,7 +92,7 @@ After you create a release build, how you distribute it is up to you.
 
 To run games made with Stride on Windows, users need:
 
-* .NET 8 Runtime (Unless you published with **self-contained**)
+* .NET 10 Runtime (Unless you published with **self-contained**)
 * DirectX11 (included with Windows 10 and later), OpenGL, or Vulkan
 * Visual C++ 2015 runtimes (x86 and/or x64, depending on what you set in your project properties in Visual Studio)
 

+ 2 - 1
en/manual/physics/create-a-bouncing-ball.md

@@ -83,7 +83,8 @@ The Sphere (body) responds to gravity and falls. The Ground (static collider) br
 
 To create a bounce effect, we need to change the `Spring Frequency` and `Spring Daming Ratio` of the Sphere.
 
-> [!Note] Bepu internally uses speculative contacts which does not play well with traditional coefficient of restitution. Instead, bounces can be implemented through contact constraint springiness, this specificity mean that bounces actually take place over multiple simulation steps instead of on contact. This may be counter-intuitive for users accustomed to other engine's restitution-based bounciness.
+> [!NOTE]
+> Bepu internally uses speculative contacts which does not play well with traditional coefficient of restitution. Instead, bounces can be implemented through contact constraint springiness, this specificity mean that bounces actually take place over multiple simulation steps instead of on contact. This may be counter-intuitive for users accustomed to other engine's restitution-based bounciness.
 
 * Bounciness is dominated by `Spring Damping Ratio`; setting it to zero minimizes energy loss on impact.
 * Increasing `Spring Frequency` can make impacts less bouncy when. This happens because the integration rate becomes too slow to represent the motion, and it gets damped away. Increasing the substepping rate or using more timesteps preserves bounciness with higher frequencies.

+ 1 - 1
en/manual/requirements/index.md

@@ -36,7 +36,7 @@ To develop for mobile platforms, you also need:
 
 To run games made with Stride, you need:
 
-- .NET 8 if your application is not [self-contained](https://learn.microsoft.com/en-us/dotnet/core/deploying/#publish-self-contained)
+- .NET 10 if your application is not [self-contained](https://learn.microsoft.com/en-us/dotnet/core/deploying/#publish-self-contained)
 - DirectX11 (included with Windows 10 and later), OpenGL, or Vulkan depending on the platform, and the graphics API override set in your `.csproj`
 - Visual C++ 2015 runtimes (x86 and/or x64, depending on what you set in your project properties in Visual Studio)
 

+ 11 - 6
en/manual/scripts/best-practice.md

@@ -17,23 +17,28 @@ Many systems become interdependent once implemented, for example:
 With that said, one will stumble on issues along the way that will require a change in design, a rewrite of those systems, for example: an uninteresting or unfeasible feature, a re-evaluation of your game's scope, shortcuts made to get a feature out the door sooner, an ill-defined initial design, and so on.
 
 The design of a game is not set in stone; it is refined as Macklin and Sharp, Game Designers at Parsons School of Design, observed:
+
 > Designing games is challenging [...] Compounding all this is the fact that game designers can’t really “see” their designs until they are played, and their games can’t be played until they are made. This is where the iterative design process comes in handy.  
-> Macklin, C., & Sharp, J. (2016). Games, design and play: A detailed approach to iterative game design. Addison-Wesley Professional.
+>
+> <strong>Macklin, C., & Sharp, J.</strong> (2016). Games, design and play: A detailed approach to iterative game design. Addison-Wesley Professional.
 
 You might feel like leaving those rewrites on the back burner as they don't contribute directly to the game, but doing so will cause you to slowly write yourself into a corner, wasting time stacking quick patches around problematic systems to keep them going, accruing bugs and performance issues instead of dealing with the problem head-on.
 
 Frederick Brooks, one of the most influential software designers, on planning and rewriting software:
-> [...] is not whether to build a pilot system and throw it away. You will do that. The only question is whether to plan in advance to build a throwaway, or to promise to deliver the throwaway to customers. Seen this way, the answer is much clearer. Delivering that throwaway to customers buys time, but it does so only at the cost of agony for the user, distraction for the builders while they do the redesign, and a bad reputation for the product that the best redesign will find hard to live down.  
-> Hence plan to throw one away; you will, anyhow.  
-> Frederick P. Brooks Jr. (1975). The Mythical Man-Month. Addison-Wesley.
+> [...] is not whether to build a pilot system and throw it away. You will do that. The only question is whether to plan in advance to build a throwaway, or to promise to deliver the throwaway to customers. Seen this way, the answer is much clearer. Delivering that throwaway to customers buys time, but it does so only at the cost of agony for the user, distraction for the builders while they do the redesign, and a bad reputation for the product that the best redesign will find hard to live down.
+>
+> Hence plan to throw one away; you will, anyhow.
+>
+> <strong>Frederick P. Brooks Jr.</strong> (1975). The Mythical Man-Month. Addison-Wesley.
 
 ## Premature Generalization
 
 Related to the above, we may fall into the extreme opposite, over designing systems. Misleading ourselves into adding features covering hypothetical cases, expanding it to accommodate future games, or encapsulating it to share it for others to use.
 
 Here's Richard Fabian, Senior Programmer on Max Payne 3, on systems re-use:
-> It is regarded as one of the holy grails of development to be able to consistently reduce development overhead by reusing old code. [...] The unfortunate truth is any interesting new features you want to add will probably be incompatible with your old code and old way of laying out your data, and you will need to either rewrite the old code to allow for the new feature, or rewrite the old code to allow for the new data layout.  
-> Richard Fabian. [Data-Oriented Design](https://www.dataorienteddesign.com/dodbook.pdf#page=214) 11.7 Reusable generic code
+> It is regarded as one of the holy grails of development to be able to consistently reduce development overhead by reusing old code. [...] The unfortunate truth is any interesting new features you want to add will probably be incompatible with your old code and old way of laying out your data, and you will need to either rewrite the old code to allow for the new feature, or rewrite the old code to allow for the new data layout.
+>
+> <strong>Richard Fabian</strong>. [Data-Oriented Design](https://www.dataorienteddesign.com/dodbook.pdf#page=214) 11.7 Reusable generic code.
 
 Continuing on the same subject, here's a survey by William Agresti:
 > One survey result had implications for a role that reuse may play in large software projects exceeding their budgets: 40% of developers reported that in 25% or more of the cases, they ended up extensively modifying or completely rewriting a module that had planned to be reused.  

+ 5 - 5
en/manual/troubleshooting/stride-doesnt-run.md

@@ -4,18 +4,18 @@
 
 If you're having trouble running Stride, make sure you've installed all the prerequisites:
 
-* .NET 8 SDK
+* .NET SDK 10.0
 * Visual C++ Redistributable 2019 (or later)
 * .NET Framework 4.7.2 (required for the Visual Studio plugin)
 * Visual Studio or Build Tools (optional but recommended)
 
 Alternatively, uninstall Stride, restart the Stride installer, and install the prerequisites when prompted.
 
-### .NET SDK 8.0
+### .NET SDK 10.0
 
-.NET SDK 8.0 should have been installed by Stride prerequisite installer, if Visual Studio 2022 didn't do it previously.
+.NET SDK 10.0 should have been installed by Stride prerequisite installer, if Visual Studio 2022 didn't do it previously.
 
-If for some reason you need to install it manually, you can use [this link](https://dotnet.microsoft.com/en-us/download/dotnet/8.0) and select the latest .NET 8 SDK for Windows.
+If for some reason you need to install it manually, you can use [this link](https://dotnet.microsoft.com/en-us/download/dotnet/8.0) and select the latest .NET SDK 10.0 for Windows.
 
 ### Visual C++ Redistributable 2019 (or later)
 
@@ -43,7 +43,7 @@ If you have Visual Studio 2022 (or later) installed, you need to have the follow
 * **.NET desktop development** with **Development tools for .NET** optional component enabled.
 
 > [!Note]
-> Earlier versions might work with older version of Stride. However, for Stride 4.2 and later you only need to have .NET 8 SDK installed.
+> Earlier versions might work with older version of Stride. However, for Stride 4.2 and later you only need to have .NET SDK 10.0 installed.
 
 ### Build Tools for Visual Studio 2022 (optional)
 

+ 18 - 0
en/template/public/main.css

@@ -43,4 +43,22 @@
 
 footer .link-danger {
     color: var(--stride-red-web);
+}
+
+blockquote {
+    border-width: 0 0 0 4px;
+    border-color: var(--stride-red-web);
+    background: #f4f4f4;
+    padding: 9px .8em 1px 0.8em;
+    font-style: italic;
+    /*line-height: 27px;*/
+}
+
+    blockquote p:last-child {
+        font-style: normal;
+    }
+
+[data-bs-theme=dark] blockquote {
+    border-color: var(--stride-red-web);
+    background: #33383c;
 }

+ 1 - 0
versions.json

@@ -1,5 +1,6 @@
 {
   "versions": [
+    "4.3",
     "4.2",
     "4.1",
     "4.0",