Articulate 7 and 8 are out for Umbraco 17 and 18
Articulate 7.0.0 and 8.0.0 are now on NuGet. Articulate 7 is for Umbraco 17 and Articulate 8 is for Umbraco 18. They're both built from the same source, the only reason there's two of them is that Umbraco 17 and 18 aren't binary compatible, so each package is compiled against its own Umbraco version.
dotnet add package Articulate --version 7.0.0 # Umbraco 17.7.1 - 17.x
dotnet add package Articulate --version 8.0.0 # Umbraco 18.2.1 - 18.x
This blog is now running Umbraco 18.2.1 and Articulate 8.0.2. Before this it was on Umbraco 12.3.10 and Articulate 5.2.2, so it skipped quite a few versions in one go. In this case, the upgrade path was easy! Just exported the BlobMl from the old site with images embedded, then created a new v18 site, installed Articulate, imported the file and adjusted my root Blog Articulate node, and ta-da 🎉 It works 😊
What's new
- Giscus comments - You can now use Giscus instead of Disqus, which stores comments in GitHub Discussions. Configure it globally in
appsettings.jsonunderArticulate:Comments:Giscusor per blog with the newgiscus*properties. Themes can ship agiscus.cssso the comments match the theme, and all the built-in themes do. - Markdown editor - The responsive Markdown editor for posting from your phone or browser now signs in with Umbraco's Back Office OAuth/PKCE flow and uses the Management API, so if you have 2FA configured it just works.
- Rich text - Coming from TinyMCE, the upgrade switches posts over to TipTap with Articulate's default settings, and any custom TipTap config you already have is kept.
- New backoffice - The Articulate backoffice extensions are rebuilt for both Umbraco 17 and 18.
- BlogML - Import size limits are configurable, and exports use the post's published date.
- Performance and security - Lots of allocation and hot path fixes in routing, and CI now fails the build if any NuGet dependency has a high or critical advisory.
Things to know before you upgrade
- Back up first - your site, database and media.
- MetaWeblog is off by default - Open Live Writer uses direct username/password auth, which skips Umbraco's Back Office OAuth and 2FA. If you still use it, set
Articulate:EnableMetaWeblogtotrueand restart. - Want to keep TinyMCE? Install TinyMCE.Umbraco before the first run, otherwise the editor gets converted to TipTap.
- Coming from Articulate 5? Custom themes need updating, since the
HtmlandUrlhelpers were replaced with model extension methods, e.g.@Html.MetaTags(Model)is now@Model.MetaTags(). The full table is in the 6.0.0 release notes.
The Upgrading page on the wiki has the full checklist.
Two packages, one codebase
The bulk of this release was done by Gavin Faux, and it's a huge amount of work. Rather than keeping a separate branch per Umbraco version, everything is built from one codebase with a small compatibility layer for the bits that differ between 17 and 18. One CI build compiles, tests and packages both versions, then installs them into brand new Umbraco sites and runs the same set of end-to-end tests against each one before a release gets published. So when a fix goes in, it ships for both versions at the same time. Thanks Gavin!
The full list of changes is in the GitHub release. Give it a go, and if you run into anything, raise an issue.