Umbraco 8.7 Release
Find out what you get with this brand new version of Umbraco
What’s new in Umbraco 8.7?
A total of 210 bug fixes and feature additions has been added in the 8.7 release, making it quite an impressive release.
A big part of the improvements in Umbraco 8.7 are bug fixes that will benefit everyone using the CMS. And then you’ll be able to take advantage of 4 big new features:
4 features that require a bit of digging into, so let’s start by taking a brief “tour” of each of them:
The Block List Editor
The Block List Editor is likely the most significant feature addition to Umbraco 8.7 - and also one we’re really proud of! This feature takes the CMS to a new level of “friendly” for developers and content editors alike.
“Why do I have yet another property editor to consider?”, you might ask and the answer is to allow you as a developer to craft an editing experience that suits the needs of your content editors. The Block List Editor is a new property editor, yes, but it will be very familiar to most as it builds on familiar concepts and popular workflows.
Here’s a little taste of what you can expect from a Block Editor:
What does it allow you to do?
It’s all in the name - The Block List Editor lets you create blocks of content in a list. It’s as simple as that 🙂 A block is based on an Element type which means it can be anything you want it to be. You can make multiple blocks available and have full control over how these blocks are displayed, edited and validated.
If you have worked with Nested Content or Stacked Content you will see that the basic concepts are very similar. In fact, the Block List editor lets you choose whether you want to edit content inline (as with Nested Content) or in an overlay (as with Stacked Content).
You control the editing experience with a simple toggle.
Give your editors a real WYSIWYG experience!
What You See Is What You Get. If these two options don’t cut it, you can create your own views for the backoffice, where you are in complete control over how the content is displayed and how it is edited. This opens the possibility to create a real WYSIWYG experience, showing a live preview of the content being edited directly in the back office. It’s all based on conventions and comes with an API to make it easy to customise.
Custom views for blocks are used in the new version of Umbraco Uno and it makes a huge difference for the editing experience.
If you want to see an example of this, check out the new version of Umbraco Uno. As of today, Uno utilises the Block List Editor to give a powerful WYSIWYG experience.
See the documentation for pointers of how to customise the behaviour of the Block List Editor in the backoffice.
The Block List Editor uses the power of Umbraco 8 and Infinite Editing to its full potential. It has never been this easy to create and update document and element types without losing context.
Adding a property to a block nested in a Block List Editor is a breeze and you won't loose context.
Block Editors and the Block List Editor
Finally, it’s worth mentioning that the Block List Editor is built on an entirely new concept for working with complex content in Umbraco. It’s been dubbed “Block Editors” and the “Block List Editor” is the first property editor based on this. With Block Editors comes a new standardised way of storing data and metadata for blocks as well as a fully-featured API to create Block Editors.
The Block List Editor is the first of hopefully many interesting variations of Block Editors enabling content creators to work in the way best suited for their exact needs. You can see a detailed explanation of the Block List Editor in a recent episode of UmbraCoffee and we have an upcoming deep dive blog post that focuses exclusively on the Block List Editor (ETA 1 week).
You can find documentation for the Block List Editor here and if you want to dive straight into developing your own Block Editor you can find documentation here.
A collaborative effort
The Block Editor concept and the Block List property editor comes to you as the result of a truly collaborative community effort. It was conceived at last year's MVP retreat. Have been through multiple RFCs with great discussions and valuable feedback:
- RFC 0011 - Project Proteus: Block-based data structure interoperability
- RFC 0012 - New Block Editor (property editor)
- RFC 0019 - Update "Project Proteus: Block-based data structure interoperability" with new structure).
The accepted RFCs for Block Data Structure and the Block (List) Editor can be found here:
We also had a productive online video discussion with all the RFC participants. ProWorks, one of our Gold Partners, helped out with the early implementation and provided experience from working with Umbraco as well as real-world use-cases. Finally, a lot of people helped us test the release candidate and provided feedback and raised issues. It’s thanks to all of you the Block List Editor is a great addition to Umbraco that empowers developers and benefits content editors. High Five You Rock 🙌
If you want to try out the new Block List Editor you can, of course, upgrade to Umbraco 8.7. But you can also test it in Umbraco Uno - especially if you’re curious about the “WYSIWYG” experience. Spin up a free trial of Uno and see for yourself.
Complex Validation
While the Block List Editor is a really powerful component in itself, implementing it also clearly showed where some functionality in the CMS needed some polishing.
Validating user input is an important part of achieving a great user experience and while a lot of work has already been done on this part, the options for validation within property editors with nested/complex data structures were still very limited.
In order to release a great Block List Editor, we dived into improving validation options for complex property editors. Doing this has not only benefited the Block List Editor but also Nested Content where you’re now getting more relevant validations.
You'll now see a little badge that guides you to the validation error - Look at that wiggle 🤩
While the feature itself might not sound too flashy or fancy, the overall experience of using the CMS as a content editor has been massively improved as validation is now possible regardless of how you model your data structure. Instead of having simple validation working with the property as a whole and being very unspecific for complex data, you will now be able to tell your editors exactly what is not valid and how to correct it. Basically, a feature that ensures less confusion and faster troubleshooting.
Segments
On a website, you usually want to convey some sort of information to your target-audience. This can be done in many different ways and there isn’t always a one-fits-all approach. How a message is best communicated depends on your target audience - and that can vary a lot.
Segmentation of content can be a solution to this challenge. It allows you to create segments (a simple example could be desktop and mobile visitors or different personas) and then personalize a single piece of content to have optimal impact on each segment, making it much more likely that your visitor is converted from a visitor to an actual lead. While we are not ready to fully support this in the backoffice UI yet, this release paves the way for using segmentation on an API level.
Segments have been a highly requested feature for a long time and with the introduction of variants in Umbraco 8, the technical foundation was already there. Our wonderful Gold Partners at Perplex have helped us immensely in getting the feature to a state where they could start using it for personalisation in the uMarketingSuite package. Big High Five You Rock 🙌 to Jeffrey and the rest of the team.
If you want to see segments in action you can try out uMarketingSuite.
Content Apps for Document Types
Content Apps is still one of the great features that came with Umbraco 8. Content Apps started out in the content section only and was added to the members section in Umbraco 8.6.
A community contribution suggested that this functionality was added to make this part of the CMS extensible as well, so it is now possible to be assisted by Content Apps when managing your document types in the backoffice.
With Umbraco 8.7 you can now also add Content Apps to Document Types.
Here you can see a “Test” Content App added to a document type.
See the Content Apps documentation for more details.
Community Contributions
Of the 210 bug fixes & feature additions in version 8.7.0 - 185 of them came from community pull requests, created by 51 unique contributors. Twelve of those were still contributions from Hacktoberfest 2019.
Some of the highlights are:
- Bjarne, Rachel, Jan, Mike, Kenn, Poornima and Matthew have been providing another great round of accessibility updates which not only help people with special needs but also makes sure that keyboard navigation in Umbraco is turning into a great experience.
- Patrick has provided us with a way to add content apps to document types and we can’t wait to see the creative things you will do with that!
- Check out the list of things Kenn and Bjarne have been working on. It’s mostly little annoyances that editors regularly run into, things that could be clearer or just don’t work quite right. I bet you’ll find a few of your own little niggles being fixed in that list. It’s really wonderful to see real-life problems being fixed in small increments.
- Ever notice that your browser is (close to) crashing after inserting an image in the rich text editor? Aleksandr fixed that for you!
- This update from Paul will make it easier to identify your document types in the tree by showing you their chosen icon + color instead of a generic icon for each item.
- If you’ve ever wanted to do some more advanced styling in the “Formats” dropdown in the rich text editor then Kenn has helped you out doing exactly that.
We’re welcoming 15 brand new contributors who have made their first pull request for Umbraco-CMS, they’re marked with stars below. Welcome to the contributor club Adam, Chris, Aleksandr, Chad, Alan, Joe G, Emil, Alexander, Jason, Anders, Matt, Joe D, Jamie, ksingercoffey, and Jeff! 🏅
Many thanks to all of the contributors to Umbraco 8.7.0, let’s give them a big #H5YR 🙌:
⭐ = First pull request to any Umbraco repository
🌟 = First pull request to Umbraco-CMS
Breaking Changes
We do our best to avoid any type of breaking changes in minor versions of Umbraco, however - Umbraco 8.7 contains a few minor changes that we have marked as breaking for you to make note of:
- Ensure all helper methods properly HTML encode text
- Upgrade jQuery dependency to the latest version
- Remove ContentFinderByRedirectUrl if RedirectUrlTracking is disabled
- Remove unused "umb-password-toggle" directive
- Bump angular from 1.7.9 to 1.8.0 in /src/Umbraco.Web.UI.Client
How to get your hands on Umbraco 8.7
As always, from today, all new version 8 Umbraco Cloud projects will be running 8.7. 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 8.x!
- 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/870
This release is also available from Nuget: https://www.nuget.org/packages/UmbracoCms/8.7.0