Reliable Sync Protocol PR: Live Demo & Discussion for Collaborative Editing

On January 6th at 7PM UTC, a group gathered for a demo and discussion with Kevin Jahns, the author of Yjs, a popular framework for building collaborative applications. In this session, we went in depth on an in progress pull request that implements a reliable sync protocol for collaborative editing. We also all collaborated on a post live as a fun way to test limits! Thank you to all who joined and for Kevin for hosting. To follow future efforts in this space, please followย this dedicated GitHub issueย and/or join theย #feature-realtime-collaborationย slackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ย channel.

Recording

Notes

Notes are mainly powered by an AI note taker so please leave a comment if anything feels wildly off.

Overview

Kevin Jahns presented a demonstration on utilizing Yjs to enhance real-time editing capabilitiescapability Aย capabilityย is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on theirย role. For example, users who have the Author role usually have permission to edit their own posts (the โ€œedit_postsโ€ capability), but not permission to edit other usersโ€™ posts (the โ€œedit_others_postsโ€ capability). in WordPress, addressing existing challenges such as content synchronization and potential conflicts during simultaneous edits. He introduced features like automatic conflictconflict A conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved. resolution and a heartbeat APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. for near real-time updates, emphasizing that while the current implementation may not fully replicate the Google Docs experience, it significantly improves user trust and collaboration. Participants were encouraged to explore Yjs further and consider its applications in their projects.

Jahns discussed the technical obstacles in implementing collaborative editing, particularly the lack of WebSocket support across various PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher engines and the limitations of WebRTC, which requires multiple servers for reliable operation. He proposed using HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. requests for syncing while allowing WebRTC as an optional enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature.. Additionally, he highlighted issues with blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. validation errors and synchronization challenges with custom block types in the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ editor, suggesting the creation of a special editor binding for Yjs to improve synchronization. Security concerns regarding the WebRTC setup were also raised, with a focus on the need for role-based collaboration restrictions to prevent document manipulation.

The session also covered the storage and management of Yjs documents, with Jahns explaining that Yjs content is stored as comments in post content, facilitating straightforward revision creation. He acknowledged the challenges of managing real-time changes and the impact of Yjs documents on content size. Discussions included the limitations of WebRTC, particularly its reliance on costly TURN servers, and the need for ongoing testing to ensure the reliability of collaborative editing features. Jahns emphasized the importance of prioritizing collaborative editing to enhance the editorโ€™s evolution and received appreciation for his transparency and commitment to the Gutenberg project.

Real-Time Editing Demo with Yjs
Kevin Jahns presented a demo on real-time editing with Yjs, emphasizing its role in enhancing collaborative features in WordPress. He explained the limitations of the current WordPress editor regarding content synchronization and introduced new features like automatic conflict resolution and the heartbeat API for better real-time collaboration.

Collaborative Editing in WordPress
Kevin Jahns addressed the difficulties of enabling collaborative editing in WordPress, noting that WebSockets are not universally supported across PHP engines. He explained that while WebRTC could be used as a fallback, it is not reliable enough for all users. Instead, he proposed using HTTP requests for syncing, with WebRTC as a progressive enhancement for those who can utilize it.

Block Synchronization and Customization Challenges
Kevin Jahns addressed synchronization issues with block types (and ran into an error with block validation in the process!). He explained that while standard elements like text and images function properly, custom block types may encounter difficulties due to Gutenbergโ€™s design, which does not fully accommodate changes from multiple peers. Jahns emphasized the need for a special editor binding for Yjs to enhance synchronization.

Discussion on Signaling Server and Security Concerns
Kevin Jahns confirmed that Jorgeโ€™s signaling server implementation in WordPress remains unchanged. He raised security concerns regarding the WebRTC setup, highlighting that it permits document manipulation by anyone with read access. Jorge noted that to make the system production-ready, several security measures need to be implemented, particularly around user roles and collaboration.

Yjs Document Storage and Revision Management
Kevin Jahns responded to Frankโ€™s inquiry about the Yjs implementation and its impact on content revisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.. He detailed that Yjs documents are stored as comments within the post content, which facilitates the creation of revisions upon saving. Additionally, he mentioned that future comparisons of revisions could be made using Yjs documents, similar to a git diff, and that attribution for content creation is also supported.

Discussion on Yjs Document Implementation and Security Concerns
Kevin Jahns highlighted the downside of Yjs documents inflating content size but reassured that normal users wouldnโ€™t see the comments. Aaron Jorbin pointed out the security implications of allowing users to input unfiltered HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.. Kevin also mentioned the potential for filtering user visibility of Yjs comments and the need to track edits made by users, which currently lacks a backend solution.

WebRTC vs. WebSocket for Collaborative Editing in WordPress
Kevin Jahns explained that WebRTC is not a reliable option for collaborative editing in WordPress due to its dependency on multiple servers and potential blocking by companies. He suggested using HTTP requests as a baseline for collaboration, which provides a satisfactory experience for most users. For those needing more reliability, he mentioned the possibility of implementing WebSocket servers, which could also enhance security and authentication.

Discussion on WebRTC and TURN Servers
Kevin Jahns highlighted the overhead of WebRTC and the expense of hosting TURN servers, indicating that they are not a viable option for everyone. Jorge shared his thoughts about the reliability of TURN servers from providers like Google and Twilio. They noted that while STUN servers are affordable and public, TURN servers are costly and can lead to misuse.

