WordPress 5.1 RC2

The second release candidate for WordPress 5.1 is now available!

WordPress 5.1 will be released on Thursday, February 21, but we need your help to get there—if you haven’t tried 5.1 yet, now is the time!

There are two ways to test the WordPress 5.1 release candidate: try the WordPress Beta Tester plugin (you’ll want to select the “bleeding edge nightlies” option), or you can download the release candidate here (zip).

For details about what to expect in WordPress 5.1, please see the first release candidate post.

This release includes the final About page design. It also contains fixes for:

  • New WordPress installs not setting the database table prefix correctly (#46220).
  • A HTTP error occurring when opening browser developer tools (#46218).
  • The legacy media dialog having incorrect pagination link styling (#41858).
  • The comment form not appearing when clicking “Reply” on comments loaded via Ajax (#46260).

Plugin and Theme Developers

Please test your plugins and themes against WordPress 5.1 and update the Tested up to version in the readme to 5.1. If you find compatibility problems, please be sure to post to the support forums so we can figure those out before the final release.

The WordPress 5.1 Field Guide has also been published, which goes into the details of the major changes.

How to Help

Do you speak a language other than English? Help us translate WordPress into more than 100 languages!

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.


WordPress Five Point One:
It’s so slick, shiny, and new.
Lands in a few days!

WordPress 5.1 Release Candidate

The first release candidate for WordPress 5.1 is now available!

This is an important milestone, as the release date for WordPress 5.1 draws near. “Release Candidate” means that the new version is ready for release, but with millions of users and thousands of plugins and themes, it’s possible something was missed. WordPress 5.1 is scheduled to be released on Thursday, February 21, but we need your help to get there—if you haven’t tried 5.1 yet, now is the time!

There are two ways to test the WordPress 5.1 release candidate: try the WordPress Beta Tester plugin (you’ll want to select the “bleeding edge nightlies” option), or you can download the release candidate here (zip).

What’s in WordPress 5.1?

Inspired by Archie Bell & The Drells, WordPress’s theme for 2019 is to “tighten up”, and WordPress 5.1 focussed on exactly that.

With security and speed in mind, this release introduces WordPress’s first Site Health features. WordPress will start showing notices to administrators of sites that run long-outdated versions of PHP, which is the programming language that powers WordPress.

Furthermore, when installing new plugins, WordPress’s Site Health features will check whether a plugin requires a version of PHP incompatible with your site. If so, WordPress will prevent you from installing that plugin.

The new block editor has kept improving since its introduction in WordPress 5.0. Most significantly, WordPress 5.1 includes solid performance improvements within the editor. The editor should feel a little quicker to start, and typing should feel smoother. There are more features and performance improvements planned in upcoming WordPress releases, you can check them out in the Gutenberg plugin.

Plugin and Theme Developers

Please test your plugins and themes against WordPress 5.1 and update the Tested up to version in the readme to 5.1. If you find compatibility problems, please be sure to post to the support forums so we can figure those out before the final release.

The WordPress 5.1 Field Guide has also been published, which goes into the details of the major changes.

How to Help

Do you speak a language other than English? Help us translate WordPress into more than 100 languages! This release also marks the hard string freeze point of the 5.1 release schedule.

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.


This is my release
candidate. There are many
like it. This is mine.

..

WordPress 5.1 Beta 3

WordPress 5.1 Beta 3 is now available!

This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site to play with the new version.

There are two ways to test the WordPress 5.1 beta: try the WordPress Beta Testerplugin (you’ll want to select the “bleeding edge nightlies” option), or you can download the beta here (zip).

WordPress 5.1 is slated for release on February 21, and we need your help to get there!

Site Health Check

One of the features originally slated for WordPress 5.1—the PHP error protection handler—will target WordPress 5.2 instead. Some potential security issues were discovered in the implementation: rather than risk releasing insecure code, the team decided to pull it out of WordPress 5.1. The work in #46130 is showing good progress towards addressing the security concerns, if you’d like to follow development progress on this feature.

Additional Changes

A handful of smaller bugs have also been fixed in this release, including:

  • TinyMCE has been upgraded to version 4.9.2 (#46094).
  • The block editor has had a couple of bugs fixed (#46137).
  • A few differences in behaviour between the classic block and the classic editor have been fixed (#46062, #46071, #46085).
  • When adding rel attributes to links, ensure the value isn’t empty (#45352), and that it works as expected with customizer changesets (#45292).

Developer Notes

WordPress 5.1 has many changes aimed at polishing the developer experience. To keep you informed, we publish developers’ notes on the Make WordPress Core blog throughout the release cycle. Subscribe to the Make WordPress Core blog for updates over the coming weeks, detailing other changes in 5.1 that you should be aware of.

How to Help

Do you speak a language other than English? Help us translate WordPress into more than 100 languages! The beta 2 release also marks the soft string freeze point of the 5.1 release schedule.

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.


In just a few weeks
WordPress Five-One will be here.
Your testing helps us!

WordPress 5.1 Beta 2

WordPress 5.1 Beta 2 is now available!

This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site to play with the new version.

There are two ways to test the WordPress 5.1 beta: try the WordPress Beta Tester plugin (you’ll want to select the “bleeding edge nightlies” option), or you can download the beta here (zip).

WordPress 5.1 is slated for release on February 21, and we need your help to get there!

Over 110 tickets have been closed since beta 1, many of which are documentation and testing suite improvements. Here are the major changes and bug fixes:

  • Several refinements and bug fixes related to the Site Health project have been made.
  • The pre_render_block and render_block_data filters have been introduced allowing plugins to override block attribute values (#45451, dev note coming soon).
  • get_template_part() will now return a value indicating whether a template file was found and loaded (#40969).
  • A notice will now be triggered when developers incorrectly register REST API endpoints (related dev note).
  • Bulk editing posts will no longer unintentionally change a post’s post format (#44914)
  • Twemoji has been updated to the latest version, 11.2.0 (#45133).
  • A bug preventing the Custom Fields meta box from being enabled has been fixed (#46028).
  • The treatment of orderby values for post__in, post_parent__in, and post_name__in has been standardized (#38034).
  • When updating language packs, old language packs are now correctly deleted to avoid filling up disk space (#45468).

Developer Notes

WordPress 5.1 has many changes aimed at polishing the developer experience. To keep you informed, we publish developers notes on the Make WordPress Core blog throughout the release cycle. Subscribe to the Make WordPress Core blog for updates over the coming weeks, detailing other changes in 5.1 that you should be aware of.

How to Help

Do you speak a language other than English? Help us translate WordPress into more than 100 languages! The beta 2 release als marks the soft string freeze point of the 5.1 release schedule.

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.


Do you enjoy bugs?
I don’t. So, we fixed them all.
Well, not all. But close.

WordPress 5.1 Beta 1

WordPress 5.1 Beta 1 is now available!

This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site to play with the new version.

There are two ways to test the WordPress 5.1 beta: try the WordPress Beta Tester plugin (you’ll want to select the “bleeding edge nightlies” option), or you can download the beta here (zip).

WordPress 5.1 is slated for release on February 21, and we need your help to get there. Here are some of the big items to test so we can find as many bugs as possible in the coming weeks.

Site Health Check

Site Health Check is an ongoing project aimed at improving the stability and performance of the entire WordPress ecosystem. The first phase of this project is included in WordPress 5.1. For the first time, WordPress will catch and pause the problem code, so you can log in to your Dashboard and see what the problem is (#44458). Before, you’d have to FTP in to your files or get in touch with your host.

Additionally, in April 2019, WordPress’ will increase its minimum supported PHP version to 5.6. To help you check if you’re prepared for this change, WordPress 5.1 will show you a warning and help you upgrade your version of PHP, if necessary.

For Developers

  • The Cron system can now be more easily replaced with a custom cron handler (#32656).
  • When starting cron under PHP-FPM, the connection will return a response immediately, even for long running cron jobs (dev note).
  • WP_DEBUG_LOG can be set to a custom log location (#18391).
  • Introduced the wp_blogmeta table (#37923).
  • Added LIKE support to meta_key comparisons in WP_Meta_Query (#42409).

There have been over 360 tickets closed in WordPress 5.1, with numerous small bug fixes and improvements to help smooth your WordPress experience.

Keep your eyes on the Make WordPress Core blog for more developer notes (which are assigned the dev-notes tag) in the coming weeks detailing other changes in 5.1 that you should be aware of.

How to Help

Do you speak a language other than English? Help us translate WordPress into more than 100 languages!

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.


Miss my haiku?
I will have plenty for you
in the coming weeks.

WordPress 5.0 RC3

The third release candidate for WordPress 5.0 is now available!

WordPress 5.0 will be released on December 6, 2018. This is a big release and needs your help—if you haven’t tried 5.0 yet, now is the time!

To test WordPress 5.0, you can use the WordPress Beta Tester plugin or you can download the release candidate here (zip).

For details about what to expect in WordPress 5.0, please see the first release candidate post.

This release candidate includes a fix for some scripts not loading on subdirectory installs (#45469), and user locale settings not being loaded in the block editor (#45465). Twenty Nineteen has also had a couple of minor tweaks.

Plugin and Theme Developers

Please test your plugins and themes against WordPress 5.0 and update the Tested up to version in the readme to 5.0. If you find compatibility problems, please be sure to post to the support forums so we can figure those out before the final release. An in-depth field guide to developer-focused changes is coming soon on the core development blog. In the meantime, you can review the developer notes for 5.0.

How to Help

Do you speak a language other than English? Help us translate WordPress into more than 100 languages! 

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.


WordPress Five Point Oh
Is just a few days away!
Nearly party time!
🎉

WordPress 5.0 RC2

The second release candidate for WordPress 5.0 is now available!

This is an important milestone, as we near the release of WordPress 5.0. A final release date will be announced soon, based on feedback from this release candidate. Things are appearing very stable and we hope to announce a date soon. This is a big release and needs your help—if you haven’t tried 5.0 yet, now is the time! 

To test WordPress 5.0, you can use the WordPress Beta Tester plugin or you can download the release candidate here (zip).

For details about what to expect in WordPress 5.0, please see the previous release candidate post.

Significant changes

  • We stopped rendering AdminNotices compatibility component, as this previous attempt at backward compatibility was bringing in numerous incompatible banners and notices from plugins.
  • An update to the parser to better deal with malformed HTML that could cause a loop. We’re only aware of this in the wild being triggered once in the over a million posts made with Gutenberg, but it caused a loop so we wanted to fix for RC2.

Cosmetic and minor changes in RC2

  • Accessibility: Simplify sidebar tabs aria-labels.
  • Make the Image Link URL field readonly.
  • Internationalization: Merge similar text strings that differed only in capitalization.
  • CSS: Improve block preview styling.
  • CSS: Fix visual issues with Button block text wrap.
  • Fix getSelectedBlockClientId selector.
  • Fix Classic block not showing galleries on a grid.
  • Fix an issue where the block toolbar would cause an image to jump downwards when the wide or full alignments were activated.
  • Move editor specific styles from style.scss to editor.scss in Cover block.
  • Fix modals in Microsoft Edge browser.
  • Fix Microsoft IE11 focus loss after TinyMCE init. Add IE check.
  • Fix Microsoft IE11 input when mounting TinyMCE.
  • Change @package names to WordPress.

How to Help

Do you speak a language other than English? Help us translate WordPress into more than 100 languages! 

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.


RC bittersweet.
We welcome in Gutenberg,
Vale Gutenbeard.

Performance optimization in an HTTP/2 world

A revolution is currently going on in the underpinnings of the web. HTTP, the protocol your browser uses to connect to your site, has a new version: HTTP/2. This is not something that should concern the average user, but for web developers, it changes how we do performance optimization entirely. In this short article, I want to explain what performance optimization best practices you can do away with, and why.

What changed?

The most important thing you should know about the new HTTP/2 is that it no longer requires a new request for each file. This is the modification that makes our performance optimization guidelines change so drastically. In the HTTP1 / HTTP/1.1 world, it’d be faster to combine JS & CSS files and even images, so there would be fewer requests between browser and server. In the HTTP/2 world, this type of optimization is no longer needed and can even become counterproductive.

Let our SEO experts analyze and optimize your site: Get Yoast SEO Care! »

Yoast SEO Care$ 199 - Buy now » Info

Can I use this already?

The answer is, fairly simply: yes. If your site is running on HTTPS, then all major current browsers support HTTP/2. You or your hosting company might have to change your server configuration to make sure it supports HTTP/2, but that’s it. Some older browsers might not be able to use it, but your site would still work for them.

So I can use HTTP/2, but should I?

Yes, you should use HTTP/2! It’s a lot faster than old fashioned HTTP1, and when you set it up well, most of your visitors will benefit hugely.

Does HTTP/2 mean I don’t need a CDN?

Even with HTTP/2 you still need a CDN. A CDN delivers content a lot faster than your average server ever will, so your site would still benefit enormously from having one. Every proper CDN will already support HTTP/2.

Performance best practices that changed

The following performance best practices are no longer needed with HTTP/2 and should be done away with:

  • Concatenating CSS and JS files
    As reducing the number of requests is no longer an issue, there’s no reason to do this anymore.
  • Image spriting
    Image spriting is the practice of combining several small images into a larger image so as to reduce the number of requests. This is a cumbersome process with quite a bit of overhead, and HTTP/2 entirely removes the need for it.
  • Domain sharding
    Though this was slightly less common, some heavy sites used multiple CDN domains to serve their files. This because a browser could only open eight parallel connections to a server in the world of HTTP/1 and they’d want to serve more files in parallel. Because HTTP/2 removes the need for parallel connections as there can be parallel downloads within one connection, this best practice becomes counterproductive. The use of multiple CDN domains actually means multiple DNS requests, which slows the site down instead of speeding it up. (Steve Souders, the godfather of web performance, already predicted in 2013 that when HTTP/2 becomes ubiquitous, domain sharding will go away.)
  • Inlining CSS and JS
    Inlining small bits of CSS and JS is a practice that was aggressively pushed by Google. Because the CSS and JS are inline, it cannot be cached properly. As a request for a small file now has no extra overhead, we can do away with this best practice.

Google PageSpeed and HTTP/2

Unfortunately, Google’s PageSpeed tool and many other web performance testing tools are rather slow in their adoption of HTTP/2. They should be changing their guidelines. If a simple HTTP/2 test shows you that a site is capable of using HTTP/2, quite a few of the site speed suggestions are moot. Their documentation speaks of “networking round trips” that simply, in an HTTP/2 environment, don’t happen.

There are people at Google that understand this, of course. This presentation by Ilya Gregorik in 2015 already shows all of that.

Read more: ‘Site speed: tools and suggestions’ »

Moving Toward SSL

We’re at a turning point: 2017 is going to be the year that we’re going to see features in WordPress which require hosts to have HTTPS available. Just as JavaScript is a near necessity for smoother user experiences and more modern PHP versions are critical for performance, SSL .

SSL basically means the link between your browser and the server is encrypted. SSL used to be difficult to implement, and often expensive or slow. Modern browsers, and the incredible success of projects like Let’s Encrypt have made getting a certificate to secure your site fast, free, and something we think every host should support by default, especially in a post-Snowden era. Google also weighs SSL as a search engine ranking factor and will begin flagging unencrypted sites in Chrome.

First, early in 2017, we will only promote hosting partners that provide a SSL certificate by default in their accounts. Later we will begin to assess which features, such as API authentication, would benefit the most from SSL and make them only enabled when SSL is there.

Separately, I also think the performance improvements in PHP7 are particularly impressive, and major kudos to everyone who worked on that. We will consider whether hosts use PHP7 by default for new accounts next year as well.

 

Why every developer should read Plato

At WordCamp Milano, I gave a talk with the enticing title Why every developer should read Plato. The short answer to that question: to learn Socratic thinking. In this post, I will share some of my personal journeys as a philosopher in software development. In doing so, I will also introduce a few philosophical concepts that might help you level up your skills as a developer.

Why I chose philosophy

I never viewed myself as a technical person. As soon as I graduated from high school, I started studying Dutch language and literature. After one year I switched to Philosophy. I wanted to get to the bottom of things. Any “working” theory about something just wasn’t good enough for me. I wasn’t so much interested in actually arriving at conclusions and applying them somehow. Instead, I wanted to spend my time discovering more fundamental principles and truths that lay behind this big pile of “knowledge” they were throwing at us at the university.

Rationalism

When I say I want to spend my time discovering more fundamental principles, I am already taking a Platonic stance. Let’s start with noticing how discovery implies there’s already something in place to be discovered. It implies there is some objective or universal truth that exists independent of us. Any knowledge of it should, therefore, be present in us before our awareness or perception of it. We call this a priori knowledge.

We can use mathematical examples to demonstrate this. Given certain mathematical axioms, we know that the outcome of 1 + 6 is 7. Looking for another outcome of this equation in the wild would be somewhat pointless. By the nature of numbers and of addition as it is known to us, we know 1 + 6 = 7. We might investigate why or how this is the case. We might come up with mathematical proof to support this knowledge. But it makes little to no sense to look for possible falsifying evidence against this outcome.

Optimize your site for search & social media and keep it optimized with Yoast SEO Premium »

Yoast SEO for WordPress pluginBuy now » Info

Plato

Plato (together with Socrates and Aristotle) is considered to be the father of western philosophy. He is most famous for his writings about Socrates and his theory of forms. In his theory of forms, Plato assumes the existence of a realm of abstract forms, which contain the essential truth of all we see in the world around us. It is another way of saying we understand the world around us through abstractions.

For Plato, abstractions are more real than the things themselves. It’s true because the things themselves change through time, while their abstract forms are eternal. The abstract form of a chair as an object devised for sitting doesn’t lose its meaning while an actual chair burns in a fire. The important thing to remember here is that when inquiring anything in the world around us, we should focus on the abstractions, not the concretions.

Socrates

Socrates is the main character in Plato’s writing and one of the greatest philosophers who has ever lived. He is a master of inquiry by constantly acting as a midwife, helping to give birth to the ideas of his counterparts through dialogue and asking questions. You could say that Socrates quality is that he has mastered the art of asking questions. What makes him so good?

Socratic irony

Socrates’ success comes from his irony. He starts with a very straightforward and elegant assumption; I know that I know nothing. From this assumption, he automatically takes the seat of the student and puts his counterparts in the role of the teacher. He can neither accept nor reject any knowledge conveyed by his teachers as the truth because Socrates knows nothing! Thus, the only thing Socrates can do is inquire further into the thought of his counterparts.

Anamnesis

The discovery of truth is called anamnesis. How does this work if it’s not possible to know anything? According to Plato, we can access the abstract forms through our mind. However, we cannot own them. Here’s where Socrates comes in. Our own understanding of the truth can never be entirely true. We can always replace our conscious understanding of the truth with a “truer” version, but we can’t replace it with the truth itself.

The moment in which we realize a previously held understanding to be false is then the real discovery. In light of the truth and through Socratic inquiry of our thought process, we discover our beliefs to be false. We call this anamnesis. We can now replace our old understanding with a better, more fine-grained understanding or we remain without one.

Software development

The Socratic inquiry is a highly useful practice to use in software development, especially in architecting software and debugging. I was able to experience that myself for the first time in 2012 when I joined Innovation Factory for a web development internship. I had no prior knowledge of software development but was able to add value from the start by simply asking questions to my seniors.

In the beginning, I felt a bit ashamed for asking my colleague’s many questions. To me, it seemed like I was taking valuable time from my seniors. Like Socrates, I didn’t even know if what they explained to me made any sense at all since I was still such a blank page. But every time I asked another innocent question, my seniors responded enthusiastically. They were amazed by the fact that they also didn’t know how to explain the things they took for granted every day. It became a great learning experience for the both of us.

Pragmatic inquiry

As software developers, we are pragmatic. We fix things, we deliver. We do magic, but we need a use case to do it. Things need to be useful; otherwise, they become wasteful. How do we make sure Socratic inquiry remains useful? Yes, we do want better solutions by discovering better abstractions, but we don’t want to end up without a solution, and we definitely don’t want to get stuck in endless inquiry!

Well, aren’t we lucky? As developers, we always have a concrete problem to solve under real conditions. There are the programming languages, the frameworks and the tooling surrounding our applications. There’s the user story or the bug report, and finally, there’s a deadline or a velocity that we have committed to. These are the conditions within which we do our work. As long as we meet those conditions, we are free to inquire!

So, read Plato!

I hope I’ve convinced you now of the value of Socratic inquiry. If you want to learn more, why not learn from the master himself? Plato has written dozens of dialogues in which Socrates is the key figure. Even if you are not a philosopher, these dialogues are still lots of fun to read! They are often stories about five guys sitting in a bar discussing the meaning of beauty, justice, good and evil.

If you don’t want to learn from a book, you can learn in practice. Start pair programming! If there’s one practice in our craft today where you can learn Socratic inquiry, it’s pair programming. As a navigator, try to be ignorant. Simply ask the driver to explain why he is doing the things he’s doing. You’ll be surprised how much better the code will turn out to be!


Read more: ‘Documenting JavaScript in WordPress’ »