Synced Pattern Overrides punted, Font Library approved, as WordPress 6.5 nears release

As the WordPress 6.5 release date is just around the corner, contributors have been racing to complete work on a few outstanding issues and bug fixes. Two of the most prominent features, Synced Pattern Overrides and the Font Library, have been stuck in critical debates until today when Executive Director Josepha Haden Chomphosy weighed in with an official response and a path forward.

The Font Library is Ready for Core

When conversation arose in the Make WordPress Slack last week that the Font Library may not be ready for 6.5, there was a feeling of déjà vu. The Font Library had already been punted from the last few major releases as the team works to make sure the feature is fully future-proof. Luckily, the decision for 6.5 is that the Font Library will be shipping in core.

A handful of related issues were brought up, but the conversation centered mostly around where fonts would be stored for your WordPress website. The Font Library includes a new directory in wp-content/fonts, at the same level as plugins, themes, and more. Because fonts are uploaded by users and fetched as resources, some contributors felt that they should live inside the wp-content/uploads directory, where other uploads and media are placed, and that their architecture should map more closely to Attachments in WordPress.

On the one hand, it’s a bit of a philosophical debate: are fonts just “uploads” or are they something more fundamental to how we build websites?

“A large motivation behind the font library is to introduce fonts as a first-class object within WordPress—stored, described, and managed in a way that allows us to convey this distinct nature alongside other objects,” Lead Architect Matias Ventura explained in a recent GitHub issue. “So this is fundamentally an architectural decision we are making and not exclusively one of convenience, which aims to position fonts as a concept alongside themes, plugins, languages, and media uploads within wp-content.”

Contributors, including representatives from hosting companies, were concerned that this would cause downstream effects with filesystem security and some of the more complicated off-loading scenarios where assets like images and fonts are cached and distributed separately. Some hosts may even need to modify their architecture to work with this new directory structure. Fortunately a filter to change the location of fonts was included and iterated upon so that hosts could override the directory location and have more time to consider their approach.

The result is that users can look forward to the Font Library shipping in WordPress 6.5, and future work will be done to audit the result, flesh out more of the missing features, and discuss the potential effects of adding this new directory.

Synced Pattern Overrides Gets Overridden

Previously referred to as “partially synced patterns,” and tied up with the larger concept of the Block Bindings API in WordPress Core, Synced Pattern Overrides are not as easily defined as the Font Library. For site builders, though, the concept has been a bit of a holy grail. So it is with much disappointment, mixed with understanding, that the feature will not be shipping in WordPress 6.5.

“Synced Patterns” in WordPress (formerly “reusable blocks”) allow users to create block patterns in which any changes will show up automatically anywhere the pattern is used across your site. Synced Pattern Overrides introduced the next evolution of this feature, where you could “lock” the design of your pattern, but allow users to update some of the content, such as text or images, in each pattern instance.

Concern was raised over how Synced Patterns were defining their ability to have these “overrides”, both in the underlying structure and in how the feature was shown in the user interface. These types of “overrides” are considered foundational to many of the future goals of the block editor, so it’s important to get it right.

“For later, I’d like to note that the feature is not just about ‘making things overridable’ by the user,” clarified Riad Benguella, Automattic-sponsored contributor and Editor Tech Lead for the current release. “While it’s the immediate use-case, we should think about this more holistically, it’s about separating content and presentation of patterns. It’s about providing a schema for the pattern.”

That separation of content and presentation has been a big issue for extenders trying to build maintainable sites using the Block Editor.

“My main issue is that this isn’t a decision we can reverse lightly,” noted Fabian Kägy, a contributor sponsored by 10up. He reiterated the importance of getting the feature right in Gutenberg before merging it into WordPress core, emphasizing that “the Gutenberg plugin is meant to be a playground for a feature to grow / iterate upon before it goes into core.”

So while the underlying architecture of the Block Bindings API will still ship with WordPress 6.5, one of its first visible implementations, Synced Pattern Overrides, will not.

The Release Cycle Continues

Both of these last-mile issues also highlighted the unique challenges we face when some of these large new features for WordPress are built inside the Gutenberg plugin, rather than in a separate feature plugin. The tradeoffs to this approach to feature development was one of the key issues discussed in a Hallway Hangout last week.

In the meantime, contributors are racing to finish work or else document changes on many less prominent issues that were also discovered during the beta releases, including an update to how HTML is parsed in code blocks and issues with changes to make the block editor more accessible.

When WordPress 6.5’s first release candidate was launched on Tuesday, the cycle transitioned into a “string freeze” so that translators could begin their work. The 6.5 Field Guide, Dev Notes, and Make Core announcements are all being drafted for publication. And all of this work is set to the backdrop of the flagship WordCamp Asia conference going on now in Taipei and featuring much of the project’s leadership and core team.

WordPress 6.5, scheduled for March 26, 2024, is shaping up to be quite the eventful release, and features like the Font Library, Plugin Dependencies, and the Interactivity API have many in the community excited for what’s to come.