Collaborative Editing and Yjs Integration
Kevin Jahns highlighted the challenges faced with collaborative editing in the current editor setup, particularly issues with image handling and the undo-redo functionality. He stressed the necessity of prioritizing collaborative editing and proposed using Yjs as a solution to enhance these features. Kevin also mentioned that recent updates to Gutenberg have caused disruptions, indicating a need for better testing and support.

Yjs Integration and Block Syncing Challenges
Kevin Jahns explained the process of syncing textual content through JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML., noting that changes in one block can overwrite changes in another. He acknowledged existing issues with tables and galleries, indicating that these would be addressed in future pull requests. Kevin also highlighted the importance of creating a robust integration with Yjs for better collaboration.

#gutenberg, #hallway-hangout, #phase-3

Summary, Dev Chat, December 18, 2024

This meeting was the final Dev Chat for 2024.

Startย of the meeting inย SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/, facilitated by @mikachan. ๐Ÿ”— Agenda post.

Announcements

Theย Nominations for 2025โ€™s Core Team Repsย are now open! Please nominate people in the comments of that post. Self-nominations are welcome. The deadline is January 31, 2025.

Also, GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 19.9 was released prior to the start of the meeting. See, Whatโ€™s new in Gutenberg 19.9?

Forthcoming releases

Nextย major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.: 6.8

The WordPress 6.8ย call for volunteersย closed on Dec 6. There will be more information about the release squad to follow soon based on these volunteers.

Next maintenance release: 6.7.2

There is currently no release date planned for WordPress 6.7.2. You can reviewย the next minor release milestone. The 6.7.2 milestone was scrubbed during the week and the Gutenberg board is scrubbed with only a few PRs that need to be merged.

Discussion

There were no discussion topics for this meeting.

Open Floor

@luminuu raised the following on the agenda post:

how much work would it be to allow pseudo-styles onย blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.ย style variations, for example on buttons? Talking about this issue:ย https://github.com/WordPress/gutenberg/issues/55359

@mikachan noted a similar issue being worked on for the stylebook: https://github.com/WordPress/gutenberg/issues/38277.

#6-8, #core, #dev-chat, #summary

Change of Coordinator title in Release Squads

For the past several years, WordPress has been using a consistent set of titles for release squad members. Going forward the Release Coordinator role will become Release Coordination as the latter easier to translate reliably and neutrally in languages with gendered nouns.

The โ€œโ€ฆ Leadโ€ roles will remain unchanged.

This change is a result of a discussion on ticketticket Created for both bug reports and feature development on the bug tracker. #62386 to explore adding missing release squad titles to WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. This will allow every release squad member to be celebrated accurately with their corresponding title on the credits page within the WordPress dashboard and through the WordPress.org Credits APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways..

Props @desrosj and @jeffpaul for reviewing this post.

#release

Whatโ€™s new in Gutenberg 19.9? (19 December)

