What’s new in Gutenberg 13.9? (17 August)

“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 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.)) are posted following every Gutenberg release on a biweekly basis, discovering new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Full Site Editing project.


The Gutenberg 13.9 is now available in the WordPress 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 repository. It continues the iteration and polishing on various fronts, such as UIUI User interface, interaction, and engine work.

Almost 50 people contributed to this release and 4 of them are first-time contributors.

Table of contents

  • Changelog
  • Performance benchmark
  • Contributor props

Changelog

Enhancements

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. Library

  • Archives: Add a control to make block’s dropdown label invisible. (43025)
  • Media&Text: Add help to ImageSizeControl. (40642)
  • Navigation: Move overlay colors to the responsive wrapper. (42875)
  • Navigation: Extract navigation block utils. (42865)
  • Navigation: Fix link inheritance in overlay. (42929)
  • Post Author: Rendering htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. for the author description at the editor. (42109)
  • Post 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.: Add link target and rel attributes. (42853)
  • Post Title: Do not add rel attribute if empty. (42855)
  • Query Pagination: Correctly position the “next” link on the first page. (42764)
  • Query Title: Add a search title variation. (42662)
  • Quote: Unwrap on Backspace at start. (42808)
  • Search Block: Remove margins from the input. (42959)
  • Transforms: Add group unwrap. (42685)

Components

  • BaseControl: Add box-sizing reset. (42889)
  • BorderControl: Add box-sizing reset. (42754)
  • BoxControl: Export applyValueToSides util function. (42733)
  • ComboboxControl and FormTokenField: Enhance components with custom render callback for options. (42597)
  • ComboboxControl: Add support for uncontrolled mode. (42752)
  • Flex: Convert component to TypeScript. (42537)
  • FontSizePicker: Add 40px size variant. (42716)
  • List View Expander: Fix icon in RTL mode. (42997)
  • Placeholder: Convert component to TypeScript. (42990)
  • Popover: Rewrite Storybook examples using controls. (42903)
  • Popover: Tidy up code, add more comments. (42944)
  • ResizableBox: Change tooltip background to match other tooltips. (42800)
  • Storybook: Add global CSSCSS Cascading Style Sheets. switcher. (42747)
  • StyleProvider: Convert component to TypeScript. (42541)
  • Swatch: Convert component to TypeScript. (42162)
  • Tooltip (Experimental), CustomSelectControl, TimePicker: add missing font sizes which were necessary in non-WordPress contexts. (42844)
  • Typography Panel: Fix font appearance control width. (42795)
  • UnitControl: Update unit dropdown design. (42000)
  • Update control labels to the new uppercase styles. (42789)

Reusable Blocks

  • Make template part and reusable block creation language consistent. (43032)

CSS & Styling

  • Rename solid color. (42918)
  • Tab style subpixel fix. (42892)
  • Navigation: Try to keep :Where just for paddings. (42967)

Global Styles

  • Layout: Add a disable-layout-styles theme supports flag to opt out of all layout styles. (42544)
  • Enable alpha (opacity) in Global Styles color pickers. (43045)
  • Add block spacing to root block support UI. (42797)
  • Elements: Update the load order of the CSS in the Site Editor. (42863)
  • Heading element UI controls. (42176)
  • 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.: Add a static $blocks_metadata data definition to the Gutenberg instance of WP_Theme_JSON. (42776)
  • Upsize typography panel components. (42718)

Design Tools

  • Cover: Show Resize Tooltip on Drag. (23522)
  • Update color button style. (41838)
  • Add explicit bypass for fluid font size calculation. (42757)

Post Editor

  • Post Template: Update template title selector. (42091)

Site Editor

  • Add author nicename template creation ability. (42165)
  • Add fallback template content on creation. (42520)
  • Add a ‘View Site’ link in the site editor. (42331)
  • Update clear customizations copy for templates. (41765)

Widgets Editor

  • Format Library: Add missing keyboard shortcut description in customizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. 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.. (43044)

Block Editor

  • Rich text: Add character shortcuts for wrapping selection. (42469)

Block Directory

  • Modernize DownloadableBlockListItem tests. (43026)

Bug Fixes

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)

  • Fix issue where changing the id of the recursion provider can result in focus loss. (42916)
  • Site Editor: Don’t disable the Save button. (42842)

Components

  • Block Styles: Truncate long button labels. (42975)
  • ColorGradientControl: Fix awkward padding in popover. (43018)
  • ColorPicker: Fix layout overflow. (42992)
  • External link component: Add a check for on page anchor links. (42259)
  • Icons: Fix storybook library icon names. (43034)
  • InputControl: Fix acceptance of falsy values in controlled updates. (42484)
  • InputControl: Fix incorrect size prop passing to Text. (42793)
  • Popover: Anchor correctly to parent node when no explicit anchor is passed. (42971)
  • Popover: Fix arrow placement and design. (42874)
  • Popover: Improve 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. offset computation. (42417)
  • Popover: Make sure that ownerDocument is always defined. (42886)

