In this episode, Adam and Aaron discuss evolving web security in the AI era, emphasizing proactive strategies, layered defenses, and the vital role of hosts in protecting websites against modern threats. Secure your online presence!
Category: Uncategorized
-

WordPress.org blog: Your Guide to WordCamp US 2026

August 16-19, 2026 | Phoenix Convention Center, Phoenix, ArizonaWordCamp US 2026 returns for another year, this time in Phoenix, Arizona, for four days, August 16 to 19. It comes at a moment of real energy for WordPress, as artificial intelligence reshapes everyday workflows, the business of building and maintaining sites is shifting, and new people keep discovering the platform every day. Four tracks address this moment, covering AI, Honing Your Skills, Technical WordPress, and Beginner WordPress. Between them, there is something for everyone, whether you lead an agency, freelance for local clients, write code for a living, or are building your very first site. Whatever draws you in, you will leave Phoenix better equipped and better connected than ever.
Phoenix itself rewards anyone who adds a day or two to their trip. The capital of Arizona sits in the Sonoran Desert and pairs a lively downtown with a rich arts and food scene. The Roosevelt Row arts district is known for its galleries, murals, and independent restaurants. It is also home to one of the largest art walks in the region. Nearby, Chase Field and the Footprint Center host professional baseball and live shows, and the surrounding desert offers striking scenery at places like Papago Park and the Desert Botanical Garden.
Start with Contributor Day
The week begins with Contributor Day, a full day set aside for giving back to the project that makes everything else possible. Attendees will gather in teams to improve WordPress itself, from Core code and documentation to design, training, accessibility, and translation.
WordPress is so unique because weâre not just a product; weâre a movement.
Matt Mullenweg, WordPress Cofounder
Contributor Day is open to everyone, whatever your skills, and whether or not you have ever contributed before. Come and experience the open source collaboration that is at the heart of the project. Signing up in advance helps us prepare our veteran contributors and provide you with the best experience.












Explore Real-World Projects on Showcase Day
Day 2, Showcase Day, is dedicated to real-world WordPress projects and focuses on how teams develop features, manage publishing, and run demanding sites at scale. It brings to life the kind of work collected in the WordPress Showcase, the directory of standout sites built on the platform, from global brands like Disney to community publishers and institutions like NASA. Past WordCamp US Showcase days have brought teams from the likes of Wikimedia and CANCOM to explain how they manage large, high-traffic systems. Other sessions took a builderâs perspective on catching bugs faster with automated testing and even running the Block Editor inside a custom app.

Dive Into Two Conference Days
The two main conference days will bring a full slate of sessions across four tracks. First among them is the AI track, which treats the technology as a tool to handle with care rather than a headline to chase. Its sessions set guardrails for AI-assisted development, prepare for a web where AI agents become the visitors a site must serve, and weigh the legal and ethical questions of putting AI tools in the hands of clients. Speakers from companies like Elementor will be taking a look at where the web is heading, while keeping the focus on what teams can adopt today without giving up control of their work.
The Technical WordPress and Honing Your Skills tracks cover the craft and business of building with WordPress. On the technical side, sessions dig into modern development workflows, automated testing with tools like the browser-based WordPress Playground, and plugin pipelines. The Honing Your Skills track adds practical guidance on pricing, maintenance, and how the agency model is changing as clients ask for more. The Beginner WordPress track keeps the door open for newcomers, with approachable sessions that make your first WordCamp less daunting. Hands-on work runs through all of these tracks, so alongside the talks, attendees will find workshops and working sessions where they can build something real and leave ready to apply it to their own projects.






