What’s new in Gutenberg? (11th December)

Gutenberg is back to a regular schedule after a great WCUS in Nashville which included many conversations and exchanges of ideas. If you missed it, checkout Matt’s State of the Word presentation for an overview of how the year has gone and what lies ahead for Gutenberg. (It also includes a demo of the plugin in action.) It was great to have new people helping at contributor day and submitting pull requests. Thanks!


This release introduces global reusable blocks as the main highlight, but there are also improvements to templates (ability to lock them down), versioning block attributes so markup can be migrated, and many extensibility additions as well as bug fixes.

1.9 🐆

  • Introducing reusable global blocks. (Stored in a wp_blocks post type.)
  • Add ability to lock down the editor when using templates so edits can happen but blocks can't be removed, moved, nor added.
  • Handle and upgrade deprecated blocks. This allows to migrate attributes without invalidating blocks and an important part of the block API.
  • Drag and drop upload support to gallery block.
  • Extensibility:
    • Expose packages/hooks public API under wp.hooks.
    • Introduces withFilters higher-order component to make component filtering easier.
    • Introduces getWrapperDisplayName helper function to make debugging React tree easier.
    • Introduces compose function to unify composing higher-order components.
    • Exposes hook for Block component.

Other changes

From 1.8.1

  • Add ability to switch published post back to draft.
  • Fix issue when changing column count in "text columns" block.
  • Prioritize common items in the autocomplete inserter.
  • Avoid changing publish/update button label when saving draft.
  • Add bottom padding to the editor container to improve experience of writing long posts.
  • Adjust the Classic block toolbar so it doesn't jump.
  • Colorize the little arrow on the left of the admin menu to white to match body content.
  • Update autocomplete suggestions colors to have a sufficient color contrast ratio.
  • Abort focus update when editor is not yet initialized.

#core-editor, #editor, #gutenberg

Dev Chat Agenda for December 6th (4.9.2 week 1)

This is the agenda for the weekly dev meeting on December 6, 2017 at 21:00 UTC / December 6, 2017 at 21:00 UTC:

  • 4.9 + 4.9.1 feedback
  • 4.9.2 ticket triage + timing
  • General announcements

If you have anything to propose to add to the agenda or specific items related to the above, please leave a comment below. See you there!

#4-9, #4-9-1, #4-9-2, #agenda, #core, #dev-chat

Dev Chat Summary: November 29th (4.9.1 week 2)

This post summarizes the dev chat meeting from November 29th (agenda, Slack archive).

4.9 feedback + 4.9.1 timing

WordPress 4.9.1 was released last week. It's a security and maintenance release for all versions since WordPress 3.7, users are strongly encouraged to update their sites immediately.

Notable bug fixes include:

  • Issues relating to the caching of theme template files.
  • A MediaElement JavaScript error preventing users of certain languages from being able to upload media files.
  • The inability to edit theme and plugin files on Windows based servers.

This post has more information about all of the issues fixed in 4.9.1 if you'd like to learn more.

Gutenberg usability testing + contributions

There are new usability tests for Gutenberg.

There was also a usability testing table for Gutenberg at WordCamp US this weekend, as well as a dedicated Gutenberg section at the Contributor day.

General announcements

@davefx: Looking for feedback on #42669.

JavaScript Chat Canceled for December 5th

Due to conflicting travel arrangements of some participants following this past weekend’s WordCamp US, we will be canceling the JavaScript Chat for this week. The next meeting will resume as regularly scheduled on Tuesday, December 12, 2017 at 14:00 UTC.

#javascript

WordPress PHP now (mostly) conforms to WordPress Coding Standards

For 12 long years, the WordPress Coding Standards have stood as a beacon of hope, a promise that code written for WordPress will be easily readable, recognisable, and portable. Sadly, WordPress’ own PHP hasn’t lived up to that promise.

Until now.

Weighing in at a respectable 105,650 lines added, 77,558 lines removed, with an 11MB diff, [42343] fixes 94.8% of the coding standards issues in WordPress’ PHP.

The 5.2%

The remaining 5% of coding standards issues require manual intervention, which means that we’re going to start accepting coding standards patches in the near future. Please hold off on creating tickets and submitting patches for now, while we figure out the best way to manage it.

Existing Patches

Unfortunately, this change means that most patches currently on Trac will no longer apply cleanly – they’re going to need updating. It’s going to take a bit of experimenting to figure out the most efficient way to handle this, if you’re interested in this problem, please go ahead and experiment!

