meta.Title | meta.Description | versionFrom |
---|---|---|
Umbraco .Net Core Updates |
Updates and information related to the release of Umbraco on .NET 5+. |
9.0.0 |
:::note This article is intended for keeping an overview of all the information, official as well as unofficial, currently available on the release of Umbraco on .NET 5.
Are you aware of some information about Umbraco on .NET 5 that isn't already added to this list? Please feel free to submit a Pull Request by using the Edit this page button at the top of this article. :::
In this article you will find detailed instructions on how to try out and test Umbraco on .NET 5. You will also find a list of relevant links to official as well as unofficial resources on the release.
We have started verifying the current documentation against Umbraco 9.
You can find a complete list of all updated articles on the Umbraco 9 Articles page.
In this section you will find links to news and updates from the .Net Core team at Umbraco HQ, as well as from the UniCore community team.
- Umbraco 9 Release candidate 3
- Putting Umbraco 9 to the test
- Package Migration to V9 Using Multi-Targeting
- Umbraco 9 Release Candidate
- Packages in Umbraco 9 via NuGet
- Umbraco 9 Beta Release
- Alpha 4 release of Umbraco on .NET Core
- Alpha 3 release of Umbraco on .NET Core
- Status of migration to .NET Core, December 2020
- .NET Core Alpha release
- .NET Core in the Unicorner
- Automated testing in Umbraco
- Status of migrating to .NET Core
- Unicore team visit at Umbraco HQ
- The Unicore Team
- The Umbraco Roadmap
- Community: The UniCore team
- Overview of Project Unicore/Migrating Umbraco CMS to .NET Core
In this section you will find a list of Umbraco .Net Core resources provided by the Umbraco Community.
- Rendering products from an external source using a contentfinder in Umbraco 9
- How to use Server-Side Blazor with Umbraco 9 - Live Notifications
- Mocking property values in Umbraco 9 (and Umbraco 8)
- Viewcomponents in Umbraco 9
- Umbraco and blazor
- Umbraco v9: Models Builder
- How to setup Hangfire with Umbraco 9 - Jobs & Dashboards
- Umbraco v9 findings
- The challenge for .NET Core developers
- Umbraco Package Migration to .NET Core (blog post series)
- Running Umbraco on a Raspberry Pi or How I Stopped Worrying and Learned to Love Linux
- Building Applications with Umbraco 9 & Docker - Getting Started
- Building friendly APIs in Umbraco v9 (alpha)
- Demystifying config in Umbraco .NET Core
- Rick Butterfield: Umbraco Unicore first impressions
- Greystate: Trying Out the .NET Core Umbraco Alpha Release
- Github repository: Umbraco 9 Demo site
- YouTube: Porting an Umbraco package to v9 using multi-targeting - The Package Team
- YouTube: How to Host an Umbraco 9 site with IIS
- YouTube: Shaken to the Coreabout .NET 5 (CG21)
- YouTube: Umbraco 9 - The next major version (CG21)
- Youtube: Headless on .NET Core (CG21)
- YouTube: Run .NET Core CMS Umbraco on a MacBook
- YouTube: Migrating Event Handlers in Umbraco V9
- YouTube: Umbraco Community Office Hours - Updates on Project Unicore with the Unicore Community Team
- YouTube: Part01 Porting a Package from V8 to V9
- YouTube: Part02 Configuration & Options in Umbraco Package for .NETCore
- YouTube: Configuring Umbraco on .NET Core - JSON Schema
- YouTube: Migrating Event Handlers to Notification Handlers in Umbraco V9
- Adrian Ochmann: Umbraco (.NET Core) Docker Example
- Youtube: umbraCoffee #141 - Unicore Alpha
- Youtube: umbraCoffee #110 - Meet the Unicore team
- Umbraco Community: Unicore Team update
To get started, follow the steps outlined below.
- .NET 5 SDK
- SQL connection string (MS SQL Server/Azure), unless you want to install using SQL CE (Compact Edition)
-
Install the new Umbraco dotnet template:
dotnet new -i Umbraco.Templates
If you have already installed the Umbraco dotnet new
template, you will need ensure it is up-to-date
-
Use a command prompt of your choice to update the
dotnet new
templatesdotnet new -i Umbraco.Templates
-
Create a new empty Umbraco project using MS SQL Azure/Server:
dotnet new umbraco -n MyCustomUmbracoProject
Or if you prefer to using SQL CE:
dotnet new umbraco --SqlCe -n MyCustomUmbracoProject
You will now have a new project with the name MyCustomUmbracoProject
, or whichever name you chose.
The new project can be opened and run using your favorite IDE or you can continue to use the CLI commands.
If you are sure that you've installed the templates (see the previous step) but the command prompt keeps telling you that there is "No template found matching: Umbraco" then you can 'work around' by detailing the specific version in the --nuget-source
option.
```none
dotnet new --install Umbraco.Templates::9.0.1 --nuget-source https://api.nuget.org/v3/index.json
```
Where 9.0.1 is replaced with the latest version that is available that you are trying to install.
The following steps, will continue using CLI based on the steps above.
-
Navigate to the newly created project folder:
cd MyCustomUmbracoProject
-
Build and run the new Umbraco .Net Core project:
dotnet build dotnet run
The project is now running on the Kestrel server and is available on the ports listed in the console.
The next step is to run through the Umbraco CMS installation. If you chose to use MS SQL Server/Azure you will need to add your connection string during this setup process.
Once the installation process is complete you might need to manually restart the application in order to start the application again and get access to the Umbraco backoffice.
To get the latest nightly builds - the latest version of the Umbraco dotnet template, you will need to add another NuGet source.
- Use a command prompt of your choice to insert this custom NuGet feed:
dotnet nuget add source "https://www.myget.org/F/umbraconightly/api/v3/index.json" -n "Umbraco Nightly"
-
Install the new Umbraco dotnet template
dotnet new -i Umbraco.Templates::9.0.0-preview*
In order to get the latest template from the new source, you will need to use a wildcard symbol like shown above.
Now you can continue in the same way as if you were using the release candidate version
Since Alpha 4, we have added a new template to in Umbraco.Templates
package which is targeting packages.
To use the new template write:
dotnet new umbracopackage -n MyCustomUmbracoPackage
This generates an empty package with an empty package.manifest
. But more importantly it also contains a build/MyCustomUmbracoPackage.targets
file.
This file will be included in the NuGet package when using dotnet pack
.
The file contains an msbuild
target that is executed on build when a project has a dependency to this package. It copies the app_plugin
folder into the project. This is required for having Umbraco packages as NuGet packages.
Furthermore, we introduced a new flag on the regular dotnet new umbraco
template. You can now write:
dotnet new umbraco -n MyCustomUmbracoProject -p MyCustomUmbracoPackage
This new -P
indicates that the project is a test-site of the package MyCustomUmbracoPackage
. It will add a project dependency to MyCustomUmbracoPackage
and import the target file from that project. So when you build the new project, it will also copy the App_Plugins
folder from the package project into the project. In the same way, as if it was a NuGet reference.
The following example shows how to use the templates in combination
dotnet new umbracopackage -n MyCustomUmbracoPackage
dotnet new umbraco -n MyCustomUmbracoPackage.Testsite -p MyCustomUmbracoPackage
cd MyCustomUmbracoPackage.Testsite
dotnet build
See tickets tagged on Github for a full overview.
- Members
- Members are updated to ASP.NET Core Identity
- Member passwords are rolled to a stronger hashing algorithm on member login
- Members have stored a security stamp
- Public Access Restrictions is updated to use the new member implementation
- Events
- The remaining events are migrated to the new notification pattern
- Added TreeAlias to tree notifications.
- Other
- IUmbracoMapper should be injected instead of UmbracoMapper
- Features and optimizations from Umbraco 8.13
- Bugfixes
- Fix for Can't enable AppData mode for models builder in Alpha4
- Fix warning logged regarding Antiforgery tokens
- Fix for problem with models builder and nested content
- Fix for ContentCacheRefresherNotification is dispatching every 10 seconds FileSystem changes??
See tickets tagged on Github for a full overview.
- Breaking changes
HideTopLevelNodeFromPath
default value changed to totrue
.- All notifications moved to the same namespace to make them easily discoverable
- More notifications also postfixed with "Notification".
ServerVariablesParsing
=>ServerVariablesParsingNotification
.
- More notifications also postfixed with "Notification".
- The order of view location changes, so
/Views
is the first to search. - "WebRouting:DisableRedirectUrlTracking" configuration changed from
string
tobool
.
- Features
- Added API to validate user creadentials without actually logging them in.
- Reintroduced missing overloads for
GetCropUrl
. - Enabled Microsoft SouceLink Debugging Feature.
- Added localizable error descriptors for Users and Members
- Replaced System.Drawing with ImageSharp when extracting the height and width of uploaded images.
- Bugfixes
- Fixed issue with scheduled publishing.
- Fixed issues where the runtime lever was not used correct.
- Fixed issue with ModelsBuilder when using inherited Document Types.
- Fixed issues where the javascript minifier was too agressive.
- Fixed issue with hardcoded '' as directory separator char (Linux issue).
- Fixed issue in the Danish translation file leading to error doing install.
See tickets tagged on Github for a full overview.
- Breaking changes
- Examine 2.0 implementation.
- ModelsBuilder mode names are changed.
PureLive
=>InMemoryAuto
AppData
=>SourceCodeManual
LiveAppData
=>SourceCodeAuto
- Scope optional parameter ordering
- Features
- Restart not required on install.
- Modelsbuilder InMemoryAuto (PureLive) output is generated in temp folder
- Latests updated from Umbraco 8.14-RC
- Bugfixes
- Fix for unsafe project names; these are no longer unsafe for namespaces.
- E.g. "Umbraco 9" will now use namespace "Umbraco_9"
- Resolve virtual paths from DataEditorAttribute. E.g. "~/App_Data/...."
- Fix for unsafe project names; these are no longer unsafe for namespaces.
See tickets tagged on Github for a full overview.
- Features
- Added notifications when emails are sent
- Allow Css / JS assets to be added via c# code in addition to
package.manifest
- Bugfixes
- Moved extensions methods from
HtmlHelper
toIHtmlHelper
- Fixed issue with saving data types
- Fixed issue with recurring tasks executing too often.
- Fixed serialization issues with data types
- Fixed issue with View Model validation failing when using value types
- Added missing friendly overload for IsAllowedTemplate
- Fixed issues with the Umbraco dotnet new templates
- Project name is not set
- Unattended install info is now json escaped
- Fixed issue with updating password
- Fixed issue with members not approved by default when using the build-in macro snippets
- Fixed issues with MediaPicker3
- Moved extensions methods from
See tickets tagged on Github for a full overview.
- Breaking changes
- Methods obsoleted in 8.15 removed
- Route plugin controllers by area
- RenderController configuration as .NETCore IOptions pattern
- Features
- Packages migrations and UI changes to support NuGet packages.
- 8.15 features
- Bugfixes
- Changes the RoslynCompiler to use assemblies resolved from the DependencyContext (Fix for MB InMemoryAuto)
- Migrated missing surfaceaction extension methods
- Add RazorCompileOnPublish property to UmbracoProject for template
- Migrated missing UmbracoAuthorizedController
- Linux case-sensitive directories (Grid)
- Render grid editor partial async
- Render Block List component partial async
- Use english names for cultures in language CRUD
- Rebuild Database Cache button does nothing
See tickets tagged on Github for a full overview.
- Breaking changes
- Fixes issues after ImageProcessor or ImageSharp migrations related to querystrings
- Removed VariationContextAccessor from IUmbracoContext
- Removed things that was obsolete in latest v8
- Features
- Pack the physical files into packages when picking media
- Changes all collections from collection builders to resolve the concrete instances lazily
- Updated public IUmbracoBuilder extension methods to allow chaining
- Adds bundle options to the package manifest
- Added more common namespaces to _ViewImports.cshtml
- Updated nuget dependencies
- Added basic authentication middleware
- 8.16-RC merged in
- Bugfixes
- One overload of GetLocalCropUrl was calling itself recursively
- Fix issue with runtime hash calculation
- Fixes issue that the update culture dates were not synced with the version date like they are for the published culture dates
- Various Typo fixes
- Fix recursive localize when resetting password
- Fix drag and drop image upload
- Fixes various issues related to showing error/validation messages
- Fixes issue with MultiUrlPicker
- Fixed race condition with EnsureApplicationMainUrl
- Fixed issue with BlockLiost thumbnails could be picked in non-browsable folders
- Fixes for the dotnet new templates, related to publish of Umbraco
- Added "JetBrains.Annotations" to assembly exclusion list
- Fixed issue so it doesn't explode when saving content during a migration
- Fixed issue with CachePartial
- Fix RedirectToCurrentUmbracoPage when UrlProviderMode is set to "Absolute"
- Fix Grid editor headline gets encoded twice
- Fixed issue with public acces, if member didnt have a member group, restricting access to the public would always lead to error page
- Added missing disposel of Process
- Avoid mixing using of string interpolation and string formatting in log messages
- Reduce allocations by using existing CharArrays for TrimStart()
- Cleanup _inMemoryModelFactory.ModelsChanged event on dispose in RefreshingRazorViewEngine
See tickets tagged on Github for a full overview.
-
Breaking changes
- Umbraco 8.17rc features including Tabs
- Updated to latest Examine version
- Removed obsolete propertyes from User and IUser
- IEmailServer now required an email type
-
Features
- Added support for configuring the UmbracoFile serilog "Sink" in appsettings.
- Added helper method for replacing the BackOfficeUserManager
-
Bugfixes
- Added missing Action of GetAncestors that uses key instead of id
- Fixed issue with path parsing with Image Cropper
- Fixed issues with invalid characters in the Umbraco package dotnet new template
- Fixed issues with structured logging in IProfilingLogger
- Fixed issues when changing UmbracoPath in config
- Fixed issue with translations keys shown instead of the translated values
- Fixed issues with Block list thumbnail selector on Linux
- Suppresses scope notifications dutin migrations to avoid handlers to execute before packages are ready.
See tickets tagged on Github for a full overview.
-
Features
- Added option to set NoNodesViewPath in umbraco template.
- Add LocalDB database install option and implement automatic database creation (Breaking)
- Updated NuGet dependencies
- Renames of ServerRole values (Breaking)
- Added folder keys to package xml and restore using these keys (Breaking)
-
Performance improvements
- Optimizations for empty recycle bin
-
Bugfixes
- Fixed issue with backoffice UI notifications not shown when using SimpleNotificationsModel
- Multiple fixes for tabs
- /umbraco not redirects to the install screen when a upgrade is required.
- Route hijacking with restricted public access - protected page request is not handled by custom login page controller
- Fixes for uploading big files
- Fix for directory values not working when language and region information on the hosting machine is different.
- Fix concurrency and certificate days to expiry issues in HttpsCheck
- Fix when connectionstring umbracoDbDSN key was missing
- Fix for when ApplicationMainUrl is set in config
- Culture fixes for when backoffice user or Host machine is Swedish
- Bugfix for SqlMaindomLock
- Linux casing issues
See tickets tagged on Github for a full overview.
- Bugfixes
- Member groups stopped working
- Content finder causing redirect to /account/accessdenied
- Fixed integer parsing issues when using swedish culture
- Reintroducting some missing translation keys.
On Friday 4th June a beta release of the Umbraco Forms package for V9 was released.
It's available from the Umbraco prerelease MyGet feed used for the CMS betas.
```none
dotnet nuget add source "https://www.myget.org/F/umbracoprereleases/api/v3/index.json" -n "Umbraco Prereleases"
```
And the package name is: Umbraco.Forms.9.0.0-beta002.
With an Umbraco V9 application running rc1, you can install the package with the following command:
dotnet add package Umbraco.Forms --version 9.0.0-beta002
And then restart the web application with:
dotnet run
You'll find the Forms documentation updated where necessary for V9, mostly around configuration and some changes to method signatures when extending Forms with custom workflow and field types.
If you find any issues, we'd appreciate reports at the public issue tracker. If you could please prefix any issues with "V9: " that would be useful to distinguish them from anything raised for other versions.