Umbraco

Umbraco 12 Release

The latest version of Umbraco on .NET 7 (ASP.NET Core 7)

Rune Strand
Written by Rune Strand

Umbraco 12 is a major release that introduces new features like the Content Delivery API for headless capabilities, support for Entity Framework Core, and an updated version of ImageSharp for improved image processing. The release also updates other dependencies and introduces new versions of all add-ons Umbraco Forms, Deploy, and Workflow. Umbraco 12 is faster, better, headless, and available right now!

Overview:

Umbraco 12 in short

A new major release with a new “major” feature 🚀 With Umbraco 12, and the much anticipated Content Delivery API, you now get headless capabilities out-of-the-box. No additional installation required, no need to spend time on writing your own headless API - just flick the switch and you’re good to go. Another significant feature is built-in support for the popular EF Core (Entity Framework Core). Maybe not as instantly recognizable as headless but nonetheless a huge timesaver for developers working with custom database tables. 

You also get the usual round of updated dependencies and frameworks, including a new major version of ImageSharp, ensuring your Umbraco projects are running the latest and greatest, and continue to be secure and performant. 


Get a head start with the Content Delivery API

From Umbraco 12 and onwards there is now a new option for content delivery. Umbraco has always shipped with the traditional CMS approach of having a built-in templating engine and language. If you needed headless capabilities, whether for omnichannel content management or simply making Umbraco content available elsewhere, this would need to be developed from scratch or added via an extension. This is no longer the case - Umbraco now has a fully-fledged Content Delivery API meaning you can go as headless as you need to in all Umbraco projects.

Omnichannel Content Delivery

Whether it's a website, mobile app, smartwatch, voice assistant, or integrating content with any other platform or service, the same content can be delivered consistently. This is particularly useful in omnichannel strategies, where organizations want to provide a unified content experience across multiple channels. The Content Delivery API delivers a solid foundation for everything from building out a caching layer, integrating it into a microservice architecture, or serving directly to clients. 

Flexibility, consistency, and support

By adding the Content Delivery API everyone using Umbraco CMS, be it on Umbraco Cloud or self-hosted, now has instant access to automated headless whenever it is needed. So whether you’re starting up a new project on Umbraco, and want to use the Content Delivery API from the get-go, or want to add headless capabilities to an existing project, it’s up to you when and if you want to make use of it. This adds a level of flexibility that we have not seen before in terms of content usage. 

Having a common approach to content delivery to other channels means that everyone is using the same foundational approach. It is thoroughly documented in the new Content Delivery API documentation, including API Versioning and Swagger documentation. This makes it easier to learn, share knowledge, and plan implementations. It also means it is supported by Umbraco HQ and the full force of the community in upcoming releases, and will continue to evolve along with the CMS.

Does this replace Umbraco Heartcore?

When we have talked headless before, we’ve often talked about it in terms of our headless SaaS offering, Umbraco Heartcore - so does this release replace Heartcore? Not in the slightest 🙂 

Umbraco Heartcore has a multitude of advantages you do not get by simply using the Content Delivery API. Heartcore’s Content Delivery Platform comes with CDN features, caching, GraphQL, and includes multiple tools in the backoffice dedicated to supporting all the Heartcore-specific features. 

On top of all that Umbraco Heartcore is SaaS (Software as a Service) which means that all upgrades and maintenance are fully automated, with continuous support for the architecture as well as the APIs. The Heartcore team has been instrumental in planning and implementing the Content Delivery API so there is alignment across both the standard CMS and the SaaS offering. The upcoming REST API updates for Umbraco Heartcore will further enhance the alignment making it even easier for developers to jump between standard CMS and Heartcore.

So, if you have a project that requires a pure headless approach Umbraco Heartcore is still the best solution for this.

Support for Entity Framework Core

Umbraco 12 also introduces support for the popular EF Core (Entity Framework Core) library.  EF Core eliminates the need for writing repetitive and boilerplate database access code. It offers a high-level abstraction over the database, a consistent widely used, convention-based approach, allowing developers to work with objects and entities rather than directly interacting with database queries. In short EF Core boosts developer productivity by reducing the amount of code they have to write and maintain. 

The EF Core support added in Umbraco 12 is focusing on making it easier for developers to create and maintain custom database tables and data in a performant way with access to the Umbraco context and services required.

A new version of ImageSharp