Block Library

  • Disabled blocks passed to BlockTypesList are no longer draggable. (42751)
  • Fix drag and drop performance when dragging over the insertion point. (42806)
  • LatestPost: Fix issue with floated featured images overflowing focus style. (40663)
  • List v2: Fix Cmd+A. (42858)
  • Media&Text: Round position attribute on focal point save. (33915)
  • Navigation: Fix current-menu-item class logic. (42849)
  • Navigation: Fix 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. permissions warning by avoiding using trashed wp_navigation posts (JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. implementation). (42982)
  • Separator: Fix the block CSS classes in the editor. (42769)
  • Social Link: add missing ‘width’ and ‘height’ attributes. (41373)
  • Social: Include has-visible-labels on edit component. (42791)
  • Tag Cloud: Fix alignment issue when align center. (43017)
  • Writing flow: Fix Shift+Arrow partial selection for lists & quote. (42885)

CSS & Styling

  • Layout: Fix flex direction column. (42939)
  • Layout: Merge CSS rule for block gap. (43052)
  • Style Engine: Include 6.1 CSS filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output., ensure style engine can output CSS functions like clamp. (43004)
  • Style engine: Disable stylesheet optimization temporarily. (43051)
  • Style Engine: Defensive guarding for when style does not define ‘individual’ property. (43122)

Global Styles

  • Fix styles declarations returning before all properties output. (42954)
  • Fluid typography: Migrate fluid typography algorithm to JS for site editor. (42688)
  • Spacing presets: Prevent % spacing size units being stripped by sanitize_title. (43101)
  • Specify priority in remove_action. (43073)

Block Editor

  • Inserter: Avoid warning when CRA is displayed. (42723)
  • Pasting: Dismiss pasted image if file:// schema detected. (42785)
  • Prevent multiselection via dragging when already dragging blocks. (42877)
  • Quote: Fix raw transform handler. (43093)
  • Rich text: Fix error when attempting to remove placeholder on composition start. (42821)
  • Paste from 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/.: Interpret paragraph markup. (43114)

Post Editor

  • Decode the post URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org for the button label. (42930)

Site Editor

  • Internalization fixes for site editor template creation. (42762)
  • Fix error in compileStyleValue. (43116)

RichText

  • Firefox: Fix issue where it selects a nearby contentEditable. (42777)

Build Tooling

  • Fix: CSS files don’t build in dev mode on Windows. (42041)
  • Fix: Script name error in main package.json. (43089)

Testing

  • Fix: Just another end-to-end test. (42947)

CreateBlock

  • Remove i18ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill. references from save properties. (43035)

Accessibility

  • Shortcuts: Add Ctrl+Y for redo on Windows. (42627)
  • Change shortcut text for redo tooltip on Windows. (42830)

Performance

  • Lodash: Refactor away from _.isMatch(). (42271)
  • Lodash: Refactor away from _.zip(). (42926)
  • Lodash: Refactor away from _.delay(). (42966)
  • Lodash: Refactor away from _.startsWith(). (43019)
  • Lodash: Refactor away from _.isPlainObject(). (42508)
  • Lodash: Refactor away from _.maxBy(). (42914)
  • Lodash: Refactor Calendar block away from moment. (43029)
  • Lodash: Remove completely from @wordpress/dom package. (42912)
  • Lodash: Remove completely from @wordpress/element package. (42898)

Experiments

Style Engine

  • Enqueue block support styles. (42452) (42880)
  • Prettify combined selectors. (43003)
  • Prettify output. (42909)
  • Rename global function. (42719)
  • Combine style-engine stores for block-supports. (42970)
  • Add optimize flag and combine functions into wp_style_engine_get_stylesheet. (42878)

Documentation

  • Add examples for core/blocks actions. (42637)
  • Add examples for coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress./viewport package. (42921)
  • Added the allowedFormat details in richtext readme. (42426)
  • Adding @example entries to the public 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. exposed in core/blocks. (42745)
  • Cover: Fix rendered content PHPDocPHPDoc (docblock, inline docs) type. (43099)
  • Create Block: Update document links in templates. (42839)
  • Fix return type of home link attribute function. (42901)
  • Fix textual consistency about block attributes. (43075)
  • Link plugins GitHubGitHub GitHub is a website that offers online implementation of git repositories that can 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 be the repository owner. https://github.com/ release pages. (42736)
  • Document the cherry-picking automation. (42932)
  • Fixed broken external link to Mozilla Developer documentation. (43065)
  • Release Docs: Troubleshooting failed “Bump version” job. (42936)
  • Release docs: Update performance test instructions. (43015)
  • Remove the emoji characters to fix the handbook rendering. (43028)
  • Update broken internal link. (43094)
  • Update theme-json.md to include new element support and :Ref. (42412)
  • Gutenberg Data Tutorial: Adjust the image URLs and whitespace to render correctly in the Handbook. (42969)

Code Quality

  • Add mutations data and helper functions to useEntityRecord. (39595)
  • Remove old WordPress 5.8 code. (42818)

Block Library

  • Add separate callbacks for selecting a classic or 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. in the nav block. (43057)
  • Avoid reliance on status constants when consuming useCreateNavigationMenu hook. (42704)
  • Home Link: Use ‘sprintf’ in the render callback. (43024)
  • Nav block: Extract hook for inner blocks. (42743)
  • Nav block: Normalize to function expressions. (42744)
  • Normalize usage of Notifications in Nav block. (42706)
  • Remove duplicate speak calls from navigation block. (43079)
  • Site Title: Use home_url instead of get_bloginfo. (42857)
  • Page List: Fix indentation in PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher file. (42852)
  • 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.: Try filters with ToolsPanel. (42629)