Not all of the value happens in the session rooms. On the show floor, the Happiness Bar is a free, drop-in help desk where you can sit down with a volunteer WordPress expert and work through whatever has you stuck. The Sponsor Hall next door is where many of the best unplanned conversations happen, and its Career Corner gives anyone weighing their next move a relaxed place to browse the job board, meet company reps, and see who is hiring across the ecosystem.
Plan Your Trip to Phoenix
Getting to Phoenix is straightforward. The Phoenix Convention Center sits in the heart of downtown, less than five miles from Phoenix Sky Harbor International Airport (PHX) and about 15 minutes away on the Valley Metro light rail. WordCamp US has a room block at the Sheraton Phoenix Downtown, close to the convention center, so book your hotel before the block fills, and reserve your ticket if you have not already. The full event lineup and details live on the WordCamp US 2026 site, and the conference closes with an evening social before everyone heads home.
Help Us Spread the Word!
Whether attending in person or following along online, share your experience and help welcome others to the WordPress community. Use the #WCUS and #WordPress hashtags to tell your story on social.
-
Open Channels FM: Understanding Open Source Law and AI Impacts in Modern Software Development
In this Open Web Conversations episode, host Anne Bovelett chats with lawyer Carlo Piana about open source software’s legal challenges, AI’s impact on coding, and the importance of proper licensing and attribution.
-
Gutenberg Times: Gutenberg Changelog #132 â Proposals for Core, Calls for Testing, WordPress 7.1 and Gutenberg 23.4 and 23.5
In episode 132 of the Gutenberg Changelog podcast, host Birgit Pauli-Haack and guest Ellen Bauer explore the latest updates within the WordPress ecosystem. The conversation centers on the releases of Gutenberg 23.4 and 23.5, the recent WordPress 7.0.1 maintenance update, and the strategic roadmap for the upcoming WordPress 7.1.A significant portion of the episode is dedicated to major merge proposals destined for WordPress 7.1 that aim to evolve the core software.
These include âCore Abilitiesâ for AI agent integration, the new âKnowledgeâ post type for managing site standards and guidelines, and âDesign System Themingâ to enhance consistency and accessibility via CSS custom properties. The hosts also discuss the shift toward mandatory iframing for the post editor in block-based themes, a critical architectural change designed to improve content rendering.Beyond core architecture, the episode highlights user-focused improvements such as enhanced responsive editing controls, which now allow for granular canvas resizing without preset limits. They also touch on media-related updates, including aspect ratio controls in the media editor, and improvements to the Icon block.
With WordPress 7.1âs Beta 1 approaching, Birgit and Ellen emphasize the importance of community involvement, encouraging developers and site owners to participate in ongoing âCall for Testingâ efforts. Whether discussing React 19 status or new grid layout properties, the episode serves as a comprehensive briefing for anyone looking to stay current with the rapidly changing landscape of the block editor and WordPress core development.
- Editor: Sandy Reed
- Logo: Mark Uraine
- Production: Birgit Pauli-Haack
Show Notes
Special Guest: Ellen Bauer
- On X (former Twitter) @ellenbauer
- WordPress.org Ellen Bauer
- Bluesky
- ElmaStudio
- Previews appearances on the show
- Gutenberg Changelog #124 â Gutenberg 22.0 and WordPress 6.9
- Gutenberg Changelog 117 â WooCommerce Starter Theme and Blocks, WordCamp Europe, and Gutenberg 20.7 and 20.8
- Gutenberg Changelog #105 â Gutenberg 18.9, Block Themes and WooCommerce
- Gutenberg Changelog #88 â WordPress 6.4 and Gutenberg 16.4 and 16.5.
Announcements
- Call for Testing: Responsive Styling
- Modal Media Editor
- Client media processing and the
- Real-time collaboration outreach effort
- Call for Testing: Unicode email addresses
Community Contributions
- Merge Proposal: Expanding WordPress Core Abilities
- Merge Proposal: Guidelines built on Knowledge
- Merge Proposal: Design System Theming
Whatâs released
- WordPress 7.0.1
- WordPress 7.0.1 RC1
- WordPress 7.0.1 Fixes Registration Spam, wp_kses() CSS Corruption, and 7.0 Admin Design Glitches
- Roadmap to 7.1
Post Editor iframed
- Post editor: always iframe #74042
- iframed Editor Changes in WordPress 7.0 (February 2026)
- Preparing the Post Editor for Full iframe Integration (November 2025)
- Blocks in an iframed (template) editor (June 2021)
Punted from 7.1
- The Classic block stays in the inserter for WordPress 7.1
- React 19 upgrade temporarily reverted in Gutenberg
Gutenberg releases
- Whatâs new in Gutenberg 23.4? (June 17, 2026)
- Docs: Auto-generate per-block API reference pages from block.json. (77612)
- Proposal: Auto-generate Block Editor Handbook docs from block.json
- Documentation pages: Core Blocks Reference
- Whatâs new in Gutenberg 23.5? (July 1, 2026)
Stay in Touch
- Did you like this episode? Please write us a review
- Ping us on X (formerly known as Twitter) or send DMs with questions. @gutenbergtimes and @bph.
- If you have questions or suggestions, or news you want us to include, send them to changelog@gutenbergtimes.com.
- Please write us a review on iTunes! (Click here to learn how)
Transcript
Birgit Pauli-Haack: Welcome to our 132nd episode of the Gutenberg Changelog podcast. In todayâs episode, we will talk about proposals for core, calls for testing Gutenberg 23.4, Gutenberg 23.5, and whatever side ideas we have about 7.1, which is in the works. Iâm your host, Birgit Pauli-Haack, curator at the Gutenberg Times and a full time core contributor for the WordPress open source project sponsored by Automattic. With me today on the show, and Iâm very delighted to tell you that is Ellen Bauer, product manager at WordPress.com and early adopter of block themes. Thank you for joining me, Ellen. How are you today?
Ellen Bauer: Thank you very much. Always happy to be here. Iâm great. I just landed back in Bangkok this week where we are. Iâm staying here a little bit longer with my family this year from Germany, visiting family and attending a meetup. And yeah, itâs good to kind of do that travel because it always inspires me to get out of a routine. And yeah, Iâm really glad Iâm here now and motivated.
Birgit Pauli-Haack: Yeah.
Ellen Bauer: To get back into working, improving WordPress.
Birgit Pauli-Haack: Thatâs a great time to spend in Germany. And I hope you had luck with the weather.
Ellen Bauer: Well, there was this heat wave in the second week. It completely knocked me out, to be honest.
Birgit Pauli-Haack: Yeah, that was really hard. And a lot of people say that.
Ellen Bauer: It was great and went on the last day I went to Legoland for the first time, which was also an experience and exhausting, but great.
Birgit Pauli-Haack: Thatâs here between Munich and Augsburg.
Ellen Bauer: Yeah, I think itâs close. Yeah.
Birgit Pauli-Haack: Yeah, between my first time. Oh, nice. Yeah, maybe I should go there too. But it is fun.
Ellen Bauer: It is fun. Maybe not. I donât recommend to go in the summer on a Sunday, which we did, but. Oh yeah, thatâs actually really fun.
Birgit Pauli-Haack: Family day. Yeah. So you mentioned you attended the meetup in Porto. What was your takeaway from the meetup with digital?
Ellen Bauer: So it was actually the main reason I came to Europe for it was the first time all products meetup from Automattic in beautiful Portugal for me, also the first time Iâve been to Portugal, which shouldnât happen to not visit before. But it was really cool. I love Portugal. Really lovely people, beautiful vibe, nice weather. Yeah, it was really relaxing, really a treat. And then very inspiring and motivating to be in the product group for the first time all together in a nice setting and we had amazing conversations. For me, I also got to know my team a little bit better because I just sort of recently switched into dot com, so that was helpful. But yeah, also a lot of meaningful, deep conversations and Iâm really, really motivated after that meetup.
Birgit Pauli-Haack: Oh yeah. So when you said meetup, Iâm still in the community brain, so I thought it might have been a WordPress meetup because I spent some time. And thatâs probably also the reason why my brain went there instead of the internal. Because I spent some time with meetups, local WordPress meetups in Salzburg and in Erfurt and also in Munich. I restarted the meetup here in Munich with a few of the original founders and some other people and. And itâs a totally different vibe than a WordPress conference.
Ellen Bauer: That is true. I love meetups.
Birgit Pauli-Haack: You meet 15 maximum 20 people and then you learn more about how they use WordPress, what they really move a normal user. So it kind of grounds you much better than kind of always being in the contributor section, kind of.
Ellen Bauer: So that is true. Well, there was WordCamp Europe, which I didnât attend because it was just so much. I attended WordCamp Asia, which I also loved this year. That was such an amazing experience and very motivating. And I talked to a lot of people who are meetup organizers in India and I really now want to visit one of their meetups. It sounds fun. I also visited the meetup here in Bangkok before and I love the people there, the really tight community. And Iâm also. I have been thinking for many years now that I should actually start a meetup in our town in New Zealand. I havenât committed, but Iâm always coming back thinking about it. So maybe I should just commit and do that because it would be cool to have like a local.
Birgit Pauli-Haack: Yeah.
Ellen Bauer: In New Zealand. There arenât many around, but it would be cool.
Birgit Pauli-Haack: Well, the first thing that you need is a co-organizer. So donât start until you have a second person to do that because we travel a lot. Well, I travel a lot and I cannot be at every meetup, so I need somebody else to do that. So that was kind of back of mind.
Ellen Bauer: Thatâs a good advice.
Birgit Pauli-Haack: Yeah. And the meetups in India, theyâre really big. Theyâre 40, 50 people.
Ellen Bauer: I talked to someone and. And they have 200 people every month on Surat. I was like, I want to come. Yeah, itâs amazing. Like, I want to visit.
Birgit Pauli-Haack: Itâs a small word camp for an evening kind of thing.
Ellen Bauer: That is so true.
Calls for Testing
Birgit Pauli-Haack: All right. Yeah. So work for 7.1 is progressing and there are calls for testing out, and this is the first time that there are so many out there. There are five of them. And if you want to learn whatâs really in 7.1, thereâs no better way to take a deep dive and heed the call for testing.
So thereâs a call for testing for the responsive styling and yes, itâs coming to WordPress now. And then thereâs a call for testing for the new modal media editor that opens up when you click on the crop icon in the toolbar of an image block or a cover block. And then there is the call for testing for the client media processing. Thatâs a feature that comes to 7.1 where the client, the browser is actually doing a lot of work in uploading the upload side of the image uploads and the resizing and then dumps it into the WordPress media library.
Thereâs also a real time collaboration outreach effort that is also a call for testing. And then thereâs a call for testing for getting Unicode into email addresses. And thatâs kind of fun too. So the testing has done an amazing job putting those calls for testing together because you get instructions on how to use it and videos to show you how to use it and then the instructions also for the testing. So your mental work on how do I test this is already done. Youâre just going to follow the script and, and then have room in your mental room to observe your feelings for whatever youâre doing and kind of try to, to verbalize them and share your feedback. So itâs really interesting and I hope you dear listeners are going to heed those calls. One or two of them. You donât have to do all of them. Yeah, I donât grade you, but there will be a test. Yeah.
Community Contributions
Then there are also two. Well, I said two, but there are actually three merge proposals from the contributors. Thereâs new things coming to WordPress Core. One is expanding the WordPress Core abilities. Itâs a merge proposal to add three read-only abilities to cover the settings, content and users for AI. And it gives AI clients real tools to call so the agents can understand what your siteâs configuration, post and people are doing. Thereâs a discussion should this be in core, should this be a plugin and all that you can read up on the post. And the second one is also for AI is the guidelines to build knowledge on your website. Yeah, whatâs your tone about whatâs the tone of voice, the expression, what the topic is about and what the members are, what the standards are and all the notes for revision and capabilities. So an AI agent could follow those instructions as well.
And for people who manage multiple sites with one AI they can actually itâs different for every site. So itâs really important to have that on the site to give that thatâs a new content type and new settings pages for these things. So you can even use your AI to update those guidelines. Thereâs one thing and then of course the last one is the bigger one and thatâs a merge proposal for the design systems theming Andrew Duthie published a merge proposal bringing design tokens and new theme components to WordPress built by the Gutenberg Components team. But it turns the hard coded admin styles into CSS custom properties so your plugins and screens stay consistent and accessible.
Then a color ramp tool generates harmonious accessible scales from just two seed colors and the user color scheme reaches the site editor which will come into I think 7.1. So with a dark mode on the horizon. So itâs a good time to get involved in the discussion now, dear listeners, and to make your point of view listen to and converse with others on the impact for you and your business and for your clients because thatâs where the decisions are made. Some of them are already made but they are loosely held, so to speak.
Thereâs a whole aspect of WordPress is we have strong opinions but theyâre loosely held. If you have a good argument and you have a good use case or a different point of view, you are listened to. Of course if aired respectfully and even if itâs not respectful it should be because we all want to do the same thing. So the links to all the merge proposals and calls for testing will be in the show notes. You get to pick what you are interested in and so thatâs a whole thing that happened in the last three weeks when we didnât have a Gutenberg change log. So I wanted to catch you up. Any thoughts on that Ellen, that you want to share with our listeners?
Ellen Bauer: I think on the merge proposals but I think for the calls for testing the responsive styling of course sticks out to me because we have been calling for that for so long and the user the feedback was always there like what is that without responsive styling? So now here it is. So yeah go ahead and test it and I will do the same and kind of contribute to make it better or improve what. What we can. But here we go. We finally have. I think the number one ask always this is missing in Gutenberg.
Birgit Pauli-Haack: Yeah. I think the number one ask is not the responsive design because Gutenberg is responsive in certain areas. Itâs a viewpoint. Itâs a media kind of thing. Yeah. So what is a tablet? What is a mobile. And to change things for those screen sizes. And there was a big hesitation and thereâs. On the developer blog, thereâs an article about intrinsic design thatâs built into Gutenberg. And I think the thinking was, okay, intrinsic design is what comes after media queries. Comes after. So because we need to also talk to what is component in the container queries in CSS and all that. And at the start of Gutenberg people wanted to push the envelope of intrinsic design and then see whatâs missing. And. And now we know where it all goes and how to. To change it. And there is a. Yeah, we talk about it a little later when we come to that. Yeah, but so thatâs kind of. That part why it took so long, I think was the reason why I kind of went on the drain there.
Ellen Bauer: That is true. Iâm glad that we didnât do like earlier versions of it. It seems late, but yeah, thereâs. Thereâs a reason.
Birgit Pauli-Haack: But I think, yeah, a lot of plugin companies actually filled that gap quite nicely. I also saw a few implementations where you didnât have three viewports or breakpoints, you had six, so. And I kind of couldnât imagine that a normal user can keep in their head six different sizes to control the styling and when something needs to be changed to find it again where that actually was changed. I get the hesitation. So yeah, yeah..
Ellen Bauer: You quickly go a little overboard with that. And Iâm also glad that we didnât do that on the core level.
Whatâs Released â WordPress 7.0.1
Birgit Pauli-Haack: Yeah. So that brings us to whatâs released and itâs release week kind of thing. So on Wednesday and weâre recording this on Friday, July 10, Thursday, July 9, WordPress 7.0.1 was released with bug fixes from the major release. And the release candidate announcement has a list of all the fixes in track and from the Gutenberg repo,
Iâm preparing an article for the Gutenberg Times. I will probably put in the show notes about what the fixes actually did is the WPKSS or however say that CSS corruption on some of the admin design glitches and some more. So you can have a summary of that. Yeah.
On Wednesday, just the day before 7.0.1, a user ask in the core channel, what is. I see all the communication. Yeah. What is the latest version actually, and at that time it was still 7.0, but we say but tomorrow itâs going to be 7.0.1. 7.0.1. Yes. Yeah, yeah.
So 7.1 last month Anne McCarthy posted the roadmap 7.1. It was aspirational and also very concise with an outline and links to the tracking issue for the many features contributors have been working towards. Beta 1 of 7.1 is scheduled for next week. Thatâs July 15th. And by then we will know the full picture of what made it and didnât make it into the release features from the Gutenberg plugin releases 22.6 through 23.6 will come to 7.1 unless theyâre behind an experiment flag or plugin or plugin only as guardrail 23.6 release candidate. And thatâs whatâs getting into the beta version is on July 14, so one day before the beta version, because thatâs where all the NPM packages are created and all the things get into the branches. Right feature branch.
The final release of 23.6 is moved to July 22nd. That was kind of decided by the release tech leads to get it all just in time for beta and organize that. So the deadline for enhancement into the plugin on 7.1 is July 14, the day before beta. So if youâre a contributor and you want to get the feature that you were working on in this weekend is probably crucial because it also needs to be reviewed and approved. So give people time to get in there.
So yeah, what should be on your radar for 7.1 is the mandatory iframe of the post editor. We mentioned it before. It actually has also a lead time to come to this point is the post editor runs inside or the block editor should run inside an iframe because it isolates the content from your admin styles and makes the viewport units and media queries work correctly against the editing canvas rather than the browser window. And in 7.1, iframing becomes more enforced for block based themes or for all themes because it ensures that canvas behaves predictably and the blocks render accurately for both the post editor and the site editor, template editor and pattern editor and plugin developers.
So plugin developers who have not updated their Block collections from version 2Block JSON version 2 to 3 should actually upgrade to make this all work. If you want to catch up on the newest discussion, thereâs a Gutenberg PR thatâs called Always the post editor for book theme. And thatâs the 79819. And if you put that in your playground, you can actually add some of the plugins or your staging site, or add it to the staging site, then you can test your things. I think the biggest problems are sites that are maintained by people that do not read the make blog or do not listen to podcasts or read blog posts about their site or the software. And those are sites that havenât been maintained for a while, otherwise they would have already upgraded things. Yeah.
Ellen Bauer: So block themes need to do anything too. They havenât. No. Right.
Ellen Bauer: I havenât looked into that.
Birgit Pauli-Haack: Itâs a problem for blocks. Yeah.
Ellen Bauer: That are in the block plugin collections.
Birgit Pauli-Haack: Yeah. That only. They were only meant for post editor and have never been used inside editor or something like that. Because those would have broken already. Because the site editor since 2020 kind of uses an iframe version. So if you use the block in a template or use the pages thing from the site editor, the pages administration from the site editor, you will know when the block breaks. And in the post editor, if you go into the console, you see the notification that itâs going to be deprecated. But if youâre only in the post editor and never look at anything else and those blocks might break if theyâre not updated.
Ellen Bauer: What should they do if this happened to them?
Birgit Pauli-Haack: There are some guardrails in place and there were two PRs. That one is the hard kind of, okay, we do all the iframe insight and thatâs going to be in beta. And in beta, listening to the feedback will decide if there will be a switch to the other less hard choice there in terms of saying, okay, if itâs a block theme, itâs going to be an iframe post editor. But if itâs not a block theme and. Or if there are blocks on the page that are on the old version, like the version 2, then it will not be iframed, but that is subject to change. Itâs kind of. Thereâs a trial and error kind of process here to figure out what is the best way move forward. Because the first post blog post about that was actually published in June â21, so five years. And then there was another one in November 2025, and there was another one in February â26. So there is a lot of leeway or runway for agency developers and plugin developers to kind of update, but sooner or later there will be a push to make it final and then deal with the consequences. Yeah.
Anne McCarthyâs roadmap included two updates that we already know have been already punted. So thatâs the update to React 19 and the deprecation of the classic block. Those things have been punted. And there are blog posts on the make blog for the reasons and next steps for that. Itâs pretty much the classic blog where there was a lot of communication around it that said, okay, maybe itâs not a good time yet. And for the RAC 19 there were too many backwards compatibility issues, but itâs going to come. So it just needs a little bit more runway to get final to that point. All right. Any thoughts about that?
Ellen Bauer: Not really. Iâm excited for 7.1. I think we havenât mentioned the release time. Is that still planned for WordCamp US and like August 19th.
Birgit Pauli-Haack: Yes, the planning is July 15th being beta and then August 5th being release candidate and August 19th final release on the last day of WordCamp US.
Ellen Bauer: Okay, cool. Iâm excited.
Birgit Pauli-Haack: Yeah, Iâm excited too. There are nice features in there and there are nice updates to the site editor there and Iâm very excited about that.
Gutenberg 23.4
And now that brings us to Gutenberg 23.4. Letâs go and talk about things.
Ellen Bauer: So that was released June 17th. Weâre also going to talk about the next release 23.5 right after. So letâs start with this one first.
So I think the most exciting things in there are related to media. And the first thing that is pretty exciting is if you load media into the post editor, you now get like a little notification snack bar that kind of tells you the progress of your uploads. Like if you load dump, just dump in like 20 images youâre going to see. And you also I think timed first image, second image, third image. We are used to it, I donât know from apps and stuff. So I think that is really, really helpful to see the progress of the loading there.
Birgit Pauli-Haack: Yeah. And Adam Silverstein did an amazing job to get this all done. Thereâs a second one that also that the upload process is now enabled. So when itâs interrupted because youâre offline or something, it also resumes automatically the upload on the when the connection returns. So this would save quite a few hurry up and wait kind of thing. When youâre maybe on a train or in a country where you donât have stable Internet connections to upload your media.
Right now, I only highlighted that because itâs in the same thing that the client side media processing is now geared towards 7.1. So the pluginâs only guardrail has been removed and it can be merged into WordPress.
Enhancements
The next one is the playlist block. It now has a visualization style selector so it has the playlist lock. When you try and test it, youâll see there is a visualization kind of where the music builds some animation on top of the track and you can select the styles now for that. And also it now has a track length setting so you can set up the settings for that as well.
Ellen Bauer: Another thing I kind of liked because Iâve built that before is if you have, I donât know, on a WooCommerce theme or something, if you want to have the log out log in or for any other kind of purpose, you can now get that into an inner block of the navigation submenu. The lockout lock in. That wasnât possible before. Itâs a small thing but very helpful for whenever you want to have that in a drop down or sub menu.
Birgit Pauli-Haack: Yeah. If you have a membership site or subscribers only content and you. You offer them a nice accessible way to log in and log out. Thereâs a very minimal change, but you might need. You will notice it. Itâs the time to read icon has been renamed to time. So itâs not. Might be getting rid of redundancy, but Iâm not sure itâs even clearer. Itâs clear enough. So yeah, thatâs the change.
Ellen Bauer: Yeah, I think thatâs mainly kind of to reuse it, to be able to reuse it for more things. Right.
Birgit Pauli-Haack: Yeah.
Ellen Bauer: Another thing that I think is a little bit bigger and quite helpful is that now itâs possible that columns and gallery blocks can be transformed into grid variations for layout styling. I think thatâs kind of cool. I think I wanted to do that many, many times.
Birgit Pauli-Haack: Yeah, me too. Because I forgot that I have a grid block and I tried to do things with the columns block.
Ellen Bauer: Yeah, yeah. So often you kind of start out in a column and then you realize no, that should be a grid.
Birgit Pauli-Haack: And then again for the media. But this time itâs out of the block editor. The media editing modal has changed and it has some new features, better features, new libraries. And we talked about it before on this podcast. But now you can reorder the details field has been reordered and then now you have aspect ratio controls for the mobile toolbar and they refactored a little bit the modal layout in total. But this is a great, great tool. So these are all just the usability issues. The main feature was already in 23.2 or 3 and there are editable attachment fields. And the mobile tool. The mobile toolbar has been updated to include the aspect ratio controls. Also uses the zoom uses now plus and minus buttons. Yeah. Instead of the spyglass.
Ellen Bauer: Oh yeah. That is actually very helpful an update on the dashboard. And you maybe have to help me out if Iâm not 100% sure if I understand that correctly. So we always had the grid columns and now they are opinionated. So pre designed responsive. Is that correct if I say that like in your dashboard, like the two columns, I think itâs maximum four columns. It doesnât go more than four and then it reduces like it nicely responsive by default, right?
Birgit Pauli-Haack: Yeah. It goes from 960 desktop width, so four columns to two columns between a tablet kind of size, between if itâs smaller than 960 to 600 and if, if itâs smaller than 600 or 600 and smaller, itâs going to one column and has a mobile kind of view there. So itâs definitely responsive. But thatâs the dashboard. Itâs about the admin dashboard. Itâs not in the block editor. So that grid has nothing to do with a grid block in the block editor. So we have a little issue there with using the same words for different things. But thatâs because itâs all grid based. But itâs a good thing.
And contributors have an experiment on redesigning the dashboard and also let blocks going in there and all that. So itâs. Itâs quite interesting to see that there are more additional features in there like this day before. Right. So if youâre in a block, you can. Theyâre figuring out how to put the previous day and previous years. So if you have a blog for 30 years or 10 years, you. You get. Or even five years. Yeah. You get a notification, what you published about this time of year, last year or something like that.
Ellen Bauer: Yeah, I like that.
Birgit Pauli-Haack: And that was actually kind of nice.
Ellen Bauer: It kind of embraces your blogging history.
Birgit Pauli-Haack: Yeah, exactly.
Ellen Bauer: One actually kind of cool little change that I really like is in the site editor now. The admin color scheme, if you select another one, get translated into the site editor. So I know a lot of people always say, oh, you go into the site editor and itâs this black different looking user interface. And yeah itâs. Why is it so dark? So now it kind of adopts the color scheme you have selected. And I think this like part of bigger work going into kind of making the interfaces more be like one thing instead of.
Birgit Pauli-Haack: Yeah. The unification of the admin interface is also a long time coming and I think thatâs a, thatâs a fantastic step. Yeah. To kind of just make it sure that if you have a green sidebar that itâs also green in the site editor.
Ellen Bauer: Yeah. Because why, why wouldnât it be?
Birgit Pauli-Haack: Yeah. So on the client media side again, the ultra HDR JPEGs that are detected by upload and then the originals are kept unmodified and the sizes subsizes. They preserve their ICO standards. So you have a better quality of the Ultra HD but it also handles the bigger sizes. So itâs a nice addition to the media upload feature that we talked about before.
APIs
Ellen Bauer: And then we also have an update on APIs. Oh, God. You have to help me with this one. I read it, but now Iâm kind of like what was that about again? The future it will help.
Birgit Pauli-Haack: So it tracks per entity, the view configuration for pages. And then so itâs about the pages of pages, posts, patterns, template parts, templates and have their default layout in the grids being the, the layout grid in the admin. So when youâre in the site editor you have a choice when you look at templates, what kind of layout. You have a grid layout, a list layout and these kinds of things. And now there is actually an API that you can extract that view configuration for several other things. If youâre plugin developers, you can then replicate what the, what the priority is or what the preference is for your user. And you see that in the rest API when you pull out the information and display it again, that you get the configuration with it. I donât know.
Ellen Bauer: So you can practically kind of unlock whatever the configuration was in default and then use that in a plugin or something, right?
Birgit Pauli-Haack: Exactly. Yeah.
Ellen Bauer: The same screen.
Birgit Pauli-Haack: So when you. One use case could be if you are using WordPress as your content container, but have another application that displays things as a headless or in another. In another admin content management system that only talks to WordPress with all and pulls out the things that are in WordPress and measures it up with other data thatâs also in the system, then you are able to display the same what the user sees in the WordPress admin, you can display that also in your system at the same time. So that kind of would be one of the use cases that I just made up.
Ellen Bauer: Yeah, that makes sense and very good to explain in that way. What else do we have next?
Experiments
Birgit Pauli-Haack: So the dashboard we talked about that now has also an events widget that can be filled.
Documentation
I wanted to point out one documentation thing that is really a big deal that Juan Margarido has taken on in April or May and push that through a merge now with 23.4 and that is the auto generation of the per block API reference from the block JSON files.
So, until now it was really hard to figure out, okay, whatâs the block markup and are there all the supports in there? Because the documentation was handmade. So if somebody updated a blockâs configuration and block JSON and added support to it for other things, it would not show in the documentation until someone touches the documentation page. And for 90 blocks or so that are in core right now, thatâs a moving target and fast moving target. So he proposed to go in and auto generate that documentation page for humans and AI to map multiple things.
So one is the parent relationship with other blocks like think accordion block and the sub blocks there, the attributions in the table, in a table that what the block supports and with links to explain those features. So if you donât know what the alignment or support of a block is, you can look it up right from there and then what block styles come with core so you donât have to figure that out from the interface. So like the button comes with two styles, one is the default, the other one is the outline style. Then which CSS selectors are automatically created and then an example of the block markup. And last but not least, also the links to the source of the information and the packages. So you have a full 36-degree view on the block. And because the documentation is auto updated, it comes right there when the new features are kind of added to the block and it will be shown in the documentation.
This not only helps the developers and theme developers to have a better handle on or one lookup page or section in the documentation, it also helps AI agents to form a comprehensive space to learn about WordPress blocks. Because I have found that AI sometimes just does a custom HTML block and puts it all there instead of using a column block or cover block or something like that.
So this is a very big deal because thatâs something where AI elevates human capabilities because he used AI to run the code that parses the block JSON and puts it into the documentation page and then also has that documentation page from the GitHub repo into the developers.wordpress.org document block editor documentation automatically merged there. So this is a big deal. And kudos to Juan Margarido. He also spent some time getting some community input from the documentation team from the Gutenberg leadership. We had a hallway hangout with a Q and A and it finally was merged now. So kudos.
Ellen Bauer: Yeah, thatâs pretty cool.
Gutenberg 23.5
I think now weâre moving to the latest release, 23.5, released July 1.
Enhancements
I think the first thing we wanted to highlight was that the design system token defaults now with out a runtime which practically, as far as I understand it correctly, helps that all the styling from the design system is just there by default. Thereâs nothing that got missed. Is that correct? Yeah, because it happened before that some design elements were in style.
Birgit Pauli-Haack: Exactly. Yeah. Itâs now available as public export. Thatâs pretty much so you can use it in your own apps that you put into apps. I say itâs also called plugin, so you can use it without having to import it into your plugin via NPM and these kinds of things via the build process. So you can just import it into your app here.
But I also want to point out again the match proposal for the design system. Everything there is kind of in a holistic way explained and also what itâs supposed to come to. And these are all plenty of the component work thatâs done for 23.5 and released or merged is actually in support of the design system and the UI revamp of the components.
Ellen Bauer: I think about the block library. And we have a few other updates in the release. The first one is that the viewport states and the controls are now support for they supporting aspect ratio and all the related controls with that.
Birgit Pauli-Haack: So I think yeah, itâs part of the styling system. Yeah.
Ellen Bauer: For image blocks featured image block media library also no, no background images. A background cover image and cover block, yeah.
Birgit Pauli-Haack: Also yeah, okay, thatâs the viewport states is the name that they give the responsive editing screens. So those controls are now also available.
Thereâs also a line item in the block library section of the changelog about the classic block to hide it from the inserter that has been reverted. Thatâs part of the blog post that I mentioned earlier that was published after the release of 23.4, so I wanted to point that out.
The next one is that the media editor modal is now available also for the cover block that comes with that. I think I mentioned that already. But now when you have a cover block with an image, you can also use the media editor modal to crop it, to rotate it, to tilt it and all that kind of things.
Ellen Bauer: Thatâs a nice add on small but also visually really nice to have is that the icon block now has controls for flip and rotate the icons, which is very nice to have like a. One of the things you like kind of expect to be able to do and then itâs super difficult. So now you can do that. And then it also. What is the second one about?
Birgit Pauli-Haack: Oh, it just adds a default placeholder instead of to the blockchain.
Yeah. So there was also a big push to have text alignment support for some of the text blocks. And now the block quote. I think there were seven or eight blocks that have that again. This time there was missing text align support and that has been rectified. So now you have also text align support for the block quote.
Yeah, that was one thing that threw me quite a bit and quite often I always went back to the quotes block. But a quote block and a pull quote have different use cases and a pull plot is an excerpt from the article and you couldnât make it not centered. It was kind of odd that you couldnât left align it. Which is my favorite. Yeah. Centered when you have more than one word in the center, you hardly can read it. Or more than one line. Yeah. So I always wanted to be left aligned and I canât quote just a sentence. Yeah. So Iâm really great that they have a text aligned support now that makes sense.
Ellen Bauer: Itâs these little things that kind of throw you, throw you off if you donât have them and youâre like, why canât I then? I think one of the biggest things in this release is that the resizable editor now itâs like fully resizable. You can drag it along. Itâs not just mobile, tablet, desktop, you can get your own size and preview it. I think this is one of the biggest releases in this. In this update 23.5. So can you do anything else? You can resize it.
Birgit Pauli-Haack: Yeah, yeah. It has a handle though. You can resize it. So you have a handle to make it smaller but not as small as mobile. So you can see if. If somebody uses a tablet whatever and odd width you can kind of test it if, if your settings actually work there or your. If the. The layout is there. But you cannot change the viewports themselves. Yeah. They are not customizable. Itâs just so you can see the preview there. Yeah.
Ellen Bauer: Which is very helpful like visually.
Birgit Pauli-Haack: Yeah. Especially when you get a call and you donât have that device on hand. Yeah. That a client sees or a client has a complaint from their clients that something is wrong on the view. You can just kind of tested in the block editor without having the device on hand.
But there is a long standing request to be able to change the viewport numbers and because right now they are hard coded to I think 768 is the desktop and then 467. Yeah. 468 is the tablet and or between there is tablet and then below is the mobile. But there is good news. There is coming with 23.6. Itâs already merged is in PR where you can change that via the theme JSON. So theme developers are now able to change viewport numbers for their sites. There is no UI yet for it. But thatâs typical. That theme JSON is first. So theme developers can test it out and can actually use it. But for the UI you need a little bit more information how things are going and how users would work with it.
Ellen Bauer: And thereâs also been a smaller change on. If you add a note that just. Itâs simplified how the show more or less collapse works. If you have a long note you want to collapse it and show more or less. I think that just has been reworked or simplified.
Birgit Pauli-Haack: Right.
Ellen Bauer: I donât think itâs anything we see on the user side. Right. Itâs more in the background. Yeah.
Birgit Pauli-Haack: Itâs just faster. Yeah. Itâs kind of that. Okay. Mostly performance issue. Yeah. Youâll see a slight change there.
There is the experiment of the omnipresent toolbar which is pretty much the admin bar. In the editors you see the admin bar, the black admin bar on top of the screen when youâre logged in and you look at your website from that perspective and you also in the post editor you see the black toolbar but you couldnât in the site editor or in the other editors. So now the experiment is to show it but then also unify the interface because the design view or the site editor has its own W to go back to the other admin. And when itâs in the admin bar you just click where you normally click to get to the site. So itâs all unification of the interface pretty much. And now you can see the site icon instead of the dash icon if you select it as well in the toolbar. So there has been an ongoing effort and some of it might come to 7.1. Itâs on the roadmap for the admin bar everywhere, so to speak.
Ellen Bauer: I think one thing that I remember I struggled with quite a lot is the flex behavior of children. So now there has been.
Birgit Pauli-Haack: You mean your child? Well, itâs not the flexibility of toddlers.
Ellen Bauer: The Flex elements. I love flexbox CSS always have. But I think we always had a problem that they werenât behaving like exactly like CSS. Flexbox should behave. So now one of the changes has been that so flex children that had a fixed width, this is now like truly fixed. I think it was squishable before. Can you say that? Is that correct? And now itâs like a truly fixed width to zero. So I think thatâs one of the things visually that helps a lot. And then the other one was grid layouts now have fill available space, toggle. Is that correct? I think itâs just a toggle in the settings. Right. That you can toggle on and off and then you have auto fill and auto fit behavior. Okay. And this behaves exactly like CSS grid behavior.
Birgit Pauli-Haack: Yeah, you would expect. Yeah, thatâs pretty nice. There was some. Some quirkiness to the grid block and the grid layouts and Iâm glad that Isabella is working on that constantly to improve it and to get back to it.
Ellen Bauer: Yeah, sheâs doing great work. I met her live at WordCamp Asia this year and it was really pleasant because I love flexbox Grid. I always love these blocks and CSS settings and they never quite worked. How I or like went into that depth, I wish they had. And yeah, sheâs. I think, like, she has the same opinions, so it was a good chat.
Another thing that is kind of cool and fun to have is that now global styles allow text shadow settings. So, yeah, thereâs these options of text shadow, if you ever want to use that in like a cool, fun design or. So now you can set it in global styles, which is really cool. That wasnât possible before at all, I believe. Right?
Birgit Pauli-Haack: Yeah.
Ellen Bauer: Right.
Birgit Pauli-Haack: Itâs a new style support.
Ellen Bauer: I really like that.
Birgit Pauli-Haack: Yeah, I tested it and itâs really nice. There are some presets in there that come from core, and I still need to figure out or find out how you can switch off some of the styles and how you can add your own styles like you can do with the shadow box. The shadow box has a feature that you can switch out the core styles with your own styles or just switch them off, but you definitely would need that for the texture as well.
Ellen Bauer: Maybe we will add that.
Birgit Pauli-Haack: Yeah, itâs not there. Itâs the first version and the first version is pretty much a minimal viable kind of setup. Yeah.
The next thing is again Media Editor modal. It now has some error states. You can magnify the crop to fill the canvas and the current post always includes the initial options. There are also minor fixes, but that is because it gets ready for 7.1 release. So every aspect of it is actually and comes from feedback from the call for testing. The call for testing was actually already issued in I think in May. So itâs already a month in or two months in. So there is already some feedback coming back.
The data layer has a feature for the real time collaboration or many features, but one of them stands out is that you can disable collaboration per post. So if you have maybe a recipe or a book post type and you donât want anybody to collaborate with you on that, you can switch that off. Itâs probably best for very visual post types or itâs also necessary for template parts or for navigation. Those are also post types. You can control that now.
So there was a for a while in the text controls there was a prop to have the next 40px default size and there was underscore. Underscore was an experimental property and that now has been made the default. So if you had a 36 before or 32 on the default size for the text box, then if you wanted to be in the same realm as WordPress itself, you had to use the underscore next 40px default size prop to have the same sizes of the controls and now those are default now. So you donât have to do this experimental prop to use but it will change how things work. So you might want to, as a theme developer or a plugin developer, you probably want to check your plugins, your text control components, how they change behavior or at least the default layout. So thatâs why Iâm calling that out here in the episode.
And also a similar thing is known that 23.6 Gutenberg 23.5 bumps. The minimum required version to install the Gutenberg plugin is now 6.94 versions 23.5 and newer. So if you are on 6.7 or 6.8, you are not getting the newest version of the Gutenberg plugin. So I think. Oh, thereâs one more. Did I overlook something?
Performance
Ellen Bauer: No, I think on performance you highlighted that blocks migrate markdown converter from showdown to marked. And what does that do?
Birgit Pauli-Haack: It actually is just performed faster. Yeah.
Ellen Bauer: Oh, yeah. Okay.
Birgit Pauli-Haack: And it also has a different parser, so it might have a say. Itâs G. Whatâs it called? GTM. There is a standard for markdown that comes from GitHub and it now adheres to that standard. Yeah. So thatâs updated. Itâs a minimum change most people wouldnât even need to do. But if you copy paste something from GitHub or from other Markdown editors or from your AI agent, itâs a different parsing process.
Ellen Bauer: I just researched that and it said that the previous one was like from 2018 or so and this is just like a faster newer version that we updated to. Okay, that makes sense.
Experiments
And then there was one last highlighted thing on the block library unwrapping. Classic block migration notice experiment.
Birgit Pauli-Haack: Yeah, thatâs part of the effort to the classic logic. But that has also been reverted so it will not announce that this is deprecated. So itâs important to know that that line item in the change log has been overwritten already with a newer version that comes to 23.6 on July 22.
Various
Ellen Bauer: And there was another small update on icons to self declare icons color on the icons block.
Birgit Pauli-Haack: Oh, nice. Yeah, I overlooked that. I got lost in the changelog already. So.
Ellen Bauer: I mean there were a lot of these smaller things.
Birgit Pauli-Haack: Oh yeah. So if you have an icon, it can say Iâm. Iâm only in blue or something like that. What does it mean, the current color?
Birgit Pauli-Haack: Oh, current color. Yeah, of course. Duh. Yeah. I was still stuck on tab sync finally second the tab sync because itâs the. For stabilizing it to come into 7.1. The tabs block is still under active development until July 14, so donât start building on it yet because thereâs API cleanup and refactoring going on where the contributors try to nail down the final version before it gets into core. Yeah, thatâs the end of it.
Ellen Bauer: Wow.
Birgit Pauli-Haack: Yeah, we still had a lot to talk about, Ellen. Yeah. So apart from the responsive styling, are you excited about some things that come to 7.1 in the near future?
Ellen Bauer: I think for me, being like a Visual X thing builder or and working on blocks, I think responsiveness is a big one and Iâm excited to see how. Yeah. How we just kind of improve things. Also, I like that we are looking more into the dashboard and finding ways to unify the experience. I think this is one of the things that always come up that it looks kind of like two different versions, partly outdated. And I think we need to move along and kind of come to maybe not make everyone happy, of course, but come to a compromise that we can all live with and then move forward. I think this would really help WordPress to kind of shine in a way that it doesnât look outdated or not like one product. I think if we can come together and do that and push for that change, that would be really, really helpful for all of us and for everyone and for WordPress. So Iâm excited to contribute and help to make this happen.
Birgit Pauli-Haack: Awesome. Awesome. Yeah. Yeah. I like the new blocks that are coming. Of course. I have been a fan of blocks since the beginning of the block editor, so I like that the playlist block and the TAMS block. And finally. The table of content. There is an effort to actually have the table of content come to WordPress. Right now. Itâs only available for years in the Gutenberg plugin.
Ellen Bauer: I didnât even know. I thought it would be in.
Birgit Pauli-Haack: Yeah.
Ellen Bauer: Even small things like rotating icons and stuff like that or having them be the current color and all these grid and Flexbox things. They. We need these things. I think itâs still very, very important to have professional settings like that available.
Birgit Pauli-Haack: Yeah. And this is a visual person. Youâre probably also happy that you now can have in the group block. Background gradients. Gradients. We all love gradients. I love gradients. I love gradients. Yeah. And thereâs these kinds of things.
Ellen Bauer: Theyâre like, why arenât they there? And so responsiveness. And I think just of kind of growing up Gutenberg and the editing experience.
Birgit Pauli-Haack: Yeah.
Ellen Bauer: Seems. And even like with AI helping on a lot of things and being able to patch CSS and stuff on onto things to make things better that we donât have. I think itâs still important that we aim for a really high quality experience in manual editing so people find what theyâre looking for and are not frustrated or get lost. I think thatâs just the quality we want to stand for and have in WordPress no matter what.
Birgit Pauli-Haack: Yeah.
Ellen Bauer: I think the standard should like, should be. We aim. Should aim for that as being just there for people, for users.
Birgit Pauli-Haack: I think we. We develop, as I say. Yeah. Are kind of really immersed in this AI grace and hype and also the possibilities and the usefulness of AI in our work. There is a danger that we forget that WordPress users that are writers or publishers actually are not using AI to do their work on WordPress. So we definitely need a delightful interface and all these small changes, quality of life changes and the big changes like the responsive editing and the dynamic galleries and whatever is going to come. The modal editor, the media editor needs to be delightful and useful for humans that are kind of having fun and producing more content for the Internet that is kind of. Yeah. Eating it whole, so to speak, with AI.
Ellen Bauer: Yeah, yeah, I love that too. Delightful is a beautiful word to use. Yeah. We want to delight people using WordPress and this should be our aim. AI or not, like in whatever. We have to meet users wherever they are, however they want to use the tool. It shouldnât be, oh, we can leave this stuff now because everyone uses AI. I think if we have a user interface, it would be delightful. If itâs not yet delightful, we have to make it delightful. And AI can only help us to do that because we can contribute faster, we can move things faster. So letâs use AI for that, to delight users to meet them wherever they are for everything we offer, and we do offer a user interface. So here we are with some work to do.
Birgit Pauli-Haack: I think thatâs a good end of the show today. Thank you so much, Ellen, to be on the show and walk with me through those changes that are coming and if people want to reach you, how is a good way to reach out to you.
Ellen Bauer: So I am in the community Slack WordPress community Slack. Iâm also on social media, not that active to be fair, but reachable anytime. I think for WordPress community, the community Slack is the best place to reach me. But if you look at my name, Ellen Bauer, you can find me online on all kinds of platforms and Iâm oh, Iâm actually revamping my Manu and my Little Elmo Studio blog. So thereâs going to be a new design and Iâm really excited to get blogging again. Also doing a lot more like a few more YouTube videos. I have some ideas for that over the summer month now. So, so wonderful. Yeah, I will share if I have some news on that. Look out for Ellen or Elmer Studio and just reach out anywhere.
Birgit Pauli-Haack: Excellent.
Ellen Bauer: Yes, Iâm always excited to hear from you.
Birgit Pauli-Haack: Wonderful. Thank you so much, Ellen.
Ellen Bauer: Thank you for having me. Birget, youâre welcome to be on the show.
Birgit Pauli-Haack: Itâs delightful to have you to overuse that word.
Now, dear listeners, the show notes will be published on GutenbergTimes.com podcast this is number 132, 132. And if you have questions and suggestions or news you want us to include, send them to changelog@gutenbergtimes.com thatâs changelog@gutenbergtimes.com thank you all for listening. And until the next time, goodbye.
Ellen Bauer: Bye.
-

