- What’s new in Umbraco 12.2
- Media Delivery API
- Hide Unavailable Compositions
- Exclusion filter for TypeFinder
- Unattended Upgrades is the new default
- More tweaks and improvements
- Updated documentation
- Community Contributions
- How to get your hands on Umbraco 12.2
What’s new in Umbraco 12.2
Media Delivery API
The Media Delivery API is introduced to provide a dedicated interface for delivering media content, such as images and videos, from Umbraco CMS. It is designed to work in a way that is similar to the existing Content Delivery API, making it easier for developers to work with both content and media in a consistent manner.
The key reason behind introducing the Media Delivery API is to accommodate headless and omnichannel requirements even better. On top of that, a separate Media Delivery API with a more constrained specification allows for integration with 3rd party systems that can utilize the full API. By providing this API, Umbraco CMS becomes more flexible, allowing other systems and channels to seamlessly integrate Umbraco media content.
It is important to note that the Media Delivery API is designed for when there is a requirement to work with Media exclusively. In most cases, Media will be consumed through the Content Delivery API, through Media Pickers, etc. as this ensures the correct connection between Content and Media, access to local crops, and more.
The Media Delivery API specification closely mirrors that of the Content Delivery API, ensuring a familiar experience for developers who are already using the Content Delivery API. This consistency simplifies the development process and reduces the learning curve for working with media content through the Delivery API.
The Media Delivery API must be explicitly enabled through configuration settings. Even if the Content Delivery API is enabled, the Media Delivery API remains disabled by default. Public access to the Media Delivery API can be separately configured. It is enabled by default if the Media Delivery API is enabled, but it can be disabled, requiring the use of an API key for access.
Documentation for the Media Delivery API is provided through a Swagger, in the same way as the Content Delivery API, which outlines the available options and provides sample requests and responses.
With the introduction of the Media Delivery API, developers working with Umbraco CMS can expect a more streamlined experience when handling exclusive media content, as they can use a dedicated API that aligns with their existing knowledge of the Content Delivery API.
Hide Unavailable Compositions
With the ability to hide unavailable compositions, users can quickly identify and select the compositions that are relevant to their current task. This improves the visibility of the available options, especially in scenarios where there are many compositions to choose from.
The functionality is added via a simple toggle in the Composition Picker. The toggle provides users with a more streamlined and user-friendly experience when working with compositions. It allows them to focus on the available options, reducing clutter and potential confusion. This is particularly valuable when dealing with large projects or content structures where compositions may be numerous.
In summary, the addition of the "Hide unavailable compositions" toggle in Umbraco's composition picker contributes to a more efficient and user-friendly configuration of Document, Media, and Member Types.
Exclusion filter for TypeFinder
The addition of an exclusion filter setting provides developers with more control over which assemblies are considered during the type-finding process. This means they can explicitly specify which assemblies should be excluded from type discovery, allowing for a more refined and predictable behavior.
With the ability to specify exclusion filters, developers can now tailor the type finder to their specific project requirements. This flexibility enables them to exclude assemblies that may cause conflicts or issues, leading to a more stable and efficient application.
Unattended Upgrades is the new default
Before this change, "UpgradeUnattended" was set to "false" by default, meaning that when there were pending database migrations after updating to a newer version of Umbraco, users would encounter the "AuthorizeUpgrade" login screen. This required users to log in and manually approve the upgrade, redirecting all site visitors to the login screen until the approval was performed. This manual step can be redundant since users have already explicitly updated the site to a newer version.
Changing the default value to "true" streamlines the upgrade process as the upgrade can proceed without requiring manual approval. If there is an error during the upgrade, it will be logged, and all users will see a customizable "BootFailed.html" screen without exposing error details. This screen can be customized to match the site's design and language.
This will only be set as default for new installations. Existing installations can configure unattended upgrades as documented here.
More tweaks and improvements
As always, you can find a bunch of smaller tweaks and improvements in the release. The full list can be found in the release notes but here are a couple of highlights:
Show published state in Multi-Node Tree Picker (MNTP)
Providing this visual cue, simplifies content management and decision-making, ensuring that users can quickly identify and select the appropriate content items for their needs, ultimately streamlining their workflow and reducing the risk of selecting unintended or unpublished content.
This enhancement contributes to a more intuitive and user-friendly content management process within Umbraco CMS, making it easier for users to work with their digital assets.
Improved Content Template management
This improvement optimizes the management of Content Templates (aka Blueprints) within Umbraco. It introduces two key enhancements: first, it sorts the Content Templates tree items and their sub-items alphabetically for a more organized and user-friendly interface. Secondly, it excludes element types from the list of available content types when creating a blueprint, streamlining the selection process.
These changes lead to a more efficient and intuitive workflow for users, making it easier to work with Content Templates and reducing potential confusion caused by unnecessary element types in the list. Overall, this enhancement contributes to a smoother content creation and management experience in Umbraco CMS.
One more time: Pre- and Post-Routing pipeline filters
We unfortunately did not include the Pre- and Post-Routing pipeline filters feature in Umbraco 12.1. It is now available in 12.2. Sorry for any inconvenience this may have caused.
With new pipeline filters, developers have even more control over how middleware is added. This can now be done before or after routing, with the PreRouting and PostRouting filters respectively. More details can be found on the Add PreRouting and PostRouting pipeline filters PR description.
As part of releasing Umbraco 12.2 we have updated the documentation with the following:
- Added AdditionalAssemblyExclusionEntries to TypeFinderSettings
- Updated Content Template documentation
- Updated Defining Content documentation with Hide Unavailable Compositions feature
Of the 45 bug fixes and feature additions in Umbraco 12.2.0, a total of 30 of them have been contributed by the community, by 11 unique contributors.
We’re welcoming 1 brand new contributor who has made their first pull request for Umbraco CMS; they’re marked with a star below. Welcome to the contributor club rasmusmedj 🏆
⭐ = First pull request to Umbraco CMS
And of course, as a thank you, we’ve just added another bunch of trees to our growing plot for today’s 12.2.0 release to celebrate your contributions! 🌳🌲🌴
How to get your hands Umbraco 12.2
As always, from today, all new Umbraco 12 projects on Umbraco Cloud will be running 12.2. For all our Umbraco Cloud customers with existing projects, this upgrade is only 2 minutes away:
We’ve wrapped it all up for you, so all you have to do now is follow these steps:
- Add a Development Environment to your project, if you do not already have one (Add a Development environment by clicking “Manage Environments” in the project view)
- Make sure you also restore the content to the Development Environment from your Live.
- When the Development Environment is all setup and you’ve made sure you don’t have any pending changes on the Development Environment - you are all ready to upgrade to Umbraco 12.2!
- It's as easy as clicking a button - like, literally clicking the "Upgrade Available" button on the Development Environment. The auto-upgrader will take care of everything from here! 🚀
- Once it's done, check the Development Environment to make sure everything is looking right.
- When that's confirmed, you are ready to deploy the upgrade to the next environment - Live or Staging, and start taking full advantage of all the new features.
Non-Cloud and release notes:
As always, installation and release notes can be found on Our: https://our.umbraco.com/contribute/releases/1220
This release is also available from Nuget: https://www.nuget.org/packages/Umbraco.Cms/12.2.0