Site Editor

  • Navigation Menu 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.: Remove unnecessary Fragment. (43021)

Style Engine

  • Tweak Declarations filtering logic slightly. (43215)
  • Minor tweaks. (43111)

Global Styles

  • useGlobalStylesOutput: Use memo for derived values. (42917)

Tools

Env

  • Use git for wp-env‘s default WordPress version. (42826)

Testing

  • Migrate deprecated node matcher tests to playwright. (42759)
  • Migrate group block tests to Playwright. (42801)
  • Migrate missing block tests to Playwright. (41680)
  • Migrate Convert Block Type test to Playwright. (42760)

Build Tooling

  • Lodash: Refactor away from _.flatMap(). (42360)
  • Standardize script naming in main package.json. (42368)

Performance Benchmark

The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.

Post Editor

VersionTime to the first blockKeyPress Event (typing)
Gutenberg 13.93.19s40.25ms
Gutenberg 13.83.21s36.88ms
WordPress 6.03.03s28.02ms

Site Editor

VersionTime to the first blockKeyPress Event (typing)
Gutenberg 13.93.81s26.64ms
Gutenberg 13.83.74s26.08ms
WordPress 6.02.95s20.01ms

Contributor Props

The following contributors merged PRs in this release:

@aaronrobertshaw @adamziel @andrewserong @aristath @carolinan @chad1008 @ciampo @derekblank @dougwollison @ellatrix @fellyph @geriux @getdave @glendaviesnz @hellofromtonya @ItsJonQ @jameskoster @jasmussen @jorgefilipecosta @JustinyAhin @kjohnson @Mamaduka @manzoorwanijk @matiasbenedetto @mcsf @merkys7 @mikachan @mirka @ndiego @noahtallen @ntsekouras @pavanpatil1 @pooja-muchandikar @ramonjd @ryanwelcher @SavPhill @scruffian @shimotmk @SiobhyB @Smit2808 @Soean @stokesman @t-hamano @talldan @tellthemachines @theminaldiwan @tyxla @walbo

The following PRs were merged by first time contributors:

  • @fellyph: Rendering html for the author description at the editor. (42109)
  • @merkys7: Fix social-link block missing ‘width’ and ‘height’ attributes. (41373)
  • @Smit2808: Added the allowedFormat details in richtext readme. (42426)
  • @theminaldiwan: Fixed alignment issue of tagcloud block when align center. (43017)

Kudos to all the contributors that helped with the release!

Props to @gziolo @priethor @andrewserong @joen @bernhard-reiter for the assistance with the release.

#gutenberg #gutenberg-new

Editor chat summary: 10 August, 2022

This post summarizes the weekly editor chat meeting (agenda here) held on Wednesday, August 11 2022, 04:00 PM GMT+1 in Slack. Moderated by @paaljoachim.

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/ 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 releases