โ€œWhatโ€™s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/โ€ posts (#gutenberg-new) appear on a biweekly basis after every Gutenberg release, and showcase the latest features and improvements.ย 

Interested in learning more? Hereโ€™s an overview of how you can keep up with news and events related to Gutenberg and the BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Editor.


Gutenberg 19.9 is out of the oven and ready to download.

The last release of 2024 introduces the Style Book to classic themes, a new Query Total block, a swathe of component library enhancements, and code quality improvements.

Table of contents

  1. Style Book in classic themes
  2. Introducing the Query Total block
  3. More Highlights
  4. Changelog
  5. First-time contributors
  6. Contributors

Style Book in classic themes

The Style Book now appears in supported classic themes under Appearance > Design > Styles in the adminadmin (and super admin) menu.ย 

Support is available for classic themes that either support editor styles via add_theme_support( 'editor-styles' ) or have a theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. file.ย 

The Style Book provides a comprehensive overview of your siteโ€™s colors, typography, and block styles in an organized layout. Each block example and style group is labeled, making it easy to preview and understand your themeโ€™s current design settings. Think of it as if your theme threw a party, and all the design elements showed up wearing name tags. ๐Ÿ˜€

For classic themes that support the Style Book, site patterns have been relocated to Appearance > Design > Patterns, consolidating all design-related functionality from the Site Editor into one place. Previously, patterns were listed under Appearance > Patterns.ย 

Testing is an important step for this feature before itโ€™s introduced to WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. If you have the time, please help identify potential issues, and suggest areas for improvement by logging your feedback on GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the โ€˜pull requestโ€™ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/. Testing instructions can be found on the original PR. Thank you!

Introducing the Query Total block

You know how many results are in your queries, but do your siteโ€™s readers? The new Query Total block is here to help.

When added within a Query LoopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop block, the Query Total block displays the number of results the query has returned, or, alternatively, the current range in a set of paginated results.

More Highlights

Gutenberg 19.9 introduces phpMyAdmin to wp-env as a launch option. phpMyAdmin will automatically connect to the running mysqlMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com database service, allowing you to inspect and manage the local WordPress database as you develop. (#67588).

Featured imageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. backgrounds in the Cover block now come with resolution controls so that you can change their sizes (#67273).ย 

Reset colors for blocks and global styles in the editor with a single click thanks to the inline reset button added to all color controls (#67116).

Looking to replace your Query blockโ€™s design? Query block patterns have been relocated from a modal to a dropdown. Itโ€™s still in the block toolbar, now under โ€œChange designโ€ (#66993).

You can now also set your siteโ€™s home page from within the Site Editor via the page actions menu (#65426). This is the equivalent of updating the Reading Settings in โ€œSettings > Readingโ€. Under โ€œPagesโ€ in the editor, find the page youโ€™d like to set as your homepage, click on the action menu, and select โ€˜Set as homepageโ€™.

Changelog

Enhancements

  • Feature: Addย navigation.isLoadingย state to core/router store. (67680)
  • Update the title, description, and order of Experiments page. (67762)
  • wp-env: Add phpMyAdmin support. (67588)

Components

  • Added enableAlpha prop to CustomGradientPicker and GradientPicker components. (66974)
  • BorderBoxControl: Reduce gap value when unlinked. (67049)
  • DateTime: Add default date/time to stories. (67678)
  • Deprecateย COLORS.white. (67649)
  • Disabled: Suppressย contentEditableย warning in story. (67679)
  • Document layout in Storybook. (67628)
  • DropdownMenu: Increase option height to 40px. (67435)
  • DuotonePicker: Simplify Button styles. (66641)
  • Menu: Throw when subcomponents are not rendered inside top level Menu. (67411)
  • Popover: Useย anchorย instead ofย anchorRefย in story. (67674)
  • Storybook: Remove unnecessary feature flags. (67576)
  • Storybook: Updateย ArgsTableย toย Controlsย in preview. (67582)
  • Storybook: Update control types fromย nullย toย undefined. (67581)
  • Storybook: Use manager-api instead of addons package. (67578)
  • Update @ariakit/reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org to 0.4.13. (65907)
  • Update @ariakit/react to 0.4.15 and @ariakit/test to 0.4.7. (67404)

Block Library

  • Cover Block: Image size option for featured image. (67273)
  • Feature: Allow Post Template block to get deeply nested within Query Block. (67657)
  • Image Block: Change how the Imageโ€™s overlay styles are applied. (67788)
  • Navigation: Enable all non-interactive formats. (67585)
  • Query block: Move patterns modal to dropdown on block toolbar. (66993)
  • Separator block: Allow divs to be used as separators. (67530)
  • New Block: Add Query Total block for displaying total query results or ranges. (67629)
  • Block Library: Update the relationship ofย No resultsย block toย ancestor. (48348)

DataViews

  • Add headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitorโ€™s opinion about your content and you/ your organizationโ€™s brand. It may also look different on different screen sizes. to the quick edit when bulk editing. (67390)
  • Data views: Expand configuration drop down on mobile. (67715)
  • Quick Edit: Add Template field. (66591)
  • Refactor actions to render modal outside of the menu. (67664)
  • Rendersย DataFormย component only when data has been fetched. (67694)
  • Unify layout configuration. (67477)
  • Update bulk header with actions. (67743)

Style Book

  • Add stylebook screen for classic themes. (66851)
  • Scroll to top at styles root. (67605)
  • Stylebook: Render overview colors in 4 columns. (67597)
  • Update style book headings to new design. (67546)

Post Editor

  • Inline Commenting: Added new sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. as extension of the canvas. (67347)
  • Inline Commenting: Re-order the comments in sidebar in which blocks are listed. (66927)
  • Inline commenting: UXUX User experience Enhancements for Comments. (67385)

Site Editor

  • Data Views: Add action for pages to set site homepage. (65426)
  • Sidebar: Update appearance of active items. (67318)
  • Style the selected template pattern. (65917)

Data Layer

  • Data: Expose โ€˜useSelectโ€™ warning to third-party consumers. (67735)
  • Data: Include more details when shallow equality fails in โ€˜useSelectโ€™. (67713)

Global Styles

  • Controls in grid should match between sidebar panel and editor. (67602)
  • Shadows: Improve design and a11yAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โ€œdirect accessโ€ (i.e. unassisted) and โ€œindirect accessโ€ meaning compatibility with a personโ€™s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) of remove button. (67705)

Block Editor

  • Prefer exact matches in Link Search results sorting. (67367)
  • Try direct drag (outside text editable). (67305)

Zoom Out

  • Keep only copy, duplicate and delete in the zoom out more block toolbar menu item. (67279)

Font Library

  • FontCollection: Update pagination controls. (67143)

Colors

  • Add reset button to color control. (67116)

Bug Fixes

  • Exclude Set instance methods from polyfills. (67230)
  • Preload: Fix settings fields order. (67450)
  • Scripts: Make React Fast Refresh work with multiple blocks. (64924)
  • WP Scripts: Update webpack dependencies related to styling. (67572)

Site Editor

  • Allow access to quick edit. (67469)
  • Edit Site: Fix sidebar template author navigation. (67382)
  • Fix Site editor navigation menuNavigation Menu A theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. items alignment visual regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5.. (67321)
  • Fix sidebar item animation regression. (67771)
  • Fix sidebar plugins. (67557)
  • Fix the templates route on mobile. (67547)
  • Fix: Fixed site-editor crashing when added front-page template and clicking more option. (67500)
  • Fix: Fixed styling tab not opening on themes without style variations on mobile & desktop. (67537)
  • Preload: Parse post ID from p (path). (67465)
  • Remove default page slug. (67673)
  • Router: Fix addition and removal of empty classnames. (67378)
  • Wrap each router area in โ€˜ErrorBoundaryโ€™. (64245)
  • useEditorTitle: Fix wrong request without ID. (67475)

Block Editor

  • Animateย useScaleCanvas()ย only when toggling zoomed out mode. (67481)
  • Drag and drop: Fix drop zones on block drag. (67317)
  • Drag and drop: Fix firefox compat logic. (67439)
  • Fix JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. error in the โ€˜useTabNavโ€™ hook. (67102)
  • FontFamilyControl: Restore margin bottom. (67424)
  • Inserter: Hide child blocks from the inserter when needed. (67734)
  • Inserter: Patterns: Remove loading indicator. (67072)
  • Inserter: Should receive focus on open. (67754)
  • Remove words count in the multi-selection inspector. (67624)
  • Storybook: Fixย BlockPatternsListย fixtures. (67672)
  • Drag and drop: Fix misplaced drop indicator. (67434)
  • Drag and drop: Fix scroll disorientation after drop. (67405)
  • Drag and drop: Restore moving animation. (67417)

Block Library

  • Align Submenu block and Nav Link block by including description and wrapping span. (67198)
  • CommentsPagination: Set font-size to inherit for pagination items. (67296)
  • Fix latest post block spacing issue. (66442)
  • Fix: Caption with Link in Wide-Width and Full-Width Images Appears on two lines. (67392)
  • Fix: Donโ€™t showย aria-labelย when its value is empty. (67381)
  • Navigation Block: Fix issue with double-clicking โ€œCreate a new menuโ€ causing duplicate menus. (67488)
  • Pullquote block having design issue when text-decoration is choosen strikethrough. (66707)
  • Remove inline-block display from image anchor in style.scss. (67368)
  • Search block: Add space between attributes when using โ€œButton onlyโ€ option. (61399)
  • Updated โ€˜Set featured imageโ€™ text in dropdown. (67775)

DataViews

  • Avoid double click handler on primary fields. (67393)
  • Better handling of missing onClickItem prop. (67402)
  • Fix filters lost when switching layouts. (67740)
  • Fix hidden List layout actions dropdown. (67778)
  • Fix reordering fields in list and grid layouts. (67777)
  • Fix: Duplicate template part refers to original name instead of duplicated name. (67329)
  • Preserve filters when switching layouts in templates dataviews. (67744)
  • QuickEdit: Prevent site-editor from crashing when slug is not an object. (67577)
  • Site Editor: Fix featured image not appearing in pages dataviews. (67562)

Components

  • CustomSelectControl: Update Value from Fresh State. (67733)
  • Fix the โ€˜ClipboardButtonโ€™ effect cleanup. (67399)
  • Navigation: Fix active item hover color. (67732)
  • Scrollable: Fix story by declaring field as readonly. (67683)
  • Storybook: Fix control types. (67646)
  • Storybook: Fix storybook blocks imports. (67684)
  • Storybook: Fix table markup in Design Language โ€“ Radius documentation. (67686)
  • Theme: Fix contrast in nested story. (67681)

Post Editor

  • Fix MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. boxes saving when theyโ€™re not present. (67254)
  • Fix hiding and showing of meta boxes. (67504)
  • Fix: Header layout spacing in Firefox. (67074)
  • Make sure Document Bar doesnโ€™t go missing. (67322)
  • Update pre-publish panel wording to accurately describe the review process. (67328)

Zoom Out

  • Fix for inserter. (67495)
  • Fix useZoomOut inserter behavior. (67591)
  • Fix zoom animation scrollbar. (67536)
  • UseScaleCanvas performance improvements. (67496)

Write mode

  • Fix color of disabled buttons in dark toolbar. (67348)
  • Fix synced pattern editing in write mode and refactor block editing mode to reducer. (67026)
  • Fix: Remove parent block selector while in Write mode. (67395)
  • Fix: Write Mode mode persists as enabled in widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. editor. (67587)

Global Styles

  • Edit site: Remove empty preview border and redirect to editor in global styles navigation. (67548)
  • Fix: Styles section does not moves stylebook to typography. (67423)
  • Global Styles Preview: Donโ€™t use iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the userโ€™s browser. component. (67682)

Style Book

  • Fix critical error when blocks are not registered. (67703)

Design Tools

  • Global Styles: Fix handling of booleans when stabilizing block supports. (67552)

Block bindings

  • Revert โ€œExtensibility: Make Block Bindings work withย editor.BlockEditย hookโ€. (67516)

Patterns

  • Site Editor: Fix the patterns route on mobile. (67467)

Focus Mode

  • Site Editor: Fix focus mode navigation. (67458)

List View

  • Fix List View not updating when switching editor modes. (67379)

Extensibility

  • Make Block Bindings work withย editor.BlockEditย hook. (67370)

Synced Patterns

  • Remove use ofย contentOnlyย block editing mode for synced patterns. (67364)

Widgets Editor

  • Block Bindings: Remove client core sources registration in widgets. (67349)

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think โ€œphone appโ€ or โ€œwebsiteโ€) can communicate with the data store (think โ€œdatabaseโ€ or โ€œfile systemโ€) https://developer.wordpress.org/rest-api/

  • Support search_columns argument in the user endpoint. (67330)

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โ€œdirect accessโ€ (i.e. unassisted) and โ€œindirect accessโ€ meaning compatibility with a personโ€™s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)

  • [Dataviews] Fix: Space does not triggers the media button on grid view. (67791)

Block Editor

  • BlockSwitcher: Refactor to use Button layout properly. (67502)
  • Remove one occurrence of incorrect usage of ItemGroup. (67427)

DataViews

  • [a11y] Fix: Media button on the page view grid does not have an accessible name. (67690)

Components

  • Fix incorrect usage of ItemGroup in the Image block filters panel. (67513)

Post Editor

  • Fix EntitiesSavedStates panel dialog props. (67351)

Performance

  • Fix re-renders caused byย getEntityRecordsPermissionsย afterย #67667. (67770)
  • Preload: Fix end-to-end test. (67497)
  • Site Editor: Pages: Preload template lookup. (66654)
  • [mini] Preload: Add post type. (67518)

Experiments

  • Moveย duplicateTemplatePartย action to theย @wordpress/fieldsย package. (65390)

Documentation

  • Button: Revise documentation. (66617)
  • Docs: Fix Playwright Page Object Model link. (67652)
  • Docs: Include the strategy for settingย enginesย for WordPress packages. (67727)
  • Docs: Remove invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. key projects links on the documentation. (67491)
  • Improve documentation for fields package. (67580)
  • Refineย getServerState()ย &ย getServerContext()ย documentation. (67499)
  • Storybook: Add WritingModeControl story. (67343)
  • Storybook: Add stories for AlignmentToolbar and AlignmentControl components. (67046)
  • Storybook: Add stories for HeadingLevelDropdown component. (67294)
  • Storybook: Revert โ€œPreview: ArgsTable => Controls (#67582)โ€. (67656)
  • Storybook: Support keyword search in Icon Library. (67442)
  • Switch Several Links to httpsHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. in Document Files. (67706)
  • Update README.md. (67711)
  • Update extending-the-query-loop-block.md. (67529)
  • Update global stylesheet docblocks withย custom-cssย parameter. (67716)
  • Updated old URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org in Documentation. (67446)

Code Quality

  • Convert lock unlock to generics. (66682)
  • CreateTemplatePartModal: Avoid identity warning in useSelect. (67786)
  • CreateTemplatePartModal: Replaceย ts-ignoreย withย ts-expect-error. (67709)
  • Fix misc type compilation errors in editor and block editor packages. (67410)
  • Fix: Invalid JSDoc for optional string parameter and return value. (67489)
  • Fix: Remove unused test code on tools panel. (67589)
  • Removed trailing space in โ€œColor randomizer โ€œ. (67457)
  • Update misc types and revert WPCompleter export from components. (67599)

Components

  • BoxControl: Deprecate 36px default size. (66704)
  • BoxControl: Passive deprecateย onMouseOver/onMouseOut. (67332)
  • BoxControl: Refactor and unify the different sides implementation. (67626)
  • CustomSelectControl: Deprecate 36px default size. (67441)
  • FormFileUpload: Deprecate 36px default size. (67438)
  • FormTokenField: Deprecate 36px default size. (67454)
  • NumberControl: Deprecate 36px default size. (66730)
  • RangeControl: Update the default marks styles to match the padding/margin control. (67611)
  • Removeย __unstableMotionContextย fromย @wordpress/components. (67623)
  • SlotFill: Remove explicit rerender from portal version. (67471)
  • Tabs: Overhaul unit tests. (66140)
  • ToolbarButton: Set size to โ€œcompactโ€. (67440)
  • UnitControl : Deprecate 36px default size. (66791)

Block Editor

  • Group โ€˜onRemoveโ€™ callback with other public APIs. (67551)
  • InspectorControlsSlot: Remove unused framer motion context forwarding. (67522)
  • LetteringSpacingControl: Deprecate 36px default size. (67429)
  • Reduce the โ€˜isZoomOutโ€™ selector calls in the block toolbar. (67594)
  • Remove โ€˜React.Childrenโ€™ legacy APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. in โ€˜Warningโ€™ component. (67675)
  • Replace remaining custom deep cloning with โ€˜structuredCloneโ€™. (67707)
  • Stabilizeย LinkControlย Component. (56384)

Site Editor

  • Remove .components-item-group selector in edit-site components[2]. (67575)
  • Site Editor Sidebar: Removeย hasGlobalStyleVariationsย condition for the Styles nav item. (67545)
  • Unify layout with posts dataviews. (67162)
  • Use path based routing instead of query args and site-editor.php routes. (67199)

Post Editor

  • Editor: Refactor โ€˜PostPublishPanelPostpublishโ€™ to function component. (67398)
  • Editor: Use hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. instead of HOC in โ€˜PostPublishButtonOrToggleโ€™. (67413)
  • Remove PostSlugCheck and PostSlug unused components. (67414)

DataViews

  • Create a single component for rendering the actions list. (67558)
  • Fix: Dataviews remove primary field concept from some classes. (67689)

Data Layer

  • TypeScript: Convert factory utils in data package to TS. (67667)

Shortcodes

  • Add types for shortcodeShortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. package. (67416)

Block bindings

  • Remove fallback forย context.postTypeย in post meta. (67345)

Block hooks

  • Navigation block: Remove more obsolete Block Hooks helpers. (67193)

Tools

  • PR template: Add before/after table. (62739)

Build Tooling

  • Build: Stop generating unused legacy scripts for core blocks. (65268)
  • CI: Skip native jobs. (67799)
  • DataViews build-wp: Donโ€™t bundle singleton WordPress packages. (67590)
  • DataViews build-wp: Donโ€™t bundle the date package. (67612)
  • Keycodes: Improve tree shaking by annotating exports as pure. (67615)
  • Upgrade TypeScript to 5.7 and fix types. (67461)
  • Combine the release steps to ensure that releases are tagged. (65591)

Testing

  • e2e-test-utils-playwright: Increase timeout of site-editor selector. (66672)

Security

npm Packages

  • Update npm dependencies to fix issues reported by audit. (67708)

Various

Extensibility

  • Add ability to show drop cap setting in paragraph block by default. (45994)
  • DataViews: Move template and pattern title fields. (67449)
  • DataViews: Updateย usePostFieldsย to accept postType. (67380)

PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party.

  • Only override REST server for older WP versions. (67779)

NUX

  • Welcome guide headline update. (67654)

Block Locking

  • Simplify description and option names in the Lock modal dialog. (67437)

First-time contributors

A colossal kudos to all the first-time contributors who submitted the following PRs:

Contributors

Finally, thanks to everyone who gave their time, code, reviews and ideas to Gutenberg 19.9:

@aaronrobertshawย @aferciaย @ajlendeย @akasunilย @AKSHAT2802ย @benazeer-benย @benniledlย @carolinanย @cbravobernalย @desrosjย @dhruvang21ย @dougwollisonย @ellatrixย @getdaveย @gigituxย @gzioloย @hbhalodiaย @himanshupathak95ย @Infinite-Nullย @jeryjย @jsnajdrย @juanfraย @louwie17ย @Mamadukaย @manzoorwanijkย @matiasbenedettoย @mcsfย @michalczaplinskiย @miminariย @mirkaย @ndiegoย @ntsekourasย @oandregalย @ockhamย @PARTHVATALIYAย @ramonjdย @SainathPoojaryย @SantosGuillamotย @sarthaknagoshe2002ย @snehapatil2001ย @Soeanย @Sukhendu2002ย @t-hamanoย @talldanย @tellthemachinesย @TylerB24890ย @tyxlaย @up1512001ย @vipul0425ย @yogeshbhutkarย @youknowriad

See you next year for Gutenberg 20.0! ๐ŸŽ‰

Thanks to @annezazu, @bernhard-reiter, @joen, @isabel_brison and @ndiego who helped with this release.

#block-editor, #core-editor, #gutenberg, #gutenberg-new

Summary, Dev Chat, December 11, 2024

Startย of the meeting inย SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/, facilitated by @mikachan. ๐Ÿ”— Agenda post.

Announcements

There were no announcements today, but @mikachan posted a reminder thatย WordCamp Asia 2025ย is looking for volunteers for Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/, especially to lead CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress./Core Editor/Core Performance tables. Please reach out toย @Jhimrossย if youโ€™d like to volunteer.

Forthcoming releases

Nextย major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.: 6.8

We are currently in theย WordPress 6.8 release cycle. Theย call for volunteers for the 6.8 release squadย closed on Dec 6 and the release squad will be put together soon based on these volunteers.

Next maintenance release: 6.7.2

There is currently no release date planned for WordPress 6.7.2. Review theย next minor release milestone. @joemcgill agreed to follow up about another bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrub before the end of the year.

Nextย GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ย release: 19.9

The next Gutenberg release will be 19.9, scheduled for December 18. It will includeย the following issues.

Discussion

There were two topics for discussion today

Consent APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. Proposal

@joemcgill noted that weโ€™ve already gotten a lot of good feedback and asked @ironprogrammer how long we should leave the proposal open for comment.

@ironprogrammer:

โ€œGiven the coming holiday season, would it make sense to leave it open through the end of the year? The feedback has been really positive, but additional feedback from orgs/plugins working with consent would be valuable.โ€

@joemcgill:

If the consensus is that this should be a core feature, then ensuring the team who is going to shepherd this into a future release is properly supported would be key. Either way, I think there is value in considering the other question in the proposalโ€”which is whether this should become a canonical pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. that is officially supported by the community. I think we can follow up with @4thhubbardย about how we want to handle these kinds of requests as there really hasnโ€™t been an established policy that Iโ€™m aware of.

@mikachan:

Through the end of the year sounds fine to me. We can make sure we follow-up (including in dev chats) towards the start of next year

WordPress and Typescript

@mikachan:

We adopted TypeScript in WordPress more than 3 years ago and our usage has evolved over time. Itโ€™s time to update our approach/guidelines. @youknowriad hasย opened a discussionย to gather thoughts before publishing a P2P2 A free theme for WordPress, known for front-end posting, used by WordPress for development updates and project management. See our main development blog and other workgroup blogs..

Next steps are to continue collecting feedback and revisiting in a future Dev Chat, if needed.

Open Floor

  • @mamaduka asked for more eyes on #59425, which was recently reported in Gutenberg as well.
  • @jonsurrell shared this call for feedback on this PR for adding CSSCSS Cascading Style Sheets. selector-based tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) navigation to HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. and Tag Processors (#62653)
    • All feedback is welcome, but specifically, heโ€™s looking for high-level feedback, especially from WordPress veterans. Does the implementation feel appropriate for WordPress? Are there things that are discouraged in Core?
  • @joemcgill raised the need to prepare for nominations for Core Team Reps for 2025 and suggested publishing a call for nominations in the next week with the hopes of collecting responses in Jan and being able to do a transition by Feb. @mikachan and @joemcgill will take responsibility for following up on this.

Props to @mikachan for reviewing.

#6-8, #core, #dev-chat, #summary

Summary of the Developer Blog editorial meeting on 5 December 2024

Summary of the WordPress Developer Blogblog (versus network, site) meeting, which took place in the ย #core-dev-blog channel on the Make WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. Start of the meeting in Slack.

Attendees: @ndiego @areziaal, @webcommsat (async) @bcworkz (async) @milana_cap (async) @oglekler (async) and @bph (facilitator).

Last meeting notes: Summary of the Developer Blog editorial meeting on 7 November 2024



Updates on the site

Updates

Newly published posts since last meeting

Since the last meeting, we published the following articles

Huge Thank You to the writer and reviewers!ย Awesome work around!

Project status

The project board for Developer Blog content is on GitHub.

Closed, not planned.ย 

Not all good ideas come to fruition. Sometimes plans just donโ€™t work out.ย  After some conversation, the following issues/discussions were closed:ย 

In review

In progress

On the to-do-list, assigned to writers

We have approved topics that still require a writer:

If you know someone who could tackle any of those topics, please comment on the particular issue

New topics approved

There was no Open Floor discussion

  • Next Editorial Group meeting January 9th, 2025, at 13:00 UTC .
  • Next Async Snippet Approval meeting on January 22/23, 2025

Both happening in the #core-dev-blog channel

#dev-blog

#meeting, #summary

WordPress 6.7 Release Retrospective

Congratulations to all who helped make WordPress 6.7! Now that it has launched, youโ€™re invited to reflect and share your thoughts on the release process and squad to learn, iterate, and improve for future releases.ย 

Whether you led, contributed, tested, followed alongโ€”whatever your role, even if you didnโ€™t have oneโ€”you are welcome to participate in this retrospective. So please take a moment toย complete the formย or leave public feedback in the comments below.

Please note: the survey is not anonymous. Thatโ€™s in case a relevant person wants to reach you for further clarification. But your email address will not be shared publicly, and nobody is going to use it for any other purpose.

The form and comments will be open until January 13, 2025. Shortly thereafter, youโ€™ll see a follow-up post with collected, anonymized results.

Again, thank you for your contributions to 6.7 โ€œRollins,โ€ and for taking the time to help make future releases even better!


Props to @priethorย for the peer review

#6-7 #retrospective

#core, #release-process

Hallway Hangout: Performance End of Year Review 2024

Following up on the prior performance related Hallway Hangout: Performance End of Year Review 2023 in December, @flixos90ย @joemcgillย andย @clarkeemilyย co-hosted a hallway hangout to review the work and impact of the performance team in 2024, and look ahead to performance improvements in WordPress for 2025.

The Hallway Hangout took place at 2024-12-17 16:00 UTC and the Google Meet link was shared in theย #core-performanceย SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ย channel before starting.

At a high level, we went through:

  • Review of WordPress performance improvements throughout 2024
  • Breaking down CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Web Vitals metrics (November 2023 โ€“ November 2024) resulting in CWV passing rates increasing by 6.07% on mobile and 5.92% on desktop
  • WordPress 2024 releases overview (6.5, 6.6 and 6.7) were discussed individually
  • The impact of specific metrics for major features released in 2024 (Enhanced translations engine, Interactivity APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. and image sizes=auto)
  • A look ahead to 2025 plans

As a reminder, hallway hangouts are meant to be casual and collaborative so come prepared with a kind, curious mind along with any questions or items you want to discuss around this important area of the project, especially since the agenda is intentionally loose to allow for it.

Noting this specifically for folks who have expressed interest previously or who are involved directly in this work ccย @hellofromtonya @aristath @oandregal @annezazu @illuminea @tweetythierry @desrosj @youknowriad @dmsnell @pbearne @swissspidy @westonruter @adamsilverstein @mukesh27 @joemcgill @johnbillion @linsoftware @spacedmonkey

Recording

Attendees:

@pbearne @joemcgill @benniledl @flixos90 @mukesh27 @mhamal @clarkeemily @b1ink0 @nazmul111 @shyamgadde @kafleg @westonruter @swissspidy @adamsilverstein @annamackenzie

Notes

@flixos90 presented the WordPress Performance 2024 CWV Impact Retrospective slide deck, thank you very much for pulling that together Felix.

Please click the image above to view the slide deck

    TTFB Improvements

    @pbearne @flixos90 @joemcgill @westonruter and @adamsilverstein were discussing TTFB passing rates and why the rest of the web has higher rates than WordPress due to that metric. Discussions were held around filtering sites to the top 10k or 100k of sites to re-evaluate passing rates without the bottom end of sites that are not set up correctly. When WordPress is configured correctly, passing rates are much higher, so it was suggested that outreach in the ecosystem may be encouraged to facilitate better hosting environments. The new Core #core-performance-hosting channel will help facilitate these conversations.

    The team went on to discuss file caching and the potential to introduce a file caching API in core. It was agreed this would be a very large effort and would need contribution from multiple teams. We would need to revisit the original decision from WordPress to keep file caching in pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. territory as opposed to within Core. We would also need significant investigation into the large number of WordPress sites where static caching is not something their site can support.ย 

    Auto Sizes Metric

    The team discussed whether the auto-sizes metric in the slides was the top 70th percentile (it is).ย 

    Plans for 2025

    There are still some projects ongoing from 2024 to land, speculative loading now has a TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker.. Next steps on responsive image sizes improvements are in progress. The accurate image sizes work. The last piece of dominant colour is going in too!ย 

    Accurate Image sizes

    The project @joemcgill and @mukesh27 are focusing on will have significant releases this week, around having more detail on the layout of the page and how we can make more informed choices about accurate image sizes. This essentially takes the layout information of image blocks and cover blocks, but also the constraints of the container around it (group blocks) so we can put limits on the size we expect to show things at. The discussion continued around how we can accurately set image sizes in WordPress.ย 

    Optimization Detective

    @westonruter is continuing to work on the optimisation detective plugin which will include prioritisation of background images defined in external file sheets โ€“ this will dramatically improve LCP. In the new year he will be continuing to refine the foundation and use cases to hopefully get more adoption and propose for core. @flixos90 reminded the team that this is a great plugin example which improves how well other performance optimisations are applied. Itโ€™s important to improve what we already have in core, and this plugin helps that.

    Props to @joemcgill for proof reading and @flixos90 for the excellent presentation.

    #core-performance, #hallwayhangout, #performance

    Summary, Dev Chat, December 4, 2024

    Startย of the meeting inย SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/, facilitated by @mikachan. ๐Ÿ”— Agenda post.

    As mentioned at the top of todayโ€™s agenda, the weekly Dev Chat times have gone back to 20:00 UTC.

    Announcements

    The WordPress 6.8 call for volunteers is open until December 6. You can find out more and volunteer for any of the rolesย here.

    Also, GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 19.8 was released earlier todayย ๐ŸŽ‰. Whatโ€™s new in Gutenberg 19.8?

    Forthcoming releases

    There is aย proposal open for the 2025 major releases. The date for feedback has now passed, but comments will remain open until the official announcement is made. @priethor is waiting forย the 6.8 call for volunteersย to end before publishing anย announcementย with the 6.8 calendar.

    Nextย major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.: 6.8

    We are currently in theย WordPress 6.8 release cycle. You can review theย next major release milestone.
    Theย call for volunteers for the 6.8 release squadย is open until Dec 6. The most pressing needs are still for Editor Tech Lead and Documentation.

    Next maintenance release: 6.7.2

    There is currently no release date planned for WordPress 6.7.2. You can review theย next minor release milestone. @desrosj suggested that mid to late January is a good ballpark at the moment, as there are no urgent issues after 6.7.1.

    Nextย Gutenbergย release: 19.8

    Gutenberg 19.8 was released prior to this meeting. See, Whatโ€™s new in Gutenberg 19.8?, for details.

    Discussion

    @azaozz expressed his hope that every Gutenberg release can be merged to coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. during alpha. Would probably reduce the final pressure during betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. and RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta)..

    @joemcgill agreed, stating, โ€œIt is currently not ideal that nightly WordPress releases arenโ€™t really available to test features that are ready until after the first sync of the cycleโ€.

    @priethor asked, โ€œWhatโ€™s preventing us from doing that from the core side?โ€

    Consensus from those in attendance was that there wasnโ€™t any specific blockers to doing this, so it may be worth giving this a try in 6.8 once a release squad is identified.

    @mikachan asked if we could automate a lot of the process, perhaps open a wordpress-develop PR from a GH action when a new Gutenberg release is out, and then the majority of the work would be testing and committing.

    @johnbillion identified a couple of tickets on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. for automationย that could use help moving forward: #60967 and #60966.

    Open Floor

    @annezazu shared the following update prior to the meeting:

    It would be awesome to have more contributors working onย exposing the Font Library for classic themes, especially as work continues aroundย adding a stylebook screen for classic themes. In this way, we can work towards landing a cohesive โ€œDesignโ€ section for classic themes complete with patterns, Style Book, and the Font Library.

    @ironprogrammer shared an updated proposal to reconsider adopting the WP Consent API.

    Props to @mikachan for reviewing.

    #6-8, #core, #dev-chat, #summary

    Whatโ€™s new in Gutenberg 19.8? (04 December)

    โ€œWhatโ€™s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/โ€ฆโ€ posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Editor.



    Gutenberg 19.8. has been released and is available for download!

    The latest release of the Gutenberg pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. entails a myriad of user experience improvements for selecting section styles, image manipulation and font handling. The DataViews layouts also received important improvements.ย 

    Table of Contents

    Section styles selector in toolbarย 

    In zoom-out mode, users can now apply different sections styles and designs directly from the toolbar, cycling through them and inspecting them in the context of the rest of the page. This enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. streamlines the decision-making and production process. (#67140)

    Font family preview in dropdown

    Another user experience improvement can be found in the list of fonts: Each font family is now previewed in the font picker dropdown and gives users a better indication as to what the font will look like. (67118)

    The outcome of the Image manipulation methods are now better communicated in the blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor. The success notices are now displayed at the bottom of the editor. The notices also come with a handy Undo link to revert to the original if necessary. (67314)(67312)

    Other Notable Highlights

    DataViews improvements

    This release also contains some Data View improvements. For instance,ย  the table layout received density options: A user can modify the amount of whitespace that is displayed per row on three levels: comfortable, balanced and compact.ย  (67170)ย  Developers working with the Dataviews can now make use of a new APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. to programmaticallyย  register and unregister fields for the various display methods. (67175).ย 

    Block supports from experimental to stable.

    ๐Ÿ“ฃ Plugin authors and Theme builders might appreciate the stabilization of certain block support settings and functions. A separate make blogblog (versus network, site) post will explain the ins and outs. For now, you can read about it in two GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the โ€˜pull requestโ€™ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/ PRs:ย  (67018) (66918).

    Continue reading โ†’

    #gutenberg, #gutenberg-new