diff --git a/.github/workflows/build-core-lib.yml b/.github/workflows/build-core-lib.yml
index b5a316fbb..46a83666e 100644
--- a/.github/workflows/build-core-lib.yml
+++ b/.github/workflows/build-core-lib.yml
@@ -29,7 +29,7 @@ env:
jobs:
Build:
- name: Build and Test Code Lib
+ name: Build and Test Core Lib
runs-on: windows-latest
permissions:
@@ -46,13 +46,19 @@ jobs:
with:
dotnet-version: 8.0.x
+ - name: Setup .NET 9.0
+ uses: actions/setup-dotnet@v4
+ with:
+ dotnet-version: 9.0.x
+ dotnet-quality: preview
+
# Build
- name: Restore
run: dotnet restore
- name: Build
- run: dotnet build ${{ env.PROJECTS }} --configuration Release -warnaserror
+ run: dotnet build ${{ env.PROJECTS }} --configuration Release
working-directory: ${{ github.workspace }}
# Unit Tests
@@ -117,11 +123,10 @@ jobs:
path: ./TestResults/ExtractedTests.md
# Test Coverage
-
- name: Report Generator
uses: danielpalme/ReportGenerator-GitHub-Action@5.2.4
with:
- reports: '**/coverage.cobertura.xml'
+ reports: '**/coverage.net8.0.cobertura.xml;**/coverage.net9.0.cobertura.xml'
targetdir: 'CoverageReports'
title: 'Unit Tests Code Coverage'
classfilters: '-Microsoft.FluentUI.AspNetCore.Components.DesignTokens.*'
@@ -143,6 +148,7 @@ jobs:
runs-on: ubuntu-latest
name: Build and Deploy Demo site
env:
+ DOTNET_VERSION: "net9.0"
DOTNET_CLI_TELEMETRY_OPTOUT: 1
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
DOTNET_NOLOGO: true
@@ -161,13 +167,13 @@ jobs:
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
- 8.0.x
+ 9.0.x
include-prerelease: true
- name: .NET Builld
- run: dotnet build ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f net8.0 -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true
+ run: dotnet build ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f ${{ env.DOTNET_VERSION }} -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true
- name: .NET Publish
- run: dotnet publish ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f net8.0 -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true
+ run: dotnet publish ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f ${{ env.DOTNET_VERSION }} -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true
- name: Deploy demo site to new Azure Static Web App
id: builddeploy
diff --git a/.github/workflows/cicd_publish.yml b/.github/workflows/cicd_publish.yml
index c45a41657..06b767311 100644
--- a/.github/workflows/cicd_publish.yml
+++ b/.github/workflows/cicd_publish.yml
@@ -13,20 +13,13 @@ on:
paths-ignore:
- '**/*.gitignore'
- '**/*.gitattributes'
-
- workflow_dispatch:
- branches:
- - main
- paths-ignore:
- - '**/*.gitignore'
- - '**/*.gitattributes'
-
jobs:
build_deploy_demo:
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
runs-on: ubuntu-latest
name: Build and deploy Demo site
env:
+ DOTNET_VERSION: "net9.0"
DOTNET_CLI_TELEMETRY_OPTOUT: 1
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
DOTNET_NOLOGO: true
@@ -46,7 +39,7 @@ jobs:
with:
dotnet-version: |
8.0.x
- include-prerelease: true
+ 9.0.x
- name: NPM Install
uses: actions/setup-node@v4
@@ -57,10 +50,10 @@ jobs:
- run: npm install "src/Core.Assets/"
- name: .NET Builld
- run: dotnet build ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f net8.0 -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true
+ run: dotnet build ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f ${{ env.DOTNET_VERSION }} -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true
- name: .NET Publish
- run: dotnet publish ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f net8.0 -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true
+ run: dotnet publish ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f ${{ env.DOTNET_VERSION }} -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true
- name: Deploy demo site to new Azure Static Web App
id: builddeploy
diff --git a/.github/workflows/deploy_preview.yml b/.github/workflows/deploy_preview.yml
index 2e6a673b9..487096712 100644
--- a/.github/workflows/deploy_preview.yml
+++ b/.github/workflows/deploy_preview.yml
@@ -3,7 +3,7 @@ name: Deploy preview to Azure Static Web Apps
on:
# Allow manually running the workflow
workflow_dispatch:
-
+
push:
branches:
- dev
@@ -13,10 +13,11 @@ on:
jobs:
build_deploy_demo:
- if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
+ if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
runs-on: ubuntu-latest
- name: Build and deploy Demo site
+ name: Build and deploy Demo site
env:
+ DOTNET_VERSION: "net9.0"
DOTNET_CLI_TELEMETRY_OPTOUT: 1
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
DOTNET_NOLOGO: true
@@ -30,20 +31,24 @@ jobs:
steps:
- name: Checkout source
uses: actions/checkout@v4
-
+
- name: .NET Setup SDKs
uses: actions/setup-dotnet@v4
with:
- dotnet-version: |
- 8.0.x
- include-prerelease: true
-
- - name: .NET Builld
- run: dotnet build ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f net8.0 -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true
-
- - name: .NET Publish
- run: dotnet publish ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f net8.0 -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true
-
+ dotnet-version: 8.0.x
+
+ - name: .NET Setup SDKs
+ uses: actions/setup-dotnet@v4
+ with:
+ dotnet-version: 9.0.x
+ dotnet-quality: preview
+
+ - name: .NET Builld
+ run: dotnet build ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f ${{ env.DOTNET_VERSION }} -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true
+
+ - name: .NET Publish
+ run: dotnet publish ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f ${{ env.DOTNET_VERSION }} -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true
+
- name: Deploy demo site to new Azure Static Web App
id: builddeploy
uses: Azure/static-web-apps-deploy@v1
@@ -61,7 +66,7 @@ jobs:
destroy:
if: github.event_name == 'pull_request' && github.event.action == 'closed'
runs-on: ubuntu-latest
- name: Close Pull Request Job
+ name: Close Pull Request Job
steps:
- name: Close Pull Request on new Azure Static Web App
id: closepullrequest
diff --git a/Directory.Build.props b/Directory.Build.props
index e97086aa3..c5bb2ced4 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -12,15 +12,15 @@
$(MSBuildThisFileDirectory)
true
- 4.9.4
- 4.9.4
+ 4.10.0
+ 4.10.0
$(VersionFile)
$(VersionFile)
true
-
+ true
true
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 27dce1dc2..0677d2ec2 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -1,41 +1,69 @@
true
- 8.0.0
- 8.0.7
- 8.0.7
+ 8.0.0
+ 8.0.8
+ 8.0.8
+ 9.0.0-preview.7.24405.7
+ 9.0.0-preview.7.24406.2
+ 9.0.0-preview.7.24405.3
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
+
+
+
+
+
+
+
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/contributing.md b/docs/contributing.md
index 9ba84e0f8..a80f9e596 100644
--- a/docs/contributing.md
+++ b/docs/contributing.md
@@ -4,7 +4,7 @@
### Machine setup
-To begin you'll need Git, .NET, and NodeJS setup on your machine.
+To begin you'll need Git, .NET, and NodeJS (v22.x or higher) setup on your machine.
The `fluentui-blazor` repository uses Git as its source control system. If you haven't already installed it, you can download it [here](https://git-scm.com/downloads) or if you prefer a GUI-based approach, try [GitHub Desktop](https://desktop.github.com/).
diff --git a/docs/using-latest-daily.md b/docs/using-latest-daily.md
index 11e8f94de..e6fc188d7 100644
--- a/docs/using-latest-daily.md
+++ b/docs/using-latest-daily.md
@@ -1,31 +1,31 @@
-# Set up your machine to use the latest FluentUI-Blazor package
+# Set up your machine to use the latest Fluent UI Blazor package
-These instructions will get you set up with the latest build of **FluentUI-Blazor**.
+These instructions will get you set up with the **newest (potentially unstable!)** version of the Fluent UI Blazor package.
+
+Each time a commit is pushed into the `main` or `dev` branches, the **Core** package is published to a special NuGet feed (not hosted on NuGet).
-Each time a commit is pushed into the `main` ou `dev`, the **Core** package is published on a special NuGet repository.
-Install the latest [Visual Studio 2022 Preview version](https://visualstudio.microsoft.com/vs/preview/) for the tooling.
**This package is a preliminary version and are not intended for production use.
It is intended to be used to test the latest feature and bug fix.**
-If you just want the last final release of **FluentUI-Blazor**, the packages are on [NuGet.org](https://www.nuget.org/packages/Microsoft.FluentUI.AspNetCore.Components).
+If you just want the latest **released** version, the packages are on [NuGet.org](https://www.nuget.org/packages/Microsoft.FluentUI.AspNetCore.Components).
## Add necessary NuGet feed
-The latest builds are pushed to a special feed, which you need to add:
+The newest builds are pushed to a special feed, which you need to add in Visual Studio or through:
```sh
dotnet nuget add source --name dotnet8 https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8/nuget/v3/index.json
```
-As usual this will add the feed to any existing NuGet.config in the directory or above,
-or else in the global NuGet.config. See [configuring NuGet behavior](https://learn.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior) to read more about that.
+This will add the feed to any existing NuGet.config in the current directory or above, or else
+in the global NuGet.config. See [configuring NuGet behavior](https://learn.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior) to read more about that.
-Alternatively, if you are using Visual Studio, you can [Install and manage packages in Visual Studio](https://learn.microsoft.com/nuget/consume-packages/install-use-packages-visual-studio#package-sources)
+If you are using Visual Studio, you can [Install and manage packages in Visual Studio](https://learn.microsoft.com/nuget/consume-packages/install-use-packages-visual-studio#package-sources)
and add the feed `https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8/nuget/v3/index.json` there.
## Documentation
-The documentation for this preliminary version is available at [https://preview.fluentui-blazor.net/](https://preview.fluentui-blazor.net/).
+Documentation and examples for this preliminary version are available at [https://preview.fluentui-blazor.net/](https://preview.fluentui-blazor.net/).
## Contributing
diff --git a/eng/pipelines/version.yml b/eng/pipelines/version.yml
index b0e501b9c..5779153e2 100644
--- a/eng/pipelines/version.yml
+++ b/eng/pipelines/version.yml
@@ -2,5 +2,5 @@ variables:
# File and Package version
# dev branch: 1.2.4-Preview-23282-1' (PackageSuffix is always ignored in Dev branch)
# main branch: 1.2.4-RC.1' (PackageSuffix is ignored, if empty, in Main branch)
- FileVersion: '4.9.3' # Set the next final version here.
+ FileVersion: '4.10.0' # Set the next final version here.
PackageSuffix: ''
diff --git a/examples/Demo/AssetExplorer/FluentUI.Demo.AssetExplorer.csproj b/examples/Demo/AssetExplorer/FluentUI.Demo.AssetExplorer.csproj
index 0e31a8e4f..4512e8b7f 100644
--- a/examples/Demo/AssetExplorer/FluentUI.Demo.AssetExplorer.csproj
+++ b/examples/Demo/AssetExplorer/FluentUI.Demo.AssetExplorer.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net8.0;net9.0
enable
enable
true
@@ -14,6 +14,6 @@
-
+
diff --git a/examples/Demo/Client/FluentUI.Demo.Client.csproj b/examples/Demo/Client/FluentUI.Demo.Client.csproj
index 0aee35dd2..5b31b0997 100644
--- a/examples/Demo/Client/FluentUI.Demo.Client.csproj
+++ b/examples/Demo/Client/FluentUI.Demo.Client.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net8.0;net9.0
enable
enable
latest
diff --git a/examples/Demo/Server/FluentUI.Demo.Server.csproj b/examples/Demo/Server/FluentUI.Demo.Server.csproj
index 7055c1a04..fc620976b 100644
--- a/examples/Demo/Server/FluentUI.Demo.Server.csproj
+++ b/examples/Demo/Server/FluentUI.Demo.Server.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net8.0; net9.0
enable
enable
latest
diff --git a/examples/Demo/Shared/FluentUI.Demo.Shared.csproj b/examples/Demo/Shared/FluentUI.Demo.Shared.csproj
index 52c121f28..90ffe9658 100644
--- a/examples/Demo/Shared/FluentUI.Demo.Shared.csproj
+++ b/examples/Demo/Shared/FluentUI.Demo.Shared.csproj
@@ -1,6 +1,6 @@
- net8.0
+ net8.0; net9.0
enable
enable
latest
@@ -52,6 +52,10 @@
+
+
+
+
diff --git a/src/Core.Assets/Microsoft.FluentUI.AspNetCore.Components.Assets.esproj b/src/Core.Assets/Microsoft.FluentUI.AspNetCore.Components.Assets.esproj
index 22c6c82b2..3ee9c52bb 100644
--- a/src/Core.Assets/Microsoft.FluentUI.AspNetCore.Components.Assets.esproj
+++ b/src/Core.Assets/Microsoft.FluentUI.AspNetCore.Components.Assets.esproj
@@ -1,4 +1,4 @@
-
+
dist\
Microsoft.FluentUI.AspNetCore.Components
diff --git a/src/Core.Assets/esbuild.config.mjs b/src/Core.Assets/esbuild.config.mjs
index c9b0ba253..759a9b8bd 100644
--- a/src/Core.Assets/esbuild.config.mjs
+++ b/src/Core.Assets/esbuild.config.mjs
@@ -1,5 +1,5 @@
import * as esbuild from 'esbuild'
-import pkg from './package.json' assert { type: 'json' }
+import pkg from './package.json' with { type: 'json' }
await esbuild.build({
entryPoints: [ pkg.source ],
diff --git a/src/Core/Components/DataGrid/FluentDataGrid.razor.cs b/src/Core/Components/DataGrid/FluentDataGrid.razor.cs
index 9aa3dfffc..a72e9acc5 100644
--- a/src/Core/Components/DataGrid/FluentDataGrid.razor.cs
+++ b/src/Core/Components/DataGrid/FluentDataGrid.razor.cs
@@ -246,7 +246,7 @@ public partial class FluentDataGrid : FluentComponentBase, IHandleEve
///
/// Gets the first (optional) SelectColumn
///
- internal IEnumerable> SelectColumns => _columns.Where(col => col is SelectColumn).Cast>();
+ internal IEnumerable> SelectColumns => _columns.OfType>();
private ElementReference? _gridReference;
private Virtualize<(int, TGridItem)>? _virtualizeComponent;
diff --git a/src/Core/Microsoft.FluentUI.AspNetCore.Components.csproj b/src/Core/Microsoft.FluentUI.AspNetCore.Components.csproj
index c73f938ca..089e93063 100644
--- a/src/Core/Microsoft.FluentUI.AspNetCore.Components.csproj
+++ b/src/Core/Microsoft.FluentUI.AspNetCore.Components.csproj
@@ -1,6 +1,6 @@
- net8.0
+ net8.0;net9.0
Microsoft.FluentUI.AspNetCore.Components
A set of Blazor components wrapping Microsoft’s official Fluent UI Web Components. They implement the latest state of the Fluent design language, are built on FAST and work in every major browser.
diff --git a/src/Extensions/DataGrid.EntityFrameworkAdapter/Microsoft.FluentUI.AspNetCore.Components.DataGrid.EntityFrameworkAdapter.csproj b/src/Extensions/DataGrid.EntityFrameworkAdapter/Microsoft.FluentUI.AspNetCore.Components.DataGrid.EntityFrameworkAdapter.csproj
index 2d394f7ad..10d4dfa2f 100644
--- a/src/Extensions/DataGrid.EntityFrameworkAdapter/Microsoft.FluentUI.AspNetCore.Components.DataGrid.EntityFrameworkAdapter.csproj
+++ b/src/Extensions/DataGrid.EntityFrameworkAdapter/Microsoft.FluentUI.AspNetCore.Components.DataGrid.EntityFrameworkAdapter.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net8.0;net9.0
Microsoft.FluentUI.AspNetCore.Components.DataGrid.EntityFrameworkAdapter
Microsoft
© Microsoft Corporation. All rights reserved.
diff --git a/tests/Core/Microsoft.FluentUI.AspNetCore.Components.Tests.csproj b/tests/Core/Microsoft.FluentUI.AspNetCore.Components.Tests.csproj
index 8a437f05a..f017eb8fc 100644
--- a/tests/Core/Microsoft.FluentUI.AspNetCore.Components.Tests.csproj
+++ b/tests/Core/Microsoft.FluentUI.AspNetCore.Components.Tests.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net8.0;net9.0
enable
enable
latest