Gutenberg Times: Roadmap 7.1, Gutenberg 23.5, Responsive Styling, Migration to Block themes â Weekend Edition #368
Hi there,
After a four-week break â courtesy of a sciatic nerve with strong opinions â Iâm happy to be back in by office chair and in your inbox. There is plenty to catch up on.
Beyond the updates on the new WordPress and Gutenberg versions, youâll find stories below from WordPress veterans on migrating to and working with block themes on client sites and dive into more complex theme solutions or
Donât let me keep you from your light summer reading.
Have a splendid weekend ahead!
Yours,

BirgitDeveloping Gutenberg and WordPress
The team around release lead Aaron Jorbin pushed WordPress 7.0.1 Maintenance release out the door to update millions of WordPress sites. The update covers 17 Trac tickets and 14 Gutenberg PRs. The full list is available in the RC 1 announcement post from last week.
In WordPress 7.0.1 Fixes Registration Spam, wp_kses() CSS Corruption, and 7.0 Admin Design Glitches, I cover the most important fixes for end users and developers of this release. Youâll learn how the registration-spam loophole got closed, which admin design glitches were sanded off, and why developers can finally remove their
wp_kses()CSS workarounds. Update your sites soon if auto-updates arenât enabled.
Ryan Welcher compiled Whatâs new for developers (July 2026), and itâs all about the 7.1 cycle getting real: Beta 1 lands July 15, final release August 19 at WordCamp US. Youâll want to test responsive styling, the React 19 runtime flag, and Unicode email addresses now. Also on your radar: merge proposals for Core Abilities and Guidelines, the 40px component default, icons inheriting color, and Playgroundâs MCP support.
Berislav âBeroâ GrgiÄak announced whatâs new in Gutenberg 23.5, released July 1. The headliner: you can now drag the editor canvas to any width, with the device preview dropdown and resize handles working together for responsive editing. The experimental Media editor gains a magnified crop canvas, pixel-snapping handles, and Cover block support. Also notable: text shadows in Global Styles, flip and rotate controls for the Icon block, and a minimum WordPress version bump to 6.9.
For the next episode of the Gutenberg Changelog, I sat down with Ellen Bauer to chat about whatâs coming next for WordPress. We dug into the latest Gutenberg plugin releases (23.4 and 23.5) and the recent WordPress 7.1 update. Plus, we walked through some big merge proposal, like the Design System Theming. our excitement around responsive styling coming to WordPress. Itâs a packed episode full of news you wonât want to miss! The episode will land in your favorite podcast app over the weekend.

