The WordPress 6.4 release squad has decided to punt the planned Font Library feature to 6.5 after core maintainers found major gaps in the Font APIs that cannot be resolved in time for the upcoming release.
“I am currently reviewing the font APIs PR,” WordPress REST API co-maintainer Jonny Harris said. “I must say, I am very worried about the PR in its current state. The code simply doesn’t follow the WP core code style and doesn’t feel WordPress.” He listed a number of problems he found with the feature:
- Limited developer API. We need functions like
wp_insert_font
/ wp_create_font
etc.
- Lack of filter or actions
- No way to unregister font collections
- Capabilities. Creating new fonts should have capabilies and not simply map to
edit_theme_options
- Confusing API structure. Collection should have embedded font objects
- What happens to fonts when collections are unregistered?
- If fonts are stored as post object, can I query to get all fonts from a collection?
- Are fonts deleted when the user is deleted?
- No way to filter where a font is stored
“With time very limited in this release, it feels like actioning the above, feel like it is going too hard to achieve in this release,” Harris said.
“I think this feature needs some more time to bake.”
Harris said none of the REST API maintainers were involved in the early stages of the Font Library feature and they are currently “playing catch up.” The team was attempting to patch the existing design, but Harris said if a redesign of the API is planned, he would like to understand the requirements for the feature before drawing up a design.
Punting a flagship feature is never an easy decision, but it’s far more preferable than shipping poorly designed API’s that don’t allow users to modify and disable the feature to fit their needs.
“No is temporary but yes is forever,” WordPress core committer Aaron Jorbin said. “Once the code is merged into core for release, it’s something that needs to be maintained for our extenders forever. To me, the concerns I see being raised about how people will extend the feature are enough to punt the feature.”
The Font Library feature was put forward late in the release cycle, landing in Gutenberg 16.7 last week, with very little time for testing.
“Features have landed after beta 1 in the past,” WordPress core committer Jonathan Desrosiers said. “But my preference is to not land something with this much outstanding feedback. We’d be making last minute changes and merging for public release with very little actual testing. Sure, everyone here would test as best they can. But ‘in the wild’ WordPress testing is much different and always uncovers some strange use cases or issues that we can’t foresee.”
Contributors briefly considered delaying the release date to allow the feature more time but the consensus was for punting to 6.5, with the decision anchored in WordPress’ philosophy of “deadlines are not arbitrary.”
“Changing a scheduled release date to leave room for finalizing a feature—no matter its priority—should not be considered,” WordPress core committer Joe McGill said. “This would not be the first time that we really hoped to have a feature shipped in a release but delayed it to the next release. It seems to me that a lot of effort has gone into preparing this feature for release and the consensus is that folks need more time to get it into a state that is ready to ship in a major WordPress release, which I know is disappointing, but also speaks to the care and quality folks want to ensure we put into these releases. If it’s not ready, it’s not ready. Let’s delay it — meanwhile we are still getting valuable user feedback via the Gutenberg plugin, which is a good thing.”
WordPress 6.4 release lead Josepha Haden Chomphosy made the difficult decision to punt the feature based on contributor feedback. The removal of the Font Library does not affect other key features anticipated to land in the release. Jessica Lyschik, 6.4 default theme co-lead, confirmed the Font Library isn’t a requirement for Twenty Twenty-Four. The theme will ship with preselected fonts that get loaded from the theme assets, just like previous default themes.
WordPress 6.4 Beta 3 is scheduled for October 10, 2023. This will be the last scheduled beta before RC1.