meta.Title | meta.Description |
---|---|
Umbraco .Net Core Updates |
Updates and information related to the upcoming release of Umbraco on .NET 5+. |
:::note This article is intended for keeping an overview of all the information, official as well as unofficial, currently available on the upcoming 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 the current beta version of Umbraco on .NET 5. You will also find a list of relevant links to official as well as unofficial resources on the upcoming 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.
- 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
:::warning As this is a release candidate, bugs and minor issues are to be expected.
Found a bug that isn't already reported? Please report it on the GitHub tracker. :::
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::9.0.0-rc002
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::9.0.0-rc002
-
Create a new empty Umbraco solution 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.
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 beta 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 solution 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 solution, it will also copy the App_Plugins
folder from the package project into the solution. 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
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.