The number “13” gets a bad rap in superstitious circles, but Umbraco might see it as a good luck charm.
According to the company's blog , the package is ready for testing and can be downloaded via NuGet.
The release candidate offers an opportunity to explore Umbraco 13 and check out its new features. This includes a major update to the platform's underlying .NET framework to .NET 8 with C# 12, along with more headless capabilities.
Users are generally invited to test drive the Umbraco 13 release candidate and provide feedback. All of this leads to the public release, targeted for December 14, 2023.
The company's announcement provides a quick overview of version 13, which offers a bevy of enhancements. This includes more flexible scaling for better performance and more sustainable hosting. Serialization, JSON, and other components have also been optimized. C# 12 will feature upgrades to Primary Constructors, Using Declarations, Field Interpolation in String Literals, and Lambda improvements.
Umbraco has also included a Minimal Hosting Model, which Microsoft introduced in .NET 6. This model merges the previous program.cs and startup.cs into one single program.cs file and simplifies the initiation of an application. But most importantly, this model is now used for all Microsoft Tutorials and examples. The implementation is also backward compatible.
As part of the company's headless initiative, Umbraco 13 contains Webhooks, so that users can inform third-party systems about events like publishing in the CMS. There's also new UI that eases this process, enabling users to type in a URL they want to call and align it with specific events.
Along with the embellishments to the core CMS, Umbraco 13 is also better aligned with the Umbraco Commerce Storefront API, introducing nested field limiting and expansion for its Content Delivery API. There's new functionality with this upgrade, including greater flexibility on where to limit and expand on multiple levels.
The Media Delivery API has also received some enhancements. First introduced in version 12.2, the upgrades amend some earlier compromises the company wanted to improve upon. Umbraco 13 does this by including some class fixes along with a new public interface and some changed return values.
A few features have been introduced in Umbraco 13 as prerequisites for future capabilities. One such example is the Dynamic Root for the Multinode Treepicker, implemented as an alternative to the XPath expressions.
This new approach has been introduced to prepare for lazy loaded content, where Umbraco aims to introduce more efficient caching and memory management to improve performance for sites with large amounts of content. As an added benefit, it will now also be way easier to set up a relative path for the Multinode Treepicker.
In the version 13 release candidate, one of the UX enhancements is the introduction of Blocks in the Rich Text Editor. The company plans to add more block functionality, including global blocks as reusable content.
Umbraco is also working on its next-gen backoffice (called Bellissima) where new frontend technologies will take the stage. Most of this UI is bound to a new management API but has also been applied to the CMS login screen, which sports a new visual design experience.
To avoid a user accidentally logging in multiple times – and to align with security by design principles – Umbraco 13 is allowing for concurrent logins, so it's now default set to false.
While the version 13 release candidate is considered “feature complete,” Umbraco anticipates more changes to come. That said, the company expects most of the issues to be minor fixes based on feedback and testing.
Along with bug remediation, Umbraco will focus on making HQ packages available for Umbraco Commerce, Workflow, Forms, and Deploy, and expects additional release candidates to be available shortly after this announcement. The company is also ensuring that version 13 will be available on Umbraco Cloud when released, along with current documentation.
As noted, the company is targeting a public release on December 14. To provide feedback on the release candidate, users can report them using the GitHub tracker by following the link or selecting “Bug Report” when creating a new issue.