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’ »

WordPress 4.6 RC2

The second release candidate for WordPress 4.6 is now available.

We’ve made over 30 changes since the first release candidate. RC means we think we’re done, but with millions of users and thousands of plugins and themes, it’s possible we’ve missed something. We hope to ship WordPress 4.6 on Tuesday, August 16, but we need your help to get there.

If you haven’t tested 4.6 yet, now is the time!

Think you’ve found a bug? Please post to the Alpha/Beta support forum. If any known issues come up, you’ll be able to find them here.

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

For more information about what’s new in version 4.6, check out the Beta 1, Beta 2, Beta 3, Beta 4, and RC 1 blog posts.

A few changes of note since the first release candidate:

  • Support for custom HTTP methods and proxy authentication has been restored.
  • Various fixes for the streamlined updates, including better failure messages and error handling, basic back-compat styling for custom update notifications, and additional and standardized JavaScript events.
  • Unnecessary reference parameters have been removed from new multisite functions.
  • A compatibility issue with PHP 7.0.9 (and PHP 7.1) has been fixed.

Developers, please test your plugins and themes against WordPress 4.6 and update your plugin’s Tested up to version in the readme to 4.6. If you find compatibility problems please be sure to post to the support forums so we can figure those out before the final release – we never want to break things.

Be sure to read the in-depth field guide, a post with all the developer-focused changes that take place under the hood.

Translators, strings are now frozen, including the About Page, so you are clear to translate! Help us translate WordPress into more than 100 languages!

Happy testing!

The verdict is in,
Can I haz all the features,
Your best WordPress yet.

?️‍?

WordPress 4.6 Release Candidate

The release candidate for WordPress 4.6 is now available.

We’ve made a few refinements since releasing Beta 4 a week ago. RC means we think we’re done, but with millions of users and thousands of plugins and themes, it’s possible we’ve missed something. We hope to ship WordPress 4.6 on Tuesday, August 16, but we need your help to get there.

If you haven’t tested 4.6 yet, now is the time!

Think you’ve found a bug? Please post to the Alpha/Beta support forum. If any known issues come up, you’ll be able to find them here.

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

For more information about what’s new in version 4.6, check out the Beta 1Beta 2, Beta 3, and Beta 4 blog posts.

Developers, please test your plugins and themes against WordPress 4.6 and update your plugin’s Tested up to version in the readme to 4.6. If you find compatibility problems please be sure to post to the support forums so we can figure those out before the final release – we never want to break things.

Be sure to read the in-depth field guide, a post with all the developer-focused changes that take place under the hood.

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

Happy testing!

Der Sommer ist da,
Zeit für ein neues Release.
Bald ist es soweit.

WordPress 4.6 Beta 4

WordPress 4.6 Beta 4 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 just to play with the new version. To test WordPress 4.6, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip).

For more information on what’s new in 4.6, check out the Beta 1, Beta 2, and Beta 3 blog posts, along with in-depth field guides. This is the final planned beta of WordPress 4.6, with a release candidate scheduled for next week.

Some of the fixes in Beta 4 include:

  • Media: alt attributes are now always added to images inserted from URLs (#36735).
  • Object subtype handling has been removed from register_meta(). Details about this change are explained in a post for developers.
  • Resource hints are now limited to enqueued assets (#37385).
  • A regression with query alterations introduced by the new WP_Term_Query has been fixed (#37378).
  • The Ajax searches for installed and new plugins have been enhanced to fix several accessibility issues and to improve compatibility with older browsers. (#37233, #37373)
  • The media player MediaElement.js has been updated to 2.22.0 to fix YouTube video embeds (#37363).
  • The Import screen was overhauled, improving accessibility and making it much easier to install and run an importer (#35191).
  • Emoji support has been updated to include all of the latest Unicode 9 emoji characters (#37361). ???????
  • Various bug fixes. We’ve made more than 60 changes during the last week.

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. Or, if you’re comfortable writing a bug report, file one on the WordPress Trac. There, you can also find a list of known bugs and everything we’ve fixed.

Happy testing!

This is Beta 4,
The last before RC 1.
Please test all the things.