Gutenberg 13.9 RC1 was released 11 August.
Thank you for @oandregal for handling the release.
This includes the following enhancements:

  • Style engine: Prettify combined selectors. (#43003)
  • Style engine: Prettify output. (#42909)
  • Style engine: Rename a global function. (#42719)
  • Shortcuts: Add Ctrl+Y for redo on Windows. (#42627)

Gutenberg 13.9 RC2 was released. This includes:

Gutenberg 13.8.2 patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. was released to fix the following:

Key project updates

Key project updates:

Task Coordination

@mamaduka

@geriux

  • On the mobile-side we started with the ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Native upgrade effort.

@zieladam

Open Floor

Announcements, questions and discussions.

@mdxfr

Some points that need to be added in the roadmap IMHO, because those are systematic needs:

  1. About the 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. 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., i do not see the basic need “exclude current post from results” in the Query Loop Improvement V2 List.
  2. The Query Loop block should also be extended to become the Gutenberg Swiss knife, like the Clickly Query Builder, to cover more usages and add flexibility during content creation (also with WooCommerce). Otherwise we will enter in a tunnel to fine tune blocks by iteration, release after release… i can see some works are done in such area, but perhaps you can be more ambitious!
  3. About navigation, there is no sticky option on the roadmap ? another highly needed feature, for anyone building some websites with WP (yes there are third part plugins but this is needed by more than 80% of websites).
  4. Another “quick win feature” (i.e an every day project need) is Add a current-menu-ancestor class to navigation items (PR waiting for merge), but there were some discussions recently around this (cannot find the global related isuse) and @get_dave is following these. It is already in the roadmap but as normal priority. Should a nice addition to the 6.1 release (it is also a systematic need).

Replies from @ntsekouras and @paaljoachim

  1. Exclude current post from results” has been added to the overview issue.
  2. [Block Library – Query Loop]: Try filters with ToolsPanel has been merged. A feature request issue would be helpful to create for additional suggestions on how to improve this feature.
  3. Sticky option for the Navigation block has been added to this issue: Fixed Position Header and Footer Template Parts. (Title does not mention Sticky for the Navigation block. Making it more difficult to find.)
  4. No feedback.

@bph

Birgit shared this post.
Kick-off WordPress 6.1 release docs.

11 August Hallway Hangout: Editor Tech Lead role 101 was held. A video recording is available in the Hallway Hangout post.

@ndiego

@mamaduka and I have been running the weekly Editor Bug Scrubs for a few weeks and have run into countless old issues that are actually no longer issues in Gutenberg and/or CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress..  I am thinking about a concerted “marketing” effort to encourage the broader community to review any old Gutenberg issues that they may have created and check if they are still relevant. Sort of a “community cleanup” effort ahead of 6.1. Obviously not looking for a decision here, but just general thoughts if anyone has any. Wasn’t sure if something like this was tried before?

Reply from @paaljoachim

That sounds like a very good idea Nick!
Perhaps a make core post could be created as it would give additional focus on cleaning up the old issues.

To get more details go directly to the Open Floor discussions in the Core Editor Slack channel.

#core-editor, #core-editor-summary, #gutenberg, #meeting-notes, #summary

Proposal: Stop merging experimental APIs from Gutenberg to WordPress Core

This call for feedback will be open for the next four weeks until September 7th.

I propose a way of harmonizing the process of merging new APIs from 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/ 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 to the WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Right now, the two projects have very different policies, confusing contributors and sparking lively discussions on every major WordPress release. 

Today, experimental APIs are merged to Core and sometimes removed later

To date, 280 experimental APIs were merged from the Gutenberg plugin to WordPress Core. That’s problematic, and here’s why.

WordPress values backward compatibility. Upgrading to a new version should not break the plugins and themes, so WordPress public APIs these plugins and themes depend on are maintained across major versions. As the WordPress handbook states:

Historically, WordPress has been known for preserving backward compatibility across versions. 

The Gutenberg plugin values agility. It’s the safe space where new experiments are planted and grow into stable features without the same stability constraints. It is okay to ship a prototype, learn from it, and then start over again. New functions under active development often include the __experimental prefix in their name to indicate they may change at any point and shouldn’t be relied upon. Removing the obsolete code also makes the JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. bundle smaller and reduces the editor loading time. As the Gutenberg plugin handbook states:

Experimental and unstable APIs are temporary values exported from a module whose existence is either pending future revision or provides an immediate means to an end.

In the Gutenberg plugin, it’s fine to remove these experimental APIs. In WordPress, it’s not. Unfortunately, many have already been released with major WordPress versions.

Tomorrow, experimental APIs could be restricted to the Gutenberg plugin and never merged to Core

Let’s remove the experimental prefix before merging new APIs into WordPress Core.

This way:

  • Core can deliver the expected level of Backwards Compatibility
  • The Gutenberg plugin can retain the freedom to remove the experimental APIs as needed
  • The experimental APIs would get audits
  • It would make the release easier

What if a stable feature depends on an experimental feature?

Then it isn’t actually stable. Let’s stabilize the dependencies first.

What about the existing experimental APIs?

Most of those already merged to Core would get a stable alias. It would preserve BC and shouldn’t noticeably affect the bundle size. Some will need a different treatment; let’s discuss that case-by-case.

What if an existing experimental 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. already in Core needs to be removed?

Does it? If so, let’s consider that on a case-by-case basis. There are established Core practices like contacting plugin authors, writing make Core posts, preferring soft deprecations, and so on. I don’t expect to see many instances of this.

What if a future stable Gutenberg plugin API really needs to be removed after it’s released in Core?

Yes, it will happen. Let’s acknowledge and embrace it. Some good reasons were mentioned in the GitHub discussion, and the future will surprise us with many new ones. Again, let’s follow the established Core practices. For example, deprecated.php shows that removing a function body is sometimes okay as long as the name keeps working.

What are the downsides?

I can see three:

  • Some Gutenberg plugin features will get merged into the Core later that they currently would be. The total amount of the development work won’t change, but the merging timeline will. That could be a good thing. Using the Gutenberg plugin is the intended way of accessing the upcoming features early.
  • Refactoring Gutenberg plugin APIs will be difficult once they get shipped with Core. In reality, that’s already the case.
  • Risk: Surgically removing all the Gutenberg plugin work spanning multiple WordPress releases from pre-release merges may become too complex. It would halt the merges entirely. If this risk does materialize, the merge guidelines will need to be adjusted again.

If you see any other downsides, please speak out!

What alternatives have been considered?

  • Keep not acting on the problem.
  • Use the same Backwards Compatibility policy for both WordPress and the Gutenberg plugin – which would make both projects worse off.
  • Find a way to ship the experimental APIs with Core as “internal” and unavailable to plugin authors – which has been explored without a successful resolution.

Unfortunately, neither is viable, as explained in more detail in the GitHub discussion.

If this resonates with you, speak out before September 7th!

Policies don’t contribute to the Gutenberg plugin. People do. This proposal will only work if we, the contributors, believe it’s the right thing to do.

Please share your thoughts under this post or in the GitHub discussion – even if it’s just “I like it.” All opinions are welcome, especially if you are not convinced about this proposal.

This call for feedback will be open until September 7th.

Props to Birgit Pauli-Haack (@bph), Grzegorz Ziółkowski (@gziolo), and Hector Prieto (@priethor) for their help in putting this proposal together.

#editor #gutenberg #core #proposal

Standardize npm script naming in the Gutenberg project

This is an announcement to all contributors to 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/ project.

The Gutenberg project has a number of npm scripts defined in the main package.json used for development purposes or with Continues Integration. The naming was standardized to make understanding each script’s role easier and avoid confusion over conventions used when new scripts need to be added.

To standardize script naming, scriptlint tool was used to drive the process.

New start script

There were test and dev scripts originally defined. To complement that start script got added that acts as an alias for dev script.

Use namespace

Using namespaced script names improves readability and makes the intent more obvious. Namespaces are used to group related scripts, and a colon is used to separate namespaces.

Based on this rule, most of the scripts were renamed to use namespaces. Here are some examples:

  • lint-css to lint:css
  • test-e2e to test:e2e
  • changelog to other:changelog

Alphabetic order

Sorting script names alphabetically makes it easier to find a particular script. The pre* / post* 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. are exceptionally grouped by caller script:

{
  "lint:md:docs": "wp-scripts lint-md-docs",
  "prelint:php": "wp-env run composer \"install --no-interaction\"",
  "lint:php": "wp-env run composer run-script lint"
}

Unify parallel commands

The way of parallelizing commands was a mixture of connecting them with & and npm-run-all package, but scripts were unified to use npm-run-all as possible.

A list of new scripts can be found at this link.

For more info, see #19949 and #42368.

Props to @mkaz for the initial suggestion, to @gziolo, @zieladam, and @mamaduka for reviewing.

#gutenberg

What’s new in Gutenberg 13.8? (3 August)

“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 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.)) are posted following every Gutenberg release on a biweekly basis, discovering new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Full Site Editing project.


The Gutenberg 13.8 comes with Fluid Typography, 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) improvements, revamped Quote 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., and Template parts UXUX User experience enhancements. The release is also packed with 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. fixes and code quality improvements. All these thanks to a fantastic team of contributors, including two first-timers.

It’s now available in the WordPress 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 repository.

Table of contents

Fluid typography support

This new option allows themers to define text size that can scale and adapt to the screen’s real state available, so your content looks great on any screen.

Note: It’s a new feature, and the Gutenberg team would appreciate your feedback.

Revamped Quote block leveraging inner blocks

After the recent Gallery block improvements, it’s time to re-introduce the Quote block. Thanks to robust nested blocks 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., now you can shape the quotes to your heart’s content, which means that you can place any block inside the quotes 🎉 

Template part UX improvements

Template parts are essential for many themes; Gutenberg 13.8 introduces improvements for those who leverage variations and patterns to provide flexibility for their users.

The specific template part variations are now available in the block inserter, making it easy to 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.”, “Footer,” or “Newsletter Subscription” template parts to your site.

Speaking of easy, the new search component in the template parts replacement modal will help you find just the right pattern for the block.

Border controls for Image blocks

The Image block now supports the full range of border controls, including Color, Style, and Width. I’m curious to see what creative folks at the Museum of Block Art can accomplish after 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..

Accessibility enhancements

The Gutenberg team is always trying to make the Gutenberg plugin more accessible with each release, and 13.8 is no different. The release includes iterative accessibility enhancements, including improved and consistent labels and tooltips across the Editor(s), as well as more keyboard-friendly clickable elements in the “Add template” modal.

Other notable highlights

  • The Post Comments and Comments block are now consolidated into a single block – Comments.
  • Now it’s possible to exit container blocks like Group blocks using the `Enter` key on an empty paragraph.
  • The new settings under “Global Styles > Layout” allow users to override content dimensions defined by a theme, giving the users better control over the full-width content.

13.8.0

Enhancements

Block Library

  • Image: Add border block support for color, width, and style. (31366)
  • Merge Comments and Post Comments blocks. (41807)
  • Social Icon: Added WhatsApp icon to the Social Icon Block. (42137)
  • Template Part: Swap block action places. (42221)
  • Template Part: Add search to replacement modal. (42459)

General UIUI User interface

  • Equalize modal content padding. (42370)
  • Remove top margin on the first paragraph in a modal. (42369)

Components

  • BorderControl: Render border color/style dropdown as UnitControl prefix. (42212)
  • ColorPicker: Cleanly implement large size. (42002)
  • InputControl: Decrease large default padding if has prefix/suffix. (42166)
  • SelectControl: Add flag for larger default size. (42456)
  • ToggleGroupControl: Add size variants. (42008)
  • UnitControl: Update unit select’s focus styles. (42383)
  • CustomSelectControl: Use styles from SelectControl. (42460)
  • Dropdown: Add wrapper for custom padding. (42595)
  • InputControl: Add padding wrapper for prefix/suffix. (42378)
  • ScrollLock: Improve Storybook story for documentation view. (42344)
  • ColorPalette: Display checkered preview background when value is transparent. (42232)

Global Styles

  • Add layout content size controls to global styles. (42309)
  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. CSSCSS Cascading Style Sheets. support for root padding and align full blocks. (42085)
  • 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.: Add block support feature level selectors for blocks. (42087)
  • Theme.json: Add support forw heading / caption elements in theme.json schema. (42433)

Document Settings

  • Make ‘Move to trashTrash Trash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days.’ button full width. (42577)

Block Editor

  • Add setting to display rich text toolbar inline. (42399)
  • Add block variations for individual template parts. (42454)
  • Enable onEnter support for group block. (40724)

Site Editor

  • On template creation, don’t show search if not needed. (42357)

Icons

  • Add shuffle icon to library. (42193)

Nested / Inner Blocks

  • Quote: Use nested blocks. (25892)

Colors

  • Update color palette popover style. (41900)

Bug Fixes

Block Library

  • Button Block: Change text-decoration style to low specificity. (42545)
  • Cover Block: Prevent transform to Group block when 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. is set. (42638)
  • Cover block: Adding background-size and background-repeat properties to the block CSS. (42470)
  • Fix tab/focus order issue in Media & text block. (40806)
  • Page List: Fetch items with ‘view’ context. (42559)
  • Post title: Fix single line paste. (42321)
  • Social Icons Block: Fix button opacity in template parts. (42641)
  • Group block: Add context to the word “Row”. (42255)
  • Post terms: Hide prefix and suffix placeholders in post terms. (42418)
  • [Media Text]: Fix deprecations 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.. (42816)

Components

  • AnglePickerControl: Fix gap between elements in RTL mode. (42534)
  • ColorPalette: Fix background image in RTL mode. (42510)
  • Context System: Don’t explicitly set undefined value to children. (42686)
  • MaybeCategoryPanel: Update categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. selector. (42663)
  • Popover: Fix width on expandOnMobile. (42635)
  • RangeControl: Clamp initialPosition between min and max values. (42571)
  • Tooltip: Avoid unnecessary re-renders of <select> child elements. (42483)
  • Tooltip: Fix positioning by anchoring to child element. (41268)
  • Fix condition bug on BoxControl. (42402)

Post Editor

  • Avoid 403 errors for users with low permissions. (42413)
  • Display post template selection for non-adminadmin (and super admin) users. (42705)
  • Fix typo in translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. string. (42673)

Block Editor

  • Prevent link control popover from going offscreen. (42389)
  • Writing flow: Fix caret movement for multiple lines. (42423)
  • Writing flow: Fix caret placement in corners. (42437)
  • Writing flow: Esc should enter Nav mode consistently, avoid focus loss when clearing selection. (42530)

Global Styles, CSS & Styling

  • Elements: Buttons: Fix the path with the css to style the cursor for all button elements. (42129)
  • Link elements: Add a :where selector to the :Not to lower specificity. (42669)
  • Element styles: Adding stylesheet to load in the editor. (42132)
  • Elements: Fix heading and caption element selectors. (42479)
  • Layout content size controls: Add left alignment to line up with description and other elements. (42576)
  • Layout: Ensure defaultEditorStyles are still output in Classic themes. (42906)
  • Theme JSON Resolver: Update cache check to also check that the object is an instance of the Gutenberg version. (42756)
  • Theme.json: Fix schema for button elements. (42431)

Widgets Editor

  • Add configuration option to skip autop on freeform blocks when parsing blocks. (42623)

Rich Text

  • Annotation API: Fix __experimentalGetPropsForEditableTreePreparation. (42596)

Site Editor

  • Fix typo in default category template’s description. (42586)
  • Fix Reakit warning on creation template component. (42392)
  • Remove leftover class. (42591)

Themes

  • Remove core/post-comments-form block styles that are overriding button element styles. (42053)

Icons

  • Icons Package: Fix line icons styling. (40315)

Accessibility

  • BorderControl: Update labelling, tooltips and wrap with fieldset and legend. (42348)
  • Add aria-hidden to query pagination arrows. (42583)
  • Fix labelling and semantics of the paragraph block Left to right control. (42324)
  • Fix mismatching label and visible text on the Toggle block inserter button. (42359)
  • Fix the description text of block movers for horizontal movement. (42393)
  • Replace clickable div elements with buttons in the Add template modal. (42668)

Experiments

Style Engine

  • Style Engine Rules & Store objects. (42222)
  • Add a WP_Style_Engine_Processor object. (42463)
  • Add elements to the frontend. (41732)
  • Allow removing CSS declarations from the WP_Style_Engine_CSS_Declarations object. (42428)
  • Style engine: Check item value validity. (42487)

List v2

  • Add forward delete. (42564)
  • Improve paste handling. (42524)
  • Merge with nested items. (42551)
  • Switch to default block type on Backspace from start. (42633)
  • Remove quote transforms as removed by Quote v2. (42700)

Global Styles

  • Block supports: Add fluid typography. (39529)
  • Layout: Reduce specificity of fallback blockGap styles. (42665)

Documentation

  • Add examples to core/blocks selectors. (42572)
  • Consolidate editor filters and actions. (42356)
  • Correct the documented return type for WP_Block_Parser::Render(). (42642)
  • Doc: Update getEntityRecord/s param description. (42488)
  • Docs: Add variations key to block.json JSON schema definition. (42539)
  • Docs: Add missing data module references. (42651)
  • Fix: Repetition of wrong word in string. (42621)
  • Flex: Remove experimental from documentation and storybook. (42301)
  • Include section on how to test code for a given WP major. (42390)
  • Marking internal action as @ignore to remove them from the documentation. (42163)
  • Theme JSON Docs: Clarify null, true, and false values for blockGap setting. (42447)
  • ToolsPanel: Add a readme section related to laying out a ToolsPanel. (42615)

Components

  • Improve documentation for the SpaceInput type. (42376)
  • BorderControl: Add missing changelog for accessibility enhancements. (42411)

Code Quality

  • Base Styles: Apply long-content-fade gradient from transparent to color. (42401)
  • Fix jsx-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) label-has-associated-control configuration. (42671)
  • Two code issues on navigation link edit missing text. (42440)
  • Remove deprecated eslint rules. (42654)

