JSHint removed from CodeMirror in 4.9.3

CodeMirror was introduced to WordPress 4.9 for an improved code editing experience. For JavaScript linting, CodeMirror uses JSHint which unfortunately includes some code that isn't compatible with the GPL. Therefore, in WordPress 4.9.3, we are removing JSHint and replacing it with esprima and a custom wrapper to provide some basic linting for JavaScript. This allows the code editor to show compilation errors, but not errors in formatting. 

If your code relies upon JSHint from core, you should update that code to include a copy of JSHint.  Please note that as JSHint isn't currently GPL compatible, it can not be distributed in the WordPress Plugin Repository. 

For more info, please see #42850.

#4-9, #4-9-3, #codemirror, #dev-notes, #jshint

Auto-formatting of author bios reverted in 4.9.2

In WordPress 4.9.2 auto-formatting of author bios via get_the_author_description was removed after being introduced in WordPress 4.9.

Introducing auto-formatting broke a number of themes. Unfortunately, reverting it in 4.9.2 potentially breaks themes that had implemented a fix for this

For background, formatting was introduced in #40040 and reverted in #42578.

Maintaining auto-formatting

Theme authors wishing to maintain auto-formatting of author bios can add the following code to their theme's functions.php file.

add_filter( 'get_the_author_description', 'wptexturize' );
add_filter( 'get_the_author_description', 'convert_chars' );
add_filter( 'get_the_author_description', 'wpautop' );
add_filter( 'get_the_author_description', 'shortcode_unautop' );

#4-9, #4-9-2, #dev-notes

Dev Chat Summary: November 15th (4.9 week 16)

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

4.9 schedule + release timing

  • 4.9 release was delayed from yesterday (Tuesday, November 14th) to today (Wednesday, November 15th)
  • An updated 4.9 build went out earlier today, we still have to rebuild tinymce.min.js, but otherwise please test!
  • @afercia disagrees with patching last minute serious bugs without proper, broad, testing but deferred to decision by release leads
  • 4.9 release scheduled for later today (Wednesday, November 15th) at 3pm PST / 23:00 UTC
  • [Editor note: 4.9 released successfully! 🚀]
  • We’ll discuss post-4.9 / pre-5.0 plans later once we’ve had a chance to gather broader feedback on 4.9.
  • There is currently no timeline or plan for 4.9.x, but there are tickets currently slotted as 4.9.1 in Trac.

Meeting time changes

Gutenberg update

#4-9, #core, #dev-chat, #summary

Dev Chat Agenda for November 15th (4.9 week 16)

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

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, #agenda, #core, #dev-chat

WordPress 4.9 final nightly build

