esigner were to make a change to one of these, say they want to make the background color something else, they could make that change here, and then go ahead and push it up to GitHub. And from there we go to our tool, to the Design Bridge tool to get the tokens from the standard format in which they&#8217;re stored out into our WordPress theme. So I will show you that next.</p>\n\n\n\n<p>So here we are. This is our design system repository that houses all of our tokens and then all the components of our design system for our React application, for our dashboard. So in terms of WordPress or WordPress applications, this just houses the tokens. Everything else in terms of components and things are the Gutenberg blocks. That&#8217;s all coming from WordPress Core, and then any custom block plugins that we&#8217;ve made. So what you&#8217;re looking at here, is this is how all of our design tokens are saved. So yeah, it&#8217;s a standard format. The W3C is working on a new web standard for design tokens, and this is what Token Studio outputs to GitHub. And you see that we&#8217;re able to alias between tokens. We have a core set that has all of our underlying color palettes and type scales and things, and we, from all those raw values, curate the values that are going to get used in our WordPress applications.</p>\n\n\n\n<p>So you can see here our body one short style are these attributes that then get applied as CSS in our WordPress application. So this is how they&#8217;re stored. And in order to get things from here into theme.json, where they can be applied to our blocks, into our global styles, we created a tool called the Design Bridge. So I&#8217;m going to go ahead and I&#8217;m going to run it. It doesn&#8217;t look like a whole lot, but I&#8217;ll show you what it does on the other side. So it runs in the command line right now. And we did that so that people can automate this, you can work it into an existing dev workflow to just make it more flexible. It could run as a GitHub action. You can do a lot to automate this process.</p>\n\n\n\n<p>But for right now, I&#8217;m going to do it manually. And all it does, is it takes two arguments. So it takes the token path, which is the path to where the tokens live, which is right here, what we&#8217;re looking at. And then it takes the path to the theme where it will look for a theme.json file, and then you pass it the value of a token theme. So these are things that Token Studio creates to tell it what token files to activate basically. And then you choose whether you want it to overwrite your existing theme.json file or not. And we&#8217;ll go ahead and hit enter. It will do its magic, and then it will tell you that it&#8217;s done. Say, &#8220;Hey, we did it.&#8221; So next we&#8217;ll pop over to pop to our WordPress application and see what that looks like.</p>\n\n\n\n<p>So here we are in our theme.json file, and what our tool does, is it outputs all of our design tokens as variables in the custom object in theme.json. So if you&#8217;ve done any amount of theme.json work and working with global styles, you&#8217;ll know there&#8217;s this little custom object that sits inside of the settings object in theme.json. And this is just a blank thing that you can put whatever you want in. And everything that you put in here will be exposed to CSS variables along with any global styles that you are adding. So this has just been reformatted and output here into theme.json. And the format&#8217;s very similar. It&#8217;s not exactly the standard format, but it is pretty close. But it does go ahead and output the design system, essentially.</p>\n\n\n\n<p>And so what this does is it exposes it in a predictable way in the DOM as CSS variables that are named according to the standard way that Gutenberg names all of its CSS variables. And that means that you can reference them in block development and you can point all of your blocks and all the work you&#8217;re doing to style your theme. You can point it at a constant set of variables that can be swapped out exactly the same way that we swapped out the styles and Figma, like I just showed you, you can do the same thing on a WordPress application.</p>\n\n\n\n<p>Yeah, so I&#8217;ll show you what that looks like now. All right. So here we are. This is Parse.ly. This is the website for our content analytics product at WordPress VIP. And this is one of the two web applications right now that we have running on our theme that is set up to integrate with our tool here. And as you can see, it looks all green and looks branded appropriately. And I&#8217;m going to go ahead and swap the tokens and you can see what happens when it does that. So I&#8217;m going to go ahead and run our sync and do it. And there you go. You can see what happens is it changes, you see font styles, you see colors changing. It&#8217;s not a huge change, because we haven&#8217;t designed it to be very divergent between the brands, but you do see the front end styles get swapped out and it works pretty well and makes it pretty easy to manage a multi-brand system of WordPress applications. And so next, let&#8217;s look at what this looks like in the block editor.</p>\n\n\n\n<p>Okay, so now we&#8217;re in a local dev site here, and this for me is really where the magic and the value of this really happens. So this is a sample page and we&#8217;ve got this set up with our styles. We&#8217;ve got this set up to be pulling from the global styles we&#8217;ve defined, all the block styles we&#8217;ve defined. You can see in here we&#8217;ve got our pallets defined for this particular brand, Parse.ly, and these are coming from theme.json. And so if we go ahead and run the same sync&#8230; I&#8217;m going to run the sync and then refresh the page here. You can see what happens if I swap the theme from Parse.ly back to WPVIP. And looks like that sink is done. I&#8217;m going to refresh. And you see everything changed. Everything goes gold. You get the brand colors from VIP. And this stuff is achievable with CSS. You can swap out CSS styles, you can point at a different style sheet.</p>\n\n\n\n<p>But I think what makes the integration in theme.json super valuable is that you get all of your block options are updated as well, because all of these are also coming from theme.json. So not only are you getting front end style updates, but you&#8217;re getting updates in interactivity in the backend, which is great. That&#8217;s really what you want to be able to make a good user experience and to be able to manage multiple user experiences and have it all get integrated easily with your design tooling. So yeah, there you go. That&#8217;s the high level, a lot of detail to talk about, but this is the quick rundown of what the tool can do.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Excellent. Excellent.</p>\n\n\n\n<p><em>David Bowman</em>: There you go.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Well, thank you so much for the demo. It&#8217;s kind of whose head is spinning, but I really love that flow from the designers work here, and then you can just write some script or run some scripts and then you have it all in the theme already. Does it also work backwards, or is it only one direction?</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"6-strong-bidirectional-strong\">Bidirectional</h2>\n\n\n\n<p><em>David Bowman</em>: It&#8217;s bidirectional. What it does is it sets up&#8230; Our GitHub repo, our design system repo is the actual source of truth. And so that means that a developer can use an IDE to edit that code file and save it. Or a designer can use Figma to edit that same file and save it and its version controlled with Git and they can both pull down each other&#8217;s changes and it brings designers into an actual dev workflow on a design system. At least for the tokens. Just for the tokens.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Just for the tokens, yeah. We don&#8217;t have any questions from the audience right now, but Joni, do you have any questions? Or David and Alec?</p>\n\n\n\n<p><em>Joni Halabi</em>: I don&#8217;t know where to start.&nbsp;</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Are you muted or&#8230; No.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"7-strong-opinions-using-word-press-strong\">Opinions using WordPress</h2>\n\n\n\n<p><em>Joni Halabi</em>: I was at a loss for words. It was a very cool demo. I&#8217;m very excited by that switch where both the front end and the block options change, because that&#8217;s something that could&#8230; So at Georgetown we have two different themes and they look pretty different. They&#8217;re similar in terms of colors, but not exactly the same, slightly different fonts, slightly different colors. And to be able to have the ability to switch between the two&#8230; Because we have a lot of sites who are wanting one theme over the other.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah.</p>\n\n\n\n<p><em>David Bowman</em>: I mean I have questions for you. I am extremely curious about&#8230; Because like I said, everyone does this their own way. Every organization that I know that has a design system&#8230; I think there&#8217;s a reason that every big company out there has made their own. Google made one, Amazon made one, Salesforce. They all make their own because they all do it differently. And so I guess, is WordPress your primary user facing surface that you&#8217;re maintaining or do you have other stuff? Do you have React applications or is it pretty much just WordPress sites?</p>\n\n\n\n<p><em>Joni Halabi</em>: For our team, it&#8217;s pretty much just WordPress sites. The history of our team, we&#8217;ve actually worked with a number of CMSs. I think this might be our fourth or fifth overall, but WordPress is our primary UI just because it&#8217;s a very easy UI, especially for those content editors who don&#8217;t have a ton of experience, it&#8217;s easy for them to pick up. And I feel like it&#8217;s gotten easier. I&#8217;m hoping it&#8217;s gotten easier since the classic editor. But yeah, I mean in the future, one of the big reasons why we created our own design system, we call it our pattern library, and the reason why that pattern library is external is in the future, if we do have some external application that we want to hook into or we have a piece of software like an LMS or something that will let us customize the front end, we can say, &#8220;Hey, you can go grab this twig file and there&#8217;s your custom header, or here&#8217;s your custom footer, or here is the color palette that we want this to use.&#8221;</p>\n\n\n\n<p>We wanted something that was a little bit more universal and not necessarily in WordPress. So we built this pattern library. Actually my colleague was the one who really architected the entire thing. It&#8217;s built-in kss-node and it&#8217;s really slick. We can take those styles and take those twig files and import them into our WordPress build, but we also have a front end interface for this pattern library that includes documentation and different variations on patterns and such so that somebody who just wants to see all of these different foundational elements or what a block looks like, they can do that with a front end that isn&#8217;t necessarily associated with our WordPress installation.</p>\n\n\n\n<p><em>David Bowman</em>: That&#8217;s super interesting, because it sounds like you guys are doing the part of the integration that has terrified me up until now. I think design tokens are&#8230; Well, not easy, but it&#8217;s easier. They&#8217;re just little variables. They&#8217;re little bits of data that you can pass back and forth, and it&#8217;s a mapping exercise to get it to go to the right place. But when it comes to actually having&#8230; Like if you look at another design system, there&#8217;s their tokens, and then they have their components and all of those components, when we started working on design system integration stuff, I went under the assumption that the WordPress Core blocks are your component library. That if you&#8217;re integrating with WordPress, you get a component library and you should think of it as another framework that you support.</p>\n\n\n\n<p>So Google material supports React and View, and if your design system supports library A also supports Gutenberg. And Gutenberg is very opinionated about what blocks it has and how you use them. And so I took all that for just for granted. I was like, &#8220;Cool, we&#8217;re going to assume core blocks and go from there and then build some custom stuff.&#8221; But it sounds like you&#8217;ve gotten much further than that. You have this whole&#8230; You got a whole thing run in to put all the core blocks together. Are you using Core blocks? What are you&#8230; I guess, tell me more about this.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"8-strong-using-core-blocks-strong\">Using Core Blocks</h2>\n\n\n\n<p><em>Joni Halabi</em>: Yeah, so that, that&#8217;s actually the core part of my job. So we are using Core blocks because it was very important for us to be able to maintain that basic, basic blocks, so header list, paragraph image, things like that. But we&#8217;ve also taken away access of some of the blocks that we don&#8217;t necessarily want our content editors using. So a lot of the full site editing focused blocks, so like page title query. I&#8217;ve said this before, we like lock things down. So we&#8217;ve locked those down. And to replace those blocks, we&#8217;ve actually created a number of custom blocks.</p>\n\n\n\n<p>So our custom blocks will give our content editors the ability to grab posts by category, which, yes, there&#8217;s a core block for that, but we also really, really wanted control over the markup for that scenario. We have a bunch of blocks that will allow you to have an image and text next to each other or video and text next to each other. And again, for us, it&#8217;s a control issue. We really want control over that markup. So all of the blocks that I&#8217;ve written to be custom for installation, they are dynamic blocks. And the beauty of the dynamic block is it makes it really, really easy to hook those dynamic blocks. We just take the render function in PHP, we hook that via timber to our twig files from the external pattern library. So we have one block we call premo with image.</p>\n\n\n\n<p>So it&#8217;s an image next to some text and maybe a call to action link. And what I&#8217;m doing in that render function is I&#8217;m just taking all of that information, the image object information, the text, the link, and I&#8217;m sending it as an array, just an array of parameters to my twig file in the pattern library. And the pattern library does the rest on the front end. So it means if we ever want to switch out the front end, if we discover, &#8220;Hey, we have an accessibility bug. Our CTA link isn&#8217;t really accessible, we need to change the Aria label on it, or we need to change the color contrast on this button,&#8221; we can do that within the pattern library. And WordPress is unaffected by it, so we don&#8217;t have to worry about things like deprecation errors. We don&#8217;t have to worry about having people go in and update their page to a new version of the block or anything like that. It just automatically happens as we make those changes to our pattern library.</p>\n\n\n\n<p><em>David Bowman</em>: That sounds awesome. I have so many questions, but I&#8217;m talking a lot. Alec, do you have any thoughts?</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"9-strong-patterns-strong\">Patterns</h2>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Before you get to your questions, I have a small clarification, when you talk about patterns, you are not talking about WordPress patterns, or are you?</p>\n\n\n\n<p><em>Joni Halabi</em>: I am not. No, sorry, I am talking about design patterns. We&#8217;re still struggling with terminology because pattern is a very loaded word. It could be WordPress patterns, it could be design patterns. Block is another big one that we struggle with because there&#8217;s WordPress blocks, but then there&#8217;s also blocks of information and blocks of HTML. And so thank you for&#8230;</p>\n\n\n\n<p><em>David Bowman</em>: Even theme means like 10 things in different contexts.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. When you talk about Figma themes, it&#8217;s like, &#8220;Oh yeah, those are totally different than WordPress themes.&#8221;</p>\n\n\n\n<p><em>David Bowman</em>: Everyone&#8217;s got a theme. There&#8217;s a lot. You got to really keep your theme straight.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"10-strong-links-and-syncs-strong\">Links and Syncs</h2>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. So we got one question, and thank you Alec, for answering that, from Bridget Vessel. Is that the best place to get the links? And she linked to a page on WordPress VIP, and then Alec had added two additional links there. And I will put those also in the show notes after the show.</p>\n\n\n\n<p><em>Alec Geatches</em>: Okay, yeah, I can talk about that a little bit if that&#8217;s okay.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, please do.</p>\n\n\n\n<p><em>Alec Geatches</em>: So when we first designed this with David, we wanted to be able to&#8230; If you watched what David was doing, have no idea what happened or you just want to try it yourself, we have this long readme, or it&#8217;s in our design system bridge repository, but it&#8217;s a whole walkthrough. We have a little tiny material UI, basic design system, Figma document. You can clone that. You can see how the Figma tokens plugin that David was using, connects to it and how the token sync. And then you can use our tool to pull down those tokens and sync it up with a theme.json and then you can like, &#8220;Oh look, the color changed as I made a change in Figma, synced it, now it&#8217;s in WordPress,&#8221; and see how all of those links work together. The secret sauce in that is that custom section in theme.json. So that&#8217;s where you can dump all of your CSS variables, mostly colors, typography, things like that, units, and then you can just re-reference those in other parts of your theme.json.</p>\n\n\n\n<p>So like your palette, you can say, &#8220;Give me the primary color.&#8221; And then in Figma, you can change your primary color. It gets synced to the same spot. Then your block pulls in a different primary color for its options. It&#8217;s all magical, but it&#8217;s really based off of that custom section. And what the design system bridge does, is it reads all that json, puts it in a format that&#8217;s comfortable for CSS and for WordPress using Style Dictionary, which is this Amazon product. It&#8217;s basically used for design tokens for this exact purpose or similar, where you have some design constructs, you want to put them in a different format. So we have some transforms in there. It&#8217;s like add some pixel units here. It&#8217;s really basic stuff. For the most part, we take that json, modify it a bit, put it right in the theme.json custom list, and from there it just works. Anyways, check out the tutorial I linked. We can put that in the show notes for a walkthrough, it&#8217;s really simple. You might not learn a lot from it, but it can at least show you the full end-to-end process.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Well, thank you.</p>\n\n\n\n<p><em>David Bowman</em>: As soon as you implement it, as soon as you use it a couple of times, it feels really good. Changing something in Figma and then watching it update in WordPress theme. It&#8217;s pretty cool.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"11-strong-changing-design-practices-how-to-start-strong\">Changing Design Practices &#8211; How to Start</h2>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, I can imagine how that&#8230; Amazing. So we get from an attendee, we have a developer who&#8217;s deep in the Gutenberg ecosystem and he has a question about how would you go about inspiring hesitant designers to a) embrace things like the site editor style book, and b) adapt their existing, if applicable, design systems like Figma, XD and whatever those two become post-acquisition, to work more in what Gutenberg already provides. I&#8217;m struggling to achieve internal buy-in to change design practices, even though I have full internal buy-in from ownership for Gutenberg and block-based theming. That&#8217;s the loaded question, right? The million dollar question. So, thank you for that question. That&#8217;s a really good one. Yeah. Who wants to take it on first? You all work with developers.</p>\n\n\n\n<p><em>David Bowman</em>: It&#8217;s a good question.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. So how do you embrace things like site editor style book?</p>\n\n\n\n<p><em>David Bowman</em>: I guess I would, maybe this isn&#8217;t an answer to the question, I&#8217;ve been talking a lot again, but I&#8217;ll just say this quickly. As a designer who went on this journey who was like, &#8220;I got to use Gutenberg, let&#8217;s figure it out,&#8221; and having to go through that process, a couple of things were really helpful to me. The first one was to maybe as a non-starter for some people, but just get into block theme development. Block theme development is not hard. And I think that one of the best things about block themes is that the code of a WordPress theme includes very little PHP now, it includes very little JavaScript by default. And if you want to start doing things like getting custom styles and really doing things, it&#8217;s pretty simple. And the meat of their block theme development, so much of it is happening in json files and block markup files that are HTML, that it&#8217;s very accessible.</p>\n\n\n\n<p>And so if you&#8217;re a designer that is wanting to understand Gutenberg, just go build a block theme. Go really get in there and try and figure it out, because doing that, you&#8217;ll see that there are a lot of places where you can really integrate it with what you already have. So theme.json, getting tokens out of Figma and into theme.json is&#8230; Just that is a really big step. And that&#8217;s the other piece of advice I would give is to just focus on small things. Just because Gutenberg is so opinionated and truly has not realized that it&#8217;s a design system yet.</p>\n\n\n\n<p>There&#8217;s a lot of the dynamic blocks, static blocks, there&#8217;s a lot, there&#8217;s a lot of pitfalls, but if you can focus on the small things, like getting global styles hooked up to your existing design styles, you&#8217;ll get a long way. At least that was my experience, is that just doing those things, I was like, &#8220;Oh, cool, I can actually really craft this experience in the editor and I can craft the front end and I can influence it as a designer without having to go bug a developer to make a PR for me.&#8221; Often I can just go and change it. I can go change my Figma files and that was pretty rad. That was longer than I wanted it to be, but that was my answer.</p>\n\n\n\n<p><em>Joni Halabi</em>: Yeah, I would definitely echo that. But I think it almost feels like there is a social aspect to this question as well. And I would want to dig deeper into why the designers are hesitant about getting their hands in there. It almost seems like, are they feeling overwhelmed? Are they feeling like they don&#8217;t have the technical chops for it? I would start to have those conversations with the designers and maybe developers and designers can get into a room, virtual or physical, however you all work, and just see where that pain point is. Sometimes I know personally when I feel like oh my goodness, something is really difficult, something is just mentally blocking me from starting that task, it might be easier to talk it out or to have somebody hold my hand, at least for the first couple of steps, and maybe that will give them the inspiration to just jump in.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"12-strong-create-block-theme-strong\">Create Block Theme</h2>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: And yeah, I understand that not everybody who gets into a car knows how to drive it. You need somebody to show it to you. Or another metaphor is if books would help or documentation would help, there wouldn&#8217;t be universities attached to libraries. So what I shared in the chat window was two links. One is to a course on learn.WordPress. That is develop your first low-code block theme. So to get a scaffolding and use the tools that are in the site editor, and they have been really expanding and they will be with 6.3. I don&#8217;t know if you are watching here and you want to see what&#8217;s coming, 6.3, there was a product walkthrough last night and it will be published on news on WordPress. And then the other link that I shared is just a tag of other courses on how to use the site editor.</p>\n\n\n\n<p>I think it really helps to know how a content creator is going to use the site editor as well to help with the design and what would be needed. Of course, that&#8217;s the beginning. So the theme team, WordPress theme team, also developed a plugin. It&#8217;s called Create block theme plugin, which also lets you then create style variation, create patterns, as well as export the theme from the site so you can upload it to another site. That&#8217;s helping with the workflow of block themes development. And I&#8217;m sure I&#8217;m going to get the link when I&#8217;m doing it live and talking. That&#8217;s never a good thing.</p>\n\n\n\n<p><em>David Bowman</em>: It&#8217;s easy to search for. Create block theme.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Create block theme.</p>\n\n\n\n<p><em>David Bowman</em>: It&#8217;s a good one.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, and it has its active development and the designers that are actually creating themes for the repository, they&#8217;re start out with that plugin and then do some modifications later on if they needed to. But it&#8217;s very good to create some.</p>\n\n\n\n<p><em>David Bowman</em>: I would add maybe one little note to the create block theme thing, which is that&#8230; So the site editor and tools like create block theme, it&#8217;s rapidly getting so much better to the point that their goal is to have the site editor be a design tool so that you can sit down and craft a theme and be able to use it like a design tool. And it&#8217;s going to get there and it&#8217;s getting there pretty quickly. But I would, maybe this is a spicy hot take for me, is that I would not think of WordPress as a no-code solution. There are definitely, if you need that and you want to use WordPress, there&#8217;s options for you. But as just a designer being like, &#8220;Hey, I want to make a website. I need a no-code solution to make a website,&#8221; there&#8217;s stuff out there that&#8217;s really good that&#8217;s not WordPress.</p>\n\n\n\n<p>And I think you give up a lot when you go with those, but you do get no-code. But what WordPress has, that some of these other things don&#8217;t, is that the code that you need to make a WordPress theme, it&#8217;s really easy, and it might not be fully, “no-code,” but it is very accessible code. And if you have ever, ever, ever made a website ever, like in college, ever, if you&#8217;ve ever done it, you can figure out how to do a block theme. And in addition to really digging into the site editor, go read the docs on theme.json. If you go read the docs on theme.json, you&#8217;ll be like, &#8220;Oh, it&#8217;s just a json file.&#8221; And you can go and find yourself developing, quote, block themes before you know it. And that&#8217;s pretty rad.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, I like that analogy. There was this idea that block development raises the bar for entry. Because with the JavaScript and the React and the build tool and all that, the theme.json, got us back to the tinkering kind. We want to, &#8220;Oh, I want to make this border bigger, or I want to make that color more red. And I go into the theme.json and I just change it and boom, it&#8217;s done.&#8221; So it really is a good way to get your hands dirty again, with a little bit of code. We got some more information from our developer and they said, &#8220;Thank you all. I&#8217;m not certain my design colleagues will feel comfortable diving into WordPress themselves based on our experience together. I myself am very comfortable with coding block themes, SCSS under the hood and such, and how once I&#8217;m done, we set up the theme.json, that the process is largely no-code. It&#8217;s a whole new world.&#8221;</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"13-strong-primer-getting-started-strong\">Primer &#8211; Getting Started</h2>\n\n\n\n<p>As a more overarching question for David and all, Figma or otherwise, what would be a good primer to share with my designers who I think are intimidated by development&#8217;s expectations. Now that I&#8217;m working exclusively in Gutenberg, I&#8217;m suspicious that there isn&#8217;t a robust design system in place on their end. And the question I ask when it comes to populating my theme.json are challenging their current practices. Is there a good getting started with web design systems resource you would recommend to them? And I give it back to David or Alec or Joni?</p>\n\n\n\n<p><em>David Bowman</em>: That&#8217;s a good question and I&#8217;ll tell you what resources I used when I was doing this, because I think a lot of, “web designers,” nowadays you learn&#8230; If you&#8217;re as old as me and learn to doing stuff in Photoshop and you&#8217;re used to&#8230; Design systems is a relatively new thing. And it is made designing things for the web more technical, but it&#8217;s also made it a lot more efficient and you hand off to devs easier. There&#8217;s a lot of benefits to it. And the way that I got into design systems was by honestly mostly by checking out existing design systems. And the big guys like IBM Carbon was very influential for me. Google material is ubiquitous in our lives. If you go check out the documentation sites for these big design systems, they really lay it out very nicely, because they&#8217;ve got whole teams supporting them.</p>\n\n\n\n<p>And so they&#8217;re like, &#8220;Here, this is our design system. Here&#8217;s our Figma files that you use. Here&#8217;s this.&#8221; They&#8217;re all open source and you can download and play with them and build stuff with them. That can be a lot. If you&#8217;re really interested in getting into design systems, that&#8217;s a great place to start. If it&#8217;s too much, honestly Figma. If you&#8217;re not already using Figma, you should probably be using Figma. And Figma, with their latest releases at their config conference just a few weeks ago, introduced variables into Figma. They introduced modes into Figma. And so they now natively support some really fundamental design system concepts and have a bunch of really great little tutorial files that you can go play with, and this is how it works. You change from light mode to dark mode. And it&#8217;s mirroring how it&#8217;s going to work in code and point them at those. If they&#8217;re not Figma people then tell them to get into Figma. Hopefully Adobe XD just dies a slow death and they just, which I think is their plan.</p>\n\n\n\n<p><em>Alec Geatches</em>: Yeah, I&#8217;d also say searching Figma templates or just the word design systems or the words you can find a whole bunch, everything from these huge ones with 10 pages of buttons and things to just a little baby one that&#8217;s just a color palette and then you can take one and change it up. And that&#8217;s how I learned about them and got a hands-on knowledge.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Joni, do you have any input?</p>\n\n\n\n<p><em>Joni Halabi</em>: I was just going to say, I&#8217;m a developer. Everything I suggest is going to be code, so you probably don&#8217;t want to take a suggestion from me, but Figma looks amazing.</p>\n\n\n\n<p><em>David Bowman</em>: Figma&#8217;s great.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"14-strong-vip-plugins-strong\">VIP Plugins</h2>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Awesome. So I&#8217;m really glad that we all got together today. We&#8217;re leading up on the hour. I have two questions for you. I know VIP is also working on two other plugins. Do you want to talk about it Alec, briefly, so we can wet the&#8230;</p>\n\n\n\n<p><em>Alec Geatches</em>: The first one still internal beta, so I don&#8217;t have a good link for it, but it&#8217;s super relevant to what we&#8217;ve been talking about, what Joni was talking about. Just locking things down. David posted here. Let me find that link real quick. I had that ready. A great issue in the Gutenberg repository last year and it was talking about theme.json. It&#8217;s great for design systems, but it loses the scope of these higher level design system things like if you embed this block in a hero, how does it look different now? Usually that&#8217;s part of a design system. These typography options are available here but not here. And theme.json just has a flat block structure. Every block has these settings when you design them that way in theme.json. Where was I going with this?</p>\n\n\n\n<p>We&#8217;re working on a plug in that is looking to extend Gutenberg and the way that David is talking about, but also have a very allow list approach to everything which blocks you have, which roles get access to them, which block settings you have, things like that. So we want to make this super enterprise focused, because Gutenberg gives you the ability to just do crazy things. Even if you lock it down to a design system, you still get a lot of options for a lot of things and it&#8217;s very hard to get those all out if you&#8217;re running 40 websites for other people. So we&#8217;re working on a plugin that…</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Or 400.</p>\n\n\n\n<p><em>Alec Geatches</em>: Yeah, yeah. Or 4,000 or yeah. WordPress goes crazy. So yeah, we&#8217;ll have more information when that becomes public or when we talk about it more. But anyways, we&#8217;ve been heads deep in this trying to work with Gutenberg to allow these enterprise things, because Gutenberg is meant to be customizable. We don&#8217;t want to be customizable at all, want everyone&#8217;s job to be easy and not have that many typography options. And so the other plugin that we&#8217;re working on…</p>\n\n\n\n<p>Yeah, just have good options and not that many of them. And the other thing that we worked on, this is released now, it&#8217;s called the block data API. This is a headless or decoupled thing, but there&#8217;s this issue with the way that post work in Gutenberg that make it tricky to use sometimes in like a node. If you have a node front end and you want to consume that, pretty much for a post, if you use the rest API, you just get a big blob of HTML. And it&#8217;s got class names in it and sometimes it&#8217;s got styling in it and there&#8217;s not a lot you can do with it other than just put it on the page and try to supply enough styles so that it looks decent.</p>\n\n\n\n<p>But it can be hard to map onto custom components and things. There are ways to do it, but it&#8217;s pretty tricky. So we added this block data API. If you just search that in Google, you&#8217;ll find it. Check it out, look at the first GIF. It explains how it works, but it&#8217;s just we read through the HTML, parse it into json, and then pass that back. So you just get a bunch of json that you can map onto your own custom components instead of just having to rely on HTML string somewhere. So that&#8217;s pretty cool. We just released it for the first time this year. We&#8217;ve got one customer who will be launching it soon. I don&#8217;t think I can say any more specific on either part of that, but pretty cool.</p>\n\n\n\n<p><em>David Bowman</em>: It&#8217;s going to be big.</p>\n\n\n\n<p><em>Alec Geatches</em>: I&#8217;m excited about that.</p>\n\n\n\n<p><em>David Bowman</em>: It&#8217;s going to be cool.</p>\n\n\n\n<p><em>Alec Geatches</em>: Yep. Anyway, so those are the two main things our team&#8217;s been working on.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, so there are quite a few enterprise companies who actually use WordPress as a content creation tool, but not on the front end, because they need other data match up with things. So yeah, the headless is the way that they go via the rest API. So that block data API is probably going to be embraced by quite a few agencies as well and not just the clients of VIP.</p>\n\n\n\n<p><em>Alec Geatches</em>: Yeah, hopefully.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"15-strong-contact-info-strong\">Contact Info</h2>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, we do. So we have three minutes to go. If the viewers want to get in touch with you, what&#8217;s a good place to reach you? Joni? Or do you have anything else that you couldn&#8217;t talk about but you want everybody to know?</p>\n\n\n\n<p><em>Joni Halabi</em>: Yeah, if folks want to reach me, you can find my contact info on my website. It&#8217;s <a href=\"https://jhalabi.com/\">jhalabi.com</a>. I&#8217;m also @jonihalabi on most socials.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: All right. Thank you. Alec and David?</p>\n\n\n\n<p><em>Alec Geatches</em>: David, go for it.</p>\n\n\n\n<p><em>David Bowman</em>: Alec.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: You&#8217;re too nice.</p>\n\n\n\n<p><em>Alec Geatches</em>: I&#8217;m going to be quiet.</p>\n\n\n\n<p><em>David Bowman</em>: So find me on LinkedIn if you want to talk WordPress stuff. That&#8217;s probably the best place to find me to talk about WordPress things. I&#8217;m also social media. You find me at hanging out in the Gutenberg GitHub repository sometimes. And yeah, I also, I blog with my family at <a href=\"https://americanfieldtrip.com/\">americanfieldtrip.com</a> about, totally not related to WordPress, but you can find me there. It&#8217;s mostly about national parks and travel stuff.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Oh, wonderful.</p>\n\n\n\n<p><em>David Bowman</em>: But yeah, that&#8217;s how you find me. There&#8217;s a few different ways if you really want to track me down.</p>\n\n\n\n<p><em>Alec Geatches</em>: I&#8217;ve searched my name, Alec Geatches. I think I&#8217;m the only one so far. So you&#8217;ll find me there. You can email me at <a href=\"mailto:alecg@automatic.com\">alecg@automattic.com</a>.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Excellent. Well thank you so much, and I think we are right at the hour. Very punctual. Yeah, it&#8217;s a German show. Well, thank you, all three of you, for spending the time with me and explaining all this good design systems and how you work with WordPress. I learned a lot about it, and I&#8217;m sure the viewers learned a lot too. Thank you so much for coming and I hope you have a wonderful weekend. It&#8217;s Friday night, or Friday morning, depending on where you are. Thanks everybody, and goodbye.</p>\n\n\n\n<p><em>David Bowman</em>: Thanks, everyone.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: And we got a thank you from our anonymous developer. We use CD and with a pending acquisition of Figma by Adobe, I&#8217;m cautiously giddy and design system distraught. So here&#8217;s hoping. All right. That&#8217;s a good way to end it. Thank you all so much.</p>\n\n\n\n<p><em>David Bowman</em>: Take the plunge.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: You take care, and I&#8217;ll end it here.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 02 Aug 2023 15:55:31 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:36;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"Akismet: OpenAPI specification for Akismet now available\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://akismet.com/?p=174137\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"https://akismet.com/blog/openapi-specification-for-akismet-now-available/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:1163:\"<p>We have just released our first <a href=\"https://www.openapis.org/\">OpenAPI</a> specification for Akismet, which is hosted on Github:</p>\n\n\n\n<p><a href=\"https://github.com/Automattic/akismet-api\">https://github.com/Automattic/akismet-api</a></p>\n\n\n\n<p><a href=\"https://github.com/Automattic/akismet-api/blob/trunk/spec.yml\">The file</a> describes <a href=\"https://akismet.com/developers/\">our API</a> and each of its endpoints, including what parameters they accept and what the response looks like.</p>\n\n\n\n<p>You can import the spec to explore the API using tools like <a href=\"https://swagger.io/tools/swaggerhub/\">SwaggerHub</a> and <a href=\"https://www.postman.com/\">Postman</a>. You can also use it to automatically generate code for the Akismet API in your chosen programming language using <a href=\"https://openapi-generator.tech/\">OpenAPI Generator</a>.</p>\n\n\n\n<h3 class=\"wp-block-heading\">We&#8217;re here to help</h3>\n\n\n\n<p>If you need help using our OpenAPI spec, or have any questions about our <a href=\"https://akismet.com/developers/\">API endpoints</a>, please don’t hesitate to&nbsp;<a href=\"https://akismet.com/contact/\">get in touch</a>.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 02 Aug 2023 14:31:38 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:17:\"Chris Rosser 🏔\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:37;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:83:\"WordPress.org blog: Concerns over the European Union’s Cyber Resilience Act (CRA)\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=15686\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:94:\"https://wordpress.org/news/2023/08/concerns-over-the-european-unions-cyber-resilience-act-cra/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4086:\"<p>As the world’s most popular open source content management system, WordPress acknowledges the European Union&#8217;s initiative to bolster the cybersecurity of digital hardware and software products with the <a href=\"https://www.european-cyber-resilience-act.com/\">Cyber Resilience Act (CRA)</a>. The Act’s effort to counter the increasing threat of cyberattacks and promote informed usage of digital products with increased security updates and transparency is commendable.&nbsp;</p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p>While we wholly endorse the objectives of the CRA, we are apprehensive about the Act&#8217;s implications on open source software due to unclear terms and definitions. </p>\n</blockquote>\n\n\n\n<p>Specifically, the Act’s prohibition on &#8220;unfinished software&#8221; and ambiguous definition of &#8220;commercial activity&#8221; could inadvertently inhibit innovation and economic participation in the European digital landscape.</p>\n\n\n\n<p>Open source projects, like WordPress, often rely on continual updates and improvements—a process that may technically fall under the label of &#8220;unfinished.&#8221; Furthermore, the ambiguous definition of &#8220;commercial activity&#8221; could unintentionally encompass open source projects that are largely driven by communities and operate on a not-for-profit basis.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Our letter to the EU Commission</h2>\n\n\n\n<p>We have jointly authored an open letter addressing these concerns alongside fellow open source projects Drupal, Joomla!, and TYPO3<sup class=\"fn\"><a href=\"https://wordpress.org/news/feed/#eb28afbc-3487-447f-9af9-8b0418310a00\" id=\"eb28afbc-3487-447f-9af9-8b0418310a00-link\">1</a></sup>. The letter emphasizes the significant contribution of Free and Open Source Software (FOSS) to the EU&#8217;s economy and how the proposed regulations might undermine these efforts. Our shared goal is to further bolster the security of digital products without compromising the values of freedom, democracy, and innovation inherent to both the open source community and the <a href=\"https://european-union.europa.eu/principles-countries-history/principles-and-values/aims-and-values_en\">EU’s Aims and Values</a>.</p>\n\n\n\n<p>The letter invites the EU Commission and interested parties to participate in a seminar in Brussels to discuss how we can align the objectives of the CRA with the realities and needs of the FOSS community. We are optimistic that, with mutual understanding and cooperation, we can achieve secure digital products without limiting the vital contributions of open source projects.</p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-2 wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-text-align-center wp-element-button\" href=\"https://wordpress.org/news/files/2023/08/Open_Letter_on_the_Significance_of_Free_and_Open_Source_Software_in_the_EU_s_Proposed_Cyber_Resilience_Act.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Read the letter</a></div>\n</div>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<div class=\"wp-block-group has-off-white-background-color has-background is-layout-flow wp-block-group-is-layout-flow\"><ol class=\"wp-block-footnotes\"><li id=\"eb28afbc-3487-447f-9af9-8b0418310a00\"><a href=\"https://www.drupal.org/\">Drupal</a>, <a href=\"https://www.joomla.org/\">Joomla!</a>, <a href=\"https://typo3.com/\">TYPO3</a>, and <a href=\"https://wordpress.org/\">WordPress</a> are the most popular FOSS content management systems on the web today. While all are based on the PHP programming language and distributed under the GPL open source license, each platform takes a different approach to website publishing. With strength in diversity, they form the Inter-CMS Working Group, promoting the values and benefits of free and open source software. <a href=\"https://wordpress.org/news/feed/#eb28afbc-3487-447f-9af9-8b0418310a00-link\"><img src=\"https://s.w.org/images/core/emoji/14.0.0/72x72/21a9.png\" alt=\"↩\" class=\"wp-smiley\" />︎</a></li></ol></div>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 02 Aug 2023 14:25:55 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:7:\"Josepha\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:38;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:78:\"WPTavern: #86 – Dan Walmsley on How WordPress Can Adapt to the Reality of AI\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"https://wptavern.com/?post_type=podcast&p=147378\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:92:\"https://wptavern.com/podcast/86-dan-walmsley-on-how-wordpress-can-adapt-to-the-reality-of-ai\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:60788:\"Transcript<div>\n<p>[00:00:00] <strong>Nathan Wrigley:</strong> Welcome to the Jukebox podcast from WP Tavern. My name is Nathan Wrigley.</p>\n\n\n\n<p>Jukebox is a podcast which is dedicated to all things WordPress. The people, the events, the plugins, the blocks, the themes, and in this case how AI works and how it might integrate with WordPress.</p>\n\n\n\n<p>If you&#8217;d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice, or by going to WPTavern.com forward slash feed forward slash podcast. And you can copy that URL into most podcast players.</p>\n\n\n\n<p>If you have a topic that you&#8217;d like us to feature on the podcast, I&#8217;m keen to hear from you and hopefully get you, or your idea featured on the show. Head to WPTavern.com forward slash contact forward slash jukebox, and use the form there.</p>\n\n\n\n<p>Before we begin, just a quick alert that there will not be a podcast next week. It&#8217;s summer here and I&#8217;m having a few days away, but we&#8217;ll be back the week after that.</p>\n\n\n\n<p>So on the podcast today we have Dan Walmsley. Dan is a long time user of WordPress, having started using it even before version one was released. With a passion for experimenting with different publishing technologies, Dan eventually discovered WordPress and he&#8217;s been using it ever since.</p>\n\n\n\n<p>Currently working at Automattic as a code Wrangler, dan is part of the applied AI team. Although the team is relatively new, with only a few members, their mission is to coordinate and guide the various AI initiatives within the company.</p>\n\n\n\n<p>Recently he&#8217;s been focusing on automating internal workflows and communications. A particularly crucial aspect, given the distributed work set up which spans 70 countries, and multiple time zones.</p>\n\n\n\n<p>We start the conversation talking about Dan&#8217;s background. He&#8217;s recently decided that AI is a truly transformational technology, and so has taken steps to learn the skills needed to understand and implement it.</p>\n\n\n\n<p>Dan talks about how Large Language Models work, and how ChatGPT has driven awareness and demand for AI technologies in a way that was almost impossible to predict just a year ago. This has caused many companies to become deeply interested in AI and what it can do for their business workflows.</p>\n\n\n\n<p>We get into whether the reality of AI can live up to the hype. Do we have enough understanding of AI to know what its impact will be on the workplace, or are we just in the middle of a media frenzy, which will die down over time?</p>\n\n\n\n<p>Dan challenges, the notion that AI will take many of our jobs and emphasizes the economic value that AI can bring.</p>\n\n\n\n<p>We move on to explore the differences between site generators and site builders, and Dan introduces the concept of the copilot era, in which website creation can be somewhat automated. He highlights tools like Jetpack AI, which can generate content and modify the tone of voice right inside of WordPress.</p>\n\n\n\n<p>Dan stresses the importance of building AI tools with user interfaces that learn from human inputs in order to improve over time. He thinks that companies, which measure user responses and interactions will gain a significant advantage in AI development. While those who fail to improve that AI content generation will be left behind.</p>\n\n\n\n<p>Whether you&#8217;re new to AI or have been paying attention for awhile, this podcast offers a fascinating insight into its impact on society and how it can accelerate progress in fields like scientific research.</p>\n\n\n\n<p>If you&#8217;re interested in finding out more, you can find all of the links in the show notes by heading to WPTavern.com forward slash podcast, where find all the episodes as well.</p>\n\n\n\n<p>And so without further delay, I bring you Dan Walmsley.</p>\n\n\n\n<p>I am joined on the podcast today by Dan Walmsley. Hello, Dan.</p>\n\n\n\n<p>[00:04:35] <strong>Dan Walmsley:</strong> Hello Nathan. Great to be here.</p>\n\n\n\n<p>[00:04:37] <strong>Nathan Wrigley:</strong> Yeah. Thank you for joining us. Dan, I wonder if you wouldn&#8217;t mind spending just a very quick moment or two just introducing yourself. Obviously, this is a WordPress podcast. I suspect that today we might stray out of the boundaries of the WordPress ecosystem a little bit. I have a feeling with our preamble talk that we&#8217;ve had, that may well happen. Nevertheless, given that it is a WordPress podcast, can you just tell us a little bit about your background, the work that you do, who you work for, that kind of thing.</p>\n\n\n\n<p>[00:05:01] <strong>Dan Walmsley:</strong> Yes. So I have been using WordPress since before version one, or whenever the first version came out. Because I remember back at the time I was playing around a lot with Movable Type and, oh gosh, I can&#8217;t even remember the name of all the different things. I&#8217;d gone through quite a few different publishing platforms, just experimenting with the web. And I discovered WordPress and I&#8217;ve literally still got that same blog, and it&#8217;s still on WordPress, and it&#8217;s been upgraded through every different version ever since.</p>\n\n\n\n<p>I work at Automattic. I am on the Applied AI team. I am a Code Wrangler, or code mangler. We all give ourselves our own titles and mine changes a bit. My colleague calls himself an applied AI artisan. And we&#8217; re a pretty new team. We&#8217;ve been around just a couple of months. And we&#8217;re very small, as in right now it&#8217;s just me and a couple of data scientists. But we have a lot of AI at Automattic. Our team&#8217;s job is to sort of try to coalesce, coordinate, guide, align it. So that we&#8217;re not just operating at the leaf nodes, that there&#8217;s a bit of larger thinking going into things.</p>\n\n\n\n<p>And as such, my days are mostly spent building weird prototypes on LangChain and chatbots. The most interesting thing I&#8217;ve looked at recently is automating some of our internal workflows and communications. Because we operate async, we&#8217;re remote. We&#8217;re in 70 odd countries around the world in different time zones. And so using AI to capture people&#8217;s knowledge and repeat it later when they&#8217;re asleep is pretty useful.</p>\n\n\n\n<p>[00:06:25] <strong>Nathan Wrigley:</strong> When the word Automattic is announced, I usually think of WordPress, but I think I&#8217;m right in saying that Automattic is the parent of quite a few different companies. So the connection between WordPress, the open source project, download from .org, may not be quite so obvious. But the implementation, it may well go into some of the SaaS offerings that you&#8217;ve got I&#8217;m guessing as well.</p>\n\n\n\n<p>[00:06:48] <strong>Dan Walmsley:</strong> Yeah, so we are trying to build out AI infrastructure that really doesn&#8217;t have a direct dependency on WordPress. You know, GPUs are GPUs, and we&#8217;re running a Python based stack on those, because that&#8217;s where a lot of the open source activity is. You might have seen that OpenAI announced some changes to their APIs, and in just a few hours, LangChain had a new release, incorporating those features.</p>\n\n\n\n<p>Good luck even finding that in TypeScript, let alone PHP, right? So if you want to move fast, you want to be on the cutting edge, got to stand up a bunch of Python. I&#8217;ve built a version of LangChain in PHP that runs on WordPress.com for the purposes of producing knowledge bases from blogs. It&#8217;s possible that if it turns out to be useful and reliable, that we&#8217;ll open source some of that. But right now it&#8217;s just there to provide some quick indexing for chat interfaces.</p>\n\n\n\n<p>[00:07:34] <strong>Nathan Wrigley:</strong> So your team is fairly new. Give us an idea of how old that word new means. Are we going back two years or 18 months or a couple of months?</p>\n\n\n\n<p>[00:07:43] <strong>Dan Walmsley:</strong> Two months maybe?</p>\n\n\n\n<p>[00:07:44] <strong>Nathan Wrigley:</strong> Really, new. Okay. And did that sort of trickle down from the Automattic leadership? Was it that people up there decided that, okay, now we&#8217;ve got OpenAI in the space, everybody&#8217;s, I mean, literally everybody seems to be talking about it.</p>\n\n\n\n<p>I don&#8217;t think I&#8217;ve picked up a newspaper, certainly an online newspaper, in the recent past without there being some kind of AI story in there. So was it that, or was it more a groundswell of Automatticians saying, look, if we&#8217;re going to stay in the game, we need to be moving with this.</p>\n\n\n\n<p>[00:08:11] <strong>Dan Walmsley:</strong> There&#8217;s some people who have been pushing on LLMs and transformer technology since pre GPT three or two. Which includes me. When I had my sabbatical a couple of years ago. So Automattic has a three month sabbatical, and I was like I&#8217;m going to learn AI. This seems really cool.</p>\n\n\n\n<p>So I did Andrew Ng&#8217;s Deep Learning course and a couple of other ones. There&#8217;s some really great courses out there now, even better ones now, this was about three years ago. And I just thought, oh my god, if this grows up, which it looks like it&#8217;s going to, it could be amazing for generating content. It could be amazing for conversational interfaces.</p>\n\n\n\n<p>I had a little Roomba running around my house, pretending to be a psychopathic robot with chainsaw arms, when in fact it was a little plastic Roomba. But it was like vaguely self-aware that it didn&#8217;t have chainsaws for arms. And so it would be like, when I get my chainsaws back on, you&#8217;re a toast buddy.</p>\n\n\n\n<p>I had an Australian robot that trundled around, it would try to get you to stop working and go to the beach. But it had no way of getting to the beach, which is hilarious. Anyway, that&#8217;s a long way of saying, some of us have been pushing for this stuff for a while, but I think what changed, obviously ChatGPT came out and created a lot of public awareness and public demand and conversation.</p>\n\n\n\n<p>People started to see this as a race. Companies started to see this, I don&#8217;t think Automattic necessarily falls in this bucket, but a lot of companies started to see this as existential. Either you have an AI plan or you&#8217;re dead. And so it made sense to put together a team that&#8217;s sort of looking at what is this for the whole organization.</p>\n\n\n\n<p>Because like you said, it&#8217;s a complicated organization. We&#8217;ve got podcasting apps, we&#8217;ve got diary apps. We&#8217;ve got Woo. We&#8217;ve got Day One and all these different things. Sensei is a learning management platform. And so we really needed to figure out how we could scale these efforts up, and not end up duplicating things or having tons of different approaches where it&#8217;s hard to get economies of scale, or build knowledge or build capability.</p>\n\n\n\n<p>[00:09:53] <strong>Nathan Wrigley:</strong> Now, given that the rate of change seems to be so incredibly fast. Give us an idea over those last two months, how much knowledge you&#8217;ve had to ingest. And I don&#8217;t necessarily mean knowledge, but how has it been, trying to keep up over those last couple of months?</p>\n\n\n\n<p>Is it genuinely as fast moving as it appears from the outside to be? What you learned last month probably doesn&#8217;t apply this month. And so therefore staring into the future, and if I asked you the slightly banal question, what will we be doing with AI in two years time? Is there really any realistic chance that you can offer us an answer to that?</p>\n\n\n\n<p>[00:10:27] <strong>Dan Walmsley:</strong> Well in terms of keeping up with it, there really is no way to keep up with everything. And I mean, there&#8217;s multiple different dimensions here, right? There&#8217;s the research dimension, what papers are coming out and how practical are those papers. And where are the outcomes of those papers showing up in libraries?</p>\n\n\n\n<p>And then there&#8217;s like, where is it showing up in products? What are our competitors doing, or what products might we plug into our own stack? For example, we can use GPT4 to generate help responses, but we have to sort of, stand up maybe a vector database and some other infrastructure, various job management things.</p>\n\n\n\n<p>There&#8217;s other third party services where you can point them at some public documentation and they figure all that stuff out for you, and just give you one endpoint that just chats with you. And it&#8217;s oh, well how much do we embrace this plus that? A lot of the day to day involves build versus buy versus don&#8217;t bother.</p>\n\n\n\n<p>And it&#8217;s really hard because our team currently has not that many full-time developers on it, and we do want to move really fast and understand these technologies and do the judicious integration. I personally in my horrifyingly long career have done lots of integrations and they&#8217;re almost always bad news.</p>\n\n\n\n<p>And I&#8217;m almost always fighting to do some minimal thing like in-house, rather than integrate. But it&#8217;s a constant. That&#8217;s really the battle. It&#8217;s like less so the awareness of what&#8217;s happening and more so wrestling with the idea of like, how do we incorporate this or not?</p>\n\n\n\n<p>And people wondering if something&#8217;s strategic or aligned or whatever. And there&#8217;s all these different time horizons you&#8217;re looking at. Like, are you talking about today? In a week, in two weeks, in a month, in a year? Because they&#8217;re all different answers.</p>\n\n\n\n<p>[00:11:57] <strong>Nathan Wrigley:</strong> Yeah, I feel like if I was to to you about AI two years ago, I genuinely think the conversation about what we would be doing in 2023, 2024, I honestly don&#8217;t think we could have got any kind of line of sight into what happened. Even maybe a year ago. Nobody would&#8217;ve thought that mainstream media, mainstream products, would be using AI. And like you said, falling over each other to have some kind of policy on AI. So I don&#8217;t quite know how conversation will go.</p>\n\n\n\n<p>But it feels as if we&#8217;re in the infancy of this still, and it does feel if we are going propel ourselves through this at an exponentially faster rate. The thing that just popped into my head was that when humanity first came up with the motor car, it was, at least in the UK, you had to have somebody walking with a flag in front of the motor car. And most people probably looked at it and thought, that&#8217;s ridiculous. I could walk there just as quickly as I could get into that vehicle and be driven there because it&#8217;s going so slowly.</p>\n\n\n\n<p>Give it 10 years, got a little bit faster. Give it another 10 years, it got faster and more beautiful and more efficient. But of course it then polluted the world, which brings us onto the inherent problems that we may have with AI. There&#8217;s a lot of concern about unexpected consequences. The fact that it hallucinates. The fact that it may give information out which is inaccurate. Given that this is your work, are you fairly sanguine that things built with AI are broadly speaking safe? Or are we just working out what the guardrails even are?</p>\n\n\n\n<p>[00:13:25] <strong>Dan Walmsley:</strong> Well there&#8217;s a few pieces to that question, and I keep failing to address all the pieces of your question, so I&#8217;ll try to genuinely do it this time. But, the first piece is sort of like where we&#8217;re at in this AI timeline, and you talked about various analogies.</p>\n\n\n\n<p>I think of this as the BBS era. If you&#8217;re in your forties, you know what a BBS is. If you&#8217;re not, it was when people used to connect to a single computer using a modem, and the modems were slow enough that you could see the text appearing on the screen. Sometimes slower than you could read. Certainly when I started using BBSs, it was slower than you could read, and even slower for images.</p>\n\n\n\n<p>And obviously subsequent to that we got the internet, through various stages. And now, you look at a BBS and it&#8217;s unrecognizable. It&#8217;s like why would you ever look up information this way when you can look at the whole internet? I think we&#8217;re going to go through the same thing with AI.</p>\n\n\n\n<p>There was another part to your questions which was the danger piece. There are alignment techniques that we use today on large language models and other kinds of models, that are fairly reliable at the scales at which those models operate, or at least useful.</p>\n\n\n\n<p>And the worst things that those models can do are not yet super terrible. if you&#8217;ve got one plugin that talks to your bank and another plugin that can pick up the phone, then a rogue AI can hallucinate its way into destroying your life, no problem.</p>\n\n\n\n<p>I sometimes talk about this with, we&#8217;ve experimented with building ChatGPT plugins for different products, including wordpress.com. And one of the hardest things is, you have to put user confirmation stuff everywhere because you simply can&#8217;t predict when the AI&#8217;s going to start invoking your API in backwards ways, and just deleting all your posts because it thought that&#8217;s what you wanted to do. Turning every post synopsis into the word red paper clip.</p>\n\n\n\n<p>There&#8217;s a broader alignment thing that I think goes way beyond that. It goes way beyond these hallucinations. Because you know, I think people get caught up with, oh well it&#8217;s not that useful because of the size of the context window. It&#8217;s not that useful because it hallucinates. So it&#8217;s not that useful because it was last updated in September, 2021. As if all of those aren&#8217;t things that are going to change immediately, right?</p>\n\n\n\n<p>Those are all solvable problems. We know we can make larger context windows. We know we can update it more often. We know we can inject additional information. We know that various alignment techniques can encourage it to reason more thoughtfully and activate pathways that have more expertise, and that will continue to be the case. And as the models get larger, those pathways with expertise will have more expertise. And so it&#8217;s obvious and predictable, those things.</p>\n\n\n\n<p>So the really hard thing to predict is where does this interface with society? And you know, we touched briefly on jobs and other things. Or whether, obviously people talk about rogue states getting an unhinged intelligence to go do crazy scientific research for them, or invent a nuclear weapon or a chemical weapon.</p>\n\n\n\n<p>Google Brain just invented protein folding. So get this, the Google Brain team, Google Deep Mind, they invented a protein folding system that can fold a protein in a few seconds, which is the equivalent of about at least four years of PhD time. And so in that single invention, they eradicated, I suppose you could say, or avoided over a million years of PhD time. By folding all those proteins instantly.</p>\n\n\n\n<p>The thing I think we&#8217;re not ready for is that rate of progress. I call it Moore&#8217;s Law for everything. Where you have a self-reinforcing centralized paradigm, where you have AIs that, by their very progress, make it easier to build the next AIs.</p>\n\n\n\n<p>And then at the same time you have this fanning out into different disciplines, where those newer AIs are also making it easier to make scientific progress. You could use, for example a score like Perplexity, feed in all of the papers in the world and find the most useful research questions to ask that have not been answered, by basically large scale language based statistics.</p>\n\n\n\n<p>[00:17:03] <strong>Nathan Wrigley:</strong> I think this is the piece where my knowledge breaks down because my interaction with AI has largely been ChatGPT. Certainly the most recent versions of ChatGPT. Plus also the image creation tools. And, I&#8217;m amazed by how quickly I&#8217;ve become, unimpressed is the wrong word, but how quickly I just expect it to give me something akin to a human.</p>\n\n\n\n<p>The first couple of times I used ChatGPT my entire endeavor was to see what it would produce, and be utterly, utterly flabbergasted by the fact that it could in any way give me something coherent back. And the same with the image creation tools, Stable Diffusion and a few others that I&#8217;ve tried. Typing in some kind of prompt, and then just jaw droppingly quickly, something half decent comes back. And you know you try a little bit harder and you tweak the input that you&#8217;re putting in and something slightly better comes back.</p>\n\n\n\n<p>I&#8217;m kind of amazed by how quickly that became uninteresting and just normal. In the same way that when I was a child, I first got on the bike and suddenly I could ride a bike and wow, this was amazing. Two weeks later you have to basically pay me to get on the bike at that point, it&#8217;d lost its interest.</p>\n\n\n\n<p>But I&#8217;m wondering if that interface, because it is replicating a human in many ways, you know, the ability to do art and the ability to give us answers, whether it&#8217;s hallucinating or not. I wonder if that&#8217;s something that we all think that&#8217;s the way the AI&#8217;s going to go. But the examples that you gave just then, like medical research and probably research in all sorts of scientific domains, if that&#8217;s something which just never quite gets out into the public.</p>\n\n\n\n<p>So the fear that a lot of people have, and there are some parts of that that I share, is never counterbalanced by the, but listen we&#8217;ve just done thousands and thousands of hours of PhD equivalent work in a matter of moments. Look how fantastic this is. I don&#8217;t think that message gets out very often.</p>\n\n\n\n<p>[00:18:56] <strong>Dan Walmsley:</strong> Well, you know, and without launching into a critique of the media, I think we can all recognize that dramatic headlines sell. And I&#8217;m sure if the headlines of these articles were slightly hard to predict whether AI will be good or bad, stay tuned. Then they wouldn&#8217;t sell so many newspapers.</p>\n\n\n\n<p>You know, I don&#8217;t think anybody can actually, at a large scale, predict the outcome of the current AI revolution. That there are people who think that it will be a nothing burger. And there are people who think that it will more likely than not, result in the eradication of the human species. And there are people who think it&#8217;ll be cyborgs. And there are people who think it&#8217;ll be utopia. They&#8217;re all neither right nor wrong, yet.</p>\n\n\n\n<p>I will say though, that people narrowly pushing, AI will take all the jobs line, definitely wrong in my opinion. Part of that we really alluded to this before the show, but part of that is, humans are really good at inventing new jobs. We added like 8 billion humans to the planet in the last a hundred or so years, and we gave them all jobs, no problem. We can invent new jobs like dog tickler and it&#8217;s fine.</p>\n\n\n\n<p>People will just find ways to keep themselves busy. And if AIs come and take away a huge amount of jobs, particularly those jobs that are mostly typing and mostly repetitive, like similar things over and over again, then maybe those people get a chance to like move their bodies and stand up.</p>\n\n\n\n<p>We forget how incredibly dysfunctional it is to sit there and type all day. If we can just take away all the typing. I have a gym membership because my body&#8217;s falling to pieces because I have to sit there and move my fingers and unblinkingly for like seven hours a day. It&#8217;s ridiculous. It&#8217;s torture. Can AI make that go away? That&#8217;d be amazing. What a revolution.</p>\n\n\n\n<p>And so we sort of think about this in terms of jobs as if there&#8217;s some fixed number of jobs and the AI&#8217;s going to take them. And then there&#8217;s going to be no jobs to replace them. We don&#8217;t really think about it holistically, in this sense of if it&#8217;s doing all that work it&#8217;s producing huge economic value and unlocking human potential.</p>\n\n\n\n<p>[00:20:48] <strong>Nathan Wrigley:</strong> One of the things that really has sort of crept up is the use of the word intelligence. So we&#8217;ve got AI, artificial intelligence. I&#8217;m not entirely sure that, at the moment, is really the right word to be deploying, because that is a fairly scary word.</p>\n\n\n\n<p>You&#8217;ve seen films going back half a century or more where some kind of intelligent cyborg, something created by a human being at least, Frankenstein onwards, is able to outthink humans and therefore wreak havoc and so on and so forth. But my understanding is that the implementations that we are broadly using, ChatGPT and so on and so forth, are based on these large language models.</p>\n\n\n\n<p>It would be interesting to get into the weeds of that if you&#8217;re willing. Can you explain how that technology works and why perhaps it&#8217;s more of a fluke that it gets anything right? Well, that&#8217;s not true. It&#8217;s not really intelligent in the sense that you or I would subscribe to a human, but it appears, it masquerades as intelligent.</p>\n\n\n\n<p>[00:21:48] <strong>Dan Walmsley:</strong> Right. That&#8217;s very true. So, I&#8217;ll try to make this brief but accessible to people who might not have heard this explained before. There was a paper came out, I think it was around 2017, might have been earlier from Google, called Attention is All You Need. And that was the paper that described an architecture called transformers. Where you could feed in a sequence of text that they would turn into these tokens representing, not quite a character, not quite a word, but a numeric string of stuff representing the text.</p>\n\n\n\n<p>And then it would be able to predict the next word with a pretty high degree of accuracy, based on paying selective attention to the previous words. So we all know that words like and, or, or not, aren&#8217;t always salient but then there&#8217;s other words that are sort of really important to the text.</p>\n\n\n\n<p>It gets really good at picking up genre and tone and language. It&#8217;s important to note that ChatGPT was never trained to speak English. It was Hindi or anything else. It was just fed huge amounts of text, and they hide a piece of the text and say, can you guess what that is? And if you do that enough times with this selective attention model, then you end up with a system that is very good at continuing text where you left off.</p>\n\n\n\n<p>Now this by itself is what they call a foundation model. It&#8217;s not that useful. The only thing that really does well is generate plausible sounding text. So if you start something that looks like a scientific paper, it will continue. If you start something that looks like a poem, it will continue.</p>\n\n\n\n<p>So, once you have that foundation model, it&#8217;s not very useful for chat. It will go off the rails. Because it turns out, as soon as a transformer introduces one mistake into its output. Let&#8217;s just say it&#8217;s producing an output and it changes somebody&#8217;s name from Bob to Bill. It will continue to refer to them as Bill, even if it knows in its heart of hearts the correct answer is Bob, because all it&#8217;s trying to do is be as plausible as possible. Ah, I said Bill, I better stick with Bill. Or I said, up is down, I better continue with up is down.</p>\n\n\n\n<p>I did about eight years of improv. It&#8217;s like an improviser in that respect. And in fact, that was one of the first things I used it for was generating scripts and improv things. Little musicals and stuff. Because it can take an absurd premise and run with it. So you give it an absurd premise like bogans in space, that&#8217;s a very Australian reference. It will generate the most plausible script it can for bogans in space. And that&#8217;s wonderful if what you&#8217;re doing is trying to create sort of a fantasy thing, but it&#8217;s less wonderful if you&#8217;re trying to do something grounded.</p>\n\n\n\n<p>And so then they go through these various alignment processes where they feed it a huge amount of handwritten, curated, expert questions and answers on top of that whole internet that they fed it in the first place. And these are supposed to be illustrative of, I&#8217;ve got a question, I need a step by step answer that is clear and concise. And I also need it to refuse to tell me how to make a chemical weapon and other things like that.</p>\n\n\n\n<p>So there&#8217;s some safety stuff there where you look at examples of people asking for malicious things. It&#8217;s crazy. I asked it to tell me a joke the other day, an Irishman, Englishman, American joke, right? And so ChatGPT refused to generate it. Because well, I can&#8217;t make a joke about people based on specific aspects of their race or whatever. Which is sort of like, fair enough in the general case but also weird in the context of me just wanting that joke for myself to see what it could do. That&#8217;s the kind of alignment stuff that they&#8217;ve put in.</p>\n\n\n\n<p>And so finally what you get at the end of the day after a few more steps, is a model that has a little background thing where developers can align the model. Has all these different safety mechanisms. Has the ability to spell out instructions step by step,. Avoids as much as it can certain mistakes that would lead to it repeating itself or hallucinating too much. And has the ability to recognize now and use tools that accept JSON structured input as part of its cognition. That&#8217;s the latest level of alignment that they&#8217;ve introduced. And in the future there&#8217;ll be more and more as it gets bigger and more capable.</p>\n\n\n\n<p>[00:25:31] <strong>Nathan Wrigley:</strong> So the fact that we&#8217;re on GPT4 at the moment, we&#8217;re recording this in June 2023. We&#8217;re on GPT4, and prior to that there was GPT3. And I think everybody can agree that each iteration is better. But the way that the technology is structured at the moment, will each version in the large language model, the token version that you described, the transformer model, will that simply get better at creating fewer and fewer mistakes?</p>\n\n\n\n<p>Or are we approaching something which we could point to and say okay that now really is intelligent? In other words, are we heading towards a general intelligence? An AGI where we can now no longer disassociate it from being a human. It can come up with its own incentives, its own reasons to do things and then figure things out all by itself, based upon no human input whatsoever?</p>\n\n\n\n<p>[00:26:18] <strong>Dan Walmsley:</strong> Yes. When I think of an AGI, I think of an autonomous AGI, right? Where it&#8217;s HAL 9000. I don&#8217;t really know when that will happen. And I don&#8217;t know if it&#8217;s a great idea necessarily. I think in between here and there, there&#8217;s like a huge amount of work to be done to bring this technology to life in ways that help people with their work.</p>\n\n\n\n<p>It&#8217;s one thing to switch tabs and go to ChatGPT and type, write me a program that does x or y. It&#8217;s another thing to have GitHub Copilot living in the editor, which is an absolute game changer. And I suspect what&#8217;s coming next is AIs that work with your programmers and produce pull requests, or patches on pull requests, that fix linting or reduce complexity.</p>\n\n\n\n<p>For example, I would pay at least $10,000 a month for an AI that comes in and reduces the complexity of the code that our teams write every single day. Finds methods that shouldn&#8217;t be there. Renames things to more align with each other. Move stuff between classes, and documents things publicly. Maybe pings developers if it&#8217;s not sure something&#8217;s useful anymore. Can you just imagine? Because not only is that cleaning up the code, it&#8217;s reducing the number of developers you want, it&#8217;s removing one of the most annoying things about being a developer.</p>\n\n\n\n<p>So it&#8217;s making your job as a developer more pleasant. It&#8217;s not like it&#8217;s inventing new stuff, but it&#8217;s making it so much easier to invent new stuff because you&#8217;re working on super clean, minimal code that only does what you need it to do. And now just imagine if every company had that, how much progress we would see.</p>\n\n\n\n<p>[00:27:46] <strong>Nathan Wrigley:</strong> Yeah, it&#8217;s interesting isn&#8217;t it because at the hub of that is, it almost feels like if you paid that $10,000, a large proportion of your team have to go away. Because probably a significant proportion of the team is people going in and cleaning things up and what have you.</p>\n\n\n\n<p>[00:27:59] <strong>Dan Walmsley:</strong> Does it work that way though? Because let&#8217;s just imagine that somebody is on my team. Unless your company is losing money, right? Large amounts of money, and you&#8217;re desperately looking for some way to cut, right? If you have a programmer on your team and you can give them this tool and they become four times as productive. Then why would you want fewer programmers? Every programmer you add is four new programmers.</p>\n\n\n\n<p>I don&#8217;t think this is going to result in people being fired en masse. People look around at Silicon Valley right now, there&#8217;s a lot of companies copying the Elon Musk strategy of, oh boy we just realized that we need to trim the fat. Over the long term, I don&#8217;t know if that necessarily means fewer programmers. Although I do think more people will get to be a programmer.</p>\n\n\n\n<p>My dream is that every human being has their own open source stack that is completely proprietary to them. That is built and managed by an AI that is completely personal to them. Runs on a device that they own and control.</p>\n\n\n\n<p>And so then you can simply describe how you want your life to be, and your personal software stack adapts and makes sure that I only see the information that is valuable and actionable to me. And because of this AIs role in my life, I&#8217;m able to get insights about what&#8217;s really working, and avoid distractions and nobody will ever be able to spam me again.</p>\n\n\n\n<p>I actually literally am building an AI that scrapes the bajillion inscrutable emails from the school and plucks out the things that actually need to go in my calendar. It&#8217;s easy now, right? It&#8217;s 50 lines of code. And I can do the same thing for other digital parts of my life and just make that whole thing go away.</p>\n\n\n\n<p>[00:29:29] <strong>Nathan Wrigley:</strong> Yeah, I think there&#8217;s three places to sit on this seesaw. There&#8217;s either I&#8217;m terrified by AI, or I&#8217;m really pro AI, or I think where I&#8217;m finding myself at the minute is more in the middle. There are parts of it that I can see which clearly have enormous utility, and are really going to put us on a rocket ship to Mars if you like.</p>\n\n\n\n<p>There&#8217;s just no downside, but I think there is a part of me which does genuinely worry about the incentives. Whether or not it&#8217;s a great idea to automate all the things. Whether the landscape is just going to become flooded by noise, which actual humans can&#8217;t go through. So we then have to employ more AI to figure out how to get rid of the fake content. I&#8217;m not a hundred percent sold on it. I can certainly see there&#8217;s bits of it which have benefits.</p>\n\n\n\n<p>However, I&#8217;ve just come back from WordCamp Europe and part of the final address, we had Matt, Josepha and Matias on stage. And Matt is clearly very, very bullish about AI. In the same way that five years ago he was telling everybody to learn JavaScript deeply. I think the lasting message I got certainly from that presentation was start using AI deeply. Obviously you&#8217;re an Automattician, what he says matters. I&#8217;m just wondering, just to bring it back to WordPress, I&#8217;m wondering where we are going to begin to see AI in our WordPress sites? What are the kind of places where we may see it surfacing in the future?</p>\n\n\n\n<p>[00:30:51] <strong>Dan Walmsley:</strong> Yeah, I&#8217;m going to start with the quote from Matt, learn AI deeply. We don&#8217;t really know where AI is going to go but we see a certain rate of progress. And it&#8217;s faster than Moore&#8217;s Law. And so if you use an imperfect AI tool today and you get familiar with it and fluent with it, let&#8217;s just say GitHub Copilot. You can be pretty sure that tool will accelerate in progress over time. Because it&#8217;s already an AI tool that&#8217;s like standing on the shoulders of this like industry. So it&#8217;s going to get faster, it&#8217;s going to get better.</p>\n\n\n\n<p>The people who don&#8217;t embrace AI are going to continue on their linear or plateau trajectory. And so I feel like any human being alive today should probably start embracing some piece of AI in their life so that they can get a sense for how it&#8217;s shifting and changing and improving. So if it&#8217;s just a matter of using ChatGPT to like make plugin snippets, oh it&#8217;s good at this, it&#8217;s not good at that. Make it a habit. Then you&#8217;ll bear witness to what&#8217;s going on and you&#8217;ll know where to jump both feet into the stream and start leveraging this stuff more at scale.</p>\n\n\n\n<p>In terms of where we&#8217;re going to see it show up in WordPress. I was on a panel recently and one of the things that I said was, a question worth asking is what content management system would an AI choose? If you&#8217;re an AI and you&#8217;ve been asked to create a website for someone and you haven&#8217;t been told what technology to use, would you use WordPress?</p>\n\n\n\n<p>And the answer today is, probably. Because most of the public documentation for content management systems is WordPress documentation. So the AI has access to like 20 years of all this stuff. And that&#8217;s really, really powerful. It means it can reason about WordPress in a really impressive way.</p>\n\n\n\n<p>It&#8217;s actually a great testimony to keeping WordPress roughly the same all of that time with minimal breaking changes. Because, you know, one of the things that I&#8217;ve noticed is there are lots of breaking changes between libraries in the Python ecosystem. And that means that ChatGPT very rarely writes working Python code for me. I have to modify it to use the latest API or whatever. It almost always produces working PHP WordPress code, because what works hasn&#8217;t changed, which is quite amazing.</p>\n\n\n\n<p>[00:32:58] <strong>Nathan Wrigley:</strong> I mean, that is actually phenomenal to see that happen.</p>\n\n\n\n<p>[00:33:01] <strong>Dan Walmsley:</strong> Yeah. Now we have to capitalize on that, but that&#8217;s a really great start. And you know what CMS would an AI choose, okay it&#8217;s one that it&#8217;s familiar with. And then the next level is, well it would be one where you can modify it and extend it easily. WordPress certainly checks that box to infinity, right? There&#8217;s all of these existing plugins and an AI can read the documentation of plugins and choose one for you or whatever it needs to do.</p>\n\n\n\n<p>So the plugin mechanism is amazing because you can basically take a statement that someone makes about how they want their website to be different, and turn it into a function that runs a bunch of hooks.</p>\n\n\n\n<p>It doesn&#8217;t have to go modifying the existing code of WordPress and forking it. It can just like inject the things that you ask it for, and correlate them back to the statements that you made. And in the future if it finds out that there was a better way to implement that request then it can implement it differently. Because it has the original things you asked for. So that&#8217;s one way I think I see AI helping with WordPress over time. Not that that&#8217;s a product that I&#8217;ve built I&#8217;m just sort of reasoning broadly about it.</p>\n\n\n\n<p>[00:33:59] <strong>Nathan Wrigley:</strong> I think one of the areas that I really would like to see is the ability to leverage what&#8217;s just come around. I&#8217;m really excited about blocks and block patterns in particular. I&#8217;m quite a visual person, so I love to see images of what I&#8217;m about to get. And the idea of, I don&#8217;t know, I want to build a website for a local industry. A real estate agent, a lawyer or something like that. And the AI has some kind of interpretation of what that means. It probably has a little understanding of the geography of where I live and what kind of imagery might go into a website like that.</p>\n\n\n\n<p>I live on the coast and there is some things which people always take pictures of and they often end up on websites for the places where I live. But also it understands typically what a lawyer is, you know? And it would understand that, okay, you probably need a page that has this on it, and a page that needs this on it, and probably a form and blah, blah, blah.</p>\n\n\n\n<p>And then it would just throw at me, I don&#8217;t know 100, 200 designs, something like that, that I can look at. And because of the fact that it&#8217;s all built with blocks I could input that pattern, and then start to tweak things as I like it. I just love the idea of the choice that it might be able to give me, and short circuit, I mean me building 200 different designs, that&#8217;s going to take me weeks. This potentially could happen in the blink of an eye and I love that choice.</p>\n\n\n\n<p>[00:35:13] <strong>Dan Walmsley:</strong> Yeah. Think about a few years ago, if you had like a site generator versus a site builder, right? So let&#8217;s just say I generated a site and we&#8217;ve all be familiar with site generators, you give it like, what kind of color scheme you want and what kind of industry you&#8217;re in and kind of thing.</p>\n\n\n\n<p>And this has been possible for 10 or 20 years that you can generate a site. But the problem is, okay, now you&#8217;ve generated a site and then you make some content and you&#8217;re like, ah, I want to change that one decision. Well you can either regenerate it from scratch and blows away everything you&#8217;ve done. Or you can try and manually make the change, but you have no idea how to do that because you didn&#8217;t build it in the first place. And then you&#8217;re going to learn the whole system.</p>\n\n\n\n<p>That sort of like magic trick of generating the site back in the day is the thing you can only do once. But in the copilot era, which I think Microsoft correctly identified this paradigm. You can jump in and out of automating the site creation experience as much as you want. And so the idea is, okay, I&#8217;m going to generate the content on this page. Jetpack AI block is actually really, really good at this. I&#8217;m not here to like boost our products too much. But it&#8217;s like a really good example.</p>\n\n\n\n<p>You can generate a page and then you can just change the tone of voice. And it will go and take the same content and change the tone of voice, non-destructively, you know what I mean?</p>\n\n\n\n<p>And so the AI is able to work with whatever changes you&#8217;ve already made and make some more. I think that that&#8217;s going to be the paradigm for a long time. And anybody building AI tools needs to be very careful about building the UI in such a way that it takes these hints from the human. And uses them to make the AI better over time. Better at getting the first guess right.</p>\n\n\n\n<p>And any company that does that is going to have an AI flywheel. And any company that just generates content directly but doesn&#8217;t measure how the users respond to it or interact with it or change it over time is going to be stuck on a plateau, with no way to get to the next level.</p>\n\n\n\n<p>[00:37:04] <strong>Nathan Wrigley:</strong> I really find the whole idea of that curious. Literally you could go to bed one night, wake up in the morning and the AI has decided that we&#8217;ve gathered lots of data and well you had a real blitz of users during the course of the night and it&#8217;s really shown us that no, they don&#8217;t like this bit, so we&#8217;ve changed it entirely on your behalf. So it&#8217;s like split testing but on steroids.</p>\n\n\n\n<p>That seems like a really interesting idea. Obviously people will not wish to hand some aspects of that over but if you can prove that a WooCommerce sale, for example, this configuration of a checkout system seems to be 20 times more popular than this one. Okay, we&#8217;re going to get rid of that one. Now we&#8217;re going to start working our way through whether we can improve this one. All of that seems to be a bit of a no-brainer.</p>\n\n\n\n<p>[00:37:47] <strong>Dan Walmsley:</strong> Yes. Building an awareness of when humans need to make discriminating decisions, and when you can make them on their behalf. And the product design aspects of what expectations do you set about what&#8217;s going to happen, or whether it&#8217;s reversible, or whether it requires confirmation or authentication or et cetera, et cetera. Taking a backup.</p>\n\n\n\n<p>That&#8217;s all stuff that you don&#8217;t get for free with AI. That&#8217;s all the infrastructure of actually making it useful. And I will say the AI itself is dead simple to use, right? it&#8217;s conceptually unbelievably easy. 99.99% of the work is just like aligning the whole rest of the system around it so that you can make sure that customers have a good experience.</p>\n\n\n\n<p>The normal stuff of building products, right? Setting expectations, all these different things. It feels different because watching a generative AI talk like a person is weird, but it&#8217;s not, it&#8217;s not work that requires you go do a deep learning course.</p>\n\n\n\n<p>The thing that is transformative about this is it&#8217;s generality. These techniques have existed for years. We&#8217;ve always been able to classify, well, not always, for a long time been able to classify images for a long time been able to sort of grammatically parse out text or detect languages or sentiment or other things.</p>\n\n\n\n<p>But they were all specialized models with vast data sets. And now you can fine tune it on 500 of your own examples and have it go answering entire support requests straight out of your knowledge base. And so it&#8217;s that generality that is really powerful.</p>\n\n\n\n<p>[00:39:13] <strong>Nathan Wrigley:</strong> I&#8217;m curious to see what the UI for all of these different things are going to be in the future. In the sense that, you know, if you look at WordPress from when you began using it, it&#8217;s a very different animal. Although it hasn&#8217;t changed dramatically in the last five or six years. When you began using it, it was a different animal to the way it looks now.</p>\n\n\n\n<p>And then these sort of page builder technologies came along and further democratized publishing and made things easy and it was a point click interface. I&#8217;m just curious to see how, what the pieces are that live inside WordPress. Whether it&#8217;s going to be text input. Whether we&#8217;re just going to start talking to our website and, you know, move it left a bit, a little bit more, make it red. Not that red, the other red.</p>\n\n\n\n<p>I want a picture of a, I don&#8217;t know, a sausage over there, that kind of thing. How all this gets surfaced. We&#8217;re obviously in the era of trying to get everybody to use Gutenberg. Whether it fits into there or whether we need a brand new interface because the AI will just take care of everything. That bit is for me going to be really interesting.</p>\n\n\n\n<p>[00:40:06] <strong>Dan Walmsley:</strong> Yeah. I&#8217;m really excited to see what happens with Gutenberg. I&#8217;m completely convinced Gutenberg will not go away. And actually AI makes Gutenberg look like a better and better decision versus the classic editor as AI comes into view.</p>\n\n\n\n<p>[00:40:21] <strong>Nathan Wrigley:</strong> Can you develop on that? I think I know what you mean but I want to hear what you mean. Yeah.</p>\n\n\n\n<p>[00:40:25] <strong>Dan Walmsley:</strong> So having things embedded as blocks with parameters provides a much more semantically rich interface than just a bunch of HTML. It&#8217;s similar as to how we see markdown used a lot more in AI than HTML as a formatting language, input, output. And why is that?</p>\n\n\n\n<p>Well, it&#8217;s because the structure tells you something about the meaning of the document, right? This is a table, this is an image, this is a whatever. Obviously you get an HTML but more sophisticated than that, right? This allows the AI, so say you&#8217;ve got like a cover block with an image and a text. This allows the AI to have some confidence about how that&#8217;s going to appear when it shows up on a webpage.</p>\n\n\n\n<p>As opposed to arbitrary HTML that may be pulling in CSS from various places and like all that kind of stuff. Gutenberg provides an incredible foundation for collaboration. And collaboration is key, right? If we&#8217;re talking about the copilot era here, I don&#8217;t think for a long, long time we&#8217;re ever going to have necessarily AIs. Like you&#8217;re not going to have a CMS come out that like, doesn&#8217;t have an editor, because it just has a chat interface. You tell the AI what to do and hope that it does the right thing.</p>\n\n\n\n<p>Like that&#8217;s not going to be the case for a really, really long time, if ever. What you need is an editor where you can seamlessly collaborate with an AI. And if I was to take Matt&#8217;s words and bring them back into the conversation about learning AI deeply, I would love to see people in the community experimenting with UX concepts for collab.</p>\n\n\n\n<p>We are in the collaboration phase. Now is the time to start bringing your ideas to the table about what it looks like to collaborate with an AI in Gutenberg and how revolutionary that could be.</p>\n\n\n\n<p>[00:42:01] <strong>Nathan Wrigley:</strong> Are you open to those conversations? Is your team keen to hear from the community? And if that&#8217;s the case, where do we go to begin that conversation?</p>\n\n\n\n<p>[00:42:08] <strong>Dan Walmsley:</strong> That&#8217;s all happening in the open source community. I&#8217;ve had a couple of conversations with Matias or others, but really at a high level. I think it&#8217;s the community that needs to help drive that. We&#8217;ve shown what&#8217;s possible with Jetpack AI. It&#8217;s like the first quickest, most sane thing we could build.</p>\n\n\n\n<p>But in terms of the collaboration phase, my team is aligning the AI efforts of a large multinational corporation across many, many, many different modalities. Not just in the editor, but across image classification, and trust and safety, and all sorts of other things.</p>\n\n\n\n<p>On a day-to-day basis I don&#8217;t have a huge amount of bandwidth for one thing like the Gutenberg editor but I really encourage the community to get involved and share ideas.</p>\n\n\n\n<p>[00:42:53] <strong>Nathan Wrigley:</strong> Yeah. I&#8217;ll put links to the presentation that you were involved in, with, I know it was at least Anne McCarthy. I can&#8217;t remember who the other contributors were now but that was really fascinating. Interesting kind of first steps in, well, tell us what we want out of AI because we can see what it can do out in the wild with other things. You mentioned co-pilot and there&#8217;s obviously ChatGPT and all fun images that you can create with mangled fingers.</p>\n\n\n\n<p>Interesting to find out what the community want from it. How it will look in two or three years time? And getting involved in that conversation could really impact the project right now.</p>\n\n\n\n<p>[00:43:25] <strong>Dan Walmsley:</strong> I would also say, dark horse here, but I would love to see more people get involved in WordPress Playground. So for those don&#8217;t know, WordPress Playground they demoed it last year and I was actually in the room in New York for the WordCamp US there.</p>\n\n\n\n<p>[00:43:38] <strong>Nathan Wrigley:</strong> That is some astonishing tech.</p>\n\n\n\n<p>[00:43:41] <strong>Dan Walmsley:</strong> It is game changing. I mean, and it&#8217;s funny because it&#8217;s on the one hand you could look at it and be like, well, this is like a cute hack, but it&#8217;s you know, you would never run a website this way. But think about it, if you&#8217;re a person creating or modifying or wanting to come up with a new website. With no hosting, with no nothing, just sitting there like running a blob of JS in the browser.</p>\n\n\n\n<p>You can ask an AI to generate the entire site and remix it and destroy it and build it again, and like when you&#8217;re happy enough with it, click a button to download and put it on a real web host. It&#8217;s lowering the barrier to entry. And I can imagine if we get lots of good contributions, there&#8217;s already really good JavaScript API access for saying, install this plugin, or like, modify this file, right?</p>\n\n\n\n<p>And so if you go a step further, oh, generate an AI block that does X, Y, Z, right? And if you&#8217;re a developer that doesn&#8217;t already have WordPress or know WordPress, and you don&#8217;t have to pull down PHP, you don&#8217;t even have to write PHP. You have this like ephemeral WordPress in the browser and you can see what it&#8217;s capable of.</p>\n\n\n\n<p>I think that could bring so many potential developers into the WordPress community. Who are able to see what&#8217;s possible, have this low barrier entry, who have zero dependencies and can provide plugins and blocks and other cool ideas into the WordPress community who might not have had a chance to contribute before.</p>\n\n\n\n<p>[00:44:56] <strong>Nathan Wrigley:</strong> It&#8217;s amazing when you actually use it because you just assume that there&#8217;s a machine somewhere remotely that&#8217;s serving up that website and it just spun it up in a heartbeat. But of course it&#8217;s not. You can entirely unplug from the internet and there it is. It&#8217;s still working. And it took all of no seconds at all to get the whole thing going. It&#8217;s amazing.</p>\n\n\n\n<p>[00:45:17] <strong>Dan Walmsley:</strong> Yeah, it really is.</p>\n\n\n\n<p>[00:45:19] <strong>Nathan Wrigley:</strong> I will link to that as well. Yep.</p>\n\n\n\n<p>[00:45:21] <strong>Dan Walmsley:</strong> I hope that becomes the way that a lot of people build stuff on WordPress actually. It is a playground. It&#8217;s really fun. It reminds me of when I was playing with the first version of WordPress. But it&#8217;s just accessible to vastly, vastly more people. You know, anyone with a web browser?</p>\n\n\n\n<p>[00:45:35] <strong>Nathan Wrigley:</strong> Yeah, it&#8217;s kind of like having a blank piece of paper next to you, one of a thousand bits of paper that you can just scribble on and screw it up and throw it over your shoulder and, okay, that didn&#8217;t work. Let&#8217;s try again. We&#8217;ll just blank canvas, start again. And actually, I don&#8217;t know if you did see the address that Matt gave at WordCamp Europe. That was one of the other things he discussed. So you are very much in alignment.</p>\n\n\n\n<p>[00:45:54] <strong>Dan Walmsley:</strong> It&#8217;s in my queue.</p>\n\n\n\n<p>[00:45:56] <strong>Nathan Wrigley:</strong> Okay. Well, sadly, I mean, I could honestly talk about this with very little authority for hours and hours and hours. But we&#8217;ve probably used up our allotted time.</p>\n\n\n\n<p>Dan, if anybody wants to reach out to you specifically, do you make yourself available in that way? And if so, where do we find you? Are you a Twitter fan? Or are you on, you know, you&#8217;re going to throw an email in our direction or a Slack channel? Let us know.</p>\n\n\n\n<p>[00:46:17] <strong>Dan Walmsley:</strong> Well, you can reach me on Twitter. Twitter.com/danwalmsley. d a n w a l m s l e y. It&#8217;s a tricky one. And, that&#8217;s a start.</p>\n\n\n\n<p>[00:46:28] <strong>Nathan Wrigley:</strong> Perfect. Well, thank you so much for chatting to us today about AI. I&#8217;m just sorry that I, uh, I can&#8217;t kind of keep up with the level of intelligence that&#8217;s probably required to make this conversation worth while, but I appreciate it.</p>\n\n\n\n<p>[00:46:40] <strong>Dan Walmsley:</strong> I super appreciate being on the podcast. I&#8217;m really, really excited about the next couple of years. And especially for WordPress. I think we&#8217;ve got like a lot of strengths that if we leverage them, can put us in an amazing position to empower a lot of people to, you know, publish and to continue to democratize publishing.</p>\n</div>\n\n\n\n<p>On the podcast today we have <a href=\"https://twitter.com/danwalmsley\">Dan Walmsley</a>.</p>\n\n\n\n<p>Dan is a long-time user of WordPress, having started using it even before version one was released. With a passion for experimenting with different publishing platforms, Dan eventually discovered WordPress and has been using it ever since. Currently working at Automattic as a Code Wrangler, Dan is part of the Applied AI team. Although the team is relatively new, with only a few members, their mission is to coordinate and guide the various AI initiatives within the company. Recently, he has been focusing on automating internal workflows and communications, a particularly crucial aspect given the distributed work setup, which spans 70 countries and multiple time zones.</p>\n\n\n\n<p>We start the conversation talking about Dan’s background. He’s recently decided that AI is a truly transformational technology and so has taken steps to learn the skills needed to understand and implement it.</p>\n\n\n\n<p>Dan talks about how Large Language Models work, and how ChatGPT has driven awareness, and demand, for AI technologies in a way that was almost impossible to predict just a year ago. This has caused many companies to become deeply interested in AI and what it can do for their business workflows.</p>\n\n\n\n<p>We get into whether the reality of AI can live up to the hype. Do we have enough understanding of AI to know what its impact will be on the workplace, or are we just in the middle of a media frenzy which will die down over time? Dan challenges the notion that AI will take many of our jobs, and emphasises the economic value that AI can bring.</p>\n\n\n\n<p>We move on to explore the differences between site generators and site builders, and Dan introduces the concept of the ‘copilot era’ in which website creation can be somewhat automated. He highlights tools like Jetpack AI which can generate content and modify the tone of voice right inside of WordPress.</p>\n\n\n\n<p>Dan stresses the importance of building AI tools with user interfaces that learn from human input in order to improve over time. He thinks that companies which measure user responses and interactions will gain a significant advantage in AI development, while those who fail to improve their AI content generation will be left behind.</p>\n\n\n\n<p>Whether you’re new to AI or have been paying attention for a while, this podcast offers a fascinating insight into its impact on society, and how it can accelerate progress in fields like scientific research.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Useful links.</h2>\n\n\n\n<p><a href=\"https://movabletype.org/\">Moveable Type</a></p>\n\n\n\n<p><a href=\"https://automattic.com/\">Automattic</a></p>\n\n\n\n<p><a href=\"https://docs.langchain.com/docs/\">LangChain</a></p>\n\n\n\n<p><a href=\"https://openai.com/\">OpenAI</a></p>\n\n\n\n<p><a href=\"https://www.typescriptlang.org/\">TypeScript</a></p>\n\n\n\n<p><a href=\"https://www.andrewng.org/courses/\">Andrew Ng&#8217;s Deep Learning course</a></p>\n\n\n\n<p><a href=\"https://dayoneapp.com/\">Day One</a></p>\n\n\n\n<p><a href=\"https://woocommerce.com/\">WooCommerce</a></p>\n\n\n\n<p><a href=\"https://senseilms.com/\">Sensai</a></p>\n\n\n\n<p><a href=\"https://www.deepmind.com/\">Google Deep Mind</a></p>\n\n\n\n<p><a href=\"https://en.wikipedia.org/wiki/Perplexity\">Perplexity</a></p>\n\n\n\n<p><a href=\"https://stability.ai/stablediffusion\">Stable Diffusion</a></p>\n\n\n\n<p>Google&#8217;s &#8216;<a href=\"https://arxiv.org/pdf/1706.03762.pdf\">Attention is all you need</a>&#8216; paper</p>\n\n\n\n<p><a href=\"https://github.com/features/copilot\">GitHub Copilot</a></p>\n\n\n\n<p><a href=\"https://jetpack.com/ai/\">Jetpack AI</a></p>\n\n\n\n<p><a href=\"https://www.youtube.com/watch?v=rWH6Z6cJe5o\">AI and the future of WordPress</a> &#8211; Panel session</p>\n\n\n\n<p><a href=\"https://developer.wordpress.org/playground/\">WordPress Playground</a></p>\n\n\n\n<p><a href=\"https://twitter.com/danwalmsley\">Dan&#8217;s Twitter</a></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 02 Aug 2023 14:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Nathan Wrigley\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:39;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:45:\"WPTavern: Jetpack Launches Newsletter Product\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"https://wptavern.com/?p=147385\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wptavern.com/jetpack-launches-newsletter-product\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:6886:\"<p><a href=\"https://jetpack.com/blog/jetpack-12-4/\">Jetpack 12.4</a> was released today, launching the plugin&#8217;s <a href=\"https://jetpack.com/blog/introducing-jetpack-newsletter/\">Newsletter product</a>. It allows users to send blog posts as newsletters, without the hassle of having to copy and paste from the WordPress editor into another newsletter service&#8217;s campaign editor and reformat it for email. This launch comes seven months after <a href=\"https://wptavern.com/wordpress-com-launches-newsletter-product\">WordPress.com launched its newsletter offering</a>, which uses the same underlying infrastructure to deliver emails.</p>\n\n\n\n<p><a href=\"https://jetpack.com/newsletter/\">Jetpack Newsletter</a> is launching as a free product, with a percentage of fees collected from creators who choose to offer paid subscriptions:</p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p>Fees are only collected when you accept payments. Fees are based on the Jetpack plan you have and are calculated as a percentage of your revenue from 10% on the Free plan to 2% on the Complete plan (plus Stripe fees). </p>\n</blockquote>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<img width=\"1262\" height=\"844\" src=\"https://149611589.v2.pressablecdn.com/wp-content/uploads/2023/08/Screen-Shot-2023-08-01-at-6.08.20-PM.png\" alt=\"\" class=\"wp-image-147401\" />\n\n\n\n<p>Jetpack users are probably familiar with the plugin&#8217;s ability to send posts to subscribers via email. The newsletter feature uses this <a href=\"https://jetpack.com/support/subscriptions/\">same infrastructure</a> that site owners have relied on for years to allow subscribers to get updates in their inboxes when new posts are available.  </p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<img width=\"1560\" height=\"688\" src=\"https://149611589.v2.pressablecdn.com/wp-content/uploads/2023/08/image.png\" alt=\"\" class=\"wp-image-147391\" />\n\n\n\n<p>Newsletters can be turned on under the Discussion tab in the Jetpack settings. Many Jetpack users likely already have this turned on.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<img width=\"1458\" height=\"596\" src=\"https://149611589.v2.pressablecdn.com/wp-content/uploads/2023/08/Screen-Shot-2023-08-01-at-4.00.21-PM.png\" alt=\"\" class=\"wp-image-147393\" />\n\n\n\n<p>The Subscribe block can be placed anywhere on the site and new subscribers will be sent a confirmation email to confirm their subscription. They have the option to choose between instant, daily, or a weekly digest, as well as control the time and day they receive their digests. Subscribers can also pause or unsubscribe from the site.</p>\n\n\n\n<p>Subscriber import and other features, such as newsletter stats for opens and clicks, is available via the Jetpack admin pages on WordPress.com. </p>\n\n\n\n<p>At this time, newsletter creators can only import up to 100 subscribers via CSV file. This is severely limiting for all but the smallest of newsletters, but the Jetpack team has confirmed that it is high on their list of priorities to change as it creates too much of a barrier. The limit was set for spam prevention, but it makes it nearly impossible to migrate to Jetpack Newsletter if you have a popular newsletter. Those who are on paid plans can upload unlimited subscribers. </p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<img width=\"2020\" height=\"1076\" src=\"https://149611589.v2.pressablecdn.com/wp-content/uploads/2023/08/Screen-Shot-2023-08-01-at-4.29.17-PM.png\" alt=\"\" class=\"wp-image-147395\" />\n\n\n\n<p>Newsletter creators can change the site name and logo for their emails and paid users will have more customization options in the future.</p>\n\n\n\n<p>One thing that sets Jetpack Newsletter apart from the vast majority of other traditional email service providers is that it allows unlimited email sends and unlimited subscriber lists for both free and paid users. </p>\n\n\n\n<p>Most popular services like Mailchimp, Brevo, and SendGrid, allow only a few hundred emails to be sent per day or up to 1,000 per month for free users. Paid plans get expensive quickly as a newsletter&#8217;s subscriber base grows. Emails and subscriber numbers usually determine the pricing for these services, which makes Jetpack&#8217;s product stand out from the crowd, especially for those who intend to independently monetize their newsletter through ads and paid sponsorships.</p>\n\n\n\n<p>Jetpack Marketing Lead Rob Pugh said that although popular newsletter services are more limited in emails and subscriber numbers, they also offer a completely different feature set. The Jetpack Newsletter product is aimed at competitors like <a rel=\"noreferrer noopener\" href=\"http://substack.com/\" target=\"_blank\">Substack.com</a>, <a rel=\"noreferrer noopener\" href=\"http://beehiiv.com/\" target=\"_blank\">Beehiiv.com</a>, and <a rel=\"noreferrer noopener\" href=\"http://ghost.org/\" target=\"_blank\">Ghost.org</a>, which also all offer unlimited email sends. On paid plans, Jetpack Newsletter&#8217;s offer beats Substack, as it collects 2% (plus Stripe fees) as compared to Substack&#8217;s take of 10% plus credit card fees.</p>\n\n\n\n<p>Newsletter creators should be aware that Jetpack Newsletter&#8217;s unlimited emails and subscribers may not last forever, as the FAQ section of the product states that it is an introductory offer:</p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p>As an introductory offer, we do not limit you or charge you based on your email list size. This may change in the future. Fair usage policy applies.</p>\n</blockquote>\n\n\n\n<p>Jetpack representatives were not able to confirm the limits of fair usage or how long the introductory period will last.</p>\n\n\n\n<p>&#8220;Launching without a limit on emails isn’t the most financially responsible thing, but we’re most excited to get this feature into the hands of people to get feedback,&#8221; Pugh said. &#8220;We’re focused on the immediate roadmap to make the product better, although there will likely be a limit at some point in the future if we see extreme use from people on free plans.&#8221;</p>\n\n\n\n<p>He said the Jetpack team goes out of its way to make pricing changes as fairly as possible &#8220;and we don’t want to pull the rug out from anyone, so we’ll certainly consider how people are impacted before making changes.&#8221;  </p>\n\n\n\n<p>Until the limited subscriber import issue has been solved, any pricing changes down the road are only likely to affect newsletters that are just starting out getting people signed up. Apart from this limitation, Jetpack Newsletter is making a competitive debut in the market. For those who are already using Jetpack and have an existing subscriber base, it makes it nearly effortless to add paid subscriptions. Using the block editor is far easier than most newsletter campaign editors out there, and Jetpack streamlines the sending process so creators don&#8217;t have to copy and paste between email services.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 01 Aug 2023 22:24:35 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:40;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"WordPress.org blog: WordPress 6.3 Release Candidate 3\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=15615\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"https://wordpress.org/news/2023/08/wordpress-6-3-rc3/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:6189:\"<p>WordPress 6.3 RC3 is ready for download and testing.</p>\n\n\n\n<p><strong>This version of the WordPress software is under development.</strong> <strong>Please do not install, run, or test this version on production or mission-critical websites.</strong> Instead, you should evaluate RC3 on a test server and site.&nbsp;</p>\n\n\n\n<p>The WordPress 6.3 release is scheduled for August 8, 2023—just one week away. Now is your last opportunity to test it before the general release.&nbsp;</p>\n\n\n\n<p>For a deeper look into this release, read this overview of the <a href=\"https://make.wordpress.org/core/6-3/\">6.3 release cycle</a>, check the <a href=\"https://make.wordpress.org/core/\">Make WordPress Core blog</a> for <a href=\"https://make.wordpress.org/core/tag/6-3/\">6.3-related posts</a>, review <a href=\"https://wordpress.org/news/2023/06/wordpress-6-3-beta-2/\">new features in WordPress 6.3</a>, or <a href=\"https://wordpress.org/news/2023/07/wordpress-6-3-live-product-demo-highlights-recording/\">watch a recorded demo</a>.&nbsp;</p>\n\n\n\n<h2 class=\"wp-block-heading\">What’s new since RC2</h2>\n\n\n\n<p>Since the RC2 release on July 25, 2023, there have been approximately 14 issues resolved in <a href=\"https://github.com/WordPress/gutenberg/commits/wp/6.3\">Github</a> and <a href=\"https://core.trac.wordpress.org/query?status=accepted&status=closed&changetime=07%2F25%2F2023..08%2F01%2F2023&milestone=6.3&col=id&col=milestone&col=owner&col=type&col=priority&order=id\">Trac</a>. To prepare for 6.3 general availability, RC3 also addresses several <a href=\"https://github.com/WordPress/gutenberg/pull/53089\">bugs</a> and adds fixes for retrieving templates (<a href=\"https://github.com/WordPress/wordpress-develop/pull/4940\">#4940</a>) and resolving child theme issues (<a href=\"https://github.com/WordPress/gutenberg/issues/53138\">#53138</a>). Thank you for testing, WordPressers!</p>\n\n\n\n<p>Developers and extenders should review the <a href=\"https://make.wordpress.org/core/2023/07/18/wordpress-6-3-field-guide/\">comprehensive WordPress 6.3 Field Guide</a> for detailed technical notes regarding new features and improvements.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Ways to contribute</h2>\n\n\n\n<p>WordPress is open source software made possible by the community of people collaborating on and contributing to its development. The resources below outline a variety of ways you can help, regardless of your technical expertise.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Download RC3 for testing</h3>\n\n\n\n<p>You can test WordPress 6.3 RC3 in three ways:</p>\n\n\n\n<ul>\n<li><strong>Option 1:</strong> Install and activate the <a href=\"https://wordpress.org/plugins/wordpress-beta-tester/\">WordPress Beta Tester</a> plugin (select the “Bleeding edge” channel and “Beta/RC Only” stream).</li>\n\n\n\n<li><strong>Option 2:</strong> Direct download the <a href=\"https://wordpress.org/wordpress-6.3-RC3.zip\">RC3 version (zip)</a>.</li>\n\n\n\n<li><strong>Option 3: </strong>Use the following WP-CLI command:<br /><code>wp core update --version=6.3-RC3</code></li>\n</ul>\n\n\n\n<h3 class=\"wp-block-heading\">Keep WordPress bug-free—help with testing</h3>\n\n\n\n<p>Testing for issues is a critical part of developing any software, and it’s a meaningful way for anyone to contribute—whether you have experience or not. While testing the upgrade process is essential, trying out new features is too.&nbsp;&nbsp;</p>\n\n\n\n<ul>\n<li>Encountered an issue? Please report it to the <a href=\"https://wordpress.org/support/forum/alphabeta/\">Alpha/Beta area</a> in the support forums. If you are comfortable writing a reproducible bug report, you can <a href=\"https://core.trac.wordpress.org/newticket\">file one on WordPress Trac</a>. You can also check your issue against a list of <a href=\"https://core.trac.wordpress.org/tickets/major\">known bugs</a>.</li>\n\n\n\n<li>New to testing? This <a href=\"https://make.wordpress.org/test/2023/06/27/help-test-wordpress-6-3/\">detailed guide</a> is a great place to start if you’ve never tested a beta/RC release.</li>\n\n\n\n<li>Want to know more about testing releases in general? Follow along with the <a href=\"https://make.wordpress.org/test/\">testing initiatives in Make Core</a> and join the <a href=\"https://wordpress.slack.com/messages/core-test/\">#core-test channel</a> in <a href=\"https://wordpress.slack.com/\">Making WordPress Slack</a>.</li>\n</ul>\n\n\n\n<h3 class=\"wp-block-heading\">Search for vulnerabilities</h3>\n\n\n\n<p>The monetary reward for reporting new, unreleased security vulnerabilities is doubled between the Beta 1 release and the final release candidate (RC). Please follow responsible disclosure practices as detailed in the project’s security practices and policies outlined on the <a href=\"https://hackerone.com/wordpress\">HackerOne page</a> and in the <a href=\"https://wordpress.org/about/security/\">security white paper</a>.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Update your theme or plugin</h3>\n\n\n\n<p>Do you build themes or plugins? Your products play an integral role in extending the functionality and value of WordPress for users of all types worldwide.&nbsp;</p>\n\n\n\n<p>This is your final opportunity to test your latest versions against RC3. You will want to continue your testing and update the “<em>Tested up to”</em> version in your plugin’s readme file to 6.3.&nbsp;</p>\n\n\n\n<p>If you find compatibility problems, please post detailed information to the <a href=\"https://wordpress.org/support/forum/alphabeta/\">support forums</a>.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Help translate WordPress</h3>\n\n\n\n<p>Do you speak a language other than English? ¿Español? Français? Português? Русский? 日本? <a href=\"https://translate.wordpress.org/projects/wp/dev\">Help translate WordPress into more than 100 languages.</a>&nbsp;</p>\n\n\n\n<h2 class=\"wp-block-heading\">Release the haiku</h2>\n\n\n\n<p>Phase two, soon complete<br />A monumental release<br />Then onto six-four.</p>\n\n\n\n<p><em>Thank you to the contributors who collaborated on this post: <a href=\"https://profiles.wordpress.org/meher/\">@Meher</a>, <a href=\"https://profiles.wordpress.org/dansoschin/\">@DanSoschin</a>, and <a href=\"https://profiles.wordpress.org/jpantani/\">@jpantani</a></em></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 01 Aug 2023 16:55:21 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"Jonathan Pantani\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:41;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:88:\"Do The Woo Community: Welcome Katie Keith from Barn2 Plugins to the Do the Woo Host Team\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=75760\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:52:\"https://dothewoo.io/katie-keith-new-do-the-woo-host/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:446:\"<p>Today Marcus talks with his new co-host of Woo BizChat, Katie Keith, as she shares her Woo story and what you can expect from these two moving forward.</p>\n<p>&gt;&gt; The post <a rel=\"nofollow\" href=\"https://dothewoo.io/katie-keith-new-do-the-woo-host/\">Welcome Katie Keith from Barn2 Plugins to the Do the Woo Host Team</a> appeared first on <a rel=\"nofollow\" href=\"https://dothewoo.io\">Do the Woo - a WooCommerce Builder Community</a>	.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 01 Aug 2023 10:25:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:42;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"WPTavern: Start Testing WordPress’ New Interactivity API\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"https://wptavern.com/?p=147355\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"https://wptavern.com/start-testing-wordpress-new-interactivity-api\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2510:\"<p>Earlier this year, WordPress contributors announced that they are <a href=\"https://wptavern.com/wordpress-contributors-propose-new-interactivity-api-for-frontend-blocks\">working on a new Interactivity AP</a>I that will allow developers to build interactive blocks. This API will support the kinds of frontend experiences that let visitors interact with content and get feedback without having to refresh the page.</p>\n\n\n\n<p>Automattic-sponsored contributor Luis Herranz, who has been working on the API, is now <a href=\"https://twitter.com/luisherranz/status/1686064632400658439\">encouraging developers to test it</a> with their own blocks. <a href=\"https://wptavern.com/gutenberg-16-2-brings-improvements-to-pattern-management-introduces-vertical-text-orientation\">Gutenberg 16.2</a> included the Interactivity API under the Experiments flag and this version or later is required for testing it.</p>\n\n\n\n<p>Developers can follow the API&#8217;s <a href=\"https://github.com/WordPress/gutenberg/blob/trunk/packages/interactivity/docs/1-getting-started.md\">&#8220;Getting Started&#8221; guide</a> on GitHub to scaffold an interactive block with `@wordpress/create-block`. Take a look at the <a href=\"https://github.com/WordPress/gutenberg/discussions/52904\">roadmap</a>, which has an extensive list of tasks the team has in mind for the initiative and will include tracking issues for features as they progress.</p>\n\n\n\n<p>Those who are testing the Interactivity API can follow and participate in the discussions happening in the new <a href=\"https://github.com/WordPress/gutenberg/discussions/categories/interactivity-api\">Interactivity API category</a> on GitHub. This early testing invitation is for those who are eager to help shape the API and offer feedback.</p>\n\n\n\n<p>&#8220;If you want to use the Interactivity API in your projects, please subscribe to this discussion where we will provide updates with instructions for migrating your code each time there is a breaking change,&#8221; Herranz said.</p>\n\n\n\n<p>There is no official documentation yet, but a the team is working towards creating a bare-bones version first which will be used as the base for the official docs further down the road. The documentation efforts are being led by Automattic-sponsored contributor <a href=\"https://profiles.wordpress.org/juanmaguitar/\">JuanMa Garrido</a> and anyone willing to collaborate is invited to <a href=\"https://github.com/WordPress/gutenberg/discussions/51928\">join the conversation on GitHub</a>.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 31 Jul 2023 21:38:47 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:43;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"WordPress.org blog: People of WordPress: Ihtisham Zahoor\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=15589\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"https://wordpress.org/news/2023/07/people-of-wordpress-ihtisham-zahoor/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:10231:\"<p>From administrator to web developer thanks to the supportive WordPress community. Through learning from other software users in Pakistan, Ihtisham Zahoor knew that his life would change. He moved cities and careers to make his life through open source.</p>\n\n\n\n<p><strong>The&nbsp;<em>People of WordPress</em>&nbsp;series shares inspiring stories of how people’s lives can change for the better through WordPress and its global community of contributors.</strong></p>\n\n\n\n<img width=\"1024\" height=\"768\" src=\"https://i0.wp.com/wordpress.org/news/files/2023/07/ihtisham-2.jpg?resize=1024%2C768&ssl=1\" alt=\"Ihtisham Zahoor in the moutains.\" class=\"wp-image-15478\" />\n\n\n\n<p>Ihtisham, from Haripur, a city in northern Pakistan, said: “The WordPress community made me a firm believer in the power of open source software. This is why I am an enthusiast and one who enjoys contributing back to the community via writing, speaking, and helping organize meetups.”</p>\n\n\n\n<p>When Ihtisham discovered WordPress, his fascination for working with computing grew. He knew he did not want to just work in administration his entire career.</p>\n\n\n\n<p>Ihitsham describes himself as an ‘introvert’ and therefore the idea of remote work appealed as he could still add value to others through technology. He was intrigued by the thought of the freedom to choose his work hours. However, without access to others who had already transformed their careers and lives through web development, he felt he ‘had no path to follow to turn my dream into a reality.’</p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Challenges become opportunities to learn when there is an active community&nbsp;&nbsp;</strong></h2>\n\n\n\n<img width=\"675\" height=\"900\" src=\"https://i0.wp.com/wordpress.org/news/files/2023/07/ihtisham-4.jpg?resize=675%2C900&ssl=1\" alt=\"Ihtisham Zahoor wearing a sweatshirt with the London tube sign \'Mind the Gap\'.\" class=\"wp-image-15480\" />\n\n\n\n<p>Lacking any kind of informed support network to advise or guide him, Ihtisham devoted time to online research to find the next steps he could take. Looking back, he believes that for those who are not in a network with others with similar interests, it can be hard to keep learning and experimenting with new things. Isolation can be a barrier to working in web development.&nbsp;&nbsp;</p>\n\n\n\n<p>He said: “I think it is not easy to stay motivated when there aren’t immediate rewards for the hard work we do. Sometimes, weeks would go by when my only focus would be to stay motivated rather than give up.”</p>\n\n\n\n<p>After another two years of combining learning and work, Ihtisham took up using WordPress as a full-time career. He moved to the capital of Pakistan, Islamabad. It was not easy at first. He recalls: “After many failed attempts at getting hired and desperate moments, I finally received an offer from a digital agency as a web developer focused on the WordPress platform.”</p>\n\n\n\n<p>He added: “Moving to work with a bigger agency was one of the best decisions of my life as it helped me with my professional growth by becoming familiar with the whole WordPress ecosystem in a supportive environment. I was valued for my opinions in the web projects in which I was involved. I was also appreciated and encouraged for the open source work I did for the company.” He summarized his enthusiasm for WordPress like this: “It is really interesting figuring out what is happening in the backends. I like problem-solving and finding solutions which you can do with WordPress.”</p>\n\n\n\n<p>During the Covid-19 pandemic, Ihtisham moved to join a start-up based in his hometown which provides web development services to international clients. He works as a developer and has the opportunity to learn more about client communication and project management. “WordPress has opened up so many opportunities for me. It has been an exciting journey for me with lots of learning every day,” he said. In particular, he has discovered an interest in APIs and regularly uses his spare time to follow tickets in the hope of one day contributing even more to topics, such as, third-party app integration through APIs on WordPress sites.</p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Give back through WordPress community</strong></h2>\n\n\n\n<img width=\"800\" height=\"599\" src=\"https://i0.wp.com/wordpress.org/news/files/2023/07/ihtisham-1.jpeg?resize=800%2C599&ssl=1\" alt=\"Ihtisham Zahoor speaking at a meetup.\" class=\"wp-image-15477\" />\n\n\n\n<p>It was not just software that made a difference in Ihtisham’s life. Joining a welcoming and sharing community was transforming for him. Recalling those early days of isolation, he values the WordPress community and is wholly committed to the power of open-source software. He now enjoys writing, speaking, and organizing meetups to give back to both to the community. He has written software for the platform and contributes to the Core work, which he describes as a ‘humbling’ experience. He is fond of <a href=\"https://islamabad.wordcamp.org/\">WordCamp Islamabad</a> and in 2023 is on the organizing team to help bring both WordPress and its community to others in Pakistan.</p>\n\n\n\n<p>“My first experience,” he said, “was that everyone was so friendly and open to sharing what they have learned, even though they were all busy working. This really had an impact on me. It really helped me and gave me the confidence that I could work with WordPress…. It was a real step forward for me joining this community.” </p>\n\n\n\n<img width=\"1024\" height=\"512\" src=\"https://i0.wp.com/wordpress.org/news/files/2023/07/ihtisham-WC-Karachi.jpg?resize=1024%2C512&ssl=1\" alt=\"Ihtisham visited WordCamp Karachi.\" class=\"wp-image-15482\" />\n\n\n\n<p>A particular meeting in 2018 led to new friendships through the WordPress community. Ihtisham was on a train to Karachi for the first ever Pakistani WordCamp in 2018 and met a group of fellow attendees he now regards as close friends. What impressed him most about the camp was that although he met many people with considerable expertise, they also had a generosity of spirit and humbleness in their willingness to share this knowledge. in sharing it. Now, he and this group of friends make a point to taking trains across the country, which allows him to fulfil another dream of traveling widely. He says these things and other ‘side benefits’ have been made possible by the WordPress community, and for that, he is &#8216;forever grateful&#8217;.<br /><br />Ihtisham particularly wanted to share his story through this People of WordPress article to encourage those starting with little or no support to remain persistent. He knows from experience breaking into the tech world can be hard, especially when you may be switching from doing something else and have no ‘track record’ to offer. </p>\n\n\n\n<p>He feels he is a living example of how perseverance can lead to success. He offers these words to anyone thinking of making a move into development using the WordPress platform: “I attribute my success (financial and mental well-being) to the open-source nature of WordPress and its amazing community. It would not be possible to learn and use the plethora of free tools WordPress provides if it weren’t an open-source platform. It is for that reason I feel obligated to contribute back to this platform to the best of my abilities.” To those who are finding getting going difficult, as he did, he adds: “Get yourself a clear learning path and just dive in doing WordPress, and things will get better for you over time as they were for me, I promise. Good Luck!”</p>\n\n\n\n<h2 class=\"wp-block-heading\">Share the stories</h2>\n\n\n\n<p>Help share these stories of open source contributors and continue to grow the community.&nbsp;Meet more WordPressers in the <a href=\"https://wordpress.org/news/category/newsletter/interviews/\">People of WordPress series</a>.</p>\n\n\n\n<p>To help you discover more about how to use the WordPress software, there is a free resource from the community, <a href=\"https://learn.wordpress.org/\">Learn.WordPress.org</a></p>\n\n\n\n<h2 class=\"wp-block-heading\">Contributors</h2>\n\n\n\n<p>Thanks to Ihtisham Zahoor (<a href=\"https://profiles.wordpress.org/shaampk1/\">@shaampk1</a>) for sharing about his adventures in WordPress.</p>\n\n\n\n<p>Thank you to Abha Thakor (<a href=\"https://profiles.wordpress.org/webcommsat/\">@webcommsat</a>), Nalini Thakor (<a href=\"https://profiles.wordpress.org/nalininonstopnewsuk/\">@nalininonstopnewsuk</a>), and Meher Bala (<a href=\"https://profiles.wordpress.org/meher/\">@meher</a>) for interviews, the feature and collaborating on images. To Chloe Bringmann (<a href=\"https://profiles.wordpress.org/cbringmann/\">@cbringmann</a>), Mark Smallman (<a href=\"https://profiles.wordpress.org/marks99/\">@marks99</a>), and Mary Baum (<a href=\"https://profiles.wordpress.org/marybaum/\">@marybaum</a>) for reviews. Thanks to the late Surendra Thakor (<a href=\"https://profiles.wordpress.org/sthakor/\">@sthakor</a>), Maja Loncar (<a href=\"https://profiles.wordpress.org/majaloncar/\">@majaloncar</a>), Maedah Bahtool (<a href=\"https://profiles.wordpress.org/maedahbatool/\">@maedahbatool</a>) and other members of the Marketing and Polyglots Team for their contributions.</p>\n\n\n<p>The People of WordPress series thanks Josepha Haden (<a href=\"https://profiles.wordpress.org/chanthaboune/\">@chanthaboune</a>) and Topher DeRosia (<a href=\"https://profiles.wordpress.org/topher1kenobe/\">@topher1kenobe</a>) for their support.</p>\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile is-vertically-aligned-center\"><img width=\"180\" height=\"135\" src=\"https://i0.wp.com/wordpress.org/news/files/2020/03/heropress_logo_180.png?resize=180%2C135&ssl=1\" alt=\"HeroPress logo\" class=\"wp-image-8409 size-full\" /><div class=\"wp-block-media-text__content\">\n<p class=\"has-small-font-size\"><em>This People of WordPress feature is inspired by an essay originally published on </em><a href=\"https://heropress.com/\"><em>HeroPress.com</em></a><em>, a community initiative created by Topher DeRosia. It highlights people in the WordPress community who have overcome barriers and whose stories might otherwise go unheard. </em>#HeroPress </p>\n</div></div>\n\n\n<p></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 31 Jul 2023 20:22:31 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Abha Thakor\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:44;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:93:\"WPTavern: WordPress Performance Analysis Finds Translations May Significantly Slow Down Sites\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"https://wptavern.com/?p=147322\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:104:\"https://wptavern.com/wordpress-performance-analysis-finds-translations-may-significantly-slow-down-sites\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3110:\"<p>After a recent in-depth performance analysis earlier this year showed that translations can have an impact on server response times, WordPress contributors are <a href=\"https://make.wordpress.org/core/2023/07/24/i18n-performance-analysis/\">proposing</a> half a dozen technical solutions for consideration to improve performance for the ~56% of WordPress sites that use translations.</p>\n\n\n\n<p>&#8220;Initial benchmarks showed that the median loading time for a localized site can be <strong>up to 50% slower</strong> than for non-localized sites, depending on which themes and plugins are being used,&#8221; Google-sponsored WordPress core committer Pascal Birchler said.</p>\n\n\n\n<p>Based on <a href=\"https://github.com/WordPress/performance/issues/171\">recent discussions</a> on GitHub, the Performance team has whittled it down to an updated list of six possible top contenders for speeding up sites with translations, including the advantages and disadvantages of each:</p>\n\n\n\n<ul>\n<li>Solution A: Use different file format</li>\n\n\n\n<li>Solution B: Native gettext extension</li>\n\n\n\n<li>Solution C: Cache translations</li>\n\n\n\n<li>Solution D: Lazily evaluated translation calls</li>\n\n\n\n<li>Solution E: Optimize/Rewrite existing MO parser</li>\n\n\n\n<li>Solution F: Splitting up translation files</li>\n</ul>\n\n\n\n<p>Localized WordPress sites currently download <code>.po</code> and <code>.mo</code> files that contain the translations, but the first suggested solution proposes storing translations in <code>.php</code> files and using the <code>.mo</code> file as a fallback, as Birchler proposes that PHP loading and executing another PHP file would be a faster approach. He has a proof of concept on GitHub at at <a href=\"https://github.com/swissspidy/wp-php-translation-files\">swissspidy/wp-php-translation-files</a> and <a href=\"https://github.com/swissspidy/ginger-mo/\">swissspidy/ginger-mo</a>.</p>\n\n\n\n<p>&#8220;When looking at all these factors, it appears that a <strong>revamped translations parser</strong> (<strong>solution E</strong>) could bring the most significant improvements to all localized WordPress sites,&#8221; Birchler said. &#8220;Especially when combined with a <strong>new PHP translation file format </strong>(solution A), which Ginger MO supports, the i18n overhead becomes negligible. Of course the same risks associated with introducing a new format apply.</p>\n\n\n\n<p>&#8220;On top of that, a revamped i18n library like Ginger MO could also be combined with other solutions such as caching or dynamic MO loading to potentially gain further improvements. However, those routes have yet to be explored.&#8221;</p>\n\n\n\n<p>The Performance team plans to test these ideas further on a wider scale through its <a href=\"https://wordpress.org/plugins/performance-lab/\">Performance Lab</a> feature project after gathering feedback from the broader community. August 6, 2023, is the deadline for leaving feedback on the <a href=\"https://make.wordpress.org/core/2023/07/24/i18n-performance-analysis/\">proposal</a>, which includes benchmarks and more details from the analysis.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 31 Jul 2023 19:29:02 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:45;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"BuddyPress: BP Classic 1.0.0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"https://buddypress.org/?p=330594\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"https://buddypress.org/2023/07/bp-classic-1-0-0/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:8040:\"<p>Dear end-users, site owners,</p>\n\n\n\n<p>The <a href=\"https://wordpress.org/plugins/bp-classic/\">BP Classic BuddyPress Add-on</a> has been built to provide <strong>backwards compatibility</strong> for sites that will not be ready yet for <strong>the important changes we will introduce in BuddyPress&#8217;s next major release, 12.0.0</strong>. As we will soon publish the first pre-release version (beta1) of BuddyPress 12.0.0, we thought it was a good idea to have this compatibility add-on available right away in the WordPress Plugin Directory.</p>\n\n\n\n<span id=\"more-330594\"></span>\n\n\n<div class=\"wp-block-image\">\n<a href=\"https://buddypress.org/2023/01/buddypress-11-0-0-la-scala/\"><img width=\"879\" height=\"747\" src=\"https://buddypress.org/wp-content/uploads/1/2023/07/hello-buddypress-12-0.png\" alt=\"11.0.0 Hello Screen\" class=\"wp-image-330595\" /></a></div>\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<p>On the <a href=\"https://buddypress.org/2023/01/buddypress-11-0-0-la-scala/\">11.0.0 “hello screen”</a> that is shown when you activate BuddyPress or that you can reach from the “Hello, BuddyPress!” link of the BuddyPress plugin row of your Installed Plugins Administration, we explained our plan for this move, today we’re making the orange highlighted text concrete.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<h2 class=\"wp-block-heading\">Will my site be affected / do I need to install BP Classic <img src=\"https://s.w.org/images/core/emoji/14.0.0/72x72/1f631.png\" alt=\"😱\" class=\"wp-smiley\" /> ?</h2>\n\n\n\n<p>There’s no easy answer to these questions: it depends on how you use BuddyPress on your WordPress site. Let’s take some examples.</p>\n\n\n\n<h3 class=\"wp-block-heading\">I use the BP Default theme:</h3>\n\n\n<div class=\"wp-block-image\">\n<a href=\"https://buddypress.org/wp-content/uploads/1/2023/07/bp-default-moves-to-bp-classic.png\"><img width=\"845\" height=\"531\" src=\"https://buddypress.org/wp-content/uploads/1/2023/07/bp-default-moves-to-bp-classic.png\" alt=\"BP Activities in BP Default theme\" class=\"wp-image-330596\" /></a></div>\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<p><strong>&nbsp;You absolutely need BP Classic &nbsp;</strong> because we <a rel=\"noreferrer noopener\" href=\"https://buddypress.trac.wordpress.org/changeset/13490\" target=\"_blank\">removed this theme from the BuddyPress plugin</a> as we deprecated it almost 10 years ago.</p>\n\n\n\n<p><strong>PS</strong>: If you’d copy the <code>bp-default</code> directory inside your <code>/wp-content/themes</code> directory, you’d still need BP Classic as BP Default uses functions we will deprecate in BuddyPress 12.0.0.</p>\n\n\n\n<h3 class=\"wp-block-heading\">I want to keep using BP Legacy Widgets:</h3>\n\n\n<div class=\"wp-block-image\">\n<a href=\"https://buddypress.org/wp-content/uploads/1/2023/07/legacy-widgets-bp-classic.png\"><img width=\"1024\" height=\"474\" src=\"https://buddypress.org/wp-content/uploads/1/2023/07/legacy-widgets-bp-classic-1024x474.png\" alt=\"The Widgets WP Admin screen\" class=\"wp-image-330597\" /></a></div>\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<p> <strong>You absolutely need BP Classic</strong>  because after having migrated these to Block Widgets in 9.0.0, we decided to <a href=\"https://buddypress.trac.wordpress.org/ticket/8869\">move them into the BP Classic Add-on</a>. 3 major versions later, we believe we&#8217;ve offered enough time to migrate your Legacy Widgets to the new Block versions.</p>\n\n\n\n<h3 class=\"wp-block-heading\">I’m using a 3rd party BuddyPress theme and/or 3rd party BuddyPress plugins:</h3>\n\n\n\n<p>It’s too early to say/predict <img src=\"https://s.w.org/images/core/emoji/14.0.0/72x72/1f52e.png\" alt=\"🔮\" class=\"wp-smiley\" />.</p>\n\n\n\n<p>We really hope that authors will update their code during the BuddyPress 12.0.0 beta period. We decided to make it last a least 3 months and <a rel=\"noreferrer noopener\" href=\"https://github.com/buddypress/buddypress/tree/master/docs/developer#buddypress-add-ons-handbook\" target=\"_blank\">started to document the changes</a> for our 2 most used APIs. You can help us by contacting their support team to draw their attention on the importance of beta testing BuddyPress 12.0.0 with their plugins/themes to check their compatibility and eventually adapt their code.</p>\n\n\n\n<p><strong>NB</strong>: in BP Classic &amp; BuddyPress 12.0.0 we’ve tried to consider all scenarios, including the possibility that no plugin/theme authors would update their code. If you don’t want to take any risk, you can already activate BP&nbsp;Classic in anticipation of <strong>the 12.0.0 upgrade which should happen on October 30</strong>.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<h2 class=\"wp-block-heading\">What is BP Classic doing, exactly?</h2>\n\n\n\n<p>Apart from becoming the new home for the BP Default theme and the BP Legacy widgets, BP Classic mainly neutralizes the important change we are introducing in version 12.0.0 about the way BuddyPress will build, parse &amp; analyze URLs from now on. In other words, it preserves the BP Legacy URL parser and disables the new BP&nbsp;Rewrites&nbsp;API.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n<div class=\"wp-block-image\">\n<a href=\"https://buddypress.org/wp-content/uploads/1/2023/07/bp-classic-friendly-reminder.png\"><img width=\"879\" height=\"607\" src=\"https://buddypress.org/wp-content/uploads/1/2023/07/bp-classic-friendly-reminder.png\" alt=\"BP Classic warning message\" class=\"wp-image-330598\" /></a></div>\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<p>Above is a screenshot of what happens if you activate BP Classic in concert with a BuddyPress version <strong>&lt;</strong> 12.0.0, for example the current stable version 11.2.0. A warning notice is displayed every week to remind you this activated plugin is in <strong>sleep mode</strong> and will wake up once BuddyPress will be upgraded to 12.0.0. You can decide to deactivate it and reactivate a bit before October 30, or leave it active in anticipation of this date.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n<div class=\"wp-block-image\">\n<a href=\"https://buddypress.org/wp-content/uploads/1/2023/07/screenshot-1.png\"><img width=\"1024\" height=\"706\" src=\"https://buddypress.org/wp-content/uploads/1/2023/07/screenshot-1-1024x706.png\" alt=\"BP Classic setting tab\" class=\"wp-image-330599\" /></a></div>\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<p>Once BuddyPress has been upgraded to 12.0.0, the most visible part of it in your WordPress Administration will be the BuddyPress settings pane. 12.0.0 will replace the “Pages” tab with a new “URLs” tab to allow full customization of every possible BuddyPress URL, BP Classic will carry on using WordPress pages for component directories and will keep this “Pages” tab in place.</p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"></div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\"><a href=\"https://wordpress.org/plugins/bp-classic/\">BP Classic</a></blockquote>\n</div>\n</div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"></div>\n</div>\n\n\n\n<p>We’re aware such a big change may worry you, we have until October 30 to prepare it, let’s all work together to make it a successful first step of the <a href=\"https://buddypress.org/tag/feedback/\">BuddyPress reboot</a> we told you about in reply to your feedback.</p>\n\n\n\n<p>If you have questions about this change, we invite you to share them with us as replies to <a href=\"https://buddypress.org/support/topic/lets-prepare-the-buddypress-12-0-0-next-major-release/\">this forum topic</a>. We’ll take the time to give you answers.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<p>Many thanks to <a href=\"https://buddypress.org/members/dcavins/\">@dcavins</a> for his review <img src=\"https://s.w.org/images/core/emoji/14.0.0/72x72/1f60d.png\" alt=\"😍\" class=\"wp-smiley\" /></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 31 Jul 2023 17:08:50 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Mathieu Viet\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:46;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:88:\"Gutenberg Times: Gutenberg Changelog #87 – Patterns, Gutenberg 16.3 and WordPress 6.3.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"https://gutenbergtimes.com/?post_type=podcast&p=25089\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"https://gutenbergtimes.com/podcast/gutenberg-changelog-87/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:57711:\"<p>Anne McCarthy and Birgit Pauli-Haack chat about patterns, Gutenberg 16.3 and WordPress 6.3. </p>\n\n\n\n<p><a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-87shownotes\">Show Notes</a> / <a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-87/#transcript\">Transcript</a></p>\n\n\n\n<ul>\n<li>Music:&nbsp;<a href=\"https://soundcloud.com/xirclebox\">Homer Gaines</a></li>\n\n\n\n<li>Editor:&nbsp;<a href=\"https://www.linkedin.com/in/sandy-reed/\">Sandy Reed</a></li>\n\n\n\n<li>Logo:&nbsp;<a href=\"https://markuraine.com/\">Mark Uraine</a></li>\n\n\n\n<li>Production:&nbsp;<a href=\"https://icodeforapurpose.com\">Birgit Pauli-Haack</a></li>\n</ul>\n\n\n\n<p class=\"has-larger-font-size\" id=\"shownotes\"><strong>Show Notes</strong></p>\n\n\n\n<p><strong>Anne McCarthy</strong></p>\n\n\n\n<ul>\n<li><a href=\"https://profiles.wordpress.org/annezazu/\">WordPress profile</a></li>\n\n\n\n<li><a href=\"https://www.linkedin.com/in/anneguionmccarthy/\">LInkedIn</a></li>\n\n\n\n<li>WPSlack channel <a href=\"https://wordpress.slack.com/archives/C015GUFFC00\">#FSE-outreach-experiments</a></li>\n</ul>\n\n\n\n<p><strong>WordPress 6.3</strong></p>\n\n\n\n<ul>\n<li><a href=\"https://make.wordpress.org/core/2023/06/29/hallway-hangout-performance-improvements-for-wordpress-6-3/\">Hallway Hangout: Performance Improvements for WordPress 6.3</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2023/07/14/registering-scripts-with-async-and-defer-attributes-in-wordpress-6-3/\">Registering scripts with `async` and `defer` attributes in WordPress 6.3</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2023/04/25/the-benefits-of-prioritizing-and-measuring-performance-in-wordpress-6-2/\">The benefits of prioritizing and measuring performance in WordPress 6.2</a></li>\n\n\n\n<li><a href=\"https://wordpress.org/news/2023/07/synced-patterns-the-evolution-of-reusable-blocks/\">Synced Patterns: The Evolution of Reusable Blocks</a>. </li>\n</ul>\n\n\n\n<p><strong>Gutenberg 16.3 </strong></p>\n\n\n\n<ul>\n<li><a href=\"https://make.wordpress.org/core/2023/07/26/whats-new-in-gutenberg-16-3-26-july/\">What’s new in Gutenberg 16.3? (26 July)</a></li>\n\n\n\n<li><a href=\"https://wptavern.com/gutenberg-16-3-adds-new-tools-for-patterns\">Gutenberg 16.3 Adds New Tools for Patterns</a></li>\n</ul>\n\n\n\n<p class=\"has-large-font-size\">Stay in Touch</p>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\"><div class=\"wp-block-group__inner-container\">\n<ul>\n<li>Did you like this episode? <a href=\"https://lovethepodcast.com/gutenbergchangelog\"><strong>Please write us a review </strong></a></li>\n\n\n\n<li>Ping us on Twitter or send DMs with questions. <a href=\"https://twitter.com/gutenbergtimes\">@gutenbergtimes </a>and <a href=\"https://twitter.com/bph\">@bph</a>.</li>\n\n\n\n<li><em>If you have questions or suggestions, or news you want us to include, send them to <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a>. </em></li>\n\n\n\n<li><em>Please write us a review on iTunes! <a href=\"https://gutenbergtimes.com/itunes/\">(Click here to learn how)</a></em></li>\n</ul>\n</div></div>\n\n\n\n<p class=\"has-large-font-size\" id=\"transcript\"><strong>Transcript</strong></p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Well, hello and welcome to our 87th episode of the Gutenberg Changelog podcast. In today&#8217;s episode, we will talk about Gutenberg 16.3 and WordPress 6.3. I&#8217;m your host, Birgit Pauli-Haack, curator at the Gutenberg Times and a full-time core contributor for the WordPress open source project. And today, I have the special pleasure of welcoming Anne McCarthy on the podcast with me. Anne is a product manager in Automattic and also a sponsored contributor on the Automattic&#8217;s Five for the Future program. I&#8217;m thrilled to have you on, Anne, how are you today?</p>\n\n\n\n<p><em>Anne McCarthy</em>: I&#8217;m thrilled to be here, so thank you for having me. I&#8217;m doing pretty well, I&#8217;m talking all about WordPress all day, which is a wonderful day in my book, so.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: In mine too. Yeah, so that&#8217;s why we&#8217;re good on this podcast together. So, you are just coming from the latest Hallway Hangout with the performance team. I know it&#8217;s only a half an hour ago or so, is there anything on the takeaways that you want to share right here with the listeners?</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yeah, so one of the things that stood out to me on the call, and beyond just the performance improvements that will be out of the box when you&#8217;re using WordPress, is a resolution to a 14-year-old track ticket, which blew my mind, where WordPress 6.3 will actually introduce support for registering scripts with async and defer attributes. And the reason I bring this up, it&#8217;s all part of the script API, is that people have to adopt it to see the impact. So, this is something that&#8217;s bundled under performance improvements and something that actually wasn&#8217;t on my radar in the same way, but I wanted to call it out for plugin authors because it&#8217;s one of those things that we need people to adopt in order to see the benefits.</p>\n\n\n\n<p>And there&#8217;s also great backwards compatibility. One of the things Felix called out was, let&#8217;s say you have a really large plugin and you have your own extensions within that plugin sphere, if those extensions haven&#8217;t adopted these changes, it will default to a more conservative approach. Meaning, there&#8217;s backwards compatibility, and if they&#8217;re&#8230; All of your extensions have it, your major plugin has it, and anything dependent on that major plugin that has that script in place and has the defer async attributes in place, will then upgrade automatically to use the new and improved stuff. So, I just wanted to call that out, I think it&#8217;s a great thing to have in place and we just need folks to adopt it. So, that was a big takeaway for me, beyond just the many improvements.</p>\n\n\n\n<p>And the last thing I&#8217;ll say is we did a data deep dive live on the call, looking at graphs and all this nerdy stuff, which was awesome, showing that basically after releases came out, seeing improvements in things like Core Web Vitals and actually in the data, which proves things from the lab. They talk about, &#8220;The lab shows this,&#8221; so meaning the confined environment versus in the field, so what you actually see in the real world, and what&#8217;s being shown in the lab ahead of WordPress releases is being proven in the field on live sites that are being indexed. So, that was really exciting to see. I don&#8217;t fully understand every aspect of the data but it was cool to go through with people who do.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Well, thank you so much for this just-in-time note about the Hallway Hangout. I know your process is that the Hangouts were recorded and you will make a post on the Make Blog in the next few days, where you summarize it and then have all the resources linked up on the post. I also will dig into a little earlier this year, I don&#8217;t know if it was April or May, Felix Arntz, from the performance team, also posted a blog post about the changes and how the improvements were with block themes and these kinds of things. But I think there was one on the Make Blog but they were also on his personal blog.</p>\n\n\n\n<p>So, I&#8217;m going to link that up just to recall that, it was also in the weekend edition but not everybody reads that, or remembers that. I don&#8217;t always remember things, but I know it was in there. Yeah, so performance has been a big, big improvement on WordPress, I saw something like 17% with classic themes and about 20% with block themes, right out of the box, if you don&#8217;t slow your site down with very old plugins, of course. But that&#8217;s another story and outside the scope of this Changelog podcast episode. So, thank you so much. Yeah.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yeah, thanks for giving us space to talk about that, it&#8217;s exciting.</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Listener Questions</strong></h3>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. So, I got an email from a listener, thank you so much, an accessibility advocate, and she wanted to know about the best practices to build sites with sidebars on the block themes, and those are read through assistive technology. So, screen readers, when they come to a website, they use the script to content link that comes out automatically with WordPress, but that skip the content also needs a target where to stop.</p>\n\n\n\n<p>So, content needs to be tagged with main to actually have that work. If people are creating sites or layouts with column blocks and each column doesn&#8217;t have any tag, but one is a sidebar that&#8217;s a reusable block, or it&#8217;s a template part, it will read through that every single time on every page, if it&#8217;s not tagged non-content, or a sidebar, or side, or something like that, or the main content is not tagged. Now, you couldn&#8217;t do that with a classic theme from a user interface, but you can do it actually with a group block that has these HTML elements that you can designate your content being either a main or a side. But the most important part is that you wrap whatever sidebar you have into a group block and then select those HTML elements. They&#8217;re also not very prominent, they&#8217;re in the advanced section.</p>\n\n\n\n<p>So, I just wanted to, those who are creating themes through the site editor or helping others to create templates, to be aware of these accessibility ramifications, or to make it known what people who are not visually impaired can see, that that&#8217;s repeated content, but the screen readers that help those that are impaired to go through the internet websites need a little help from the content creators or from the template creators. So, I&#8217;m sure there will be some more information about that, I just wanted you to be aware, and thank you for the listener to pick up on that and point that out. Accessibility is such an important part of web design and web building, that we need to make sure that if we use just the interfaces that we have those tools in place.</p>\n\n\n\n<p><em>Anne McCarthy</em>: I couldn&#8217;t agree more. Thanks for going through that too, it&#8217;s always good to learn about this stuff and to make sure that the default implementation ideally, can be done well. And this is where folks can create patterns into the parts to have this set up automatically in their themes with the right stuff in place. So I also encourage blocking authors to think about that.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. And I think it&#8217;s sometimes really hard on the user documentation to point out the higher ramification. If you just point out this little piece on the sidebar that is a new interface, what is the bigger objective for that?&nbsp;</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Announcements</strong></h3>\n\n\n\n<p>So, I&#8217;m really glad that the listener sent me that email and let me know about that, that&#8217;s a good question. So, Anne, you just published a post on the news site, speaking of changes for wordpress.org and it&#8217;s titled, Synced Patterns: the Evolution of Reusable Blocks. On the Podcast, we talked a little bit about the upcoming changes, so what is this post all about?</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yeah, so this builds on work that&#8217;s done in 6.3, to bring the creation of patterns to the experience, and that&#8217;s part of that you can sync or unsync patterns, which basically consolidates the concept of reusable block into the new concept of synced patterns. So this post is just trying to flag the change for people because reusable blocks is a known concept in the WordPress community, and retiring such a known concept deserves a lot of attention. And as part of this, there will be documentation updated, I am keeping an eye on that there, but this is just one of many efforts, including nudges in the interface to help communicate this change to folks. So, just see this as part of a larger effort to make sure that we&#8217;re bringing folks along as things evolve. I&#8217;m personally really excited because I think compared to the concept of reusable blocks, which sounds almost more technical than it should be, I think patterns is a much more approachable concept for folks to get behind and to use.</p>\n\n\n\n<p>So, I&#8217;m really excited and I hope it helps surface this more for folks, whenever they&#8217;re working with WordPress. But yeah, it&#8217;s pretty exciting. So, unseen patterns are essentially what you know and love as patterns today, you can put them in your post or page or template and customize it as you&#8217;d like, it&#8217;s not synced across the entire system. Sync patterns are just exactly how our usable blocks worked. They&#8217;re synced across things, you can have a way to convert to blocks if you want to edit it individually and turn it into an unsynced pattern. But yeah, there&#8217;ll be a whole interface to manage all your patterns, if you&#8217;re using a block theme, if you&#8217;re using a classic theme, we basically just reuse what&#8217;s in place for the reusable block screen. So, honestly, it&#8217;s a lot of just interface changes for, if you&#8217;re using a classic theme and for a block theme it unlocks a lot of functionality in terms of being able to manage all your patterns across themes and plugins and all sorts of stuff.</p>\n\n\n\n<p>So, yeah, it&#8217;s a huge, huge step forward and a big change, so hopefully this helps get you prepared, and if you have questions or things that you want answered, yeah, I&#8217;m @annezazu, Let me know what we&#8217;re not thinking about because I&#8217;m sure there&#8217;s a lot.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, and I had some conversations before in the last two months, once I saw that this change is going to come, and I was really excited that finally we have the feature to grade your own patterns in your own site. I think there were quite a few plugins out there that had very high installs and it&#8217;s now coming to core. I think the design team and the developers did a great job in just changing the name but leave everything else in place, for those who use reusable block or created reusable block, everything will be familiar, just the names are going to change. The concept itself is not necessarily retired, it&#8217;s just going to build into the pattern metaphor more. Because really, the only difference between a pattern and a reusable block was the synchronization over the instances. Yeah, definitely.</p>\n\n\n\n<p>Yeah, so we talked about it here at the podcast before and it brings us a leap forward, it also opens up the doors to additional changes. Because what I hear also, and you probably hear it even more, is what&#8217;s missing is that if you have a pattern and that&#8217;s used around the website, but all of a sudden you want to change styles, you&#8217;re not catching every pattern because you need to open up that, switch it out, you have to work around that. And so, partial synced patterns are now possible because we have an interface now, and it&#8217;s certainly further down the roadmap to find a way for the canvas to remember this was an unsynced pattern, but it can be partially synced. Because that is certainly missing in between where you don&#8217;t want to update content but you want to update the styling here, and the content stays the same that it was there.</p>\n\n\n\n<p>So, it&#8217;s all a little bit&#8230; But bringing it all together is reducing the cognitive load on things and have it all in one metaphor rather than have different ways on doing things. And you&#8217;ll find it just the same way you found it before. The icons are the same and the color is the same and the list views&#8230; I think you&#8217;ll find that the switch over to the new thing from reusable block to sync pattern is relatively&#8230; I wanted to say harmless, but smooth. Painless is, I think, the one that I was looking for.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yes.</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What’s Released &#8211; WordPress 6.3</strong></h3>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: So, that brings us to our section on what&#8217;s released. WordPress 6.3 is coming fast, Release Candidate 2 is out, has been out since the beginning of the week, and is ready for testing. The final release is scheduled for August 8th, and that&#8217;s less than two weeks to go. So, what&#8217;s the latest information about 6.3? Is everything on track? The dev notes have been out, your post is out about the sync patterns, you also published a post about the accessibility improvements and there have been a ton of dev notes also for the performance improvements. Is there anything else that has been new or what are the features that you are most excited about?</p>\n\n\n\n<p><em>Anne McCarthy</em>: Oh man, that&#8217;s a great question.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Can you pick?</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yeah, can I pick? I will say, actually, I&#8217;m very excited&#8230; I did a YouTube video on this. There&#8217;s some hidden features and one of them, that&#8217;s not really hidden, but I think it can be taken for granted, it&#8217;s really the block theme previews. That has been something, that people have been unable to preview a block theme. So to even try to explore a required setting up a test site required, or just fully activating it without knowing how it might impact your site, and the ability to preview&#8230; And the preview uses the site editor, so you&#8217;re both getting a sense of what the theme will do, how it might impact your site, what bells and whistles it has, and it allows you to actually dive into the site editor itself and get a feel for it. And I&#8217;m just completely excited about that.</p>\n\n\n\n<p>I think that will be a huge thing with adoption that will be the unsung hero of this release in my mind. It&#8217;s been something that&#8217;s been a pain point for a long time and a lot of work went in to make it smooth, and yeah, it&#8217;s something I&#8217;m very excited to play around with and to see how it impacts things and helps folks step into that world. The only other thing&#8230; Thank you for calling out the accessibility improvements as well, so much work has gone into that with a lot of these features and more work remains to be done. But I&#8217;m in particular excited about some of the improvements to List View, which I know Alex Stein spent a lot of time doing, and so I want to call that out in particular as something that I&#8217;m quite excited about. I think the only other thing on my mind relates to, right now, there is some conversation around footnotes and how footnotes are being stored, and there&#8217;s some interesting dialogue there.</p>\n\n\n\n<p>I think we&#8217;ll end up seeing fixes get in place for it, but it&#8217;s just neat how these tiny blocks that are packed full of power are continuing to be iterated on at this point and getting bug fixes. So thank you to everyone who&#8217;s testing, because a lot of that has come from testing and feedback. And I know it might seem like, oh, we&#8217;re in the RC, things are smooth sailing, but you never know. We&#8217;ve had to remove stuff, we had to remove something in 6.2, so we still have time for the final release and we want it to be as polished and bug-free as possible.</p>\n\n\n\n<p>So it&#8217;s a very high impact time to be testing WordPress 6.3. This is actually my favorite time, because if you find something now, it&#8217;s also not great, but if you find something now, you prevent it for millions of people, so I think it&#8217;s a really exciting and important time. But there&#8217;s nothing, I&#8217;m trying to think of anything else in my mind that&#8217;s super&#8230; Beyond all this pattern stuff and all the other stuff that we&#8217;ve been talking about, but the blocking previews really does stand out to me personally, as something as I&#8217;m particularly excited about.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: I really like how the style book is happening around the site editor, that you can really see all the&#8230; Even if you change something on the style variation and then propagate it, you see how it changes all the blocks, or if it doesn&#8217;t change the blocks. So, is the theme preview actually also using the style book? If you go into a preview and then you see the site editor, can you access the style book to see how the…</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yes.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yes. Yeah, that&#8217;s what I thought.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yes, you can. Yeah, the entire site editor is using the preview, it&#8217;s amazing. The main thing that&#8217;s missing right now that some folks have brought up is the ability to schedule and save this draft, those different things. So that is work that needs to be done, that got brought up in the product demo, that needs to be done still, but we&#8217;ll get there. I think that&#8217;s part of the fun about iterating on this stuff, is like, yeah, yeah, totally, that is part of the roadmap, that&#8217;s something we&#8217;ll get to.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: I still remember the excitement, when the customers got that feature to schedule updates.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Really?</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, where people got ready for Christmas changes or for special sales on their website and then they could put it in the customizer and schedule it and then go on vacation or whatever.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Which is very cool.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, which is really cool. And it wasn&#8217;t so long ago, so that&#8217;s why people are still, come from that excitement and find it missing. But yeah, getting the previous in is really big. Yeah, absolutely.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yeah.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: So…</p>\n\n\n\n<p><em>Anne McCarthy</em>: Now, also…</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Mm-hmm, go ahead.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Revisions is the only other one that just came to mind, as we&#8217;re talking about revisions and saving and all that sort of stuff. The visual nature of the star revisions is so cool. Template and template part revisions didn&#8217;t make it for 6.3, but I&#8217;m hoping to see that in 6.4, and I think when that completion happens, I&#8217;m curious to see what kind of confusion might come up around if you have multiple different&#8230; I&#8217;ve already noticed that, some calls for testing, where people are like, oh, I made a change to the title of this, whatever, and then try to roll back with star revisions, and it&#8217;s like, oh no, you actually need do that with template revisions. So, having an intelligent system that works and makes sense, you know where to roll back, but there&#8217;s been so much good feedback about how visual and easy and beautiful the star revisions are. So, that&#8217;s another hidden feature that I like to talk about.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, that&#8217;s great. The hidden features of 6.3, with Anne McCarthy. Yeah.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Could be here for two hours if I do that.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Well, we have an open-ended thing here. Sooner or later I need to go to bed though. So, Anne and I, we are nine hours apart. So, Anne just got up and I&#8217;m at the end of the day, so.&nbsp;</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Gutenberg 16.3</strong></h3>\n\n\n\n<p>So, Gutenberg 16.3, last time I looked it was about 180 PRs…</p>\n\n\n\n<p><em>Anne McCarthy</em>: Ooh.</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Enhancements</strong></h3>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: &#8230;it&#8217;s one of the larger Gutenberg releases from 54 contributors. Two of them were first timers, and I think it was a lot of polishing and bug fixes, but there were also a few enhancements that made it into 6.3, and some of them don&#8217;t, probably, but let&#8217;s talk about them. So, the first one that I see was that you can have more intuitive archive titles for your query title block, there&#8217;s quite a few changes around that. Those don&#8217;t make it into 6.3 though, but it&#8217;s because it&#8217;s the first time it&#8217;s in there I think. So you can change the titles of your archive pages, remove the archive type, and what else is in there?&nbsp;</p>\n\n\n\n<p><em>Anne McCarthy</em>: I think this is hugely helpful because this is definitely something where we&#8217;ve gotten feedback from folks, where it was too generic before, it just showed archive title or whatever. It would not say specifically what you&#8217;re looking at, and when you&#8217;re creating a new template and you&#8217;re a first time user you might delete it, because you don&#8217;t know what it is. So knowing what it powers, knowing what it does, it&#8217;s a huge step up and I&#8217;m quite excited about this.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, yeah. And then the whole change the title of your archive pages is such an improvement towards the classic experience, because you always needed a developer to remove something or to change the title and now you can do it by yourself and you can create any kind of different templates with a query block, or the post template block. Yeah. So, yeah, next up is the add, renaming, duplication, and deletion option to patterns. That&#8217;s certainly coming into 6.3, patterns now have a dropdown menu, you can assess the three dots and then allow you to rename, duplicate and delete patterns easily. It wasn&#8217;t easy to do that before, especially the removal of patterns from your my patterns kind of thing. Yeah, it was a little bit convoluted because it wasn&#8217;t through the editor, now you can do it all through the editor. Yeah.</p>\n\n\n\n<p><em>Anne McCarthy</em>: I&#8217;ll also note, one of the reasons why this is also so important to get in and why it was backported in my opinion, is that when you are setting&#8230; You create a pattern and you set the sync status, so synced or unsynced, you cannot change that status after the fact. So, let&#8217;s say you make a mistake, you create an unsync and you&#8217;re like, wait, actually, I want this to be synced. Before you&#8217;d have to go in and copy/paste, this whole convoluted process, now, with the duplication you can duplicate, and when you duplicate you can basically decide the sync status. So that&#8217;s one of the things that came up, was we wanted a way to make it easy to give people control without having the option to change the sync status back and forth because that will create some muddiness.</p>\n\n\n\n<p>Let&#8217;s say you synced a pattern and then you randomly unsynced it two months later, imagine how that might create some chaos across your site. So, to limit that, we just basically said you cannot change the sync status after it&#8217;s created, but we&#8217;ll add in options to make it easy to manage those things. And things like, renaming and deleting are also just important basics to have, so yeah, I&#8217;m glad to see this in, and I think not being able to set the sync status might cause some confusion, so I&#8217;m curious how that lands with 6.3 and how we can integrate it for 6.4.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. Yeah, I had some questions that were around that before, but the duplication feature, yeah, one click duplication, it&#8217;s pretty much, your work is not wasted, you just can replicate it and move forward with that. Yeah. The next piece is enable focus mode editing patterns. It was available for template parts before the focus modals, but now it&#8217;s also available for patterns, and it is then also backport it to 6.3&#8230; I&#8217;m just going to double check.</p>\n\n\n\n<p><em>Anne McCarthy</em>: I&#8217;m nearly positive, yeah.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, me too, but…</p>\n\n\n\n<p><em>Anne McCarthy</em>: Potentially not. Let&#8217;s see if it works.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Potentially not, yeah.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Maybe we should consider it. It might be because a new feature, but I&#8217;m like&#8230; We&#8217;re both on the corridor triage team here, it&#8217;s like, thoughts on backporting.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Maybe we should put it on the 6.3 editor task.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yeah. Yeah, let&#8217;s drop it into the triage session we&#8217;re doing today. Nice, I love it.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: All right, and the next part is that&#8230; Well, it&#8217;s the copy, to make sure that reusable is removed from menus and all that, for the reusable block. The next part is the sticky header and pagination for pattern page. That is really cool.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yeah.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yeah. I love seeing that. And that basically takes the patterns section of the block editor and ensures that when you&#8217;re scrolling down, unless you have a ton of patterns, that top heading that you can filter with will still appear, and it&#8217;s a quality of life improvement and definitely something that, if you have lots of patterns, which a lot of sites do with block themes, it&#8217;s pretty critical to be able to switch between and see what you&#8217;re actually seeing. So, I was pretty excited to see that in there.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. And I like the filter part, that you can just show me the synced patterns, just show me the unsynced patterns, so that&#8217;s really cool. The next one is, I wanted to mention it because that&#8217;s one of the changes, so the links that go to manage reusable blocks and manage patterns go to different places now. So, they go now to this site editor, where all the other interfaces are, to interact with patterns synced and unsynced patterns. There is that place, the WP admin looking place, still there, but now you can use all the site editor for the editing part. So, I think we will have that quite a bit in the next few releases, that we have a new managed thing, and then we can go back to the old thing, just because it might not be feature parity or so. I think that&#8217;s the first place where we can train ourselves with that.</p>\n\n\n\n<p>So, I like the site editor very much, but I&#8217;m still often going back to the WP admin and see a few things there. Yeah. Yeah, we talked about the sync status separation on the filter control already, but that&#8217;s coming also to 6.3, and it was backported to Beta 4. The components have been updated to support defined IDs for the text control component, that means that you can target them with CSS and also with JavaScript, and directly with the IDs, and identify…</p>\n\n\n\n<p><em>Anne McCarthy</em>: Very cool.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: &#8230;particular instances of the text control component, which is really important for a lot of extensibility usage there. There were some changes for the Interactivity API, and that&#8217;s only on the Gutenberg plugin. That, of course, every time we have a new thing in WordPress, we need to think about turning it off. What is necessary to turn things off? And so, the same with Interactivity API, it has been merged into 16.2, but not for 6.3, not for the WordPress, it&#8217;s coming in 6.4. But even with the Gutenberg plugin enabled, some people still want to turn off the Interactivity API because it interferes with their extensions.</p>\n\n\n\n<p>So, there&#8217;s now a filter to do this, and there&#8217;s also a runtime support to the WP style directive, so you can, on the fly, change the style for some of the Interactivity API entities. So, that&#8217;s these two things of Interactivity API. I&#8217;m sure there will be, very soon, a little bit more, a higher level, but also a more strategic announcement or strategic documentation about the Interactivity API. I know a few of our coworkers are working on that, to get this out, but with all the documentation it&#8217;s always a little bit behind the features there. So, go into the PRs to learn more about it.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yeah, I&#8217;ll note too on that front. I got some really good feedback from someone saying, &#8220;Hey, this project&#8217;s been hard to keep on top of.&#8221; And so that was feedback that&#8217;s been brought back to the folks working on that. So, I think, last I can remember, from a conversation, my brain&#8217;s a bit mushy in the last couple of weeks, but I think they&#8217;re going to try and experiment with using discussion issues as a way to keep track of things, which is a bit of a departure from using overview or tracking issue labels in GitHub, but I think it&#8217;s going to be interesting and we can learn from that. But it is, as you said, anytime you add something, we need to think about removing it, and I know the Interactivity API is likely slated for 6.4, so it&#8217;s definitely something you can keep on top of and this was a great thing to call out. I could see folks skimming over this and not realizing how important it is. So, it&#8217;s a good one to keep in mind.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. In WordCamp Europe, I talked with quite a few people&#8230; Well, there were 2000 people there and I probably talked to 200 or so. So, I couldn&#8217;t talk to everybody. But there were quite a few people who were a little bit hesitant with a block editor because they&#8217;re PHP developers, and JavaScript is not really their thing, and they were really excited about the Interactivity API and the bigger emphasis on the dynamic blocks rather than the static JavaScript block. Because they can use the render that they did in shortcuts and then in widgets or something like that, all the render code, they can now use for blocks and then put the Interactivity API just in the directives in there to, to make it replicate some of the features that they had before. Which seems to be easier than the JavaScript, jumping all in on the JavaScript side. Yeah.</p>\n\n\n\n<p>So, well, from the block library section, there&#8217;s one component, the range control, that now has an additional attribute for the default size of 40 pixels. I think it does a few other sizes, but you can now use it if you use it in your own plugin settings pages or your own sidebar items, you can have a different size as a default size managed there. So that&#8217;s pretty cool.</p>\n\n\n\n<p><em>Anne McCarthy</em>: My understanding of that one was that it was updating the component to use the 40 pixel size and the design, but I could be wrong about that. I know Rich was working on that. So, I think it&#8217;s less having a default set and more having consistency across the settings. It&#8217;s a design quality of life. Because right now I think that settings page has been shifted around, but yeah.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, that&#8217;s what I get from the PR too, but it&#8217;s an additional attribute or a different component for the range control, because they need to keep it backwards compatible. So, what goes for the core range controls, the previous attributes and range control sizes are still in there, so it&#8217;s practically an enhancement there. But the core view is the new default, 40 pixel thing there.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yeah.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: That&#8217;s what I understood. But I might be wrong, I&#8217;ve been wrong before, so.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Same. Same. Been looking at too much stuff anyway.</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>New API</strong></h3>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, sometimes you make it up as you go along, right? So, the next item is about the nested inner blocks. There&#8217;s a new API, or at least stabilizing existing API for default block, direct insert, and get direct insert block selectors, that were previously experimental, and it was hard to build on top of them. And one of the panelists that were on our past live Q&amp;A, Seth Rubenstein, stabilized those, as a first time contributor, stabilize those APIs. So he can also work on a separate PR, that he shared some code from their Pew Research work on quizzes with the core developers, with core. So, that&#8217;s really good that community developers also stabilize some of the APIs so they can continue on their quest of making the plug editor more versatile.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yeah, I love seeing this, and Seth has been awesome to be driving stuff forward, with really practical use cases, and I think it&#8217;s a great example of using and extending Gutenberg and the core editor, and then also contributing back in a way that furthers it and is in line with the goals of this project. So, I think it&#8217;s really exciting and cool to see this moving along.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. And they want to make some of the quiz code available as plugins, but you&#8217;re not supposed to put in plugins in the repo when you have experimental APIs in there. So yeah, that&#8217;s where this work also comes in, so it&#8217;s really important to make this all work in stable conditions.&nbsp;</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Bug Fixes</strong></h3>\n\n\n\n<p>The next part is for patterns and alternative grid layout to improve keyboard accessibility. That&#8217;s one of the accessibility improvements that you were talking about before.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yeah, as we&#8217;ve talked about just generally adding new features, accessibility does need to keep up and we need to have it accessible for all folks. And so, this just makes a change to using a standard UL, with keyboard tab indexes, to try and improve keyboard accessibility in particular. And I&#8217;m nearly positive&#8230; Scroll down. Yeah, I was going to say, AFercia who is, that&#8217;s the GitHub username, he is sponsored by Yoast, did a great job reviewing this, and to the point that Alex Stein was like, &#8220;This looks good to me.&#8221; And so, it&#8217;s another great example of showing the back and forth between the teams, but I also would love to get to the point where this is done by default and not caught later. So, it&#8217;s great to see the collaboration and to see this being done. And I know the accessibility team is always looking for more help, so it&#8217;s just great to see the back and forth and it is back forwarded to the release.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: To 6.3, yeah. Yeah. Yeah, I&#8217;m really glad to see Andrea coming back to the accessibility team. He did take a break from working on the accessibility team, but I think he found quite a few contributors now really digging into Gutenberg. So he felt a little lonely about three or four years ago, before the pandemic definitely, and so I&#8217;m glad he&#8217;s contributing back again on the team. And sponsored by Yoast, just to mention that once in a while. Great. The next part, yeah, so there is a fix to apply text color selection to link color if link color isn&#8217;t active. That has been a long-standing issue with the block editor, that people who changed the text color on the paragraph didn&#8217;t get the same color also for the link color and needed to change that separately.</p>\n\n\n\n<p>And some people, because it&#8217;s not a default control on the paragraph, just didn&#8217;t know about the link color and how to change it, and it really wanted to not make the changes and couldn&#8217;t dream up the new design. So, I&#8217;m really glad that that is now by default. Well, of course if you want to change the link color you can, but if you just change the text color in a paragraph, it automatically also changes the link color.</p>\n\n\n\n<p><em>Anne McCarthy</em>: And I want to call out, that that was part of an effort on a project board, which is a bit in the weeds, but the UX and Polish project board is a board within the Gutenberg project that is specifically for just super actionable issues, that are typically, quality of life, as the name suggest with Polish. And then user experience, so how can we make it just super intuitive? So, I just want to point that out, is the more you can write really targeted contained requests that are like, this is just a pain in the butt, I run through this a couple of times a week or something like that, it&#8217;s a great consideration for the UX and Polish board.</p>\n\n\n\n<p>I think there&#8217;s been maybe 80 items completed as a part of the UX and Polish board, which is kind of wild. And it&#8217;s something that I know a lot of folks keep an eye on, and it&#8217;s a great, if you&#8217;re a new developer and you want to get started, it&#8217;s also a great place to go and look at ways you can improve the project. So, I was excited to see that done as well.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. Does it make sense to share the link to the project board in our show notes?</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yeah, let&#8217;s do it.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: &#8230; so all the developers can grab things on what they&#8217;re interested in, and see the progress on it? Or even just test some of the PRs that are available and see if they are doing what they&#8217;re supposed to do.&nbsp;</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Performance</strong></h3>\n\n\n\n<p>Yeah. So, the next thing is add client-side pagination to the panel list, client-side means in your browser, so you don&#8217;t go back to the server to get the next pages of patterns. I think that&#8217;s definitely a quality of life improvement. And this also has been ported back.</p>\n\n\n\n<p><em>Anne McCarthy</em>: This is the fun time with Gutenberg releases, where it&#8217;s like, what&#8217;s backported?</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah.</p>\n\n\n\n<p><em>Anne McCarthy</em>: What&#8217;s not? It was cherry-picked for everyone.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, it&#8217;s synced with the core WordPress. Yeah, it doesn&#8217;t work. What&#8217;s backported? Yeah. What else? Do you want to talk about the work that&#8217;s done with the TinyMCE compatibility and the classic editor? Or the classic block in bigger projects?</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yeah. So, one of the things that&#8217;s fun about Gutenberg is there&#8217;s actually experiments you can turn on and off. And so right now, from what I&#8217;m seeing, is there&#8217;s an experiment for TinyMCE removal, basically to help with compatibility with the classic editor plugin, and other plugins that disable the block editor. So, previously an experiment was introduced to help with TinyMCE removal, and so they&#8217;re just trying to polish this to make sure that there aren&#8217;t any regressions or just weird edge cases, and make sure that it&#8217;s using the same filter for classic editor plugin is using.</p>\n\n\n\n<p>So, it&#8217;s not for a lot of folks who are, Gutenberg change log, who are Gutenberg forward, but I think it is important to consider when we think about broader adoption and folks still using the classic editor, work and thought is still put in there. I know sometimes that feedback bubbles up, but there are efforts underway to ensure that people who do want to disable it, it still works. But yeah, I would encourage folks to also just use blocks. But yeah, I would call this a maintenance task, something that is really to just plug in interoperability and make sure things still work as expected. And so, it&#8217;s something that might be not as glamorous and shiny, but it&#8217;s still important work to do as part of the wider WordPress ecosystem.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. And definitely, because there is this backwards compatibility promise for WordPress, and not only for the classic editor, but also for the classic theme. So, keeping that in mind, when you move forward in a different direction that people are still using the current stuff quite extensively and successfully, so they&#8217;re not impaired by any changes that are done. But sometimes these things are strategic and need to have a broader attention span on it and just not that one single feature. Excellent. So, I&#8217;m really glad that there is somebody on it. Yeah.&nbsp;</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Documentation</strong></h3>\n\n\n\n<p>The next thing is mostly just to say that the documentation has been updated for the layout architecture after some of the APIs were stabilized. So, they are now showing up in the documentation and they&#8217;re not labeled as private or as experimental. So, that is definitely also a good thing, because a lot of people are a little bit hesitant to use experimental APIs or features.</p>\n\n\n\n<p>So, every time you can stabilize them and update the documentation so people know about it, is a good thing, it&#8217;s a good day. What else do we find? Oh yeah, there is an interactive template for talking about the Interactivity API.&nbsp;</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Tools</strong></h3>\n\n\n\n<p>So, we have this scaffolding tool called Create Block, which speeds up your block development quite a bit when you start out with a new one or with putting additional blocks into a plugin. And now, there is also a template to use the Interactivity API on the next block that you are trying to build, that you&#8217;re working on, so you don&#8217;t have to include all the Interactivity stuff, for lack of a better technical term. And hook it up to all your other files, so there&#8217;s a template there. And it&#8217;s available now with a command line command, so that is certainly something for those people that want to dive into the Interactivity API.&nbsp;</p>\n\n\n\n<p><em>Anne McCarthy</em>: And when we make stuff like that easier, it&#8217;s so exciting, so great to call out.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. Yeah, I think the great block scaffolding tool actually has not gotten enough exposure into the developers, because it was so late when it came out, people tried to build blocks and then gave up quite a bit. But now, every course, every tutorial that comes out of WordPress education or for the developer block uses a great block scaffolding. We hope to get more people building blocks.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yeah.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. So, I think we are through with the change log, that&#8217;s what we wanted to point out for 16.3.&nbsp;</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What’s in Active Development or Discussed</strong></h3>\n\n\n\n<p>So, in active development, I think everybody, we talked about, just briefly about the phase three collaboration phase and all the posts that are there, we didn&#8217;t talk too much about it because WordPress 6.3 is such a big thing in front of us, the collaboration, we don&#8217;t know yet what&#8217;s going to be, but everyone&#8217;s excited, I think about the admin changes as well as the media library. And then, of course, the real time collaboration and the async collaboration, there&#8217;s a lot to come out. So, what are the next steps that we are going to see when people say, okay, some of us are still working on the Polish and UI changes for the site editor, and some of us are going to start and move over to the collaboration?</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yeah, I will say, I don&#8217;t anticipate to see any sort of real time collaboration added into 6.4. I think it&#8217;s such a short release cycle, so I just want to put that out there. I&#8217;m not seeing headwinds about that or momentum in that direction. But I do think that&#8217;ll give us lots of time to experiment, and I know Riad posted on Make Core about the realtime architecture, which is totally worth reading. And there&#8217;s also a GitHub issue, of course, it is a GitHub issue. But right now, the feedback that I&#8217;ve gotten and questions that I&#8217;ve gotten, since I run basically the phase two outreach program, the full site outreach program is, it&#8217;s, what outreach are we doing? What&#8217;s going to happen with that? Are you going to run one for that? There&#8217;s a lot of questions bubbling up, of what&#8217;s next.</p>\n\n\n\n<p>And right now, I will say, the focus remains on 6.3, but I would expect to see a lot of experimentation, a lot of stuff starting up. I have done some outreach to plugin authors, I&#8217;ve done related functionality like that. I&#8217;ve started talking to folks in a larger to medium to small publishing space and agencies and all that sort of stuff. But I encourage folks to stay tuned and as soon as something is ready, I planned, and I&#8217;m sure you planned, to shout it from the rooftops, try and get folks involved and figure out exactly how best to organize stuff. Because I think that is a big question is, these are such related but yet disparate initiatives, and I don&#8217;t think there&#8217;s necessarily an overarching, here is the next thing we&#8217;re doing. I think some folks, some individual contributors, are just kind of trying to explore and pave the path for now and see what we can learn, ahead of a more collective push, once 6.3 is out the door.</p>\n\n\n\n<p>But yeah, I expect things to be more experimental in the Gutenberg plugin, by the time 6.4 is released. And then 6.5 is when I am more anxious about what are we going to have in place and how can people help test. And so, right now, I encourage folks to comment on the post that Matias wrote, share your feedback, share your experiences. Are you a writer? Are you a journalist who&#8217;s had to work in collaborative situations? Talk about it, write your comments, what do you want to see? What do you like about other tools that have those kinds of features in place? What workflows does your team have?</p>\n\n\n\n<p>Yeah, I think there&#8217;s a plugin author who commented recently on a workflows post, after we had exchanged some emails, who works on a calendar. So, you have a calendar post coming up and you have workflows related to that. And he took the time to very kindly share his feedback. So, anything you can do there is super helpful, whether it&#8217;s your plugin or you&#8217;re a writer or you&#8217;re an organizational leader who has to manage this kind of stuff.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, that&#8217;s going to be real interesting. So, any feedback is really helpful in that. I just wanted to go back to what you said, okay, there&#8217;s not going to be a whole lot in 6.4 for phase three. I know there&#8217;s also quite a few things that are residual from phase two, contributors are aiming to get the funds API and the fund library into core, together with the typography management system. We talked about the Interactivity API, there&#8217;s certainly some front fund hydration kind of tools. We&#8217;re still waiting for the table of content block to be stabilized, and the time to read block, is something that is definitely on the list. And I&#8217;m really excited to see what&#8217;s coming as a default theme for 2024. And of course, all the publishing that goes into phase two interfaces and workflows for the site editor. Yeah, the default theme. Yeah.</p>\n\n\n\n<p><em>Anne McCarthy</em>: There&#8217;s so much already slated for 6.4.&nbsp;</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. And then your central…</p>\n\n\n\n<p><em>Anne McCarthy</em>: Provisions and templates and template parts, yeah, we could rattle off a bunch of stuff, let&#8217;s leave it.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: And we already know there&#8217;s stuff in there, so Beta 1 is September 26th, that&#8217;s just eight weeks away. And that&#8217;s kind of interesting to see how short of a cycle we are going to have, but we won&#8217;t hit US big holidays, like Thanksgiving, it will be out before Thanksgiving, it will be out before Christmas, and nobody goes into a Christmas year-end sale with a changed WordPress. So, I think it&#8217;s a good thing for the community, but it&#8217;s going to be hard to make it a splashy new feature kind of thing, when you only have eight weeks to develop. And it&#8217;s-</p>\n\n\n\n<p><em>Anne McCarthy</em>: It&#8217;s tight.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. But then Josepha started a wishlist post. We got quite a few comments there, and it&#8217;s still open until August 15th. She also made clear that it&#8217;s a wishlist, it&#8217;s not everything that&#8217;s going to be on there. It&#8217;s going to come into 6.4, but I think the jury is still out which part will be. If there is already a track ticket or a Gutenberg PR or issue, the chances might be going in, but a global, yeah, this is my wishlist kind of thing, it probably won&#8217;t get that attention. So, August 15th, that&#8217;s just before the community summit and WordCamp US. We will hopefully have, after WordCamp US, have a roadmap post, like you did for 6.3. Are you planning to doing something like that?</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yes, I am. It is on my to-do list, I think for the week after, maybe August 14th or something like that, to start compiling stuff and figuring out what we can write up. Because yeah, that is an important thing to get out, especially with a shorter release cycle.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. And it&#8217;s going to be interesting to see, it&#8217;s the underrepresented gender lead release. The last one was 5.6 and now we are 6.4, two years later, three years later. So, there are some awesome people on the release team, so I&#8217;m really looking forward to working with you and so many other, 40 on the direct release team or on the cohort, so it&#8217;s a great group of women/non-binary people working on the release.&nbsp;</p>\n\n\n\n<p>So, we are at the end of the show, Anne, it was wonderful to talk to you and you sharing all your knowledge&#8230; Not all your knowledge, we would be here another 10 hours.&nbsp;</p>\n\n\n\n<p><em>Anne McCarthy</em>: The highlights.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: The highlights of the most immediate thoughts in the show. It was wonderful to have you, is there anything that you want our listeners to be aware of beyond what we talked about today, that we didn&#8217;t touch upon yet?</p>\n\n\n\n<p><em>Anne McCarthy</em>: Oh, gosh. No, I don&#8217;t think so. I think the only thing that I&#8217;m noodling on is the next call for testing for the outreach program, and how we can get some feedback and get it going for 6.4, and just how 6.3 lands. So, stay tuned for that, if you&#8217;re not part of the FSE Outreach Program, it is still kicking, it&#8217;s still going over three years on.&nbsp;</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: That&#8217;s wonderful.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yeah.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. I really love that, how that turned out. And together, more people involved in testing themes, and no code and code people as well. So, is there a chance that you&#8217;re going to remove the experiment on that particular channel too?</p>\n\n\n\n<p><em>Anne McCarthy</em>: Oh, gosh. I know, it&#8217;s so funny, I think it&#8217;s called FSE Outreach Experiment. Yeah, which is funny, because it&#8217;s like, how long can the experiment go for? We&#8217;re on very scientific terms right now, but yeah, no, we should remove it. I think I just referenced it everywhere, as FSE Outreach Experiment, so I&#8217;ve been nervous about getting rid of it.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Oh, okay. Yeah, I can see it.</p>\n\n\n\n<p><em>Anne McCarthy</em>: And FSE is also an old term&#8230; It&#8217;s just kind of a weird snapshot in time. But yeah, we&#8217;ll see.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: All right, well, it was wonderful to have you. If people want to get in touch with you, would be through the channel FSE Outreach Experiments?</p>\n\n\n\n<p><em>Anne McCarthy</em>: Yeah, that&#8217;s probably the easiest. I&#8217;m @annezazu on Make Slack, and then I have a site, <a href=\"https://nomad.blog/\">Nomad.blog</a>. I&#8217;m on LinkedIn, but otherwise, not really typically on any social media. So not on X, or whatever they&#8217;re calling it, the kids are calling it these days. I don&#8217;t know how you even refer to that anymore.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, it&#8217;s now a Boomers network, right? All right, well, thank you so much for being here, and we are going on holiday, the next recording will be August 25th and we will have Ellen Bauer.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Oh, amazing.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: &#8230;lead for design, or co-lead, on the design release team for 6.4. And we&#8217;re going to talk about their work on block themes, and of course the next two Gutenberg releases, Gutenberg 16.4 and 16.5. So, stay tuned for the next one. And there&#8217;s always, dear listeners, the show notes will be published on gutenbergtimes.com/podcast, and if you have questions as suggestions or news you want us to cover, send them to <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a>. That&#8217;s <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a>. And that&#8217;s it for me, I wish everybody a great summer, and I will be back end of August. Take care.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Amazing. Thank you for having me.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: All right, bye-bye.</p>\n\n\n\n<p><em>Anne McCarthy</em>: Bye.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 29 Jul 2023 20:28:20 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:47;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:76:\"Gutenberg Times: Patterns, Block Styles and Slotfills—Weekend Edition #263\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://gutenbergtimes.com/?p=25029\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:83:\"https://gutenbergtimes.com/patterns-block-styles-and-slotfills-weekend-edition-263/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:14894:\"<p>Howdy, </p>\n\n\n\n<p>One more week, and I will start my Summer vacation. It&#8217;ll be a mixture between, pursuing neglected passing projects, giving family support, birthday celebrations and home improvement projects. My husband and I will join my in-laws  (MIL + SIL) on a river-cruise on the Danube and visit new places and revisit familiar places. </p>\n\n\n\n<p>The last touches on the WordPress 6.3 release are happening. If you haven&#8217;t yet, check out all the information that&#8217;s out there, and you find in the last two weekend editions. </p>\n\n\n\n<p>Yours, 💕<br /><em>Birgit</em></p>\n\n\n\n\n\n\n<div class=\"wp-block-group has-light-background-background-color has-background is-layout-flow wp-block-group-is-layout-flow\"><div class=\"wp-block-group__inner-container\">\n<p><strong>Table of Contents</strong></p>\n\n\n\n<div class=\"wp-block-sortabrilliant-guidepost\"><ul><li><a href=\"https://gutenbergtimes.com/feed/#0-word-press-release-information\">Developing Gutenberg and WordPress</a><ul><li><a href=\"https://gutenbergtimes.com/feed/#1-word-press-6-3\">WordPress 6.3</a></li><li><a href=\"https://gutenbergtimes.com/feed/#1-gutenberg-16-3\">Gutenberg 16.3 </a></li></ul></li><li><a href=\"https://gutenbergtimes.com/feed/#0-p\">Plugins, Themes, and Tools for #nocode site builders and owners</a></li><li><a href=\"https://gutenbergtimes.com/feed/#2-word-press-6-0-1-and-6-1-scheduled\">Theme Development for Full Site Editing and Blocks</a></li><li><a href=\"https://gutenbergtimes.com/feed/#3-building-themes-for-fse-and-word-press\">Building Blocks and Tools for the Block editor. </a></li></ul></div>\n</div></div>\n\n\n\n\n<h2 class=\"wp-block-heading\" id=\"0-word-press-release-information\">Developing Gutenberg and WordPress</h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-word-press-6-3\">WordPress 6.3</h3>\n\n\n\n<p>On the WordPress News site, <strong>Anne McCarthy</strong> published <a href=\"https://wordpress.org/news/2023/07/synced-patterns-the-evolution-of-reusable-blocks/\"><strong>Synced Patterns: The Evolution of Reusable Blocks</strong></a>. You&#8217;ll learn everything there is to know about how the term &#8220;Synced patterns&#8221; is replacing the term &#8220;Reusable blocks&#8221;, and how this brings a unified creation experience for new pattern to your WordPress site with the new version. </p>\n\n\n\n<p>Many users have been applying reusable blocks to CTA, bios and compliance copy on their sites. Those will stay intact. Nothing changes here. The same mechanism you used to create reusable blocks, is also used to create synced patterns. It&#8217;s now also expanded to create standard patterns. A feature many site owners and designers have been waiting for. McCarthy and I also talked about this during our podcast recording. </p>\n\n\n\n<img />\n\n\n\n<hr class=\"wp-block-separator has-text-color has-accent-color has-alpha-channel-opacity has-accent-background-color has-background is-style-wide gt-separator\" />\n\n\n\n<p><strong>Matt Medeiros,</strong> publisher of WPMinute, asked in his latest episode: <br /><a href=\"https://thewpminute.com/will-wordpress-6-3-be-the-best-ever/\"><strong>Will WordPress 6.3 be the best ever?</strong></a> &#8220;There are a lot of exciting features coming to WordPress 6.3 which will set the tone for the next few years of our favorite CMS.&#8221; he wrote. </p>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-accent-color has-alpha-channel-opacity has-accent-background-color has-background is-style-wide gt-separator\" />\n\n\n\n<p><strong>Jonathan Bossenger </strong>provides a recording of his <a href=\"https://wordpress.tv/2023/07/28/testing-wordpress-6-3-developer-edition/\"><strong>Testing WordPress 6.3 – Developer Edition</strong></a> session. You&#8217;ll learn how to install the <a href=\"https://wordpress.org/plugins/wordpress-beta-tester/\"><em>WordPress Beta Tester plugin</em></a>, convert a local installation to 6.3 RC  for testing. Then use this setup to test it against a theme that is in active development, and then revert it back to WordPress 6.2.2. With WordPress 6.3 due on August 8, 2023, now would be a great time to help test the release candidate, as well as confirm that your plugins and themes are ready for the 6.3 release.</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-gutenberg-16-3\">Gutenberg 16.3 </h3>\n\n\n\n<p><strong><a href=\"https://twitter.com/michaelburridge\">Michael Burridge</a></strong> led the latest Gutenberg release. It was mainly a maintenance release and comprised of a myriad of bug fixes for features slated for WordPress 6.3. Burridge highlighted in his release post <strong><a href=\"https://make.wordpress.org/core/2023/07/26/whats-new-in-gutenberg-16-3-26-july/\">What’s new in Gutenberg 16.3? (26 July)</a>&nbsp;</strong></p>\n\n\n\n<ul>\n<li><a href=\"https://make.wordpress.org/core/2023/07/26/whats-new-in-gutenberg-16-3-26-july/#focus-mode-editing-for-patterns\">‘Focus mode’ editing for patterns</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2023/07/26/whats-new-in-gutenberg-16-3-26-july/#sticky-header-bar-on-patterns-page\">Sticky header bar on Patterns page</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2023/07/26/whats-new-in-gutenberg-16-3-26-july/#rename-duplicate-and-delete-patterns\">Rename, duplicate, and delete patterns</a></li>\n</ul>\n\n\n\n<img />\n\n\n\n<hr class=\"wp-block-separator has-text-color has-accent-color has-alpha-channel-opacity has-accent-background-color has-background is-style-wide gt-separator\" />\n\n\n\n<div class=\"wp-block-group has-light-background-background-color has-background is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"wp-block-group__inner-container\">\n<div class=\"wp-block-group has-light-background-background-color has-background is-layout-flow wp-block-group-is-layout-flow\"><div class=\"wp-block-group__inner-container\">\n<p class=\"is-style-no-vertical-margin\"><strong>🎙️ </strong> Latest episode: <a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-87/\">Gutenberg Changelog #87 – Patterns, Gutenberg 16.3 and WordPress 6.3.</a> with Anne McCarthy as special guest, hosted by Birgit Pauli-Haack</p>\n</div></div>\n</div></div>\n\n\n\n<p><strong>Anne McCarthy</strong> and I talked about this release and, of course, also about WordPress 6.3 while recording the <strong>Gutenberg Changelog 87</strong>. It&#8217;s always a great joy to listen to Anne and take a deep dive into the Site editor with her. The episode is still at the editor, but will be available via your favorite podcast app over the weekend. My favorite Podcast app is <a href=\"https://pocketcasts.com/\">Pocket Casts</a> and I have been a paying subscriber for many years.</p>\n\n\n\n<img />\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<p><strong>Sarah Gooding</strong> reported on the release as well in her article: <a href=\"https://wptavern.com/gutenberg-16-3-adds-new-tools-for-patterns\"><strong>Gutenberg 16.3 Adds New Tools for Patterns</strong></a>. &#8220;Most notably, custom user patterns now have a dropdown menu for renaming, duplicating and deleting them. Patterns and template parts that come with themes will only have the “duplicate” option available since they cannot be deleted or renamed.&#8221; she wrote. </p>\n\n\n\n\n<p><strong>&nbsp;<a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/\" target=\"_blank\" rel=\"noreferrer noopener\">&#8220;Keeping up with Gutenberg &#8211; Index 2022&#8221;</a>&nbsp;</strong><br />A chronological list of the WordPress Make Blog posts from various teams involved in Gutenberg development: Design, Theme Review Team, Core Editor, Core JS, Core CSS, Test and Meta team from Jan. 2021 on. Updated by yours truly.  <a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2020/\"><em>The index 2020 is here</em></a></p>\n\n\n\n\n<h2 class=\"wp-block-heading\" id=\"0-p\">Plugins, Themes, and Tools for #nocode site builders and owners</h2>\n\n\n\n<p><strong>Jamie Marsland </strong>released a new video with a <a href=\"https://www.youtube.com/watch?v=ckq0Wfu2xvs\"><strong>tons of WordPress News that you probably missed</strong></a> with a demo of the <a href=\"https://gutenbergtimes.com/introducing-the-breadcrumbs-wordpress-block-plugin/\">Justin Tadlock&#8217;s Breadcrumbs Block</a>, the time to read block, and vertical text feature, and finally short appearances from Mike McAlister and Kevin Geary, with strong opinions on block themes specifically and Gutenberg as a whole. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>When users are new to WordPress, taxonomy is one of the concepts, that is harder to explain. <strong>Sarah Snow</strong> published a tutorial: <a href=\"https://learn.wordpress.org/tutorial/categories-vs-tags-whats-the-difference/\"><strong>Categories vs. Tags: What’s the difference?</strong></a> on the Learn.WordPress site. She shows you how to use them and that they are good for SEO juice and enhances content discovery for your readers. And  never have posts &#8220;uncategorized&#8221; again. </p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"2-word-press-6-0-1-and-6-1-scheduled\">Theme Development for Full Site Editing and Blocks</h2>\n\n\n\n<p>Last week, <strong>Justin Tadlock</strong> published <a href=\"https://developer.wordpress.org/news/2023/07/beyond-block-styles-part-1-using-the-wordpress-scripts-package-with-themes/\">part 1</a> of his Beyond Block Styles series. In part 2 he walks you through how to build custom styles for the core Separator Block.  <a href=\"https://developer.wordpress.org/news/2023/07/beyond-block-styles-part-2-building-a-custom-style-for-the-separator-block/\"><strong>Beyond block styles, part 2: building a custom style for the Separator block</strong></a>. It&#8217;s a deep dive into the inner workings of creating block styles for core blocks. You would need to have a certain set-up in place to follow along, and Tadlock takes you by the hand on <a href=\"https://developer.wordpress.org/news/2023/07/beyond-block-styles-part-1-using-the-wordpress-scripts-package-with-themes/\">using the WordPress scripts package with themes</a>. I can hardly wait for the third part. I probably see first drafts next week. </p>\n\n\n\n<img />\n\n\n\n<p class=\"has-light-background-background-color has-background\">Oh, and while I have you: Are you a developer with a topic idea that you would like to share with the community? How about publishing it <strong>WordPress Developer Blog?</strong> Read the&nbsp;<a href=\"https://developer.wordpress.org/news/tips-and-guidelines-for-writers/\">tips and guidelines</a>&nbsp;and find out&nbsp;<a href=\"https://developer.wordpress.org/news/how-to-contribute/\">how you can contribute</a>. Our next monthly meeting will be on August 3rd, 2023 at 13:00 UTC in the WP Slack <a href=\"https://wordpress.slack.com/archives/C03RL47B3S8\">#core-dev-blog</a> channel. Or just DM me on Slack @bph and we&#8217;ll set up a talk. </p>\n\n\n\n<p>If you are a novice to working with NodeJS or npm, <strong>Jonathan Bossenger </strong>has a tutorial for you on Learn.WordPress: <a href=\"https://learn.wordpress.org/tutorial/installing-node-js-and-npm-for-local-wordpress-development/\"><strong>Installing Node.js and npm for local WordPress development</strong></a>. </p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"3-building-themes-for-fse-and-word-press\">Building Blocks and Tools for the Block editor. </h2>\n\n\n\n<p>In his live coding session on twitch, <strong>Ryan Welcher</strong> covered &#8211;  it seems &#8211; his most favorite topic: <strong><a href=\"https://www.twitch.tv/videos/1883051136\">Using custom SlotFill to extend a codebase</a>,</strong> using is ever evolving Advanced Query Loop plugin and adding more settings to the plugin&#8217;s sidebar. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Michael Burridge</strong> and <strong>Justin Tadlock </strong>presented at this month&#8217;s <a href=\"https://wordpress.tv/2023/07/26/wordpress-developer-hours-styling-blocks-july-2023/\"><strong>Developer Hours about Styling Blocks.</strong></a> The recording is available on WordPress TV. The panel talked about CSS custom properties (also known as CSS variables). You learn how to leverage them in custom blocks to give users more control over the styling and presentation of their sites.</p>\n\n\n\n\n<p><strong><a href=\"https://gutenbergtimes.com/need-a-zip-from-master/\">Need a plugin .zip from Gutenberg&#8217;s master branch?</a></strong><br />Gutenberg Times provides daily build for testing and review. <br />Have you been using it? Hit reply and let me know.</p>\n\n\n\n<p><img alt=\"GitHub all releases\" src=\"https://img.shields.io/github/downloads/bph/gutenberg/total?style=for-the-badge\" /></p>\n\n\n\n\n<p class=\"has-text-align-right has-small-font-size\"><em>Questions? Suggestions? Ideas? Don&#8217;t hesitate to send <a href=\"mailto:pauli@gutenbergtimes.com\">them via email</a> or send me a message on WordPress Slack or Twitter @bph</em>. </p>\n\n\n\n<p class=\"has-text-align-right has-small-font-size\">For questions to be answered on the <a href=\"http://gutenbergtimes.com/podcast\">Gutenberg Changelog</a>, send them to <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a></p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n\n<p>Featured Image: <a href=\"https://creativecommons.org/share-your-work/public-domain/cc0/\">CCO</a>&nbsp;licensed&nbsp;<a href=\"https://wordpress.org/photos/photo/382642d6b2/\">photo</a>&nbsp;by&nbsp;<a href=\"https://wordpress.org/photos/author/lanche86/\">lanche86</a>&nbsp;from the&nbsp;<a href=\"https://wordpress.org/photos/\">WordPress Photo Directory</a>.</p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\" />\n\n\n\n<p class=\"has-text-align-left\"><strong>Don&#8217;t want to miss the next Weekend Edition? </strong></p>\n\n\n\n<form class=\"wp-block-newsletterglue-form ngl-form ngl-portrait\" action=\"https://gutenbergtimes.com/feed/\" method=\"post\"><div class=\"ngl-form-container\"><div class=\"ngl-form-field\"><label class=\"ngl-form-label\" for=\"ngl_email\"><br />Type in your Email address to subscribe.</label><div class=\"ngl-form-input\"><input type=\"email\" class=\"ngl-form-input-text\" name=\"ngl_email\" id=\"ngl_email\" /></div></div><button type=\"submit\" class=\"ngl-form-button\">Subscribe</button><p class=\"ngl-form-text\">We hate spam, too and won&#8217;t give your email address to anyone except Mailchimp to send out our Weekend Edition</p></div><div class=\"ngl-message-overlay\"><div class=\"ngl-message-svg-wrap\"></div><div class=\"ngl-message-overlay-text\">Thanks for subscribing.</div></div><input type=\"hidden\" name=\"ngl_list_id\" id=\"ngl_list_id\" value=\"26f81bd8ae\" /><input type=\"hidden\" name=\"ngl_double_optin\" id=\"ngl_double_optin\" value=\"yes\" /></form>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\" />\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 29 Jul 2023 09:34:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:48;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:92:\"WPTavern: Ninja Forms Version 3.6.26 Patches Multiple High Severity Security Vulnerabilities\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"https://wptavern.com/?p=147292\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:103:\"https://wptavern.com/ninja-forms-version-3-6-26-patches-multiple-high-severity-security-vulnerabilities\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:1893:\"<p>If you use the <a href=\"https://wordpress.org/plugins/ninja-forms\">Ninja Forms</a> plugin and your sites aren&#8217;t set to get automatic plugin updates, add a round of updates to your weekend plans. Patchstack is <a href=\"https://patchstack.com/articles/multiple-high-severity-vulnerabilities-in-ninja-forms-plugin/\">reporting multiple high severity security vulnerabilities</a> in the plugin, including the following:</p>\n\n\n\n<ul>\n<li>a POST-based reflected XSS (7.6 CVSS 3.1 score)</li>\n\n\n\n<li>a broken access control on form submissions export feature that allows Subscriber and Contributor role users to export all of the Ninja Forms submissions on a WordPress site (7.6 CVSS 3.1 score)</li>\n</ul>\n\n\n\n<p>Patchstack researchers discovered the vulnerabilities on June 22, 2023, and Ninja Forms patched them on July 4, 2023. The security advisory was publicly released on July 27, 2023. </p>\n\n\n\n<p>The plugin&#8217;s changelog for version 3.6.26 transparently identifies the security fixes included in the release:</p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p><em>Security Enhancements:</em><br />* Prevent unauthorized download of submission<br />* Prevent scripts in dashboard field labels; responsibly reported by Sayandeep Dutta<br />* Prevent front-facing label scripts; responsibly reported by Jonathon Zamora &amp; WordPress.org<br />* Prevent excess extra data through automated form submission<br />* Prevent override access where not permitted</p>\n</blockquote>\n\n\n\n<p>Ninja Forms is used on more than 800,000 WordPress sites. The majority of the plugin&#8217;s users are on version 3.6.x (73.6%) but WordPress.org doesn&#8217;t offer a more detailed breakdown of minor versions, so it&#8217;s not clear how many are still vulnerable. Ninja Forms users are recommended to patch their sites immediately. At this time, the vulnerabilities are not known to have been exploited.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 28 Jul 2023 22:11:38 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:49;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"WPTavern: WordPress Launches Slack/Matrix Bridge\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"https://wptavern.com/?p=147271\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"https://wptavern.com/wordpress-launches-slack-matrix-bridge\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3419:\"<p>WordPress meta contributors have just logged an important milestone in their efforts to <a href=\"https://wptavern.com/wordpress-project-to-evaluate-replacing-slack-with-matrix-open-source-chat\">explore replacing Slack communication with Matrix</a>, an open source federated chat system. The team hosted a meeting on the Meta Slack channel and the corresponding #meta:community.wordpress.org Matrix room simultaneously, enabled by the project&#8217;s <a href=\"https://make.wordpress.org/meta/2023/07/20/matrix-chat-summary-july-20-2023/\">new Slack/Matrix bridge</a>.</p>\n\n\n\n<p>The bridge allows users to follow the chat and participate from either Matrix or Slack, with messages showing up in real-time. It&#8217;s a tool that will make the transition easier as the WordPress project moves towards replacing Slack. The team is still in the process of importing the history for channels but the bridges are already in place for all public Slack channels/Matrix rooms. </p>\n\n\n\n<p>DM&#8217;s do not work over the bridge, although they work between Matrix users. The bridge doesn&#8217;t have access to anything that is private, and the historic data import into Matrix will only apply to public Slack channels. DMs and private channel history will not be ported over.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<img width=\"1213\" height=\"996\" src=\"https://149611589.v2.pressablecdn.com/wp-content/uploads/2023/07/make-meta-chatrix.png\" alt=\"\" class=\"wp-image-147278\" />Meta contributor meeting inside Chatrix instance with room switcher disabled \n\n\n\n<p>The Matrix team has created a Gutenberg block that embeds a Matrix client called <a href=\"https://wordpress.org/plugins/chatrix/\">Chatrix</a>, which can be added to any WordPress page/post or P2 blog, as shown in the screenshot above. This example can be accessed at <a href=\"https://make.wordpress.org/meta/chat/\">https://make.wordpress.org/meta/chat/</a>. WordPress.org users can sign in with SSO inside the block and authorize their accounts to connect:</p>\n\n\n\n<img width=\"465\" height=\"500\" src=\"https://149611589.v2.pressablecdn.com/wp-content/uploads/2023/07/Screen-Shot-2023-07-28-at-3.03.35-PM-465x500.png\" alt=\"\" class=\"wp-image-147279\" />\n\n\n\n<p>Now that the Matrix server is live at <a rel=\"noreferrer noopener\" href=\"https://community.wordpress.org/\" target=\"_blank\">community.wordpress.org</a>, WordPress users who want to attend team meetings or join rooms via Matrix can now do so using their choice of Matrix clients that support SSO. Logging in uses the same credentials as the WordPress.org account.</p>\n\n\n\n<p>&#8220;Compared to Slack this means a vastly simplified onboarding process,&#8221; Automattic-sponsored contributor Alex Kirk said. &#8220;Instead of waiting for an e-mail arriving at a special e-mail address, you set the server in your Matrix client to <code>community.wordpress.org</code> and click &#8216;Login with WordPress.org&#8217; (the name of that button might vary by client).&#8221;</p>\n\n\n\n<p>As the channels&#8217; history gets migrated over, Kirk said WordPress users will be automatically invited to rooms on Matrix that they have already joined from the Slack side. The team is planning to make more wide-scale public announcements after the Slack/Matrix bridge has demonstrated that it is running stable.</p>\n\n\n\n<p><a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https://app.slack.com/services/B05A8FX9LBD\"></a></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 28 Jul 2023 21:31:35 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}}}}}}}}}}s:4:\"type\";i:128;s:7:\"headers\";O:48:\"WpOrg\\Requests\\Utility\\CaseInsensitiveDictionary\":1:{s:7:\"\0*\0data\";a:8:{s:6:\"server\";s:5:\"nginx\";s:4:\"date\";s:29:\"Mon, 14 Aug 2023 23:49:18 GMT\";s:12:\"content-type\";s:8:\"text/xml\";s:13:\"last-modified\";s:29:\"Mon, 14 Aug 2023 23:30:28 GMT\";s:4:\"vary\";s:15:\"Accept-Encoding\";s:15:\"x-frame-options\";s:10:\"SAMEORIGIN\";s:16:\"content-encoding\";s:4:\"gzip\";s:4:\"x-nc\";s:9:\"HIT ord 2\";}}s:5:\"build\";s:14:\"20230504221020\";}','no'),(46826,'_transient_timeout_feed_mod_d117b5738fbd35bd8c0391cda1f2b5d9','1692100158','no'),(46827,'_transient_feed_mod_d117b5738fbd35bd8c0391cda1f2b5d9','1692056958','no'),(46828,'_transient_timeout_dash_v2_88ae138922fe95674369b1cb3d215a2b','1692100158','no'),(46829,'_transient_dash_v2_88ae138922fe95674369b1cb3d215a2b','<div class=\"rss-widget\"><ul><li><a class=\'rsswidget\' href=\'https://wordpress.org/news/2023/08/lionel/\'>WordPress 6.3 “Lionel”</a></li><li><a class=\'rsswidget\' href=\'https://wordpress.org/news/2023/08/concerns-over-the-european-unions-cyber-resilience-act-cra/\'>Concerns over the European Union’s Cyber Resilience Act (CRA)</a></li></ul></div><div class=\"rss-widget\"><ul><li><a class=\'rsswidget\' href=\'https://wptavern.com/wordpress-themes-team-releases-blue-note-a-community-supported-theme-for-bloggers\'>WPTavern: WordPress Themes Team Releases Blue Note, A Community-Supported Theme for Bloggers</a></li><li><a class=\'rsswidget\' href=\'https://dothewoo.io/a-devchat-on-woocommerce-support/\'>Do The Woo Community: A DevChat on WooCommerce Support with Andrew Wikel</a></li><li><a class=\'rsswidget\' href=\'https://dothewoo.io/a-conversation-woocommerce-custom-tables/\'>Do The Woo Community: A Conversation: WooCommerce Custom Tables</a></li></ul></div>','no'),(46830,'_transient_timeout_rank_math_feed_posts_v2','1692100158','no'),(46831,'_transient_rank_math_feed_posts_v2','a:3:{i:0;a:3:{s:5:\"title\";a:1:{s:8:\"rendered\";s:76:\"Ultimate WordPress Speed Optimization Guide - Revamp Your Site\'s Performance\";}s:4:\"date\";s:19:\"2023-06-21 09:02:24\";s:4:\"link\";s:55:\"https://rankmath.com/blog/wordpress-speed-optimization/\";}i:1;a:3:{s:5:\"title\";a:1:{s:8:\"rendered\";s:58:\"SEO Content Guide: Your Roadmap to Maximum Organic Traffic\";}s:4:\"date\";s:19:\"2023-06-07 10:21:26\";s:4:\"link\";s:44:\"https://rankmath.com/blog/seo-content-guide/\";}i:2;a:3:{s:5:\"title\";a:1:{s:8:\"rendered\";s:37:\"How to Easily Add Images in WordPress\";}s:4:\"date\";s:19:\"2023-05-16 10:03:19\";s:4:\"link\";s:57:\"https://rankmath.com/blog/how-to-add-images-in-wordpress/\";}}','no'),(46892,'litespeed.conf._version','5.6','yes'),(46893,'litespeed.conf.optm-js_delay_inc','[]','yes'),(47011,'_transient_timeout_rsssl_can_use_curl_headers_check','1693112284','no'),(47012,'_transient_rsssl_can_use_curl_headers_check','a:5:{i:0;s:16:\"X-XSS protection\";i:1;s:22:\"X-Content Type Options\";i:2;s:15:\"Referrer-Policy\";i:3;s:15:\"X-Frame-Options\";i:4;s:18:\"Permissions-Policy\";}','no'),(47030,'_transient_timeout_us_update_addons_data_Impreza','1692587790','no'),(47031,'_transient_us_update_addons_data_Impreza','O:8:\"stdClass\":2:{s:7:\"success\";i:0;s:6:\"errors\";O:8:\"stdClass\":1:{s:44:\"for_wordpress.validation.purchase_code.wrong\";s:30:\"validation.purchase_code.wrong\";}}','no'),(47035,'_site_transient_update_plugins','O:8:\"stdClass\":5:{s:12:\"last_checked\";i:1692566205;s:8:\"response\";a:1:{s:47:\"really-simple-ssl-pro/really-simple-ssl-pro.php\";O:8:\"stdClass\":20:{s:11:\"new_version\";s:5:\"7.0.4\";s:14:\"stable_version\";s:5:\"7.0.4\";s:4:\"name\";s:21:\"Really Simple SSL pro\";s:4:\"slug\";s:21:\"really-simple-ssl-pro\";s:3:\"url\";s:74:\"https://really-simple-ssl.com/downloads/really-simple-ssl-pro/?changelog=1\";s:12:\"last_updated\";s:19:\"2023-08-14 10:55:41\";s:8:\"homepage\";s:29:\"https://really-simple-ssl.com\";s:7:\"package\";s:0:\"\";s:13:\"download_link\";s:0:\"\";s:8:\"sections\";O:8:\"stdClass\":2:{s:11:\"description\";s:792:\"<p>Really Simple SSL Pro offers premium support, HTTP Strict Transport Security, an extensive scan, and more detailed feedback on the configuration page.</p>\n<h4> Installation </h4>\n<ul>\n<li>Install the Really Simple SSL plugin, which is needed with this one.</li>\n<li>Go to “plugins” in your Wordpress Dashboard, and click “add new”</li>\n<li>Click “upload”, and select the zip file you downloaded after the purchase.</li>\n<li>Activate</li>\n<li>Navigate to “settings”, “SSL”.</li>\n<li>Click “license”</li>\n<li>Enter your license key, and activate.</li>\n</ul>\n<p>For more information: go to the <a href=\"https://www.really-simple-ssl.com/\">website</a>, or\n<a href=\"https://www.really-simple-ssl.com/contact/\">contact</a> me if you have any questions or suggestions.</p>\";s:9:\"changelog\";s:21899:\"<h4> 7.0.4 </h4>\n<ul>\n<li>August 8th 2023</li>\n<li>New: Advanced hardening: block admin creation</li>\n<li>Improvement: WordPress tested up to 6.3</li>\n</ul>\n<h4> 7.0.3 </h4>\n<ul>\n<li>July 25th 2023</li>\n<li>Improvement: catch not existing \'SERVER_PROTOCOL\'</li>\n</ul>\n<h4> 7.0.2 </h4>\n<ul>\n<li>July 6th 2023</li>\n<li>Improvement: prevent use of subdirectories in custom login url</li>\n</ul>\n<h4> 7.0.1 </h4>\n<ul>\n<li>Fix: change login url functionality not working in 7.0</li>\n</ul>\n<h4> 7.0.0 </h4>\n<ul>\n<li>New: Vulnerability Detection is in Beta - <a href=\"https://really-simple-ssl.com/vulnerability-detection/\">Read more</a></li>\n</ul>\n<h4> 6.2.5 </h4>\n<ul>\n<li>Improvement: stop trying the database rename if it fails on first attempt</li>\n</ul>\n<h4> 6.2.4 </h4>\n<ul>\n<li>New: change login url</li>\n<li>Fix: Exclude deprecated x-content-security-policy from header detection</li>\n<li>Improvement: Update to functional components Rest API for free core</li>\n<li>Improvement: Disable Content Security Policy if the maximum header size has been reached</li>\n</ul>\n<h4> 6.2.3 </h4>\n<ul>\n<li>Fix: rename db prefix using not available function</li>\n<li>Fix: Exclude deprecated x-content-security-policy from header detection</li>\n</ul>\n<h4> 6.2.2 </h4>\n<ul>\n<li>Fix: follow redirects in third party header detection.</li>\n</ul>\n<h4> 6.2.1 </h4>\n<ul>\n<li>Fix: prefix replacement in wp-config too broad, causing issues if wp_ is used other then in the prefix.</li>\n<li>Fix: Update prefix site_id in user roles when changing the database prefix, to preserve capabilities for users in subsites</li>\n</ul>\n<h4> 6.2.0 </h4>\n<ul>\n<li>Improvement: add support for BLOB and Filesystem</li>\n<li>Improvement: disable CSP reporting mode paused status when switching to disabled or enforced</li>\n</ul>\n<h4> 6.1.1 </h4>\n<ul>\n<li>Improvement: Use ABSPATH constant instead of path when writing path to debug.log</li>\n<li>Improvement: Pause CSP reporting after 20 requests, to lower server load</li>\n<li>Fix: script-src-elem in Content Security Policy not including source URL</li>\n</ul>\n<h4> 6.1.0 </h4>\n<ul>\n<li>Improvement: CSP policy for back and front-end separate</li>\n<li>Improvement: also allow non-recommended X-XSS options</li>\n<li>Improvement: frame ancestors allow other values than \'none\'</li>\n</ul>\n<h4> 6.0.5 </h4>\n<ul>\n<li>Fix: Debug.log setting not saving on first save action</li>\n</ul>\n<h4> 6.0.4 </h4>\n<ul>\n<li>New: automatically detect wrong Security Header values from other sources, and duplicate headers</li>\n<li>Improvement: auto enable Insecure Requests header only when SSL enabled</li>\n<li>Improvement: remove unnecessary notices load in licenses block</li>\n</ul>\n<h4> 6.0.3 </h4>\n<ul>\n<li>Fix: isset check on $_SERVER[\'HTTPS\'] to support environments where this key is missing</li>\n<li>Improvement: add headers_sent() check for situations where the headers already have been sent, possibly due to an error earlier in the system.</li>\n<li>Improvement: Update CSP reporting URI on permalink structure change</li>\n</ul>\n<h4> 6.0.2 </h4>\n<ul>\n<li>Fix: HSTS not running on hosting environments with load balanced configuration because SSL is not detected</li>\n<li>Fix: when wp-config.php is not writable, renaming database prefix could cause tables to get removed</li>\n</ul>\n<h4> 6.0.1 </h4>\n<ul>\n<li>Fix: upgrade to 6 logic running more than once</li>\n</ul>\n<h4> 6.0.0 </h4>\n<ul>\n<li>Tested up to WordPress 6.1.0</li>\n<li>Improvement: User Interface</li>\n<li>New: Server Health Check - powered by SSLLabs</li>\n<li>New: WordPress Hardening Features</li>\n</ul>\n<h4> 5.4.0 </h4>\n<ul>\n<li>Improvement: New default Referrer Policy =&gt; strict-origin-when-cross-origin</li>\n<li>Improvement: New default for X-XSS header</li>\n<li>Improvement: Dropped Expect-CT header as it\'s now deprecated, integrated by default in certificates</li>\n<li>Improvement: Updated Permissions Policy with improved defaults, updated to new values as currently supported in browsers</li>\n<li>Improvement: dropped access-control-allow-origin header, as it can only be used dynamically, which is not feasible in most WP environments</li>\n</ul>\n<h4> 5.3.6 </h4>\n<ul>\n<li>Improvement: new languages</li>\n<li>Improvement: several small bug fixes and typo\'s</li>\n</ul>\n<h4> 5.3.5.1 </h4>\n<ul>\n<li>Fix: new license check causing continuous license checking, resulting in slow response</li>\n</ul>\n<h4> 5.3.5 </h4>\n<ul>\n<li>Improvement: language files</li>\n<li>Improvement: some small bug fixes</li>\n</ul>\n<h4> 5.3.4 </h4>\n<ul>\n<li>Improvement: language files</li>\n<li>Changed: license check using own transient function</li>\n</ul>\n<h4> 5.3.3 </h4>\n<ul>\n<li>Removed credentialless from CORP setting as it caused some issues with embedded videos</li>\n</ul>\n<h4> 5.3.2 </h4>\n<ul>\n<li>Fix: PHP &lt;7 compatibility</li>\n</ul>\n<h4> 5.3.1 </h4>\n<ul>\n<li>Improvement: fix site health still showing header notice if activated in pro</li>\n<li>Improvement: set ssl verify to false on failed license check</li>\n<li>Improvement: improved CORS settings</li>\n</ul>\n<h4> 5.3.0 </h4>\n<ul>\n<li>Improvement: add support for report-to in CSP</li>\n<li>Improvement: increase CSP display limit</li>\n<li>Improvement: auto update option</li>\n</ul>\n<h4> 5.2.5 </h4>\n<ul>\n<li>Improvement: add direct link to permalinks when permalinks notice pops up</li>\n<li>Fix: navigation in scan overview</li>\n</ul>\n<h4> 5.2.4 </h4>\n<ul>\n<li>Improvement: feedback on not detected headers</li>\n</ul>\n<h4> 5.2.3.1 </h4>\n<ul>\n<li>Fix: Rest API and pretty permalinks check inverted, causing false positive notification in dashboard about the permalink structure</li>\n</ul>\n<h4> 5.2.3 </h4>\n<ul>\n<li>Improvement: various Content Security Improvements: added override to 20 reporting/100 display limit. Fixed CSS when 100+ pages</li>\n<li>Improvement: added default required WordPress rules to Content Security Policy</li>\n<li>Improvement: fixed advanced header warning position</li>\n<li>Disable scan on invalid license</li>\n<li>Improvement: moved recommended security headers notice to free, added override in Pro</li>\n<li>Added Cross-Origin resource policy security headers</li>\n</ul>\n<h4> 5.2.2 </h4>\n<ul>\n<li>Fix: double quotes in php headers causing issues since recent browser updates</li>\n</ul>\n<h4> 5.2.1 </h4>\n<ul>\n<li>Improvement: replaced admin notice on inactivate license</li>\n<li>Improvement: move security headers above WP Rocket .htaccess rules to prevent compatibility issues</li>\n<li>Improvement: enable auto updates</li>\n<li>Improvement: Content Security Policy did not allow for wss:// and ws:// web socket protocol</li>\n<li>Improvement: removed trailing slash from rest api</li>\n<li>Improvement: added rsssl_pause_after_request_count filter to adjust request count on which CSP pauses</li>\n<li>Improvement: fixed some reporting variations</li>\n</ul>\n<h4> 5.2.0 </h4>\n<ul>\n<li>Improvement: changed PHP header option to dropdown</li>\n<li>Improvement: remove unnecessary parameter in file scan</li>\n<li>Improvement: request header origin sometimes returns null. Changing to \'host\' resolves the Content Security Policy reporting API in those cases</li>\n<li>Improvement: styling issue on scan UX</li>\n</ul>\n<h4> 5.1.0 </h4>\n<ul>\n<li>Improvement: comment on multisite environments caused layout issue</li>\n</ul>\n<h4> 5.0 </h4>\n<ul>\n<li>Updated translations</li>\n</ul>\n<h4> 4.1.11 </h4>\n<ul>\n<li>Fix: for very long .htaccess files, support form in the plugin gave an invalid response. props Vincent</li>\n</ul>\n<h4> 4.1.10 </h4>\n<ul>\n<li>Fix: typo in reset license key obfuscation</li>\n<li>Translations update</li>\n</ul>\n<h4> 4.1.9 </h4>\n<ul>\n<li>Improvement: \'none\' or \'*\' attribute deprecated for Permissions Policy</li>\n<li>Improvement: Content Security Policy for unsafe inline</li>\n<li>Improvement: Interest Cohort added to permissions policy</li>\n</ul>\n<h4> 4.1.8 </h4>\n<ul>\n<li>Fix: PHP headers were set with quotes, causing issues on some servers.</li>\n<li>Fix: When switching from &quot;enforce&quot; to &quot;paused&quot;, CSP headers were not removed</li>\n<li>Improvement: generalized wrap_header function for more robust header generation</li>\n<li>Improvement: disable remove .htaccess headers on activation of PHP headers.</li>\n</ul>\n<h4> 4.1.7 </h4>\n<ul>\n<li>Moved secure cookies to free</li>\n</ul>\n<h4> 4.1.6 </h4>\n<ul>\n<li>Improved WP Engine compatibility</li>\n<li>Improved Content Security Policy, added option to revoke result from overview</li>\n<li>Lowered Content Security Policy request limit</li>\n</ul>\n<h4> 4.1.5 </h4>\n<ul>\n<li>Fix: set defaults firing even when dependency check not validated</li>\n<li>Fix: Constant RSSSL_DOING_CSP not set when running the CSP API</li>\n</ul>\n<h4> 4.1.4 </h4>\n<ul>\n<li>Improvement: Added report-paused mode to Content Security Policy generator. Reporting will now automatically pause after 200 requests to prevent high server load</li>\n<li>Improvement: Further restricted access to Content Security Policy generator REST API calls</li>\n<li>Fix: Default options won\'t be reconfigured after plugin deactivation/activation</li>\n</ul>\n<h4> 4.1.3 </h4>\n<ul>\n<li>Made PHP header option available on all configurations</li>\n<li>Improvement: wrap example code in comments</li>\n</ul>\n<h4> 4.1.2 </h4>\n<ul>\n<li>Fix: File name in upgrade function</li>\n</ul>\n<h4> 4.1.1 </h4>\n<ul>\n<li>Fix: condition for .htaccess writing in combination with do not edit .htaccess option</li>\n</ul>\n<h4> 4.1.0 </h4>\n<ul>\n<li>New: PHP headers support for all security headers, autodetecting necessity for NGINX.</li>\n<li>New: Changed feature policy into permissions policy.</li>\n</ul>\n<h4> 4.0.7 </h4>\n<ul>\n<li>Fix: always activate multisite license for main site url</li>\n</ul>\n<h4> 4.0.6 </h4>\n<ul>\n<li>Improvement: moved renamed free folder notice to free plugin</li>\n<li>Improvement: PHP 8 compatibility</li>\n</ul>\n<h4> 4.0.5 </h4>\n<ul>\n<li>Improvement: 404 redirect check expiration set to one year when test is successful</li>\n</ul>\n<h4> 4.0.4 </h4>\n<ul>\n<li>Fix: hsts header on multisite not saving</li>\n</ul>\n<h4> 4.0.3 </h4>\n<ul>\n<li>Fix: network settings link</li>\n<li>Fix: multisite hsts preload option not saving</li>\n<li>Improvement: License notifications. Differ between remaining activations when current site is activated, and when not.</li>\n</ul>\n<h4> 4.0.2 </h4>\n<ul>\n<li>Improvement: exclude .htaccess from edits outside settings page</li>\n</ul>\n<h4> 4.0.1 </h4>\n<ul>\n<li>Fix: decode license for support ticket</li>\n<li>Fix: made some untranslatable strings translatable</li>\n</ul>\n<h4> 4.0.0 </h4>\n<ul>\n<li>New user interface</li>\n<li>Fix: transient stored with \'WEEK_IN_SECONDS\' as string instead of constant</li>\n<li>Improvement: notices dashboard, with dismissable notices</li>\n<li>Improvement: improved naming of settings, and instructions</li>\n<li>Improvement: new translations</li>\n<li>Improvement: new fix options in scan</li>\n<li>Fix: scan mixed content detection false positive</li>\n<li>Improvement: removal of .htaccess lines and wpconfig lines on deactivation</li>\n<li>Fix: CSP generation bug for some types</li>\n<li>Fix: is_writable check on secure cookies write</li>\n<li>Improvement: do not insert default security headers if SSL not enabled yet</li>\n</ul>\n<h4> 2.1.21 </h4>\n<ul>\n<li>Fix: return after htaccess is not writable</li>\n</ul>\n<h4> 2.1.20 </h4>\n<ul>\n<li>Improvement: add env=https based on apache version, if available.</li>\n<li>Improvement: fix both www and non www URL\'s in elementor</li>\n</ul>\n<h4> 2.1.19 </h4>\n<ul>\n<li>Added upgrade script to move HSTS header to security headers block</li>\n<li>Prefixed Elementor URL replace option</li>\n<li>Updated NGINX/PHP security header notice</li>\n<li>Added function_exists() checks</li>\n<li>Add style-src-elem and script-src-elem to Content Security Policy</li>\n<li>Improved TLS version check to prevent cURL errors on some setups</li>\n</ul>\n<h4> 2.1.18 </h4>\n<ul>\n<li>Fix: check if uses_elementor function exists</li>\n</ul>\n<h4> 2.1.17 </h4>\n<ul>\n<li>Fix: check 404 homepage redirect issue only on settings page</li>\n</ul>\n<h4> 2.1.16.1 </h4>\n<ul>\n<li>Fixed a bug where having allow_url_fopen = 0 in the PHP configuration could cause a PHP warning on the Really Simple SSL dashboard</li>\n</ul>\n<h4> 2.1.16 </h4>\n<ul>\n<li>Added a TLS version check</li>\n<li>Added a check for a redirect to homepage which can cause mixed content errors on image</li>\n</ul>\n<h4> 2.1.15</h4>\n<ul>\n<li>Automatically fix mixed content in Elementor by calling the Elementor replace_urls() function</li>\n</ul>\n<h4> 2.1.14 </h4>\n<ul>\n<li>Added Permissions Policy security header</li>\n</ul>\n<h4> 2.1.13 </h4>\n<ul>\n<li>Removed env=HTTPS from HSTS preload header as it\'s not required anymore</li>\n</ul>\n<h4> 2.1.12 </h4>\n<ul>\n<li>Fixed a bug where the SSL page could not be opened on multisite installations</li>\n</ul>\n<h4> 2.1.11 </h4>\n<ul>\n<li>Fixed some untranslatable strings in security headers help tips</li>\n<li>Added German formal translations thanks to Thorsten Wollenhöfer</li>\n</ul>\n<h4> 2.1.10 </h4>\n<ul>\n<li>Removed error logging from CSP class</li>\n</ul>\n<h4> 2.1.9 </h4>\n<ul>\n<li>Fixed a bug where the rest route wouldn\'t initialize</li>\n</ul>\n<h4> 2.1.8 </h4>\n<ul>\n<li>Fixed a bug which could prevent the Content Security Policy generator endpoint from working on specific setups with a site in a subfolder</li>\n</ul>\n<h4> 2.1.7 </h4>\n<ul>\n<li>Tested with WordPress 5.3</li>\n</ul>\n<h4> 2.1.6 </h4>\n<ul>\n<li>Enabled some security headers by default.</li>\n<li>Show HSTS preload option after enabling HSTS option without reloading page</li>\n<li>Updated support tab to pre-fill fields on really-simple-ssl.com, directly sending from support tab resulted in some undelivered e-mails</li>\n</ul>\n<h4> 2.1.5 </h4>\n<ul>\n<li>Improved license request caching on settings page</li>\n</ul>\n<h4> 2.1.4 </h4>\n<ul>\n<li>Improved support tab request processing</li>\n</ul>\n<h4> 2.1.3 </h4>\n<ul>\n<li>Fix: fixed a bug where an empty regex matching group produced false positive http:// scan results</li>\n</ul>\n<h4> 2.1.2 </h4>\n<ul>\n<li>Added right-to-left text support</li>\n<li>Scan error is now dismissible</li>\n<li>Fix: certificate valid to date now only shows when the corresponding option has been enabled</li>\n</ul>\n<h4> 2.1.1 </h4>\n<ul>\n<li>Fix: no check for CSP violations when CSP not enabled.</li>\n</ul>\n<h4> 2.1 </h4>\n<ul>\n<li>Added Content Security Policy Generator</li>\n<li>Added security headers</li>\n<li>Fix: moved emptying of results in blocked url\'s outside of loop</li>\n<li>Added Danish, Hungarian and Polish languages</li>\n</ul>\n<h4> 2.0.24 </h4>\n<ul>\n<li>Tweak: added support for Bitnami/AWS htaccess.conf</li>\n<li>Tweak: updated support notice to send an e-mail manually after no response for 24 hours</li>\n</ul>\n<h4> 2.0.23 </h4>\n<ul>\n<li>Tweak: added notices in license tab</li>\n<li>Tweak: admin notices will no longer show in Gutenberg edit screen</li>\n<li>Tweak: added visual feedback when fixing a scan results item</li>\n<li>Tweak: added notice when free plugin has been renamed</li>\n<li>Tweak: removed untraceable results from scan results</li>\n<li>Tweak: blog count fix for multi-networks</li>\n</ul>\n<h4> 2.0.22 </h4>\n<ul>\n<li>Tweak: added caching to redirect_to_http() function to prevent timeouts.</li>\n<li>Tweak: updated Portuguese translations.</li>\n</ul>\n<h4> 2.0.21 </h4>\n<ul>\n<li>Fix: fixed a bug in the redirect_to_http() function.</li>\n</ul>\n<h4> 2.0.20 </h4>\n<ul>\n<li>Added support tab</li>\n<li>Tweak: improved mixed content scan regexes</li>\n<li>Tweak: added a redirect to http:// check before activating SSL</li>\n</ul>\n<h4> 2.0.19 </h4>\n<ul>\n<li>Fix: fixed a bug where ignored url\'s were being added to the ignored url\'s array, even if they were already present.</li>\n<li>Tweak: the /plugins/, /wp-admin/ and /wp-includes/ directories have been excluded from the scan to increase performance.</li>\n</ul>\n<h4> 2.0.18 </h4>\n<ul>\n<li>Fix: html closure in activation message</li>\n</ul>\n<h4> 2.0.17 </h4>\n<ul>\n<li>Tweak: removed background running of scan</li>\n<li>Tweak: removed HTML from translatable strings</li>\n</ul>\n<h4> 2.0.16 </h4>\n<ul>\n<li>Tweak: updated notices to be in line with free notices</li>\n</ul>\n<h4> 2.0.15 </h4>\n<ul>\n<li>Tweak: when the scan is finished it shows the text Scan Finished and the progress bar turns green.</li>\n<li>Fix: improved external css and js detection regex</li>\n</ul>\n<h4> 2.0.14 </h4>\n<ul>\n<li>Fix: run javascript only on own settings page</li>\n<li>Fix: ajax url on some functions not correct</li>\n<li>Fix: scan results only outputting after a refresh</li>\n</ul>\n<h4> 2.0.13 </h4>\n<ul>\n<li>Tweak: updated the scan cron to prevent it from running without first starting the scan manually</li>\n</ul>\n<h4> 2.0.12 </h4>\n<ul>\n<li>Updated the scan functionality to use cron</li>\n</ul>\n<h4> 2.0.11 </h4>\n<ul>\n<li>Added scan support for the wp_postmeta table</li>\n<li>Fix: the show ignored URL\'s option now works correctly</li>\n</ul>\n<h4> 2.0.10 </h4>\n<ul>\n<li>Fix: certificate expiration warning showed even when cert is still a long period valid if no valid response is received.</li>\n<li>Fix: config screen still showing error while not blocked URL\'s were left, because a 0 == \'string\' comparison return true.</li>\n</ul>\n<h4> 2.0.9 </h4>\n<ul>\n<li>Fix: the plugin will no longer scan its own folder for mixed content</li>\n<li>Fix: the scan now contains a number of common false positives in the $safe_domains array to prevent them showing up in the scan</li>\n</ul>\n<h4> 2.0.8 </h4>\n<ul>\n<li>Fix: added a notice when the HSTS header is set using PHP on NGINX servers</li>\n</ul>\n<h4> 2.0.7 </h4>\n<ul>\n<li>Fix: fixed a bug where the $has_result in the external CSS and JS scan was set to true when there were no results</li>\n</ul>\n<h4> 2.0.6 </h4>\n<ul>\n<li>Tweak: added a warning when inserting HSTS headers via PHP</li>\n</ul>\n<h4> 2.0.5 </h4>\n<ul>\n<li>Fix: deleted unnecessary transient delete</li>\n</ul>\n<h4> 2.0.4 </h4>\n<ul>\n<li>Added support for Widgets in the mixed content scan</li>\n<li>Tweak: changed icon classnames from icon to rsssl-icons</li>\n</ul>\n<h4> 2.0.3 </h4>\n<ul>\n<li>Tweak: option to disable flushing of rewrite rules on activation</li>\n</ul>\n<h4> 2.0.2 </h4>\n<ul>\n<li>Tweak: added secure cookie settings</li>\n<li>Tweak: added notice if secure cookie settings couldn\'t be applied automatically</li>\n</ul>\n<h4> 2.0.1 </h4>\n<ul>\n<li>Fix: made the HSTS option available when using the pro plugin on a multisite installation</li>\n<li>Tweak: updated the Easy Digital Downloads plugin updater to version 1.6.14</li>\n</ul>\n<h4> 2.0.0 </h4>\n<ul>\n<li>Fix: moved scan data to transients, so large scan data arrays won\'t clutter the database</li>\n<li>Updated the \'Scan for issues tab\'</li>\n<li>Fix: scan results are now shown in a responsive layout</li>\n<li>Fix: fixed a bug where protocol independent (//) files and/or stylesheet were not being scanned</li>\n</ul>\n<h4> 1.0.33 </h4>\n<ul>\n<li>Fix: adjusted the HSTS header so it will also work in three redirects</li>\n<li>Fix: not all hot linked images were matched correctly in the scan</li>\n</ul>\n<h4> 1.0.32 </h4>\n<ul>\n<li>Fix: When mixed content fixer is activated, urls are replaced to https, which prevented the scanner from finding these urls. A replace to http fixes this.</li>\n<li>Fix: Regex pattern updated to match the pattern in the free version, to prevent cross elemen matches.</li>\n<li>Fix: Changed priority of main class instantiation to make sure it instantiates after the core plugin</li>\n</ul>\n<h4> 1.0.31 </h4>\n<ul>\n<li>Removed direct redirect to primary URL, as preload list requires a two step redirect, first to https.</li>\n</ul>\n<h4> 1.0.30 </h4>\n<ul>\n<li>Fixed issue where preload HSTS setting wasn\'t saved when HSTS header was already in place.</li>\n<li>limited .htaccess edit to settings save action.</li>\n</ul>\n<h4> 1.0.28 </h4>\n<ul>\n<li>Added certificate expiration date admin notice</li>\n<li>Bypass redirect chain</li>\n<li>Fixed SSL per page compatibility issue</li>\n</ul>\n<h4> 1.0.27 </h4>\n<ul>\n<li>Added dutch translation</li>\n<li>Fixed typo in copyright warning box</li>\n<li>Fixed spacing between buttons in copyright warning box</li>\n<li>Tweak: added settings link to pro plugin in plugins overview page</li>\n<li>Fix: fixed a bug where curl function did not increment iteration, so redirect loops were not circumvented. Use wp_remote_get instead.</li>\n</ul>\n<h4> 1.0.26 </h4>\n<ul>\n<li>Added expiration warning functionality: enable it in the settings to get an email if your ssl certificate expires.</li>\n<li>Fixed a bug that detected if the HSTS should be added in the .htaccess or in the code</li>\n<li>HSTS now available for NGINX as well</li>\n<li>Fixed a bug where the last js and css files were not parsed for http urls.</li>\n</ul>\n<h4> 1.0.25 </h4>\n<ul>\n<li>css styling fixes\n= 1.0.24 =</li>\n<li>Bug fix in importer.php</li>\n</ul>\n<h4> 1.0.23 </h4>\n<ul>\n<li>Bug fixes\n= 1.0.22 =</li>\n<li>Added functionality to fix mixed content issues</li>\n<li>several bug fixes</li>\n</ul>\n<h4> 1.0.21 </h4>\n<ul>\n<li>improve license validation</li>\n</ul>\n<h4> 1.0.20 </h4>\n<ul>\n<li>Extended safe list of domains for scan</li>\n<li>fixed a bug in licensing for multisite.</li>\n<li>fixed a bug where the scan freezed because of not loading external url\'s</li>\n</ul>\n<p>= 1.0.19 =\nTweak: added better feedback on license not being activated\nTweak: added HSTS preload list option\nTweak: added mixed content fixer for the back-end</p>\n<p>= 1.0.18 =\nTweak: added possibility to deactivate license, for migration purposes\n= 1.0.17 =\nTweak: also checking for http links in form actions\nFix: bug caused empty scan results to show, even when no scan had been executed\nFix: last queue item was shown as nr 0, instead of the last nr</p>\n<p>= 1.0.16 =\nFix: bug where not all found blocked urls would show up\nFix: also searching for the escaped values of a url in the database.</p>\n<p>= 1.0.15 =\nTweak: added option to enable or disable the curl function for file requests</p>\n<p>= 1.0.14 =\nAdded option to disable brute force database scan</p>\";}s:7:\"banners\";O:8:\"stdClass\":2:{s:4:\"high\";s:64:\"https://really-simple-ssl.com/readmes/assets/banner-1544x500.png\";s:3:\"low\";s:63:\"https://really-simple-ssl.com/readmes/assets/banner-772x250.png\";}s:5:\"icons\";a:2:{s:2:\"1x\";s:87:\"https://really-simple-ssl.com/wp-content/uploads/edd/2022/11/icon-256x256-1-128x128.png\";s:2:\"2x\";s:87:\"https://really-simple-ssl.com/wp-content/uploads/edd/2022/11/icon-256x256-1-256x256.png\";}s:3:\"msg\";s:33:\"No license key has been provided.\";s:10:\"stable_tag\";s:5:\"7.0.4\";s:6:\"tested\";s:3:\"6.4\";s:5:\"added\";s:10:\"2016-03-08\";s:11:\"description\";a:1:{i:0;s:792:\"<p>Really Simple SSL Pro offers premium support, HTTP Strict Transport Security, an extensive scan, and more detailed feedback on the configuration page.</p>\n<h4> Installation </h4>\n<ul>\n<li>Install the Really Simple SSL plugin, which is needed with this one.</li>\n<li>Go to “plugins” in your Wordpress Dashboard, and click “add new”</li>\n<li>Click “upload”, and select the zip file you downloaded after the purchase.</li>\n<li>Activate</li>\n<li>Navigate to “settings”, “SSL”.</li>\n<li>Click “license”</li>\n<li>Enter your license key, and activate.</li>\n</ul>\n<p>For more information: go to the <a href=\"https://www.really-simple-ssl.com/\">website</a>, or\n<a href=\"https://www.really-simple-ssl.com/contact/\">contact</a> me if you have any questions or suggestions.</p>\";}s:9:\"changelog\";a:1:{i:0;s:21899:\"<h4> 7.0.4 </h4>\n<ul>\n<li>August 8th 2023</li>\n<li>New: Advanced hardening: block admin creation</li>\n<li>Improvement: WordPress tested up to 6.3</li>\n</ul>\n<h4> 7.0.3 </h4>\n<ul>\n<li>July 25th 2023</li>\n<li>Improvement: catch not existing \'SERVER_PROTOCOL\'</li>\n</ul>\n<h4> 7.0.2 </h4>\n<ul>\n<li>July 6th 2023</li>\n<li>Improvement: prevent use of subdirectories in custom login url</li>\n</ul>\n<h4> 7.0.1 </h4>\n<ul>\n<li>Fix: change login url functionality not working in 7.0</li>\n</ul>\n<h4> 7.0.0 </h4>\n<ul>\n<li>New: Vulnerability Detection is in Beta - <a href=\"https://really-simple-ssl.com/vulnerability-detection/\">Read more</a></li>\n</ul>\n<h4> 6.2.5 </h4>\n<ul>\n<li>Improvement: stop trying the database rename if it fails on first attempt</li>\n</ul>\n<h4> 6.2.4 </h4>\n<ul>\n<li>New: change login url</li>\n<li>Fix: Exclude deprecated x-content-security-policy from header detection</li>\n<li>Improvement: Update to functional components Rest API for free core</li>\n<li>Improvement: Disable Content Security Policy if the maximum header size has been reached</li>\n</ul>\n<h4> 6.2.3 </h4>\n<ul>\n<li>Fix: rename db prefix using not available function</li>\n<li>Fix: Exclude deprecated x-content-security-policy from header detection</li>\n</ul>\n<h4> 6.2.2 </h4>\n<ul>\n<li>Fix: follow redirects in third party header detection.</li>\n</ul>\n<h4> 6.2.1 </h4>\n<ul>\n<li>Fix: prefix replacement in wp-config too broad, causing issues if wp_ is used other then in the prefix.</li>\n<li>Fix: Update prefix site_id in user roles when changing the database prefix, to preserve capabilities for users in subsites</li>\n</ul>\n<h4> 6.2.0 </h4>\n<ul>\n<li>Improvement: add support for BLOB and Filesystem</li>\n<li>Improvement: disable CSP reporting mode paused status when switching to disabled or enforced</li>\n</ul>\n<h4> 6.1.1 </h4>\n<ul>\n<li>Improvement: Use ABSPATH constant instead of path when writing path to debug.log</li>\n<li>Improvement: Pause CSP reporting after 20 requests, to lower server load</li>\n<li>Fix: script-src-elem in Content Security Policy not including source URL</li>\n</ul>\n<h4> 6.1.0 </h4>\n<ul>\n<li>Improvement: CSP policy for back and front-end separate</li>\n<li>Improvement: also allow non-recommended X-XSS options</li>\n<li>Improvement: frame ancestors allow other values than \'none\'</li>\n</ul>\n<h4> 6.0.5 </h4>\n<ul>\n<li>Fix: Debug.log setting not saving on first save action</li>\n</ul>\n<h4> 6.0.4 </h4>\n<ul>\n<li>New: automatically detect wrong Security Header values from other sources, and duplicate headers</li>\n<li>Improvement: auto enable Insecure Requests header only when SSL enabled</li>\n<li>Improvement: remove unnecessary notices load in licenses block</li>\n</ul>\n<h4> 6.0.3 </h4>\n<ul>\n<li>Fix: isset check on $_SERVER[\'HTTPS\'] to support environments where this key is missing</li>\n<li>Improvement: add headers_sent() check for situations where the headers already have been sent, possibly due to an error earlier in the system.</li>\n<li>Improvement: Update CSP reporting URI on permalink structure change</li>\n</ul>\n<h4> 6.0.2 </h4>\n<ul>\n<li>Fix: HSTS not running on hosting environments with load balanced configuration because SSL is not detected</li>\n<li>Fix: when wp-config.php is not writable, renaming database prefix could cause tables to get removed</li>\n</ul>\n<h4> 6.0.1 </h4>\n<ul>\n<li>Fix: upgrade to 6 logic running more than once</li>\n</ul>\n<h4> 6.0.0 </h4>\n<ul>\n<li>Tested up to WordPress 6.1.0</li>\n<li>Improvement: User Interface</li>\n<li>New: Server Health Check - powered by SSLLabs</li>\n<li>New: WordPress Hardening Features</li>\n</ul>\n<h4> 5.4.0 </h4>\n<ul>\n<li>Improvement: New default Referrer Policy =&gt; strict-origin-when-cross-origin</li>\n<li>Improvement: New default for X-XSS header</li>\n<li>Improvement: Dropped Expect-CT header as it\'s now deprecated, integrated by default in certificates</li>\n<li>Improvement: Updated Permissions Policy with improved defaults, updated to new values as currently supported in browsers</li>\n<li>Improvement: dropped access-control-allow-origin header, as it can only be used dynamically, which is not feasible in most WP environments</li>\n</ul>\n<h4> 5.3.6 </h4>\n<ul>\n<li>Improvement: new languages</li>\n<li>Improvement: several small bug fixes and typo\'s</li>\n</ul>\n<h4> 5.3.5.1 </h4>\n<ul>\n<li>Fix: new license check causing continuous license checking, resulting in slow response</li>\n</ul>\n<h4> 5.3.5 </h4>\n<ul>\n<li>Improvement: language files</li>\n<li>Improvement: some small bug fixes</li>\n</ul>\n<h4> 5.3.4 </h4>\n<ul>\n<li>Improvement: language files</li>\n<li>Changed: license check using own transient function</li>\n</ul>\n<h4> 5.3.3 </h4>\n<ul>\n<li>Removed credentialless from CORP setting as it caused some issues with embedded videos</li>\n</ul>\n<h4> 5.3.2 </h4>\n<ul>\n<li>Fix: PHP &lt;7 compatibility</li>\n</ul>\n<h4> 5.3.1 </h4>\n<ul>\n<li>Improvement: fix site health still showing header notice if activated in pro</li>\n<li>Improvement: set ssl verify to false on failed license check</li>\n<li>Improvement: improved CORS settings</li>\n</ul>\n<h4> 5.3.0 </h4>\n<ul>\n<li>Improvement: add support for report-to in CSP</li>\n<li>Improvement: increase CSP display limit</li>\n<li>Improvement: auto update option</li>\n</ul>\n<h4> 5.2.5 </h4>\n<ul>\n<li>Improvement: add direct link to permalinks when permalinks notice pops up</li>\n<li>Fix: navigation in scan overview</li>\n</ul>\n<h4> 5.2.4 </h4>\n<ul>\n<li>Improvement: feedback on not detected headers</li>\n</ul>\n<h4> 5.2.3.1 </h4>\n<ul>\n<li>Fix: Rest API and pretty permalinks check inverted, causing false positive notification in dashboard about the permalink structure</li>\n</ul>\n<h4> 5.2.3 </h4>\n<ul>\n<li>Improvement: various Content Security Improvements: added override to 20 reporting/100 display limit. Fixed CSS when 100+ pages</li>\n<li>Improvement: added default required WordPress rules to Content Security Policy</li>\n<li>Improvement: fixed advanced header warning position</li>\n<li>Disable scan on invalid license</li>\n<li>Improvement: moved recommended security headers notice to free, added override in Pro</li>\n<li>Added Cross-Origin resource policy security headers</li>\n</ul>\n<h4> 5.2.2 </h4>\n<ul>\n<li>Fix: double quotes in php headers causing issues since recent browser updates</li>\n</ul>\n<h4> 5.2.1 </h4>\n<ul>\n<li>Improvement: replaced admin notice on inactivate license</li>\n<li>Improvement: move security headers above WP Rocket .htaccess rules to prevent compatibility issues</li>\n<li>Improvement: enable auto updates</li>\n<li>Improvement: Content Security Policy did not allow for wss:// and ws:// web socket protocol</li>\n<li>Improvement: removed trailing slash from rest api</li>\n<li>Improvement: added rsssl_pause_after_request_count filter to adjust request count on which CSP pauses</li>\n<li>Improvement: fixed some reporting variations</li>\n</ul>\n<h4> 5.2.0 </h4>\n<ul>\n<li>Improvement: changed PHP header option to dropdown</li>\n<li>Improvement: remove unnecessary parameter in file scan</li>\n<li>Improvement: request header origin sometimes returns null. Changing to \'host\' resolves the Content Security Policy reporting API in those cases</li>\n<li>Improvement: styling issue on scan UX</li>\n</ul>\n<h4> 5.1.0 </h4>\n<ul>\n<li>Improvement: comment on multisite environments caused layout issue</li>\n</ul>\n<h4> 5.0 </h4>\n<ul>\n<li>Updated translations</li>\n</ul>\n<h4> 4.1.11 </h4>\n<ul>\n<li>Fix: for very long .htaccess files, support form in the plugin gave an invalid response. props Vincent</li>\n</ul>\n<h4> 4.1.10 </h4>\n<ul>\n<li>Fix: typo in reset license key obfuscation</li>\n<li>Translations update</li>\n</ul>\n<h4> 4.1.9 </h4>\n<ul>\n<li>Improvement: \'none\' or \'*\' attribute deprecated for Permissions Policy</li>\n<li>Improvement: Content Security Policy for unsafe inline</li>\n<li>Improvement: Interest Cohort added to permissions policy</li>\n</ul>\n<h4> 4.1.8 </h4>\n<ul>\n<li>Fix: PHP headers were set with quotes, causing issues on some servers.</li>\n<li>Fix: When switching from &quot;enforce&quot; to &quot;paused&quot;, CSP headers were not removed</li>\n<li>Improvement: generalized wrap_header function for more robust header generation</li>\n<li>Improvement: disable remove .htaccess headers on activation of PHP headers.</li>\n</ul>\n<h4> 4.1.7 </h4>\n<ul>\n<li>Moved secure cookies to free</li>\n</ul>\n<h4> 4.1.6 </h4>\n<ul>\n<li>Improved WP Engine compatibility</li>\n<li>Improved Content Security Policy, added option to revoke result from overview</li>\n<li>Lowered Content Security Policy request limit</li>\n</ul>\n<h4> 4.1.5 </h4>\n<ul>\n<li>Fix: set defaults firing even when dependency check not validated</li>\n<li>Fix: Constant RSSSL_DOING_CSP not set when running the CSP API</li>\n</ul>\n<h4> 4.1.4 </h4>\n<ul>\n<li>Improvement: Added report-paused mode to Content Security Policy generator. Reporting will now automatically pause after 200 requests to prevent high server load</li>\n<li>Improvement: Further restricted access to Content Security Policy generator REST API calls</li>\n<li>Fix: Default options won\'t be reconfigured after plugin deactivation/activation</li>\n</ul>\n<h4> 4.1.3 </h4>\n<ul>\n<li>Made PHP header option available on all configurations</li>\n<li>Improvement: wrap example code in comments</li>\n</ul>\n<h4> 4.1.2 </h4>\n<ul>\n<li>Fix: File name in upgrade function</li>\n</ul>\n<h4> 4.1.1 </h4>\n<ul>\n<li>Fix: condition for .htaccess writing in combination with do not edit .htaccess option</li>\n</ul>\n<h4> 4.1.0 </h4>\n<ul>\n<li>New: PHP headers support for all security headers, autodetecting necessity for NGINX.</li>\n<li>New: Changed feature policy into permissions policy.</li>\n</ul>\n<h4> 4.0.7 </h4>\n<ul>\n<li>Fix: always activate multisite license for main site url</li>\n</ul>\n<h4> 4.0.6 </h4>\n<ul>\n<li>Improvement: moved renamed free folder notice to free plugin</li>\n<li>Improvement: PHP 8 compatibility</li>\n</ul>\n<h4> 4.0.5 </h4>\n<ul>\n<li>Improvement: 404 redirect check expiration set to one year when test is successful</li>\n</ul>\n<h4> 4.0.4 </h4>\n<ul>\n<li>Fix: hsts header on multisite not saving</li>\n</ul>\n<h4> 4.0.3 </h4>\n<ul>\n<li>Fix: network settings link</li>\n<li>Fix: multisite hsts preload option not saving</li>\n<li>Improvement: License notifications. Differ between remaining activations when current site is activated, and when not.</li>\n</ul>\n<h4> 4.0.2 </h4>\n<ul>\n<li>Improvement: exclude .htaccess from edits outside settings page</li>\n</ul>\n<h4> 4.0.1 </h4>\n<ul>\n<li>Fix: decode license for support ticket</li>\n<li>Fix: made some untranslatable strings translatable</li>\n</ul>\n<h4> 4.0.0 </h4>\n<ul>\n<li>New user interface</li>\n<li>Fix: transient stored with \'WEEK_IN_SECONDS\' as string instead of constant</li>\n<li>Improvement: notices dashboard, with dismissable notices</li>\n<li>Improvement: improved naming of settings, and instructions</li>\n<li>Improvement: new translations</li>\n<li>Improvement: new fix options in scan</li>\n<li>Fix: scan mixed content detection false positive</li>\n<li>Improvement: removal of .htaccess lines and wpconfig lines on deactivation</li>\n<li>Fix: CSP generation bug for some types</li>\n<li>Fix: is_writable check on secure cookies write</li>\n<li>Improvement: do not insert default security headers if SSL not enabled yet</li>\n</ul>\n<h4> 2.1.21 </h4>\n<ul>\n<li>Fix: return after htaccess is not writable</li>\n</ul>\n<h4> 2.1.20 </h4>\n<ul>\n<li>Improvement: add env=https based on apache version, if available.</li>\n<li>Improvement: fix both www and non www URL\'s in elementor</li>\n</ul>\n<h4> 2.1.19 </h4>\n<ul>\n<li>Added upgrade script to move HSTS header to security headers block</li>\n<li>Prefixed Elementor URL replace option</li>\n<li>Updated NGINX/PHP security header notice</li>\n<li>Added function_exists() checks</li>\n<li>Add style-src-elem and script-src-elem to Content Security Policy</li>\n<li>Improved TLS version check to prevent cURL errors on some setups</li>\n</ul>\n<h4> 2.1.18 </h4>\n<ul>\n<li>Fix: check if uses_elementor function exists</li>\n</ul>\n<h4> 2.1.17 </h4>\n<ul>\n<li>Fix: check 404 homepage redirect issue only on settings page</li>\n</ul>\n<h4> 2.1.16.1 </h4>\n<ul>\n<li>Fixed a bug where having allow_url_fopen = 0 in the PHP configuration could cause a PHP warning on the Really Simple SSL dashboard</li>\n</ul>\n<h4> 2.1.16 </h4>\n<ul>\n<li>Added a TLS version check</li>\n<li>Added a check for a redirect to homepage which can cause mixed content errors on image</li>\n</ul>\n<h4> 2.1.15</h4>\n<ul>\n<li>Automatically fix mixed content in Elementor by calling the Elementor replace_urls() function</li>\n</ul>\n<h4> 2.1.14 </h4>\n<ul>\n<li>Added Permissions Policy security header</li>\n</ul>\n<h4> 2.1.13 </h4>\n<ul>\n<li>Removed env=HTTPS from HSTS preload header as it\'s not required anymore</li>\n</ul>\n<h4> 2.1.12 </h4>\n<ul>\n<li>Fixed a bug where the SSL page could not be opened on multisite installations</li>\n</ul>\n<h4> 2.1.11 </h4>\n<ul>\n<li>Fixed some untranslatable strings in security headers help tips</li>\n<li>Added German formal translations thanks to Thorsten Wollenhöfer</li>\n</ul>\n<h4> 2.1.10 </h4>\n<ul>\n<li>Removed error logging from CSP class</li>\n</ul>\n<h4> 2.1.9 </h4>\n<ul>\n<li>Fixed a bug where the rest route wouldn\'t initialize</li>\n</ul>\n<h4> 2.1.8 </h4>\n<ul>\n<li>Fixed a bug which could prevent the Content Security Policy generator endpoint from working on specific setups with a site in a subfolder</li>\n</ul>\n<h4> 2.1.7 </h4>\n<ul>\n<li>Tested with WordPress 5.3</li>\n</ul>\n<h4> 2.1.6 </h4>\n<ul>\n<li>Enabled some security headers by default.</li>\n<li>Show HSTS preload option after enabling HSTS option without reloading page</li>\n<li>Updated support tab to pre-fill fields on really-simple-ssl.com, directly sending from support tab resulted in some undelivered e-mails</li>\n</ul>\n<h4> 2.1.5 </h4>\n<ul>\n<li>Improved license request caching on settings page</li>\n</ul>\n<h4> 2.1.4 </h4>\n<ul>\n<li>Improved support tab request processing</li>\n</ul>\n<h4> 2.1.3 </h4>\n<ul>\n<li>Fix: fixed a bug where an empty regex matching group produced false positive http:// scan results</li>\n</ul>\n<h4> 2.1.2 </h4>\n<ul>\n<li>Added right-to-left text support</li>\n<li>Scan error is now dismissible</li>\n<li>Fix: certificate valid to date now only shows when the corresponding option has been enabled</li>\n</ul>\n<h4> 2.1.1 </h4>\n<ul>\n<li>Fix: no check for CSP violations when CSP not enabled.</li>\n</ul>\n<h4> 2.1 </h4>\n<ul>\n<li>Added Content Security Policy Generator</li>\n<li>Added security headers</li>\n<li>Fix: moved emptying of results in blocked url\'s outside of loop</li>\n<li>Added Danish, Hungarian and Polish languages</li>\n</ul>\n<h4> 2.0.24 </h4>\n<ul>\n<li>Tweak: added support for Bitnami/AWS htaccess.conf</li>\n<li>Tweak: updated support notice to send an e-mail manually after no response for 24 hours</li>\n</ul>\n<h4> 2.0.23 </h4>\n<ul>\n<li>Tweak: added notices in license tab</li>\n<li>Tweak: admin notices will no longer show in Gutenberg edit screen</li>\n<li>Tweak: added visual feedback when fixing a scan results item</li>\n<li>Tweak: added notice when free plugin has been renamed</li>\n<li>Tweak: removed untraceable results from scan results</li>\n<li>Tweak: blog count fix for multi-networks</li>\n</ul>\n<h4> 2.0.22 </h4>\n<ul>\n<li>Tweak: added caching to redirect_to_http() function to prevent timeouts.</li>\n<li>Tweak: updated Portuguese translations.</li>\n</ul>\n<h4> 2.0.21 </h4>\n<ul>\n<li>Fix: fixed a bug in the redirect_to_http() function.</li>\n</ul>\n<h4> 2.0.20 </h4>\n<ul>\n<li>Added support tab</li>\n<li>Tweak: improved mixed content scan regexes</li>\n<li>Tweak: added a redirect to http:// check before activating SSL</li>\n</ul>\n<h4> 2.0.19 </h4>\n<ul>\n<li>Fix: fixed a bug where ignored url\'s were being added to the ignored url\'s array, even if they were already present.</li>\n<li>Tweak: the /plugins/, /wp-admin/ and /wp-includes/ directories have been excluded from the scan to increase performance.</li>\n</ul>\n<h4> 2.0.18 </h4>\n<ul>\n<li>Fix: html closure in activation message</li>\n</ul>\n<h4> 2.0.17 </h4>\n<ul>\n<li>Tweak: removed background running of scan</li>\n<li>Tweak: removed HTML from translatable strings</li>\n</ul>\n<h4> 2.0.16 </h4>\n<ul>\n<li>Tweak: updated notices to be in line with free notices</li>\n</ul>\n<h4> 2.0.15 </h4>\n<ul>\n<li>Tweak: when the scan is finished it shows the text Scan Finished and the progress bar turns green.</li>\n<li>Fix: improved external css and js detection regex</li>\n</ul>\n<h4> 2.0.14 </h4>\n<ul>\n<li>Fix: run javascript only on own settings page</li>\n<li>Fix: ajax url on some functions not correct</li>\n<li>Fix: scan results only outputting after a refresh</li>\n</ul>\n<h4> 2.0.13 </h4>\n<ul>\n<li>Tweak: updated the scan cron to prevent it from running without first starting the scan manually</li>\n</ul>\n<h4> 2.0.12 </h4>\n<ul>\n<li>Updated the scan functionality to use cron</li>\n</ul>\n<h4> 2.0.11 </h4>\n<ul>\n<li>Added scan support for the wp_postmeta table</li>\n<li>Fix: the show ignored URL\'s option now works correctly</li>\n</ul>\n<h4> 2.0.10 </h4>\n<ul>\n<li>Fix: certificate expiration warning showed even when cert is still a long period valid if no valid response is received.</li>\n<li>Fix: config screen still showing error while not blocked URL\'s were left, because a 0 == \'string\' comparison return true.</li>\n</ul>\n<h4> 2.0.9 </h4>\n<ul>\n<li>Fix: the plugin will no longer scan its own folder for mixed content</li>\n<li>Fix: the scan now contains a number of common false positives in the $safe_domains array to prevent them showing up in the scan</li>\n</ul>\n<h4> 2.0.8 </h4>\n<ul>\n<li>Fix: added a notice when the HSTS header is set using PHP on NGINX servers</li>\n</ul>\n<h4> 2.0.7 </h4>\n<ul>\n<li>Fix: fixed a bug where the $has_result in the external CSS and JS scan was set to true when there were no results</li>\n</ul>\n<h4> 2.0.6 </h4>\n<ul>\n<li>Tweak: added a warning when inserting HSTS headers via PHP</li>\n</ul>\n<h4> 2.0.5 </h4>\n<ul>\n<li>Fix: deleted unnecessary transient delete</li>\n</ul>\n<h4> 2.0.4 </h4>\n<ul>\n<li>Added support for Widgets in the mixed content scan</li>\n<li>Tweak: changed icon classnames from icon to rsssl-icons</li>\n</ul>\n<h4> 2.0.3 </h4>\n<ul>\n<li>Tweak: option to disable flushing of rewrite rules on activation</li>\n</ul>\n<h4> 2.0.2 </h4>\n<ul>\n<li>Tweak: added secure cookie settings</li>\n<li>Tweak: added notice if secure cookie settings couldn\'t be applied automatically</li>\n</ul>\n<h4> 2.0.1 </h4>\n<ul>\n<li>Fix: made the HSTS option available when using the pro plugin on a multisite installation</li>\n<li>Tweak: updated the Easy Digital Downloads plugin updater to version 1.6.14</li>\n</ul>\n<h4> 2.0.0 </h4>\n<ul>\n<li>Fix: moved scan data to transients, so large scan data arrays won\'t clutter the database</li>\n<li>Updated the \'Scan for issues tab\'</li>\n<li>Fix: scan results are now shown in a responsive layout</li>\n<li>Fix: fixed a bug where protocol independent (//) files and/or stylesheet were not being scanned</li>\n</ul>\n<h4> 1.0.33 </h4>\n<ul>\n<li>Fix: adjusted the HSTS header so it will also work in three redirects</li>\n<li>Fix: not all hot linked images were matched correctly in the scan</li>\n</ul>\n<h4> 1.0.32 </h4>\n<ul>\n<li>Fix: When mixed content fixer is activated, urls are replaced to https, which prevented the scanner from finding these urls. A replace to http fixes this.</li>\n<li>Fix: Regex pattern updated to match the pattern in the free version, to prevent cross elemen matches.</li>\n<li>Fix: Changed priority of main class instantiation to make sure it instantiates after the core plugin</li>\n</ul>\n<h4> 1.0.31 </h4>\n<ul>\n<li>Removed direct redirect to primary URL, as preload list requires a two step redirect, first to https.</li>\n</ul>\n<h4> 1.0.30 </h4>\n<ul>\n<li>Fixed issue where preload HSTS setting wasn\'t saved when HSTS header was already in place.</li>\n<li>limited .htaccess edit to settings save action.</li>\n</ul>\n<h4> 1.0.28 </h4>\n<ul>\n<li>Added certificate expiration date admin notice</li>\n<li>Bypass redirect chain</li>\n<li>Fixed SSL per page compatibility issue</li>\n</ul>\n<h4> 1.0.27 </h4>\n<ul>\n<li>Added dutch translation</li>\n<li>Fixed typo in copyright warning box</li>\n<li>Fixed spacing between buttons in copyright warning box</li>\n<li>Tweak: added settings link to pro plugin in plugins overview page</li>\n<li>Fix: fixed a bug where curl function did not increment iteration, so redirect loops were not circumvented. Use wp_remote_get instead.</li>\n</ul>\n<h4> 1.0.26 </h4>\n<ul>\n<li>Added expiration warning functionality: enable it in the settings to get an email if your ssl certificate expires.</li>\n<li>Fixed a bug that detected if the HSTS should be added in the .htaccess or in the code</li>\n<li>HSTS now available for NGINX as well</li>\n<li>Fixed a bug where the last js and css files were not parsed for http urls.</li>\n</ul>\n<h4> 1.0.25 </h4>\n<ul>\n<li>css styling fixes\n= 1.0.24 =</li>\n<li>Bug fix in importer.php</li>\n</ul>\n<h4> 1.0.23 </h4>\n<ul>\n<li>Bug fixes\n= 1.0.22 =</li>\n<li>Added functionality to fix mixed content issues</li>\n<li>several bug fixes</li>\n</ul>\n<h4> 1.0.21 </h4>\n<ul>\n<li>improve license validation</li>\n</ul>\n<h4> 1.0.20 </h4>\n<ul>\n<li>Extended safe list of domains for scan</li>\n<li>fixed a bug in licensing for multisite.</li>\n<li>fixed a bug where the scan freezed because of not loading external url\'s</li>\n</ul>\n<p>= 1.0.19 =\nTweak: added better feedback on license not being activated\nTweak: added HSTS preload list option\nTweak: added mixed content fixer for the back-end</p>\n<p>= 1.0.18 =\nTweak: added possibility to deactivate license, for migration purposes\n= 1.0.17 =\nTweak: also checking for http links in form actions\nFix: bug caused empty scan results to show, even when no scan had been executed\nFix: last queue item was shown as nr 0, instead of the last nr</p>\n<p>= 1.0.16 =\nFix: bug where not all found blocked urls would show up\nFix: also searching for the escaped values of a url in the database.</p>\n<p>= 1.0.15 =\nTweak: added option to enable or disable the curl function for file requests</p>\n<p>= 1.0.14 =\nAdded option to disable brute force database scan</p>\";}s:6:\"plugin\";s:47:\"really-simple-ssl-pro/really-simple-ssl-pro.php\";s:2:\"id\";s:47:\"really-simple-ssl-pro/really-simple-ssl-pro.php\";}}s:12:\"translations\";a:0:{}s:9:\"no_update\";a:13:{s:30:\"advanced-custom-fields/acf.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:36:\"w.org/plugins/advanced-custom-fields\";s:4:\"slug\";s:22:\"advanced-custom-fields\";s:6:\"plugin\";s:30:\"advanced-custom-fields/acf.php\";s:11:\"new_version\";s:5:\"6.2.0\";s:3:\"url\";s:53:\"https://wordpress.org/plugins/advanced-custom-fields/\";s:7:\"package\";s:71:\"https://downloads.wordpress.org/plugin/advanced-custom-fields.6.2.0.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:75:\"https://ps.w.org/advanced-custom-fields/assets/icon-256x256.png?rev=1082746\";s:2:\"1x\";s:75:\"https://ps.w.org/advanced-custom-fields/assets/icon-128x128.png?rev=1082746\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:78:\"https://ps.w.org/advanced-custom-fields/assets/banner-1544x500.jpg?rev=2892919\";s:2:\"1x\";s:77:\"https://ps.w.org/advanced-custom-fields/assets/banner-772x250.jpg?rev=2892919\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"5.8\";}s:19:\"akismet/akismet.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:21:\"w.org/plugins/akismet\";s:4:\"slug\";s:7:\"akismet\";s:6:\"plugin\";s:19:\"akismet/akismet.php\";s:11:\"new_version\";s:3:\"5.2\";s:3:\"url\";s:38:\"https://wordpress.org/plugins/akismet/\";s:7:\"package\";s:54:\"https://downloads.wordpress.org/plugin/akismet.5.2.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:60:\"https://ps.w.org/akismet/assets/icon-256x256.png?rev=2818463\";s:2:\"1x\";s:60:\"https://ps.w.org/akismet/assets/icon-128x128.png?rev=2818463\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:63:\"https://ps.w.org/akismet/assets/banner-1544x500.png?rev=2900731\";s:2:\"1x\";s:62:\"https://ps.w.org/akismet/assets/banner-772x250.png?rev=2900731\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"5.8\";}s:33:\"classic-editor/classic-editor.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:28:\"w.org/plugins/classic-editor\";s:4:\"slug\";s:14:\"classic-editor\";s:6:\"plugin\";s:33:\"classic-editor/classic-editor.php\";s:11:\"new_version\";s:5:\"1.6.3\";s:3:\"url\";s:45:\"https://wordpress.org/plugins/classic-editor/\";s:7:\"package\";s:63:\"https://downloads.wordpress.org/plugin/classic-editor.1.6.3.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:67:\"https://ps.w.org/classic-editor/assets/icon-256x256.png?rev=1998671\";s:2:\"1x\";s:67:\"https://ps.w.org/classic-editor/assets/icon-128x128.png?rev=1998671\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:70:\"https://ps.w.org/classic-editor/assets/banner-1544x500.png?rev=1998671\";s:2:\"1x\";s:69:\"https://ps.w.org/classic-editor/assets/banner-772x250.png?rev=1998676\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"4.9\";}s:43:\"custom-post-type-ui/custom-post-type-ui.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:33:\"w.org/plugins/custom-post-type-ui\";s:4:\"slug\";s:19:\"custom-post-type-ui\";s:6:\"plugin\";s:43:\"custom-post-type-ui/custom-post-type-ui.php\";s:11:\"new_version\";s:6:\"1.14.0\";s:3:\"url\";s:50:\"https://wordpress.org/plugins/custom-post-type-ui/\";s:7:\"package\";s:69:\"https://downloads.wordpress.org/plugin/custom-post-type-ui.1.14.0.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:72:\"https://ps.w.org/custom-post-type-ui/assets/icon-256x256.png?rev=2744389\";s:2:\"1x\";s:72:\"https://ps.w.org/custom-post-type-ui/assets/icon-128x128.png?rev=2744389\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:75:\"https://ps.w.org/custom-post-type-ui/assets/banner-1544x500.png?rev=2744389\";s:2:\"1x\";s:74:\"https://ps.w.org/custom-post-type-ui/assets/banner-772x250.png?rev=2744389\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"5.9\";}s:35:\"litespeed-cache/litespeed-cache.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:29:\"w.org/plugins/litespeed-cache\";s:4:\"slug\";s:15:\"litespeed-cache\";s:6:\"plugin\";s:35:\"litespeed-cache/litespeed-cache.php\";s:11:\"new_version\";s:3:\"5.6\";s:3:\"url\";s:46:\"https://wordpress.org/plugins/litespeed-cache/\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/plugin/litespeed-cache.5.6.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:68:\"https://ps.w.org/litespeed-cache/assets/icon-256x256.png?rev=2554181\";s:2:\"1x\";s:68:\"https://ps.w.org/litespeed-cache/assets/icon-128x128.png?rev=2554181\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:71:\"https://ps.w.org/litespeed-cache/assets/banner-1544x500.png?rev=2554181\";s:2:\"1x\";s:70:\"https://ps.w.org/litespeed-cache/assets/banner-772x250.png?rev=2554181\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"4.0\";}s:50:\"official-facebook-pixel/facebook-for-wordpress.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:37:\"w.org/plugins/official-facebook-pixel\";s:4:\"slug\";s:23:\"official-facebook-pixel\";s:6:\"plugin\";s:50:\"official-facebook-pixel/facebook-for-wordpress.php\";s:11:\"new_version\";s:6:\"3.0.13\";s:3:\"url\";s:54:\"https://wordpress.org/plugins/official-facebook-pixel/\";s:7:\"package\";s:73:\"https://downloads.wordpress.org/plugin/official-facebook-pixel.3.0.13.zip\";s:5:\"icons\";a:2:{s:2:\"1x\";s:68:\"https://ps.w.org/official-facebook-pixel/assets/icon.svg?rev=2452179\";s:3:\"svg\";s:68:\"https://ps.w.org/official-facebook-pixel/assets/icon.svg?rev=2452179\";}s:7:\"banners\";a:0:{}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"5.7\";}s:21:\"pixproof/pixproof.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:22:\"w.org/plugins/pixproof\";s:4:\"slug\";s:8:\"pixproof\";s:6:\"plugin\";s:21:\"pixproof/pixproof.php\";s:11:\"new_version\";s:5:\"2.0.1\";s:3:\"url\";s:39:\"https://wordpress.org/plugins/pixproof/\";s:7:\"package\";s:57:\"https://downloads.wordpress.org/plugin/pixproof.2.0.1.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:60:\"https://ps.w.org/pixproof/assets/icon-256x256.png?rev=984315\";s:2:\"1x\";s:60:\"https://ps.w.org/pixproof/assets/icon-256x256.png?rev=984315\";}s:7:\"banners\";a:0:{}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:5:\"4.9.9\";}s:31:\"presto-player/presto-player.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:27:\"w.org/plugins/presto-player\";s:4:\"slug\";s:13:\"presto-player\";s:6:\"plugin\";s:31:\"presto-player/presto-player.php\";s:11:\"new_version\";s:6:\"1.14.1\";s:3:\"url\";s:44:\"https://wordpress.org/plugins/presto-player/\";s:7:\"package\";s:63:\"https://downloads.wordpress.org/plugin/presto-player.1.14.1.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:66:\"https://ps.w.org/presto-player/assets/icon-256x256.png?rev=2831276\";s:2:\"1x\";s:66:\"https://ps.w.org/presto-player/assets/icon-128x128.png?rev=2831276\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:69:\"https://ps.w.org/presto-player/assets/banner-1544x500.jpg?rev=2831276\";s:2:\"1x\";s:68:\"https://ps.w.org/presto-player/assets/banner-772x250.jpg?rev=2831276\";}s:11:\"banners_rtl\";a:2:{s:2:\"2x\";s:73:\"https://ps.w.org/presto-player/assets/banner-1544x500-rtl.png?rev=2831276\";s:2:\"1x\";s:72:\"https://ps.w.org/presto-player/assets/banner-772x250-rtl.png?rev=2831276\";}s:8:\"requires\";s:3:\"5.6\";}s:30:\"seo-by-rank-math/rank-math.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:30:\"w.org/plugins/seo-by-rank-math\";s:4:\"slug\";s:16:\"seo-by-rank-math\";s:6:\"plugin\";s:30:\"seo-by-rank-math/rank-math.php\";s:11:\"new_version\";s:9:\"1.0.121.1\";s:3:\"url\";s:47:\"https://wordpress.org/plugins/seo-by-rank-math/\";s:7:\"package\";s:69:\"https://downloads.wordpress.org/plugin/seo-by-rank-math.1.0.121.1.zip\";s:5:\"icons\";a:2:{s:2:\"1x\";s:61:\"https://ps.w.org/seo-by-rank-math/assets/icon.svg?rev=2848340\";s:3:\"svg\";s:61:\"https://ps.w.org/seo-by-rank-math/assets/icon.svg?rev=2848340\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:72:\"https://ps.w.org/seo-by-rank-math/assets/banner-1544x500.png?rev=2639678\";s:2:\"1x\";s:71:\"https://ps.w.org/seo-by-rank-math/assets/banner-772x250.png?rev=2639678\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"5.6\";}s:47:\"really-simple-ssl/rlrsssl-really-simple-ssl.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:31:\"w.org/plugins/really-simple-ssl\";s:4:\"slug\";s:17:\"really-simple-ssl\";s:6:\"plugin\";s:47:\"really-simple-ssl/rlrsssl-really-simple-ssl.php\";s:11:\"new_version\";s:5:\"7.0.8\";s:3:\"url\";s:48:\"https://wordpress.org/plugins/really-simple-ssl/\";s:7:\"package\";s:66:\"https://downloads.wordpress.org/plugin/really-simple-ssl.7.0.8.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:70:\"https://ps.w.org/really-simple-ssl/assets/icon-256x256.png?rev=2839720\";s:2:\"1x\";s:70:\"https://ps.w.org/really-simple-ssl/assets/icon-128x128.png?rev=2839720\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:73:\"https://ps.w.org/really-simple-ssl/assets/banner-1544x500.png?rev=2810049\";s:2:\"1x\";s:72:\"https://ps.w.org/really-simple-ssl/assets/banner-772x250.png?rev=2810049\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"5.8\";}s:45:\"simple-local-avatars/simple-local-avatars.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:34:\"w.org/plugins/simple-local-avatars\";s:4:\"slug\";s:20:\"simple-local-avatars\";s:6:\"plugin\";s:45:\"simple-local-avatars/simple-local-avatars.php\";s:11:\"new_version\";s:5:\"2.7.5\";s:3:\"url\";s:51:\"https://wordpress.org/plugins/simple-local-avatars/\";s:7:\"package\";s:69:\"https://downloads.wordpress.org/plugin/simple-local-avatars.2.7.5.zip\";s:5:\"icons\";a:2:{s:2:\"1x\";s:65:\"https://ps.w.org/simple-local-avatars/assets/icon.svg?rev=2783752\";s:3:\"svg\";s:65:\"https://ps.w.org/simple-local-avatars/assets/icon.svg?rev=2783752\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:76:\"https://ps.w.org/simple-local-avatars/assets/banner-1544x500.jpg?rev=2406995\";s:2:\"1x\";s:75:\"https://ps.w.org/simple-local-avatars/assets/banner-772x250.jpg?rev=2406995\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"5.7\";}s:27:\"svg-support/svg-support.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:25:\"w.org/plugins/svg-support\";s:4:\"slug\";s:11:\"svg-support\";s:6:\"plugin\";s:27:\"svg-support/svg-support.php\";s:11:\"new_version\";s:5:\"2.5.5\";s:3:\"url\";s:42:\"https://wordpress.org/plugins/svg-support/\";s:7:\"package\";s:60:\"https://downloads.wordpress.org/plugin/svg-support.2.5.5.zip\";s:5:\"icons\";a:2:{s:2:\"1x\";s:56:\"https://ps.w.org/svg-support/assets/icon.svg?rev=1417738\";s:3:\"svg\";s:56:\"https://ps.w.org/svg-support/assets/icon.svg?rev=1417738\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:67:\"https://ps.w.org/svg-support/assets/banner-1544x500.jpg?rev=1215377\";s:2:\"1x\";s:66:\"https://ps.w.org/svg-support/assets/banner-772x250.jpg?rev=1215377\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"4.8\";}s:29:\"wp-mail-smtp/wp_mail_smtp.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:26:\"w.org/plugins/wp-mail-smtp\";s:4:\"slug\";s:12:\"wp-mail-smtp\";s:6:\"plugin\";s:29:\"wp-mail-smtp/wp_mail_smtp.php\";s:11:\"new_version\";s:5:\"3.8.2\";s:3:\"url\";s:43:\"https://wordpress.org/plugins/wp-mail-smtp/\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/plugin/wp-mail-smtp.3.8.2.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:65:\"https://ps.w.org/wp-mail-smtp/assets/icon-256x256.png?rev=1755440\";s:2:\"1x\";s:65:\"https://ps.w.org/wp-mail-smtp/assets/icon-128x128.png?rev=1755440\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:68:\"https://ps.w.org/wp-mail-smtp/assets/banner-1544x500.jpg?rev=2811094\";s:2:\"1x\";s:67:\"https://ps.w.org/wp-mail-smtp/assets/banner-772x250.jpg?rev=2811094\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"5.2\";}}s:7:\"checked\";a:21:{s:30:\"advanced-custom-fields/acf.php\";s:5:\"6.2.0\";s:19:\"akismet/akismet.php\";s:3:\"5.2\";s:33:\"classic-editor/classic-editor.php\";s:5:\"1.6.3\";s:43:\"custom-post-type-ui/custom-post-type-ui.php\";s:6:\"1.14.0\";s:23:\"hostinger/hostinger.php\";s:5:\"1.4.0\";s:35:\"litespeed-cache/litespeed-cache.php\";s:3:\"5.6\";s:50:\"official-facebook-pixel/facebook-for-wordpress.php\";s:6:\"3.0.13\";s:21:\"pixproof/pixproof.php\";s:5:\"2.0.1\";s:31:\"presto-player/presto-player.php\";s:6:\"1.14.1\";s:30:\"seo-by-rank-math/rank-math.php\";s:9:\"1.0.121.1\";s:38:\"seo-by-rank-math-pro/rank-math-pro.php\";s:6:\"3.0.40\";s:47:\"really-simple-ssl/rlrsssl-really-simple-ssl.php\";s:5:\"7.0.8\";s:47:\"really-simple-ssl-pro/really-simple-ssl-pro.php\";s:5:\"7.0.3\";s:45:\"simple-local-avatars/simple-local-avatars.php\";s:5:\"2.7.5\";s:27:\"svg-support/svg-support.php\";s:5:\"2.5.5\";s:19:\"us-core/us-core.php\";s:6:\"8.17.3\";s:19:\"wpforms/wpforms.php\";s:7:\"1.8.2.2\";s:39:\"wpforms-mailchimp/wpforms-mailchimp.php\";s:5:\"2.2.0\";s:53:\"wpforms-post-submissions/wpforms-post-submissions.php\";s:5:\"1.4.0\";s:41:\"wpforms-signatures/wpforms-signatures.php\";s:5:\"1.3.0\";s:29:\"wp-mail-smtp/wp_mail_smtp.php\";s:5:\"3.8.2\";}}','no'),(47039,'_site_transient_timeout_theme_roots','1692571361','no'),(47040,'_site_transient_theme_roots','a:3:{s:13:\"Impreza-child\";s:7:\"/themes\";s:7:\"Impreza\";s:7:\"/themes\";s:15:\"twentytwentyone\";s:7:\"/themes\";}','no');

--
