This is a big milestone and one of the major requirements for the beta release.
Package Support
You can now register and create packages. While much of the base functionality is in place it is still too early to work on package migration from v8 to Project Unicore. This will be the main focus after the beta release and we expect changes and updates to occur in this area.
Models Builder
The embedded Models Builder has been updated to work on ASP.NET Core and the Roslyn compiler.
Web API
Although that main focus has not been on the backoffice, we still updated lots of things since the last alpha release. Areas like changes to the web APIs such as all C# enums now being serialized as strings.
Dependency Injection (DI)
Change of dependency container from LightInject to the native container shipped in ASP.NET Core. This means that we’re aligning Umbraco with the standard way of handling DI in .NET Core and if needed you can implement your preferred way by using other DI frameworks such as LightInject on top.
Framework updated to .NET 5
Another change in this alpha release is the update of the underlying framework and other dependencies from .NET Core 3.1 to .NET 5 and the web specific ASP.NET Core from 3.1 to ASP.NET Core 5.
Even though .NET 5 is not an LTS version, we want to ensure that Umbraco is staying up-to-date with the new changes in the framework. There are a number of benefits in .NET 5, such as improved performance, and this also means that projects that include Umbraco can easily update the underlying framework to .NET 6 LTS when this is released (scheduled for November 2021), while Umbraco keeps its dependencies to ASP.NET Core 5.
It’s a little confusing with the .NET naming, we know 😉 If you want further explanation see this blog post from Microsoft introducing .NET 5.
As you can see a lot of things have been updated and changed in order to work with the new framework. All testing of the mentioned areas is very much appreciated and will be a big help to us as we get closer to the beta release.
Who is the Alpha release relevant for?
Like the other alpha releases, this release is mainly addressed to developers who have an interest in helping, testing and finalizing the project. It is still too early to start upgrading packages to use this version, as lots of APIs will still need to be updated or revisited.
Furthermore, since this is an alpha release, you should not expect that any data stored in the database or on the filesystem will work on later versions. In other words - please don’t start solutions on this release that will end in production.
But please do start testing and help us move forward with the .NET 5 move 🙏
How to get started
The procedure to get started is the same as for the other alpha versions. Be aware of the new prerequisites about having .NET 5 SDK.
Ensure you update your Umbraco dotnet template, and then you are ready to create new projects running on the alpha 3. See a full description and other interesting notes in the Umbraco .NET Core documentation.
If you want to be on the bleeding edge, we also offer nightly builds. But be aware these are not tested as intensively as the alpha releases.
Known Issues in this Alpha release
While using the alpha beware of the following known issues:
- Often when using the backoffice, a “Not the Ambian scope” exception is shown. Often you can just retry the operation.
- Restarts during install
- When the Umbraco solution is installed, a restart is required. Right now we need to use IIS/IIS express to handle the next request and start the process again. Sometimes this fails and you need to start the process again
- Members are still an area with lots of missing functionality
- Mac/Linux + Examine/Lucene issue as that assembly still is built for .NET Framework.
How to provide feedback
The above are all known issues meaning you don’t need to report these. We try to keep the list of known issues up-to-date in the Umbraco .NET Core documentation. If you find other issues that are not already reported, please report them on the GitHub tracker by following the link or selecting “🌟 .Net Core Bug Report” when creating a new issue.