WordPress 7.1 roadmap and more calls for testing
Anne McCarthy published Roadmap to WordPress 7.1., scheduled for August 19, 2026. Longstanding styling gaps are being tackled: responsive styling and interactive-state styling let you adjust blocks per viewport or on hover â no custom CSS required. Youâll also find new Playlist, Table of Contents, and Tabs blocks, a smarter command palette, a Design â Identity screen, the admin bar inside the editors, a media editor modal, and expanded Unicode support for email addresses.
Also mentioned Real-time collaboration, Knowledge Guidelines, React 19 upgrade, Classic block deprecation have been punted since the posts came out. Beta 1 arrives July 15 and will settle which of the other Roadmap features are in and which will be punted to a future release.
The latest Weekend Edition listed three calls for testing. Meanwhile, two more came online:
Nikunj Hatkar, this yearâs team rep of the Core Test team, posted a call for testing responsive styling. Youâll be able to style blocks differently for tablet and mobile right in the editor â no custom CSS or media queries needed. The underlying PR unifies the resizable canvas with the device-preview switcher. Fire up the linked WordPress Playground instance, walk through the four test scenarios, and share what feels intuitive or broken. Plugin and theme developers should test their canvas integrations, too.
Dennis Snell published a call for testing Unicode email addresses. With initial support merged,
is_email()andsanitize_email()now accepting non-ASCII addresses likegrĂ„@grĂ„.org, and validation aligns with the Web Hypertext Application Technology Working Group (WHATWG) spec. Youâll want to check your plugins and themes: the newWP_Email_Addressclass gives you structured access to local and domain parts, and a snippet lets you disable Unicode support until third-party integrations catch up.Three Merge Proposals
Core contributors put together three merge proposal for new features to be added to Core for public comment.
Jorge Costa published a merge proposal to expand WordPress Core Abilities in WordPress, adding three read-only abilities covering settings, content, and users. Building on the Abilities API from 6.9, they give the AI Client real tools to call, so agents can understand your siteâs configuration, posts, and people. Settings and post types opt in through a dedicated flag, and management abilities are planned for a later WordPress version.
Greg ZiĂłĆkowski published a merge proposal for Guidelines built on Knowledge, a new custom post type headed for WordPress 7.1. Knowledge gives your site one shared home for standards, memories, and notes â with revisions, capabilities, and REST access built in. Guidelines is the first feature on top, letting you capture voice, tone, and per-block rules right where writing happens. Although, originally aimed at WordPress 7.1, in their latest comment, Anne McCarthy indicated that it needs to simmer some more before itâs considered for inclusion in WordPress Core.
Andrew Duthie published a merge proposal for Design System Theming, bringing design tokens and a new theme component to WordPress. Built by the Gutenberg Components Team, it turns hard-coded admin styles into CSS custom properties, so your plugins and screens stay consistent and accessible. A color ramp tool generates harmonious, accessible scales from just two seed colors, and the user color scheme reaches the Site Editor â with dark mode on the horizon.
Plugins, Themes, and Tools for #nocode site builders and owners
Anne Katzeff published a tutorial exploring the WordPress Cover Block for parallax scrolls. Youâll learn how the Fixed Background setting turns a Cover block into a layered parallax effect â background, middle ground, and foreground text moving at different speeds. The post steps through nesting a second Cover block, switching which layer scrolls, and improving text readability with grouped backgrounds. A video tutorial rounds it out. She also demos her process in this YouTube video.
Carrie Dils shared a case study, One Header, Two Themes, on phasing a legacy Elementor site toward Full Site Editing without a rebuild or content freeze. Using ThemeSwitcher Pro to run two themes side-by-side, she built one shared header in a plugin that both themes render. Youâll learn from five real-world snags â WooCommerceâs hooked blocks, cascade conflicts, routing gaps, query-string bypasses â and why shipping the shared layer first de-risks everything after.
Gina Lucia compared WordPress block themes vs page builders on the Ollie blog. Youâll get a clear-eyed walkthrough of what classic themes, page builders, and block themes each handle â scope, design control, performance, lock-in, and maintenance â with side-by-side tables. Her conclusion: block themes combine sitewide design control with visual editing natively, so you rarely need a page builder anymore, though migration costs and team habits can justify keeping one.
Elliott Richmond explained why he spent 16 months turning 400+ holiday cottages into WordPress blocks. The kate & tomâs site moved from ACF flexible content to a native block theme, freeing the marketing team from waiting on custom widgets. Youâll appreciate his candor: 10,590 widgets migrated via a purpose-built plugin, re-run against fresh production snapshots, with flaky conversions fixed by hand. Even untuned, PageSpeed jumped from 22 to 67.
Wes Theron published a video tutorial, How to Create and Edit Navigation Menus in WordPress, for anyone getting comfortable with block themes. In under ten minutes, youâll learn how to edit your menu with the Navigation block, add pages, posts, categories, and custom links, and build dropdown menus. Timestamps let you jump straight to the part you need â handy if dropdowns are the only thing standing between you and a finished header.
Theme Development for Full Site Editing and Blocks
Henrique Iamarino shared how the Automattic Design team built a WordPress theme without ever opening Figma. Youâll follow the making of Crafted, a production-ready theme created almost entirely in the WordPress Editor: Global Styles for typography and spacing, Create Block Theme to save edits to theme files, WordPress Studio for local review, and an AI assistant for finishing-touch hover CSS. His takeaway: the Editor is now a professional design surface.
Justin Tadlock explained how to dynamically load template parts in block themes on the Developer Blog. Instead of maintaining a pile of near-identical templates, you can hook into the
render_block_datafilter and swap a template partâs slug on the fly â say, a different sidebar per post category. His walkthrough covers early returns, fallback behavior, and file setup, and the technique works for headers, footers, and banners, too.
AI and WordPress
Jeff Paul announced whatâs new in AI 1.1.0, the latest release of the canonical AI plugin. Two experiments headline,
type-ahead textsuggests inline ghost text as you write in the block editor, andkey encryptionsecures your AI Connector API keys in the database. Youâll also find smarter content readiness checks with locale-aware counting, more control over guest comment moderation, a newcore/read-settingsAbility, and a peek at 1.2.0 plans.
Questions? Suggestions? Ideas?
Donât hesitate to send them via email or
send me a message on WordPress Slack or Twitter @bph.
For questions to be answered on the Gutenberg Changelog,
send them to changelog@gutenbergtimes.com -
Open Channels FM: The Real Challenge of Technological Solutions: Exclusion in the Age of Verification
David Snead, director of the Secure Hosting Alliance and a long-time Internet policy leader, shares his perspective on the complexities that emerge when technological solutions like age verification are implemented in the digital infrastructure space. Daveâs reflection highlights how the push for more secure, regulated environments can unintentionally create barriers for vulnerable or less tech-savvy [âŠ]
-
Otter Blocks 3.2.0: AI Page Building and a New Design Library
Otter Blocks 3.2.0 is now live, bringing AI that builds full sections and pages, a redesigned AI writing toolbar, AI form autoresponders, a completely rebuilt Design Library, a new Content Slider block, more reliable forms, and full WordPress 7.0 support. This release focuses on the slowest part of building in the block editor: getting started….
The post Otter Blocks 3.2.0: AI Page Building and a New Design Library appeared first on Themeisle Blog.
-