Style Engine

  • Rename WP_Style_Engine_CSS_Rule->set_declarations to add_declarations. (42464)
  • Update return PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher doc comment and other nitpicks. (42453)

Componentes

  • ComboboxControl: Refactor onKeyDown to use keyboardEvent.code. (42569)
  • Elevation: Convert component to TypeScript. (42302)
  • ScrollLock: Covert component to TypeScript. (42303)
  • Shortcut: Covert component to TypeScript. (42272)
  • Divider: Complete TypeScript migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. of component. (41991)
  • Lodash: Refactor a few components away from _.isEmpty(). (42468)
  • Lodash: Refactor away from _.compact(). (42438)
  • Lodash: Refactor PageAttributesParent away from _.deburr(). (42429)
  • Lodash: Refactor away from _.snakeCase(). (42427)
  • Lodash: Refactor away from _.fromPairs(). (42217)

Global Styles

  • Dimensions Global Styles: Split props into separate 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. to tidy up the panel component. (42620)

Block Library

  • Remove unnecessary ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Fragments. (42529)

Tools

Testing

  • Added unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. for cover block render function. (42108)
  • Migrate hooks api test to playwright. (42584)
  • Skip flaky navigation block permissions test. (42693)
  • end-to-end Tests: Tweak Comments block tests after migrating to Playwright. (42406)
  • Utilize WordPress PHPUnit Test Library Included By wp-env. (41852)

