WordPress 4.9 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 just to play with the new version. To test WordPress 4.9, 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.9, check out the Beta 1 blog post. Since then, we’ve made 70 changes in Beta 2.

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.

Let’s test all of these:
code editing, theme switches,
widgets, scheduling.

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

WordPress 4.9 is slated for release on November 14, but we need your help to get there. We’ve been working on making it even easier to customize your site. Here are some of the bigger items to test and help us find as many bugs as possible in the coming weeks:

  • Drafting (#39896) and scheduling (#28721) of changes in the Customizer. Once you save or schedule a changeset, when any user comes into the Customizer the pending changes will be autoloaded. A button is provided to discard changes to restore the Customizer to the last published state. (This is a new “linear” mode for changesets, as opposed to “branching” mode which can be enabled by filter so that every time  user opens the Customizer a new blank changeset will be started.)
  • Addition of a frontend preview link to the Customizer to allow changes to be browsed on the frontend, even without a user being logged in (#39896).
  • Addition of autosave revisions in the Customizer (#39275).
  • A brand new theme browsing experience in the Customizer (#37661).
  • Gallery widget (#41914), following the media and image widgets introduced in 4.8.
  • Support for shortcodes in Text widgets (#10457).
  • Support for adding media to Text widgets (#40854).
  • Support for adding oEmbeds outside post content, including Text widgets (#34115).
  • Support for videos from providers other than YouTube and Vimeo in the Video widget (#42039)
  • Improve the flow for creating new menus in the Customizer (#40104).
  • Educated guess mapping of nav menus and widgets when switching themes (#39692).
  • Plugins: Introduce singular capabilities for activating and deactivating individual plugins (#38652).
  • Sandbox PHP file edits in both plugins and themes, without auto-deactivation when an error occurs; a PHP edit that introduces a fatal error is rolled back with an opportunity then for the user to fix the error and attempt to re-save. (#21622).
  • Addition of dirty state for widgets on the admin screen, indicating when a widget has been successfully saved and showing an “Are you sure?” dialog when attempting to leave without saving changes. (#23120, #41610)

As always, there have been exciting changes for developers to explore as well, such as:

  • CodeMirror editor added to theme/plugin editor, Custom CSS in Customizer, and Custom HTML widgets. Integration includes support for linters to catch errors before you attempt to save. Includes new APIs for plugins to instantiate editors. (#12423)
  • Introduction of an extensible code editor control for adding instances of CodeMirror to the Customizer. (#41897)
  • Addition of global notifications area (#35210), panel and section notifications (#38794), and a notification overlay that takes over the entire screen in the Customizer (#37727).
  • A date/time control in the Customizer (#42022).
  • Improve usability of Customize JS API (#42083, #37964, #36167).
  • Introduction of control templates for base controls (#30738).
  • Use WP_Term_Query when transforming tax queries (#37038).
  • Database: Add support for MySQL servers connecting to IPv6 hosts (#41722).
  • Emoji: Bring Twemoji compatibility to PHP (#35293). Test for any weirdness with emoji in RSS feeds or emails.
  • I18N: Introduce the Plural_Forms class (#41562).
  • Media: Upgrade MediaElement.js to 4.2.5-74e01a40 (#39686).
  • Media: Use max-width for default captions (#33981). We will want to make sure this doesn’t cause unexpected visual regressions in existing themes, default themes were all fine in testing.
  • Media: Reduce duplicated custom header crops in the Customizer (#21819).
  • Media: Store video creation date in meta (#35218). Please help test different kinds of videos.
  • Multisite: Introduce get_site_by() (#40180).
  • Multisite: Improve get_blog_details() by using get_site_by() (#40228).
  • Multisite: Improve initializing available roles when switch sites (#38645).
  • Multisite: Initialize a user’s roles correctly when setting them up for a different site (#36961).
  • REST API: Support registering complex data structures for settings and meta
  • REST API: Support for objects in schema validation and sanitization (#38583)
  • Role/Capability: Introduce capabilities dedicated to installing and updating language files (#39677).
  • Remove SWFUpload (#41752).
  • Users: Require a confirmation link in an email to be clicked when a user attempts to change their email address (#16470).
  • Core and the unit test suite is fully compatible with the upcoming release of PHP 7.2

If you want a more in-depth view of what major changes have made it into 4.9, check out posts tagged with 4.9 on the main development blog, or look at a list of everything that’s changed. There will be more developer notes to come, so keep an eye out for those as well.

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.

Happy testing!

Without your testing,
we might hurt the internet.
Please help us find bugs.🐛

Advanced Custom Fields, or ACF, is one of the most popular WordPress plugins to date. It makes it possible to turn WordPress into a full-blown, custom-made content management system. How? By providing an easy way to add and manage custom fields. To use the content analysis of Yoast SEO in these custom fields, you need a plugin: ACF Content Analysis for Yoast SEO. As of today, two existing ACF glue plugins will come together in one official plugin. Here, we’ll shine a light on the open source driven development of this new ACF plugin.

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

Yoast SEO for WordPress pluginBuy now » Info

Why use Advanced Custom Fields?

Like the name says, the Advanced Custom Fields plugin, built by Elliot Condon, makes it easier to add custom fields to any WordPress site. While custom fields may sound boring on their own, they are used to extend WordPress. What’s more, people use them to build tailored solutions to, often, complex problems. Developers love these and use custom fields to develop new and exciting products on top of WordPress. By using custom fields, you can turn WordPress into a professional CMS that accomplishes all your needs perfectly.

What does the ACF Content Analysis for Yoast SEO plugin do?

The ACF Content Analysis for Yoast SEO plugin makes it possible for Yoast SEO to work inside custom fields. By using this plugin, you can use the SEO and readability analysis features of Yoast SEO to check your writing and SEO score, even if they live in a complex custom field.

Marcus Forsberg built the original ACF Content Analysis for Yoast SEO plugin. We later forked it to build our own solution. However, both plugins had trouble keeping up with the developments. Some time ago, we started a collaborative effort to make one, well-maintained, official ACF plugin for Yoast SEO. Viktor Fröberg, Marcus Forsberg, Thomas Kräftner and the great team at Angry Creative, helped us to merge two different ACF glue plugins and redevelop these into ACF Content Analysis for Yoast SEO. The team will update this plugin on a regular basis and offer continued support for ACF.

Version 2.0 of the plugin, available as of today, is rewritten from the ground up. It supports ACF 4 and 5. It offers stellar performance and supports more custom fields than ever.

Building something better, together

This is a collaborative effort. It is high time to put a spotlight on some of the team members that made sure two incredible WordPress plugins can start working together seamlessly.

Thomas Kräftner, freelance web developer:

“When Yoast SEO 3.0 came out I had a problem: I had just finished a site for a client that relied heavily on the now removed server-side analysis of content. Of course, the client wasn’t happy that all the work he paid for was wasted.

So we sat down and talked. I explained to them that they wouldn’t be the only ones with that problem. Instead of letting people reinvent the wheel, again and again, we should better make one generic solution. I proposed that my client would only pay a part of my development cost. In exchange, we’d make a completely free and open source plugin. And guess what – they thought this was a great idea!

I then also contacted Yoast, and at WordCamp Europe 2016 we agreed that they would also join in and help me maintain and support that plugin. It was a busy year, so it took until WCEU17 and also bringing Angry Creative on board to finally get us where we are today: The release of a true community built plugin.”

Viktor Fröberg, web developer at Angry Creative:

“At Angry Creative, we mainly do WordPress and WooCommerce development. As such, we often bump into both generic problems and specific problems that we fix by doing plugins. We also try to fix WordPress / WooCommerce core issues, but doing plugins helps us get solutions out there sooner rather than later.

We try to talk to our clients about the importance of open source and why this is valuable for them. A lot of our clients’ problems are shared problems, and by contributing our solutions to the community, our clients get free development time from other developers in the long run as they help improve the plugin. This pooling of resources benefits everyone.

This ACF Yoast SEO integration plugin was just like that. It was born out of a common need that almost all of our clients had. We’ve maintained it, and our clients have benefited from it. With the help of the awesome Thomas Kräftner and the Yoast crew the plugin is now better than ever, and together we’ll continue to improve it so that users can build their next big thing using WordPress with ease.”

Omar Reiss, CTO at Yoast:

“A collaboration like this is very dear to our heart. We get an incredible number of requests to add support for other plugins. At Yoast, we prefer such integrations to be backed by the community. We do our best to make it easy for third-party plugin developers to integrate with Yoast SEO. Whenever users request an integration, we mostly reach out to third-party plugin maintainers and offer our help and assistance in integrating with Yoast SEO. This works out well in many cases.

In this case, Marcus, Thomas and the folks at Angry Creative all separately leveraged the opportunity to create an integration between ACF and Yoast SEO. We happily brought everyone together to work on one integration to rule them all, reviewed, endorsed and distributed by Yoast, developed by the community.”

Open source driven development

The new ACF Content Analysis for Yoast SEO plugin is a solid piece of open source driven development. Ten developers from Sweden, Austria, and The Netherlands identified problems with the current implementation and stepped up to fix it. Working together with a fantastic team from around Europe and a shared open source mindset has made it possible for them to deliver fabulous work.

Open source is at Yoast’s heart. We try help others reach for the stars while continually improving our work. Projects like the ACF Content Analysis for Yoast SEO plugin give us the opportunity to learn from others and to contribute to the ever-expanding WordPress universe.

Download the plugins and tell us what you think! Thanks for supporting our work.

Read more: ‘Why there’s only one model: the open source model’ »

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

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.

 

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

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.

?️‍?

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

WordPress 4.6 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 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 and Beta 2 blog posts, along with in-depth field guides on make/core. Some of the fixes in Beta 3 include:

  • Revisions: Autosaves can now be restored when revisions are disabled (#36262).
  • An improved handling of PHP’s memory limit which doesn’t lower the limit anymore (#32075).
  • TinyMCE has been updated to 4.4.0 (#37327).
  • HTTP API: Proxy settings weren’t honored by the new HTTP library. This has been fixed (#37107).
  • Improved handling of UTF-8 address headers for emails (#21659).
  • Various bug fixes. We’ve made more than 65 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!

Beta 3 is here,
The more testing, the better.
Gotta catch ‘em all!