The Wider Ecosystem

In the process of preparing for this, there were a lot of bugs fixed and features implemented in WPCS, as well as upstream in the PHPCS project – this not only benefits the WordPress ecosystem, but the wider PHP ecosystem. Special props to @jrf for driving the bulk of these changes, both in WPCS and PHPCS!

Dev Chat Agenda for November 29th (4.9.1 week 2)

This is the agenda for the weekly dev meeting on November 29, 2017 at 21:00 UTC / November 29, 2017 at 21:00 UTC:

  • 4.9 feedback + 4.9.1 timing
  • Gutenberg usability testing + contributions
  • General announcements

If you have anything to propose to add to the agenda or specific items related to the above, please leave a comment below. See you there!

#4-9, #4-9-1, #agenda, #core, #dev-chat

What’s new in Gutenberg? (28th November)

1.8 🐝

This release introduces several under the hood improvements to support more plugin opportunities — extending existing blocks, limiting blocks available, preventing a given meta-box from appearing in Gutenberg, etc — as well as allowing developers to specify templates, a list of predefined blocks. It also includes design iterations, mobile improvements, and initial work on a more rewarding publishing flow.

  • Introduce block-templates as a list of blocks specification. Allows a custom post type to define a pre-configured set of blocks to be render upon creation of a new item.
  • New tools menu design, preparing the way for more extensibility options.
  • Block API change: use simpler JS object notation for declaring attribute sources.
  • Add function to allow filtering allowed block types.
  • Show popovers full screen on mobile, improving several mobile interactions.
  • Began work on publishing flow improvements with an indication of publishing (or updating a published post) action by introducing a button state and label updates.
  • Made toolbar-by-block the default after different rounds of feedback and testing. Both options are still present.

Other changes


Example for how to provide a template in a CPT:

function register_book_type() {
	$args = array(
		'public' => true,
		'label'  => 'Books',
		'show_in_rest' => true,
		'template' => array(
			array( 'core/image' ),
			array( 'core/heading', array(
				'placeholder' => 'Author...',
			) ),
			array( 'core/paragraph', array(
				'placeholder' => 'Add book description...',
			) ),
		),
	);
	register_post_type( 'book', $args );
}
add_action( 'init', 'register_book_type' );

Coming to a WP-CLI near you

Soon you'll be able to quickly create a block using a command like wp scaffold block my-block --theme with WP-CLI. It'll setup a new block registration with the passed slug and theme (or plugin) as the namespace. This will all be added to the handbook.

#core-editor, #editor, #gutenberg

WordPress 4.9.1 beta

As mentioned earlier today, WordPress 4.9.1 has been scheduled for release tomorrow, November 29th, 20:00 UTC. Please have a read of that post for details of the fixes.

The beta package for 4.9.1 is now ready for testing. Please help us by testing this beta to ensure 4.9.1 fixes the reported issues and doesn’t introduce any new ones.

#4-9-1

WordPress 4.9.1 scheduled for November 29th

WordPress 4.9 has been downloaded over 6 million times since its release two weeks ago.

A small number of bugs have been identified which are impactful enough that the core team has decided to release 4.9.1 with fixes for those issues. The release is scheduled for tomorrow, November 29th, 20:00 UTC. A beta release will be packaged later today and made available for testing.

The issues that have been fixed are:

  • #42573: File caching affecting users’ ability to use the plugin and theme file editors.
  • #42574: MediaElement upgrade causing JS errors when certain languages are in use.
  • #42579: Incorrect logic in extract_from_markers().
  • #42454: Unable to translate Codex URL in theme editor.
  • #42609: Theme editor cannot edit files when running on a Windows server.
  • #42628: flatten_dirlist() doesn’t play nice with folders with numeric names.
  • #42634: DB_HOST socket paths with colons not parsed correctly.
  • #42641: On multisite upgrade the wp_blog_versions table doesn’t get updated
  • #42673: Themes page throws console error when there is only one installed theme.

In addition, one fix for a bug introduced in WordPress 4.7 will be included in 4.9.1:

  • #42242: lang attribute in the admin area doesn’t reflect a user’s language setting.

Stay tuned for the announcement of a beta package.

#4-9-1

X-post: Gutenberg Usability Testing at WordCamp US

X-post from +make.wordpress.org/test: Gutenberg Usability Testing at WordCamp US