How to Connect AI Agents With WordPress using MCP (Step by Step)
AI assistants like Claude Code, Cowork, and ChatGPT are incredible productivity boosters, and if you wished that you could connect these AI tools with WordPress directly, then youâre not alone.
Lately, I have been using WordPress MCP by WPVibe to let my AI assistant manage my website, and itâs truly amazing how much time this saves. You can simply ask it to create a post, upload image, handle admin tasks, and more from a single conversational prompt.
In this step by step tutorial, Iâll show you how to connect your favorite AI tools with WordPress using MCP along with sharing a few work examples, so you can see what becomes possible when you combine WordPress + AI.

You can use the quick links below to jump to any section:
- What is a WordPress MCP and What Can It Do?
- What You Need Before Getting Started
- Step 1. Set Up MCP on Your WordPress Website
- Step 2. Connect Your AI Tools to WordPress
- What You Can Do Once You’re Connected (Worked Examples)
- Is WordPress MCP Safe?
- Troubleshooting Connection Issues
- Frequently Asked Questions About WordPress MCP
What is a WordPress MCP and What Can It Do?
MCP stands for Model Context Protocol. It is as an open standard that lets AI assistants connect to outside tools and services.
Think of it as a universal adapter. Instead of every AI tool building a custom integration with every service, they all speak the same language, so any tool and service that support MCP can work together.
With a WordPress MCP, your AI assistant can see what your website supports and carry out tasks from a plain-text prompt. It does this using a connection WordPress already has built in (the REST API), so thereâs nothing extra to install.
You can use WordPress MCP to manage your WordPress site and perform tasks including:
- Draft and publish posts â Create blog posts as drafts, set titles, add categories and tags, and publish when youâre ready.
- Upload media â Pull images from any public URL directly into your WordPress media library.
- Manage categories and tags â Create or rename taxonomy terms and assign them to posts.
- Run admin tasks â Flush your site cache, check which plugins are active, and activate or deactivate plugins.
- Use plugin abilities â On WordPress 6.9+, many plugins register their own actions the AI can discover and run automatically
Each of these can be done from a plain-text prompt from your favorite AI tool like Claude Code, Cursor, ChatGPT, etc. Iâll show you the exact prompts once youâre fully set up.
What You Need Before Getting Started
- Self-hosted WordPress 6.9 or later â With the REST API enabled (itâs on by default). You need version 6.9 or later for plugin abilities API which is allows you to use AI to manage plugins like AIOSEO, WPForms, etc.
- A publicly accessible site â Your site must be reachable on the internet because local development sites wonât work unless exposed via a tunnel.
- A free WPVibe account â Youâll create this during setup.
- An HTTPS-enabled site â WordPress application passwords require SSL and they wonât function on
http://sites. See our guide on how to add SSL and HTTPS to WordPress.
Step 1. Set Up MCP on Your WordPress Website
The easiest way to add MCP to a self-hosted WordPress site is with WPVibe.ai. Itâs free and runs on a hosted server, so thereâs no infrastructure to configure. It also works with every major AI tool through a single setup.
You can read our full WPVibe review for a deeper look at everything it can do, but this guide covers what you need to get connected.
Other ways to set this up: Thereâs also an official WordPress MCP Adapter, which pairs with the new Abilities API in WordPress 6.9, but itâs built for developers and needs manual configuration.
Install and Activate the Vibe AI Plugin
First, you will need to install and activate the free WPVibe plugin. If you need any help, our guide on how to install a WordPress plugin covers each step.
Along with connecting your AI tools, the WPVibe plugin unlocks WP-CLI commands, theme file editing, and the plugin abilities that I talk about later in this guide.
Once activated, go to Vibe AI » Vibe AI in your WordPress dashboard. Youâll see the MCP server URL and a three-step setup guide.
Keep this tab open. Youâll need the URL in the next step.

