There are a number of new additions in Umbraco 12 including the much anticipated Content Delivery API! Before the introduction of this new feature headless functionality would need to be custom built in to existing Umbraco websites (that weren't set up to use Umbraco Heartcore). Now with the introduction of the Content Delivery API headless functionality can be enabled quickly and easily across all Umbraco projects.
By leveraging the power of the new Content Delivery API users now have the ability to serve content over multiple channels. Content creators can still manage content from one central location in the Umbraco backoffice, but that content could now be consumed on a website, smartwatch, mobile app or any other internet enabled smart device. Better still it is available on all versions of Umbraco meaning existing self-hosted websites can take advantage of the new functionality when upgrading to Umbraco 12 even if they are not using Umbraco Cloud.
When first learning about the new API our immediate question was "What about Umbraco Heartcore?". Well it appears that Heartcore, Umbraco's headless SaaS offering, is not being replaced as it still offers several advantages over the Content Delivery API such as GraphQL CDN features and improved caching.
The Content Delivery API is a testament to Umbraco's commitment to flexibility, scalability, and ease of use, and it supports an agile approach to content management and delivery in today's ever-evolving digital landscape.
Umbraco 12 also introduces support for Entity Framework Core (more commonly known as EF Core), Microsoft's lightweight, open-source object-relational mapper (ORM). In previous versions of Umbraco NPoco would be the default choice for working with custom tables and/or entities and although this worked perfectly well in most common scenarios we encountered some difficulties using it with more complex queries.
By allowing support out of the box Umbraco 12 allows access to EF Core's full suite of ORM features such as cross platform code-first development, change tracking, lazy loading and LINQ queries to allow easier manipulation of data without needing to write the underlying SQL.
A new major version of ImageSharp, the cross-platform image processing library used in Umbraco, has been released in Umbraco 12. ImageSharp 3 supports the latest .Net framework and comes with a number of performance and security improvements.