- What’s new in Umbraco 11.4
- Improvements for extending Models Builder
- Umbraco Package RCL project template
- Updated dependencies
- And more…
- Community Contributions
- How to get your hands on Umbraco 11.4
What’s new in Umbraco 11.4
Improvements for extending Models Builder
In this release, you’ll find a new abstraction around the `Infrastructure.ModelsBuilder.Building.ModelsGenerator` class in Umbraco CMS. This abstraction allows developers to override the concrete class with a modified implementation and still access it through Dependency Injection.
Currently, the `ModelsGenerator` class is injected into the `ModelsBuilderDashboardController` and `AutoModelsNotificationHandler`. Although there are workarounds to intercept requests and use overrides to generate models with additional functionality, the goal of this feature is to ensure a more straightforward and convenient method that eliminates the need for request interception.
To achieve this, the proposed changes involve introducing an `IModelsGenerator` interface to the `ModelsGenerator` class. By adding this interface, developers now have the flexibility to override the implementation of the `ModelsGenerator` class with their own modifications while still being able to request it through Dependency Injection.
The change has been added to the Modelsbuilder documentation, but hopefully, it makes it so easy and follows conventions to an extent where it’s straightforward to work with.
Umbraco Package RCL project template
Alongside Umbraco 11.4 we’re introducing a new project template called 'Umbraco Package RCL' (Razor Class Library) for Umbraco CMS. The template is similar to the default 'Razor Class Library' template but includes references to the CMS and a sample package manifest file.
The purpose of this addition is to enable developers to distribute packages targeting Umbraco as Razor Class Libraries. This eliminates the need for custom MSBuild targets that copy files into the Umbraco project, simplifying the package reference and integration process.
The 'Umbraco Package RCL' template provides a convenient way to create packages that can be easily referenced and utilized within Umbraco CMS. Note that support for accessing package assets from Razor Class Libraries had been added in 11.0. Developers can still choose to use the existing 'Umbraco Package' template if they need to support older versions of Umbraco
In summary, this PR introduces the 'Umbraco Package RCL' project template, allowing packages targeting Umbraco to be distributed as Razor Class Libraries. This improvement streamlines the development and deployment process, making it easier to create and manage packages within the Umbraco ecosystem.
For an example of how to try out the Umbraco Package RCL see the pull request description.
The dependencies updated this time around are exclusively related to the backoffice. Worth highlighting is the 1.2 update for Umbraco UI Library. It now includes components for color picking, a new modal system, and a long list of features and fixes. See the Umbraco.UI release notes for more details. TinyMCE has also been updated to a newer minor version, and this addresses an issue with a missing icon for the style select button.
There are quite a few updated dependencies both included with and used in the build process for the backoffice. The full list can be found in the release notes (under Dependencies)
Aside from the bigger features mentioned above, there are a lot of improvements, tweaks, and fixes included. You can now use the Cite element correctly in the rich text editor without it being stripped out, system fields for Members, such as Approved and Lastlockoutdate are now available for use in the Listviews.
Make sure to browse the release notes for the full list. There’s almost certainly something that improves your development or editing experience with Umbraco. The bulk of these additions have been made by our fantastic open-source community, so let’s give them all a big HIGH FIVE YOU ROCK 🙌
Of the 40 bug fixes and feature additions in Umbraco 11.4.0, a total of 29 of them have been contributed by the community, by 20 unique contributors.
We’re welcoming 5 brand new contributors who have made their first pull request for Umbraco CMS; they’re marked with a star below. Welcome to the contributor club gadgetfbi, mroberts91, landlogicit, karlmacklin and rogalmic 🏆
⭐ = 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 11.4.0 release to celebrate your contributions! 🌳🌲🌴
How to get your hands on Umbraco 11.4
As always, from today, all new Umbraco 11 projects on Umbraco Cloud will be running 11.4. 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 set up and you’ve made sure you don’t have any pending changes on the Development Environment - you are all ready to upgrade to Umbraco 11.4!
- 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 ensure everything looks 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/1140
This release is also available from Nuget: https://www.nuget.org/packages/Umbraco.Cms/11.4.0