Step 2. Connect Your AI Tools to WordPress
With WPVibe set up, connecting your AI tool takes under a minute. You add the same server URL to any AI client you use:
https://mcp.wpvibe.ai/mcp.Youâll find instructions on how to do this in the official WPVibe documentation. But let me show you exactly where to find that setting in some popular AI platforms.
Connecting Claude
If youâre just getting started, I recommend beginning with Claude.
The simplest method is to add the WPVibe URL once via Claude.ai on the web, and it syncs automatically to Claude Desktop, Claude Code, and the Claude mobile apps with no separate setup needed.
Note: On Team and Enterprise workspaces, only an Owner or Admin can add connectors. Individual members on those plans can authenticate with WPVibe once the admin has added it, or use the Claude Code method in step 3 below.
- Free, Pro, and Max plans: In Claude.ai, go to Customize » Connectors. Click the + button, select âAdd custom connectorâ, and paste
https://mcp.wpvibe.ai/mcp. - Team and Enterprise (admin only): Go to Organization settings » Connectors. Click âAddâ, select Custom » Web, and paste the WPVibe URL.
- Claude Code (any plan): In your terminal, run
claude mcp add --scope user wpvibe --transport http https://mcp.wpvibe.ai/mcp. Then, open Claude Code, type/mcp, select wpvibe, and choose âAuthenticateâ.
Once saved, follow the on-screen prompt to authorize your WordPress site.

Connecting ChatGPT
WPVibe is available directly in the ChatGPT App Marketplace, so both free and paid users can connect without copying server URLs or editing config files.
In ChatGPT, click âAppsâ in the sidebar and search for WPVibe. Then click âConnectâ on the app page and sign in with your WPVibe account when prompted.
After connecting, ChatGPT pre-fills â@WPVibeâ at the start of each message. You can delete it with backspace for prompts unrelated to WordPress. Leave it in place when following the authorization step below.

Connecting Cursor
Cursor adds MCP servers through a JSON config file. In Cursor, go to Settings » MCP and click the âAdd new global MCP serverâ button. This opens the
mcp.jsonfile.Add the following entry and save:
{ "mcpServers": { "wpvibe": { "url": "https://mcp.wpvibe.ai/mcp" } } }Make sure you restart Cursor after saving.
WPVibe will appear in the MCP list once it connects.

Connecting Windsurf
In Windsurf, open the Cascade panel and click the âPluginsâ icon (puzzle piece). Search for WPVibe, click âEnableâ, and complete the sign-in flow when prompted.
To configure manually instead, edit
~/.codeium/windsurf/mcp_config.jsonand add the following, then restart Windsurf:{ "mcpServers": { "wpvibe": { "serverUrl": "https://mcp.wpvibe.ai/mcp" } } }Note: Windsurf uses
serverUrl(noturl) in its config file. Using the wrong key will cause the connection to fail.Authorize Your WordPress Site
With the MCP URL added to your AI client, go back to Vibe AI » Vibe AI in your WordPress dashboard.
Under step 3, youâll find a ready-to-copy prompt with your siteâs URL already filled in.

Paste that prompt into your AI chat. Your AI assistant will call WPVibe and return a one-click authorization link. Simply click it to approve the connection.
You never see or copy a password. WordPress and WPVibe handle the credentials securely in the background.

What You Can Do Once Youâre Connected (Worked Examples)
Once your AI tool is connected to WordPress, here are the first prompts I tried, including one for WooCommerce store owners.
My examples are from Claude Code terminal, but these will work with whichever AI tool you connected.
1. Write and Draft a Blog Post
Type this into your AI tool: âCreate a draft WordPress post titled âHow to Start a Blogâ with an intro paragraph explaining why blogging is still worth it.â

Your AI assistant calls the WordPress REST API, saves the post as a draft, and returns a confirmation with a link to edit it in wp-admin.
Nothing goes live until you choose to publish it yourself.

2. Upload a Photo to Your Media Library
Type: âUpload this image to my WordPress media library: [paste a public image URL]. Set the alt text to âA person working at a laptopâ.â

WPVibe validates the source URL, downloads the image, and adds it to your media library with the alt text you specified.
You can reference it in any post from there.

Note: The prompt above uses a public URL, which is the simplest approach. Uploading a local file from your computer works too, but WPVibe will generate a browser upload link as an intermediate step.
3. Manage Your WooCommerce Store
WooCommerce 10.9 ships with native MCP support, which exposes product and order abilities through the same standard that WPVibe uses.
If your site runs WooCommerce, try: âDraft a new product called âSummer T-Shirtâ with a short description and a price of $29.95.â

The product saves as a draft in your store. Beyond creating products, your AI can also query orders, update their status, and add order notes, so you can handle routine store admin from the same chat window.
You can see the example below.