Build Tooling

  • Update to reflect change in Documentation label. (42395)
  • Add inline documentation on building API documentation to commit block API verify error message. (42432)
  • Scripts: Exit error code 1 when status value is null. (42396)
  • Env: Download WordPress PHPUnit Into Container. (41780)
  • Env: Restrict WP_TESTS_DOMAIN constant to just hostname and not home URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org. (41039)

Performance Benchmark

The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.

Post Editor

VersionTime to the first blockKeyPress Event (typing)
Gutenberg 13.83.87s57.86ms
Gutenberg 13.73.03s57.48ms
WordPress 6.03.46s52.23ms

Site Editor

VersionTime to the first blockKeyPress Event (typing)
Gutenberg 13.85.12s26.49ms
Gutenberg 13.74.5s25.72ms
WordPress 6.04.56s20.91ms

Contributor props

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @ajlende @amustaque97 @andrewserong @arcangelini @aristath @bph @carolinan @chad1008 @ciampo @danielbachhuber @DAreRodz @dcalhoun @ellatrix @fabiankaegy @geriux @getdave @gziolo @jameskoster @johnbillion @jorgefilipecosta @kkmuffme @Mamaduka @matiasbenedetto @mirka @ndiego @noisysocks @ntsekouras @oandregal @ObliviousHarmony @paulopmt1 @pedro-mendonca @pooja-muchandikar @ramonjd @ryanwelcher @scruffian @SiobhyB @sunil25393 @t-hamano @talldan @tellthemachines @tyxla @vcanales @walbo @westonruter @zaguiini