ImageSharp is the cross-platform image processing library used in Umbraco. A new major version (ImageSharp 3) was introduced a few months back and is powering Umbraco 12 and subsequent releases. 

ImageSharp 3 supports the latest .NET 6 LTS framework, resulting in better performance and simplified features. The library has become faster and more efficient, offering new image decoding and encoding options, as well as some exciting new features and security improvements. The update also introduces powerful DecoderOptions for controlling image loading. Notably, the new version achieves significant performance gains in alpha compositing and color adjustments. 

New split license for ImageSharp

Do note that the new version of ImageSharp also comes with a new license. If you are only using the built-in processing that ships with Umbraco, nothing changes and you can continue as always while benefiting from the fantastic work, and performance gains in the latest release. Should you require the use of ImageSharp functionality and APIs directly in your code, pay attention to the license change.

For the same reason, we also keep shipping an ImageSharp 2 option covering the needs of Umbraco. We’ve made it possible for you to replace ImageSharp3 with the ImageSharp2 implementation and thereby allow any existing projects utilizing the library directly to be able to upgrade to Umbraco 12 and still adhere to licensing requirements. This of course means you will not be benefitting from the features and performance added in the latest version. 

See the ImageSharp 3 release blog post for more information.

 

Add-ons: Umbraco Forms, Deploy, and Workflow 12

Also released today are new versions of Umbraco Forms, Umbraco Deploy, and Umbraco Workflow. While they are new major versions, the changes have been made primarily to ensure full support for running on Umbraco 12. 

That said, there are some important functional updates in the products themselves. With Forms, we've taken care to update the headless API to align from a documentation, library, and feature perspective with the new Content Delivery API. And in Deploy we've been able to make some significant performance improvements that leverage optimizations made in cache refresh operations with Umbraco 12. We've seen a 35 to 50% performance improvement in deployment operations like restoring/transferring content and updating the Umbraco schema. Both Umbraco Forms and Deploy is included with all Umbraco Cloud projects, so everyone running Umbraco 12+ will benefit from this. You can read the details in the version-specific upgrade notes for Umbraco Forms, Deploy, and Workflow

Next week, on July 5, Umbraco Commerce will have its first official release and be available for both Umbraco 12 and 10. 

Updated dependencies and more…

One of the benefits of having a relatively fast major release cadence (every 6 months) is that we get to keep Umbraco up-to-date with all the fantastic work that is being done in both the underlying framework, and all the other dependencies used in Umbraco CMS. This means more secure and performant installations, with all the latest functionality.

We’ve already covered the new ImageSharp version included in the release, and there are more updates included in Umbraco: 

For a full list of all features and improvements see the Umbraco 12 release notes.

Getting started with Umbraco 12

Getting Umbraco 12 up and running is just as easy as you are used to:

Umbraco 12 on Umbraco Cloud

From today, Umbraco 12 is available for new projects created on Umbraco Cloud - it is the easiest way to start a new Umbraco project - so why not head on over and create your next project or take a free 14-day trial?

Try Umbraco 12 on Cloud

If you’re upgrading an Umbraco Cloud project the major upgrade documentation is available. 

Install it on your own

If you’re installing Umbraco elsewhere the manual installation instructions are the way to go, and if you are upgrading on-premises installations remember to check the Upgrading Umbraco documentation.

Get off to a great start with Umbraco 12 documentation

To help you get started with the new features and changes in Umbraco, new documentation has been made available:

Start using Umbraco 12 today

Umbraco 12 is available everywhere you get your Umbraco and we’re proud of this new major. So many new improvements and updates that will make your Umbraco sites faster and a delight to work with, all while keeping the impact on existing installations to a minimum. You can find the full list of improvements, updates, and changes in the Umbraco 12 release notes.

Try Umbraco 12 today

Community contributions (roll the credits)

Of the 48 bug fixes and feature additions in Umbraco 12.0.0, a total of 3 of them have been contributed by the community, by 3 unique contributors.

We’re welcoming 1 brand new contributor who has made their first pull request for Umbraco CMS; they’re marked with a below. Welcome to the contributor club Karl Macklin 🏆

     Nuklon - 1 PR

     Dhanesh Kumar Mj - 1 PR

Karl Macklin - 1 PR

And of course, as a thank you, we’ve will add another bunch of trees to our growing plot for today’s 12.0.0 release to celebrate your contributions! 🌳🌲🌴