The next three examples go beyond WordPressâs built-in actions. On WordPress 6.9 or later, plugins can register their own actions (called âabilitiesâ) that your AI discovers automatically, so if you use these tools, you can drive them from the same chat.
4. Optimize Your SEO with AI
If you use AIOSEO, then you can ask your AI to handle common SEO tasks from the chat window. It can check TruSEO scores, generate meta titles and descriptions, and run SEO audits.
My starting point was to ask it to find every post missing a meta description and write one for each.
Try this prompt: âFind all posts missing meta descriptions and write and apply them in one go.â

Your AI checks every post, writes the missing meta descriptions, and applies them through AIOSEO in one step.
See our complete AIOSEO setup guide to get it configured first.

5. Manage Landing Pages and Maintenance Mode
If you use SeedProd, then your AI can manage your coming soon page, maintenance mode, and landing page settings without going into wp-admin.
For example: âCheck if maintenance mode is currently activeâ or âEnable the coming soon page.â
6. Build a Form with AI
If you use WPForms, then your AI can build forms from a plain-English description.
Try: âCreate a contact form with name, email, and a message field.â WPForms creates the form in your dashboard, ready to configure and embed.
Before using this, make sure you enable write access under WPForms » Tools.

WPForms Lite supports basic field types. Paid plans add phone, date/time, file upload, and more.
See What Your Site Can Do
You donât have to guess which of your plugins support this. Because WPVibe automatically discovers every registered ability, you can just ask your connected AI: âWhat can you do on my WordPress site?â
It will list the abilities your installed plugins expose, so the answer stays accurate no matter which plugins you run.
Is WordPress MCP Safe?
I had the same concern when I first tested this. Hereâs how WPVibe handles security.
WordPress manages the connection using application passwords, a built-in feature that creates a separate password for each external tool you connect. The AI only gets the permissions of the user account you connected.
So, itâs worth connecting with a limited, non-admin account rather than your main administrator login. If you create a dedicated Editor-role user for the connection, then the AI can only do what an Editor can do.
WPVibe encrypts your application password before storing it, using a separate key for each site, and keeps it on secure servers hosted by Cloudflare. Every connection between your AI client, WPVibe, and your WordPress site is encrypted too, so your credentials are never exposed along the way.
WPVibe also doesnât store your conversation content. It stays within your AI client.
On the WordPress side, new posts always save as drafts and deletions go to the trash rather than permanent deletion.
To fully revoke access at any time, go to Users » Profile in your WordPress dashboard and scroll down to the Application Passwords section to delete it.
Troubleshooting Connection Issues
Connecting your AI client to WordPress is the step that trips people up most often.
If the connection fails or WPVibe doesnât appear, then work through these checks:
- WPVibe isnât in your clientâs tool or MCP list â Restart the AI client after saving the config. New MCP servers only load on a fresh start.
- The connection fails silently in Windsurf â Windsurf uses the
serverUrlkey, noturl. The wrong key produces no error message, so double-check it. - Application passwords wonât authenticate â Your site must run on HTTPS. Application passwords donât work over
http://. - Your AI client canât reach the site â The site has to be publicly reachable. A local development site wonât connect unless you expose it through a tunnel.
- Authorization keeps failing â Re-check that you pasted the correct MCP server URL:
https://mcp.wpvibe.ai/mcp.
Frequently Asked Questions About WordPress MCP
Is WPVibe free?
Yes. WPVibe has no API key costs and everything in this guide works on the free plan. There is now a paid Pro plan (early-access pricing, $99 per year) that adds higher daily usage limits and priority support, not new features, so you donât need it for anything covered here.
Does WordPress MCP work with all AI tools?
WPVibe works with Claude.ai (web), Claude Desktop, Claude Code, ChatGPT, Cursor, and Windsurf. Because MCP is an open protocol, any new AI tool that adopts the standard will work with the same WPVibe setup automatically.
Does WordPress MCP work with WordPress.com?
No, not through WPVibe. WordPress.com has its own built-in MCP setup that works differently. This guide covers self-hosted WordPress (WordPress.org) only.
Do I need WordPress 6.9 to use MCP?
No. You can create posts, upload media, and run admin tasks on WordPress 6.0 or later. WordPress 6.9 is only required if you want to use plugin abilities like those from All in One SEO or SeedProd.
Can I connect more than one WordPress site to WPVibe?
Yes. WPVibe supports multiple sites under one free account. Install the Vibe AI plugin on each additional site and complete the site authorization step. Your existing WPVibe account covers all your sites.
What happens if I disconnect WPVibe from my site?
You can remove a site from WPVibe in the plugin admin or on wpvibe.ai at any time. To fully revoke access, also delete the credential under Users » Profile » Application Passwords.
I hope this article helped you get WordPress MCP set up on your site. You may also want to see our guide on the best AI Automation Tools for WordPress.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
The post How to Connect AI Agents With WordPress using MCP (Step by Step) first appeared on WPBeginner.
-
Dennis Snell: See DATA, CDATA, RCDATA, and PCDATA oh my!
HTML and XML are markup languages based on plaintext files. This means that any given character could be part of a syntax form (a tag, a comment, a character reference, etcâŠ) or it could be representing itself the way it reads in the file literally.
<tag>· Text node</tag>Whenever a character might be ambiguous, both languages require explicit indication of the intent of the character. In HTML this occurs via escaping, while XML allows escaping or wrapping the content in a marked section, specifically a
CDATA section.<tag><![CDATA[<tag>· Text node</tag>]]>These terms confuse me at times, especially since
CDATAandCDATA sectionsare distinct forms of the same content, and itâs easy to conflate each term. This post is here to disambiguate the terms, their meanings, and why they exist.The punchline comes at the end, but the story is hopefully worth the read.
Markup and mixed content
One of the first jobs of a parser for any plaintext-oriented format is to determine if the next input character represents real text or is part of a syntax form that carries special meaning. If itâs a syntax form we would call it markup, but if the characters are part of real text meant for display or rendering or reading then we call it data.
Anything that is not syntax is data.
The interpretation of the next character depends on the region of the document in which itâs parsed. While the rules for syntax forms are complicated1, this post will focus on the data forms.
PCDATA â âparsed character dataâ
May form: tags, comments, sections, character references, literal text.
Characters in this region could be data or could form the start of a new markup element. Itâs âparsedâ because it needs parsing before determining what it represents.
The HTML specification renames this to
Data, which is simpler and a bit harder to search for. In XML, however, itâs used in a document-type definition (DTD). When an element may contain content â text â its data model must include#PCDATA. Otherwise the only characters allowable within that element are other elements, comments, and whitespace. XML documents are required to be valid SGML documents, so its own specification adopts the terminology from SGMLâs.Those who have worked with DTDs might note that elements in XML may contain
#PCDATAwhile attributes containCDATAinstead. First of all, the#is there only to make it explicit thatPCDATAis referring to the reserved keyword, rather than a<pcdata>element. Secondly, thereâs a good reason for this, which is that attributes can only contain text â they canât contain other elements of markup. If an attribute value could contain a<span>element, for example, then the attribute value would need to be#PCDATAinstead, but this is prevented by design.PCDATA actually contains more than just literal text and elements. In addition to comments, processing instructions, and other node-like syntax, one important feature of PCDATA is the character reference. These make it possible to represent characters that would conflate with syntax (such as â
<â â<) or which might be cumbersome to enter on a keyboard (such as â§â â§). When parsing, each character in these sequences neither creates an element nor displays as the text itself; rather, the entire sequence is parsed and translates into the character it refers to.HTML pre-specifies a fixed set of named character references, but any Unicode code point may be referenced by its decimal or hexadecimal numeric index. While XML also allows referencing code points by their index2, it only pre-specifies the five named characters which correspond to its main markup introducers:
<,>,&,', and". In XML, any additional named character references are created through the DTD by defining entities.CDATA â âcharacter dataâ
May form: [character references], literal text.
If a character isnât markup, then itâs character data, which means that itâs representing its literal self or itâs part of a character reference. Once the parser has entered this region it will not create markup elements.
CDATA is the most confusable kind of character data; this is because there are many kinds of CDATA that share the same name:
- XML attributes may contain CDATA, where character references are decoded.
- XML CDATA sections only contain CDATA, but character references are not decoded.
- HTML kind of has the same CDATA sections, but only in foreign elements (inlined SVG and MathML elements).
- SGML elements may be declared to have a CDATA content model, in which case all content until the appropriate closing tag is to be parsed as character data, where character references are not decoded.
CDATA sections contain only literal text
Many people are familiar with
CDATA sections, but it took me far longer to understand them than my intuition led on. They are the vestige of SGML âmarked regionsâ which tell the parser to handle a specific range of bytes in a special way. TheCDATAsection is one of those, which tells the parser to completely turn off until it reaches]]>.<![CDATA[literal characters only in here]]>It had other marked sections, however, which served different purposes.
<![IGNORE[everything in here is ignored; it doesnât exist.]]><![INCLUDE[in here things <em>do</em> exist as normal.]]><![RCDATA[read on to learn about RCDATA!]]>The
IGNOREandINCLUDEsections may seem strange, since SGML already has comments, andINCLUDEeffectively does nothing, but the sections can be marked by replaced entities, making for conditional inclusion which can be overwritten via command-line arguments when invoking the SGML parser.<!ENTITY % review-only "IGNORE">...<![%review-only;[<aside>Add `-Dreview-only=INCLUDE` when building drafts.This note wonât appear otherwise.</aside>]]>XML only retained CDATA sections from SGML, while HTML never included them. They are useful because they are so easy to parse. All characters inside of them are to be treated as literal text, up until the first occurrence of the terminating
]]>. Unlike elements, the marked sections do not nest.There are no CDATA sections in HTML
The Internet is full of discussions about the use of CDATA sections in HTML, but there are no such things, mostly. HTML itself is an amalgam of pure HTML and embedded SVG and MathML. Content inside of those embedded SVG and MathML elements is parsed differently, and within this âforeign contentâ there are
CDATA sectionnodes.When something which look like a CDATA section appears in an HTML document, itâs transformed into a âbogusâ HTML comment and considered a snippet of malformed markup. To make things more confusing, the parsing rules differ inside an HTML document for these regions depending on whether they are found within HTML elements or foreign elements.
- When a real CDATA section appears within SVG and MathML, it parses as in XML or SGML â everything is literal text until the nearest
]]>. - When a malformed CDATA look-alike appears in an HTML element, it gets special treatment â the parser only turns off until the nearest
>. This means that these sections end even without a closing]]>, and when they do, all of their contained content disappears from the page.
That small difference confuses naĂŻve parsers and is a regular source of bugs.
<div><![CDATA[There are no tags in here.]]></div><svg><text><![CDATA[<none> here either.]]></text></svg><div><![CDATA[But there <em>are</em> tags in here]]></div>the section ends here ⯠Ⱐstart of a real end tagThe following is the equivalent markup to the third line.<div><!--But there <em-->are</em> tags in here]]></div>SGML contains CDATA regions outside of marked CDATA sections
SGML made it possible to define more kinds of content than XML does for a given element. For example, an element in SGML can be declared to have a CDATA content model, in which case the element itself behaves like a CDATA section. All characters after the opening tag are treated as literal text until the parser finds the nearest appropriate end tag3. XML rejected this ability because it increases the complexity of the parser and requires that every document also contains a full DTD when parsing. For example, if an element were declared to have CDATA content, then
a <at> bwould represent that literal string; on the other hand, if it were declared like any other normal element, it would have three children: âaâ, the<at>opening tag, and âbâ.<!ELEMENT verbatim - - CDATA>...<verbatim>There are <no> tags in here, because this is CDATA,but you wouldnât know without reading the DTD,overcomplicating the demands on the parser.</verbatim>These kinds of elements do exist in HTML, though a few were modified when HTML5 was standardized in 2008. Inside of the elements, the parser essentially turns off, which makes them easy to parse and can help avoid the need to extensively escape content. These elements are, of course,
<script>and<style>4.Were it not for the CDATA declared content model, every angle bracket and ampersand would have to be escaped in included JavaScript and CSS. In XHTML this was required, because it had no CDATA declared content model (since it was XML)5.
All text in XML is CDATA
Herein lies the most-confusing aspect of discussing CDATA â XML contains CDATA sections as well as CDATA as normal text. After parsing there is no distinction between
<tag>and<![CDATA[<tag>]]>in the parsed content.Many XML generators (or serializers) provide two mechanisms for creating text content: one wraps text in a
CDATA sectionand leaves the text as it came (apart from avoiding including the terminating sequence); the other escapes syntax characters instead. While there are times where it would be appropriate to intentionally pick one over the other, a good library design would at least offer a third mechanism (if not only providing this third mechanism) which simply produces CDATA, itself determining when to wrap and when to escape6, and whether or not to produce chunks of wrapped text interspersed with chunks of escaped text.The real difference between these two kinds of CDATA is purely presentational in the source document, as the XML snippet below only contains one text node, not two. Creating CDATA does not imply creating a
CDATA section!<rule><![CDATA[#X13<d&r>]]> (&pp;4 &ss;3.11)</rule>RCDATA â âreplaceable character dataâ
May form: character references, literal text.
Thereâs one more confusing designation for characters in the HTML and XML input streams: RCDATA. RCDATA is almost identical to CDATA, except that in contexts where CDATA does not decode character references and entities, RCDATA will decode them into CDATA. This is confusing, because in the context of an XML attribute, the
CDATAdesignation in a DTD automatically implies that character references are decoded, unlike theCDATAsections in content.To this end there are no RCDATA attributes, since character references are always decoded inside attribute values. The RCDATA declaration is like the SGML CDATA content declaration: all characters following the opening tag for this element will be treated as text until the nearest matching closing tag (the difference being only that character references are recognized and decoded).
Itâs worth remembering that XML rejected the CDATA content type because of how it complicates parsing, and it also rejected the RCDATA type. On the other hand, RCDATA was incorporated into HTML, but statically so. HTML has no configurable DTD, but in its specification two elements contain RCDATA content:
TITLETEXTAREA
While itâs easy to comprehend the way that
<textarea>works, and thatâs probably because we are used to entering text into one on a web page, the behavior of<title>is consistently confused in all manner of programming languages, platforms, and HTML-parsing code.The TITLE element only contains character data â it cannot contain other markup. The parsing is among the easiest sections of an HTML document to parse: once the
<title>opening tag is detected, the parser can capture everything until the nearest</title>closing tag. Everything it captured is literal text, after decoding character references.<!-- the title is "<title>" --><title><title></title><!-- equivalent HTML --><title><title></title>This complicates content management systems like WordPress which allow posts to have HTML in their post titles, because a page can show richly-formatted article titles which cannot be represented in the browser tabâs label, and care must be taken to extract the plaintext content from that HTML before display in those contexts.
Coda
HTML and XML both speak about different kinds of characters in their source documents and content models, which traces from the complicated ways that SGML documents could be constructed. SGMLâs complexity almost always stems from the central idea that computers should do extra work to remove the hassle for humans to enter structured content in plaintext documents.
HTML, inspired by SGML, adopted some of the names and mechanisms for parsing those regions of text in distinct ways, but codified a single parsing standard independent of SGML. When XML was later developed, it was meant to form a simplified subset of SGML. This subset flipped the tradeoffs, leaning on humans performing extra work to remove the hassle for computers to parse structure in plaintext documents. For these text forms, this meant rejecting a few of the constructs while retaining others.
This is also another demonstration of how balanced tags are not enough to have well-behaved HTML with a naĂŻve parser. A well-formed XML document may be parsed with a terse PERL script and regular expression, but HTML relies heavily on the context in which characters are found. Any HTML parser must know the special rules for each kind of elementâs content model.
In summary
- When itâs unclear whether a character forms text or markup, that is PCDATA. Once parsed, there is no PCDATA anymore; itâs either a form of DATA or MARKUP.
- All text nodes in HTML are âDATA.â
- âCDATAâ just means âcharacter dataâ and means that after parsing, the content is text. It does not indicate whether character references are to be decoded or not; that comes from the region in the document, based on its context.
- There are no CDATA sections in HTML7.
- All text nodes in XML are CDATA, but only after being parsed.
- CDATA sections offer a convenient way to avoid escaping, but are indistinguishable from the equivalent escaped text.
- HTML contains two special RCDATA elements which only and always contain a single text node child:
<title>and<textarea>. Everything until the closing tag will be parsed as text, even if it looks like markup.
This post is already long and still over-simplifies the picture. SGML is a rich and robust specification and includes
NDATAandSDATA, HTML includes a latchingPLAINTEXTparsing mode in which the rest of the entire document is parsed as literal character data, and there are other surprising goodies in how entities interact with the character mode.Thanks for making it through to the end, or jumping directly here if you couldnât wait.
- As an example, each part of a tag â its name, attribute names, attribute values â carries its own parsing rules. The same is true for comments, DOCTYPE declarations, and every other syntax form.
ïž - XML only allows character references to the characters in its âcharacter set,â which is almost all Unicode code points, but excludes some control characters and U+FFFE and U+FFFF.
ïž - Because SGML was designed to minimize the amount of necessary syntax, itâs not necessary to have a full end tag for an open element, but thatâs a simple-enough model to understand the concept.
ïž - The
<style>element is straightforward, but the<script>element has its own complicated modification of the CDATA content model. Itâs mostly CDATA, but makes it possible to escape the closing tag so that very old pages wonât break. HTML also applies this parsing mode for the<iframe>,<noembed>,<noframes>, and<noscript>elements (as well as for the deprecated<xmp>element), but these nominally should have no content inside of them (or shouldnât be used); applying the CDATA content model prevents creating other elements as their children.
ïž - Frustratingly, in XHTML one must escape JavaScript and CSS in the page to avoid parsing failure, while in HTML one must not. This alone makes for a complicated stage in any reliable HTML/XHTML converter.
ïž - Wrapping a language like HTML inside a CDATA section is a convenient way to represent the HTML visually and retain the ability to easily modify it, but entities present a problem. The serializer must either pre-translate the entity into its resolved character content, losing the macro-like behavior and its name; or leave the entity in place, thus nullifying it because it will not be recognized as an entity on parse. However, in such a situation, a serializer is free to terminate the CDATA section, append the entity, and open a new one to continue.
ïž - As mentioned in the discussion about CDATA, embedded SVG and MathML elements can contain CDATA sections, but these are not technically HTML elements.
ïž
-
Gutenberg Times: WordPress 7.0.1 Fixes Registration Spam, wp_kses() CSS Corruption, and 7.0 Admin Design Glitches
WordPress 7.0.1 is now available. As the first maintenance release of the 7.0 cycle, itâs strictly a bug-fix release: every included ticket addresses either a regression introduced during 7.0 development or an issue intentionally deferred at the end of the cycle.
The release ships fixes for 17 core Trac tickets and 14 Gutenberg PRs. Because this is a maintenance release, sites with automatic background updates enabled will update to 7.0.1 automatically â everyone else should update as soon as possible. Hereâs what stands out for each audience.
Kudos to release lead Aaron Jorbin and his team for pushing this release over the finish line and getting it into hands of WordPress users quickly.
The most important fixes for end users
Registration page spam is shut down (#63085). The account registration page could be abused to send âLogin detailsâ spam emails from your site. This is arguably the most impactful fix in the release for anyone running a site with open registration â it protects both your usersâ inboxes and your domainâs email reputation.
The 7.0 admin reskin gets its rough edges sanded off. WordPress 7.0âs refreshed admin design shipped with a handful of visual glitches that this release cleans up:
- Form elements are now standardized in the mobile viewport (#64999)
- The image editorâs scale and crop inputs no longer mismatch in size, and the info icon uses the new color scheme (#64937, #65428)
- The publish settings panel no longer crowds its primary action buttons together (#65286)
- The Media Libraryâs loading spinner is properly aligned in the modal filter toolbar, and the search bar no longer jumps position after a search (#65275, #65296)
- A âblack flashâ that briefly appeared on wp-admin pages before the interface finished loading is gone (Gutenberg #78493)
Emoji behave correctly again. Two related fixes: the emoji detection script is once more printed in the admin (#65310), and certain characters are no longer incorrectly replaced by Twemoji images (#64318).
Accessibility improvements to the new revisions experience. The Visual History / Revisions feature introduced in 7.0 receives several accessibility fixes: focus now moves to the revisions slider when entering revisions mode, and changed blocks are marked with a CSS outline as a secondary, non-color indicator â important for users with low vision or color blindness (#65122, Gutenberg #77530, #78393, #79691).
The most important fixes for developers
wp_kses()no longer corrupts valid CSS (#65270). Since 7.0 RC4,wp_kses()could mangle legitimatebackground-image: url(âŠ)declarations into a brokenstyle=")"attribute. If your theme or plugin outputs inline background images through KSES-filtered content, 7.0.1 restores expected behavior â any workarounds you shipped can now be removed.global-styles-inline-csscan be dequeued again (#65336). Since 7.0, developers were unable to remove the global styles inline stylesheet. If your build pipeline or performance optimization strips this and re-serves it another way, that control is back.PHP 8.5 compatibility fix in
wp_get_attachment_image_src()(#64742). An incorrect array access triggered issues under PHP 8.5. If youâre testing sites on newer PHP versions, this removes one blocker.A removed Navigation function returns as a deprecated shim (Gutenberg #78484).
block_core_navigation_submenu_render_submenu_icon()was removed in 7.0, breaking themes and plugins that called it directly. Itâs restored as a deprecated shim â but treat this as your migration notice, not a reprieve. Update any code that references it.Editor state management fixes reduce false âunsaved changesâ warnings. Two Gutenberg fixes matter here:
- controlled/mode block changes are now marked non-persistent (#79350), and
- related navigation entities are no longer dirtied during passive renders (#79000).
Together these should mean fewer spurious dirty states and a cleaner undo history â a quality-of-life improvement if you build with template parts and navigation blocks.
Block Visibility: âhide everywhereâ keeps working after a block opts out of visibility support (#65389). If you register blocks that disable visibility support, previously hidden instances now stay hidden as expected.
How to update
You can update directly from Dashboard â Updates in your siteâs admin, run
wp core updatewith WP-CLI, or download WordPress 7.0.1 from WordPress.org and install it manually. Sites that support automatic background updates for minor releases will begin updating on their own shortly.The full ticket list is available in the release candidate announcement, Trac report 4, and the 7.0.x editor tasks board on GitHub.
Whatâs next: WordPress 7.1
With 7.0.1 out the door, attention turns to the next major release: WordPress 7.1 is scheduled for August 19, 2026. To see whatâs planned for the release, check out the Roadmap to 7.1 on the Make WordPress Core blog.








The latest episode is 