The following PRs were merged by first-time contributors:

Kudos to all the contributors that helped with the release! 👏

Props to @priethor for the assistance with the release, @critterverse and @jameskoster for the images and videos.

#gutenberg, #gutenberg-new

Editor chat summary: Wednesday, 03 August 2022

This post summarizes the latest weekly Editor meeting (agenda, slack transcript), held in the #core-editor 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, on Wednesday, August 03, 2022, 14:00 UTC.

General Updates

Gutenberg v13.8.0 stable version was tagged and released today.

Thanks to @mamaduka for tackling this release!

Async key project updates

Read the latest updates directly from the following tracking issues:

@jorgefilipecosta

  • On the styles and style engine projects created a PR ready that outputs the presets specific to a section. It is ready for reviewWith it a group 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. e.g: used in a pattern can have its own presets e.g: its own color palette its own gradients etc 
  • A PR with an identical mechanism for descendent block styles is also available at.
  • On the site editor and templates project, I created a PR that allow the user to create a generic template from the site editor and another that allows creating templates for specific authors.
  • On the building with patterns project, I have a PR ready that allows one to limit the usage of its pattern to specific post types.

Task Coordination

@zieladam

@paaljoachim

@siobhan

  • From the mobile side, we recently worked to match the web’s support for List v2
  • We have tentative plans to upgrade the ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Native version in the upcoming weeks/months

@annezazu

  • Working on a recap of the latest call for testing for the outreach program (and figuring out what the next one might look like).

Open Floor

@zieladam shared about way to update HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. markup from PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher

  • Could you use a better way of updating the HTML block markup from your PHP code? You’ll love this proposal of a canonical HTML-processing 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.:WP_HTML_Walker: Inject dynamic data to block HTML markup in PHP it can only move forward with your input! Please read, express your use-case and concerns, and review the code – it’s the only way to get it eventually merged.
  • The proposal will be shared via make post for better visibility and reach.

@wildworks

@sabernhardt

  • Suggested adding coordinate-with-gutenber to some tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets such as 56228 which involves editing both coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. files and the 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.

Note: Anyone reading this summary outside of the meeting, please drop a comment in the post summary, if you can/want to help with something.

Read complete transcript

#meeting-notes, #core-editor, #editor, #gutenberg, #core-editor-summary

Editor chat summary: 27 July 2022

This post summarizes the weekly editor chat meeting (agenda here) held on Wednesday, July 27 2022, 04:00 PM GMT+2 in Slack. Moderated by @andraganescu.

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/ 13.8