As noted in the 4.9 release delay post, a final nightly build is now available for testing. This includes three commits, so please take a look through those and test as you can (see #42548, #42530, and #42545).

We hope to ship WordPress 4.9 on Wednesday, November 15th (that’s tomorrow) at 23:00 UTC, but we still need your help to get there. If you haven’t tested 4.9 yet, now is the time!

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. We’d love to hear from you! If you’re comfortable writing a reproducible bug report, file one on WordPress Trac, where you can also find a list of known bugs.

We are almost there
But we still need help testing
So test, please and thanks!

Thanks for your continued help testing out the latest versions of WordPress.

#4-9

WordPress 4.9 release delayed by one day

The 4.9 release was due out today (November 14th), however issues with shortcodes within widgets (#42548) and changes to the Editor (#42530) occurred during release preparations. The new target release date is tomorrow (November 15th). It doesn't serve anybody well to delay things this late in the day, but it's essential to ensure the late fixes which have landed in the last few days are well tested.

We will do a release dry-run today at November 14th, 23:00 UTC23:00 UTC in #core after the code freeze, depending on the availability of the lead devs. An update will be posted that includes a link to a nightly build after the code freeze.

We've re-scheduled the 4.9 release to occur tomorrow at November 15th, 23:00 UTC / 23:00 UTC.

#4-9

Multisite Recap for the week of November 6th

Office Hours Recap

The agenda for this office hours meeting was open floor.

The meeting's chat log

Attendees: @florian-tiar, @spacedmonkey, @desrosj, @flixos90, @mikelking, @jeremyfelt

Chat Summary:

  • There was a loose discussion on the tickets that should be focused on at the beginning of the 5.0 cycle.
  • Caching in WP_Site_Query will be a big focus at first. Tickets #42252, #42280, #42251. There was a brief discussion on some approaches.
  • Implementing new install and update methods in #41333.
  • Using the meta API for network options in #37181.
  • The new multisite roadmap is getting there and should be ready to publish before WordCamp US.

Next meeting

The next office hours will take place on November 14th, 2017, 17:00 UTC. Its agenda will be:

  • Discuss adopting Trello as a way to manage status, progress, and ownership on tasks.
  • Progress on multisite roadmap with a target to publish an initial version before WCUS.
  • Any progress on 5.0 tickets.

#4-9, #multisite, #network-sites, #summary

Dev Chat Summary: November 8th (4.9 week 15)

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

4.9 schedule

  • 4.9 RC2 went out this week
  • 4.9 release scheduled for Tuesday, November 14th at 3pm PST / 23:00 UTC
  • Decision against adding any pointers in the admin interface, changes should be discoverable without them
  • @obenland to update the Credits API on Tuesday
  • @jbpaul17 to make updates to 4.9 codex page
  • @melchoyce to generate Press Kit including screenshots and videos

Meeting time changes

Gutenberg update

General announcements

  • @jdgrimes: looking for additional help, feedback, and decisions on #41593
    • I got started on this building a PHPCS sniff for the WordPress-Coding-Standards
    • The sniff would check all calls to functions that expect slashed data, and ensure that the data passed to them was actually slashed
    • I have a list of all the functions that expect slashed data, ticket is to get all of these documented
    • There may be some places where we need to decide whether we want to keep expecting slashed data or not

#4-9, #core, #dev-chat, #summary

Dev Chat Agenda for November 8th (4.9 week 15)

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

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, #agenda, #core, #dev-chat

Nav Menu Improvements in the Customizer in 4.9

In our usability tests with prior releases, we identified two common problems users encountered when trying to create a menu.

  1. Clicking the Add a Menu button in an attempt to add a page to their new menu.
  2. Forgetting to assign the menu to a location.

In WordPress 4.9, we’ve updated the Customizer’s menu creation flow to address these issues.

An Updated Menus Panel

The Menus panel layout and copy have been updated for clarity. The panel now shows menus first and locations second. This puts menus front and center and allows the panel to adjust more easily to specific scenarios. For example, when there are no menus, the panel asks users to create a menu and explains the steps to be taken.

Before After

Menu Creation

When the user clicks Create New Menu, the Customizer opens a dedicated menu creation section. Using a dedicated section allows us to guide the user through each step of menu creation. We start by inviting the user to provide a clear name for the menu and to select its new location. Once the menu is created, we guide them to add menu items and highlight the Add Items button if the user doesn’t find it after a short time.

Create a Menu for a Location

The locations section now allows the user to create a menu for a location that has not been assigned a menu. When the user clicks a location’s Create New Menu link, the Customizer opens the Menu Creation section with the location preselected.

Deprecated UI Classes

With the addition of a dedicated menu creation section, a number of classes are no longer used and are being deprecated.

The following PHP classes have been deprecated along with their files:

  • WP_Customize_New_Menu_Control in
    wp-includes/customize/class-wp-customize-new-menu-control.php
  • WP_Customize_New_Menu_Section in
    wp-includes/customize/class-wp-customize-new-menu-section.php

The following JS class has been deprecated (but not its containing file):

  • api.Menus.NewMenuControl in
    wp-admin/js/customize-nav-menus.js

Related Tickets

  • #40104 Customizer: Improve menu creation flow
  • #36279 Add an “add new menu” button to the menu locations section in the customizer
  • #42114 Customize Menus: UX Improvements
  • #42116 Customize Menus: Add “It doesn’t look like your site has any menus yet” view
  • #42357 NewMenuControl class has been removed from trunk

#4-9, #customizer, #dev-notes