Switching to .NET 8
This major update supports .NET 8. Before transitioning to this version, ensure your Visual Studio 2022 version is 17.8.0
or later. Install .NET SDK 8 through the Visual Studio update or manually if not using VS. In your project file, adjust the target to net8.0
:
<TargetFramework>net8.0</TargetFramework>`
Next, update the following packages to the listed versions or higher:
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.0" />
<PackageReference Include="Microsoft.Data.Sqlite" Version="8.0.0" />
<PackageReference Include="Microsoft.Data.SqlClient" Version="5.1.4" />
Then, update Serenity and Pro packages to version 8.0. This update should be sufficient to transition to .NET 8 as there aren't many breaking changes affecting Serenity-based applications.
Note: Serenity 8.0+ will no longer support .NET 6/.NET 7.
We will not release a .NET 8 version of Serene yet, as most users who download it might not have the required Visual Studio 17.8.0 update, causing issues for newcomers. Serene users should apply the changes noted in these release notes to their apps after updating their Visual Studio.
Several NuGet Packages Updated
The following NuGet packages have been updated:
Microsoft.TypeScript.MSBuild
to 5.2.2 (now the recommended TypeScript version.)Newtonsoft.Json
Scriban
Mono.Cecil
Microsoft.Data.SqlClient
Dapper
MailKit
Nuglify
SixLabors.ImageSharp
, etc.
CSS Files for Serene Moved to Serenity.Extensions **[BREAKING CHANGE]**
The serenity.css
, currently exclusive to Serene, has been relocated to Serenity.Extensions
as a static asset for easier updates.
After updating, delete wwwroot/Content/serenity/serenity.css
and replace the reference to serenity.css
in your appsettings.json
with ~/Serenity.Extensions/common-style.css
.
Serene users should also update their ~/Content/site/common-theme.css
reference to ~/Serenity.Extensions/common-theme.css
.
These changes simplify the process for Serene users to update their core CSS files.
Removed Legacy Scripts
The following legacy scripts and CSS files have been removed from the Serenity.Assets package:
Content/aristo/aristo.css
Content/bootstrap-theme.css
(Bootstrap 3)Content/bootstrap.css
(Bootstrap 3)Content/ionicons.css
Content/page.css
Content/simple-line-icons.css
Content/slick-default-theme.css
Content/slick.columnpicker.css
Content/slick.headerbuttons.css
Content/slick.headermenu.css
Content/slick.pager.css
Scripts/bootstrap.js
(Bootstrap 3)Scripts/jquery/jquery.slim.js
Scripts/jquery.cropzoom.js
Scripts/jquery.iframe-transport.js
Scripts/jquery.json.js
Scripts/jquery.scrollintoview.js
Scripts/jquery.slimscroll.js
Scripts/jsrender.js
Scripts/pace.js
Scripts/react*.js
Scripts/rsvp.js
Scripts/saltarelle/linq.js
Scripts/saltarelle/mscorlib.js
These files have not been used by Serene/StartSharp for a long time. If any of the above files are still referenced in your appsettings.bundles.json
, remove those references or install those files via libman.json
or similar.
Updated jQuery and Removed Legacy Versioned jQuery Files
We updated jQuery to 3.7.1 and removed jQuery 3.5.1 files from Serenity.Assets. If your appsettings.bundles.json
contains a reference like "~/Serenity.Assets/Scripts/jquery-{version}.js"
, please change it to "~/Serenity.Assets/jquery/jquery.js"
(currently 3.7.1 and will remain the latest version) or install it via libman.
The full version of jQuery UI, e.g., jquery-ui-1.12.1.js
, has been removed from Serenity.Assets as it lacks the patches applied to jquery-ui.js
, our trimmed custom version. Replace any references in appsettings.bundles.json
like "~/Serenity.Assets/Scripts/jquery-ui-{version}.js"
with "~/Serenity.Assets/Scripts/jquery-ui.js"
or install it via libman/npm (though without our patches).
Updated Bootstrap
Bootstrap has been updated to 5.3.2, providing more customization options via CSS variables and supporting a dark theme.
The rules in Serenity.Pro.Theme have been updated to match the Bootstrap version and utilize new CSS variables and dark mode introduced by Bootstrap.
Make changes in _Layout.cshtml
and _LayoutHead.cshtml
so that a data-bs-theme="dark"
attribute is added to the HTML element when using the cosmos-dark
or similar dark theme.
Updated CKEditor to the Last Open-Source Version
CKEditor has been updated to 4.22.1, the last open-source version. We've also switched to the CKEditor moono-lisa
skin, which is flatter than moono
.
ESBuild and TSBuild Related Changes
We updated esbuild to 0.19.15, which has some breaking changes related to watch mode.
Please update tsbuild
to its latest version in package.json
(currently 8.0.0
) and apply changes in the StartSharp/Serene repository's tsbuild.js
to your project.
TSBuild now has a type definition so that you can see the options it provides.
Select2 Localization Integrated with Serenity
We implemented Select2 localization using our localText
and stringFormat
functions.
The select2-locales
folder has been removed from Serenity.Assets as they were not suitable for use with Serenity localization.
StartSharp Includes a Git Ignore File
The StartSharp template now includes a .gitignore
file with ignore patterns suitable for general Serenity applications:
- .restore-stamp
- Thumbs.db
- StyleCop.Cache
- UpgradeLog.htm
- *.bak
- *.log
- *.orig
- *.pdb
- *.pubxml
- *.suo
- *.user
- appsettings*.machine.json
- .vs/
- App_Data/
- bin/
- node_modules/
- obj/
- TestResults/
- wwwroot/esm/