Gutenberg 13.8 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). was released today, release details here. Also see What’s new in Gutenberg 13.7? (20 July)

WordPress 6.1

The WordPress 6.1 Development Cycle page has been published with an updated timeline and release team and will be kept up to date to reflect any further changes to the release cycle. Check out the new WordPress 6.1 Planning Roundup v2 to stay in the 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. with the happenings around he next major WP release.

WordPress home and download redesign

Open Call For Comments on redesign and content of WordPress Homepage and Download page. @santanainniss chimed in to encourage everyone to share feedback of all kinds: “It’s a fast moving, fast evolving project so please weigh in!”.

It’s not every day that the home page is being revamped! The last one was in 2016!

Key project updates

The Navigation 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. is getting ready for major updates. @get_dave shared the project updates and also launched a call for help: “we’re actively looking for contributors. Happy to provide help/guidance to anyone who feels able to join us.”

Task Coordination

@mamaduka

@zieladam

@get_dave

@paaljoachim

  • worked on adjusting the Modal design
  • giving feedback to various issues.

@andraganescu

Open Floor

@mrwweb

Brought up a serious 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. present when using Firefox: Selecting Parent Block Selects Child Block in Firefox. Let’s have this on our radars and help land a fix.

@paaljoachim

Put a spotlight on the need for custom CSSCSS Cascading Style Sheets. in the block editor, a feature the CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. had and which now is lost. The issue needs a developer.

@get_dave

Highlighted  the discussion about adding a new @ syntax to 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. to be used to specify custom “states” in the UIUI User interface which don’t map to CSS pseudo selectors. Details were offered and the discussion is open on the issue.

Also, Dave offered a glimpse into the current evolution of the Navigation block’s default state.  If you are a developer of a Theme which uses Page List as a placeholder take note of the current update to respect uncontrolled inner blocks on Navigation block in editor and front of site. In the near future, we expect the block to automatically provide a list of Pages as a fallback so manually providing Page List in your block will not longer be necessary.

@skorasaurus

Will showcased the great advancements in adding theme.json support for toggling Width settings panel to the button block. There is a blockerblocker A bug which is so severe that it blocks a release. currently where the block_type_metadata filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. does not work with disabling the width attribute in the button block. Also a general review of the PR is also appreciated.

#core-editor, #core-editor-summary, #gutenberg, #meeting-notes, #summary

Giving FSE a More User Friendly Name

tl;dr: The terms “full site editing” and “full site editor” (also abbreviated as FSE) were developed to easily refer to a collection of features and now that those features are integrated into our daily WordPress experience, how can we best update the wording to be more user friendly?

Not sure the difference between 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/, full site editing, and other terms here? Check out this post for high level definitions.

What I know

Many years ago when we started referring to some of the work going into Gutenberg’s Customization phase (Phase 2) as “full site editing” it was meant to differentiate from the work that had come out of Phase 1. Phase 1’s work was focused on bringing blocks to posts and much of the page surrounding posts, but Phase 2 was meant to move those blocks to the rest of the site editing experience—hence “full site editing”.

There are some issues with the term “full site editing”, though.

  • It was already possible to edit every part of a WordPress site using code. The term “full site editing” differentiated between phases of a project, rather than a new capability in the CMS.
  • To us, “full site editing” implies the use of blocks, but for new users there’s no reason for them to expect anything else. The term isn’t descriptive of what makes it unique.

As we continue the move toward a full-featured, true WYSIWYGWhat You See Is What You Get What You See Is What You Get. Most commonly used in relation to editors, where changes made in edit mode reflect exactly as they will translate to the published page. experience for WordPressers of all skill levels, we should have a way to refer to it that is immediately meaningful for new users of our software, while also being an easy to reference term for all of us building and supporting the software.

What I see 

There are a few existing conversations around renaming Full Site Editing (both from a UIUI User interface/UXUX User experience perspective as well as a development perspective). From what I have seen in my reading, there are two primary contexts from a big picture perspective: Users & Visitors of WordPress; Contributors & Extenders of WordPress. That leads me to think we have two primary use cases for terms as well.

  • Users & Visitors of WordPress: I’ve heard a lot of people outside of the WordPress ecosystem simply referring to this as “the WordPress editor”. That seems mostly applicable to folks building with WordPress, selling on WordPress, or otherwise not creating the CMS itself.
  • Contributors & Extenders of WordPress: I have primarily seen references to “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” with the understanding that work toward Full Site Editing is a suite of tools from within the Block editor, a framework that originated in the Post Editor but is extending to all areas of WordPress like the Site Editor, hence most editing interfaces evolving into “the Block Editor”. This seems mostly applicable to folks working in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., on Themes/Plugins, and by extension, also Training, Design, and Documentation.

What other contexts do you think we need to be aware of as we look toward making this more user friendly?

What I need

As with any audacious journey, one of the things that will hinder our success is not knowing what stands in our way. I would love it if you’d share your thoughts on the following questions!

  1. We’ve referred to it this way for a long time. How can we tackle renaming this together?
  2. It’s in the codebase. How will we make sure people who aren’t regular contributors see this?
  3. And repeating the in-line question from above: What other contexts do you think we need to be aware of as we look toward how to refer to our collective work in the future?

#core-editor, #editor, #gutenberg