Umbraco 17 has launched its Beta version, introducing a clearer pre-release process. This update features a new backoffice architecture, improved extensibility, and modern technology, transitioning from AngularJS to Web Components. The upgrade from Umbraco 13 to 17 is significant but manageable, ensuring a stable, future-proof platform for developers and users.
Umbraco 14 has removed the backoffice tours feature that was present in Umbraco 13, which introduced users to CMS functionalities. Although there were intentions to re-implement this feature in future versions, AndyButland states that efforts will focus on enhancing documentation and video resources instead, as custom tours were not widely adopted.
Andy Butland announces that Razor run-time compilation is now obsolete, urging against its use in production. This change affects Umbraco features like the BackOfficeDevelopment runtime mode and InMemoryAuto models builder, which will be removed in Umbraco 19. Users are advised to edit templates as .cshtml views and utilize dotnet watch for hot reload.
During a migration from Nested Content to Block List in Umbraco 13, Johan Reitsma encountered an issue where the `umbracoExternalLogin` table was empty due to unconfigured external login providers in `appsettings.json`. This led Umbraco to automatically remove external login records. To prevent this, it's advised to configure dummy values for external login credentials during local migrations.
Luuk Peters discusses the importance of synchronizing the NuGet package version and the Umbraco extension version in Umbraco packages. He outlines methods for maintaining this synchronization, particularly in Umbraco 16, where previous automatic features are no longer available. A solution involves using an after-build event to update the version in umbraco-package.json.
Luuk Peters discusses updating Umbraco API controllers from versions 13 to 16. The UmbracoApiController is replaced with regular controllers for custom routing, while the UmbracoAuthorizedApiController is transitioned to ManagementApiControllerBase, incorporating VersionedApiBackOfficeRoute and ApiExplorerSettings for enhanced functionality and security in the new Management API.
Andy Butland reports that moderate and low security vulnerabilities in Smidge, an upstream dependency for Umbraco 13.0.0 - 13.10.1, have been addressed with patches. Users are advised to upgrade to the latest version, while Umbraco Cloud projects will receive automatic updates. Further details are available in the release notes.
Dennis discusses the challenges of acceptance testing in Umbraco applications, emphasizing the need for a predictable state to avoid flaky tests. He suggests using the Umbraco management API, introduced in Umbraco 16, to programmatically set up content scenarios. This approach could facilitate reliable acceptance tests, which he plans to explore further.
Umbraco 17 introduces a new method for generating preview URLs through IUrlProvider implementations, replacing the previous internal and external preview URL generation methods. This change addresses the removal of SendingContentNotification in V14 and supports the demand for external previews. Custom URL providers must adapt to this new structure.
Luuk Peters discusses updating localization from Umbraco 13 to 16, focusing on backoffice localization, changes in C# code, and localization in extensions. Key updates include transitioning language files from XML to JavaScript, new registration methods, and modifications to property description fields.
This week Sebastiaan and Lotte from the Umbraco Developer Relations take a look at the Release Candidate for Umbraco 16.2 which introduces UFM JavaScript-like expressions, enhancing labels and block customization with logic, filters, and native JS-like syntax. The release modernizes the back office, improves editor experiences, and encourages testing before full release in two weeks.
Umbraco 16 is a focused release enhancing the editing and developer experience, serving as a precursor to Umbraco 17 LTS. Key features include a new customizable Rich Text Editor, property-level permissions, and improved backoffice accessibility. This version aims to streamline upgrades and provide a solid foundation for future projects.