Proposal: Auto-generate Block Editor Handbook docs from block.json

Updated: May 18, 2026 with video recording and transcript of the Hallway Hangout (bph)

The Block Editor Handbook is one of the primary resources for developers building with GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ and WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Keeping it accurate and up-to-date as the editor evolves is an ongoing challenge.

Recently, a detailed Core Blocks reference section was proposed for the Handbook โ€” providing structured APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. documentation for every blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. shipped in Gutenberg. The approach was to auto-generate these pages directly from each blockโ€™s block.json file, the single source of truth for a blockโ€™s attributes, supports, and metadata.

The initial pull request (#77350) was merged but subsequently reverted (#77590) due to insufficient community discussion before landing. That feedback was valid, and this post is the next step: bringing the proposal to the wider community before moving forward.

The updated proposal is in PR #77612: Docs โ€” Auto-generate per-block API reference pages from block.json.

The problem

Understanding how a core block works today means reading its source code directly. A block is defined by attributes, supports, context, selectors, and parent/child relationships โ€” but none of these are documented in context for any individual block. To learn about a specific block, a developer has to read its block.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. file โ€” which shows the values but does not explain what they mean โ€” and then separately hunt through the general documentation to understand each property. Per-block documentation with contextual links to each concept would close that gap entirely.

The same problem affects LLMs: without documented context for each property, they have to parse source files to infer semantics, spending more tokens and filling context unnecessarily. This is important for AI-assisted creation of templates, template parts, patterns, and other block editor content.

Most of this detail already exists in the codebase. If it can be surfaced automatically, thereโ€™s no good reason to leave it buried.

The proposed solution

The proposal introduces an automated pipeline that generates per-block API reference pages by reading each blockโ€™s block.json at build time. This means:

  • Every block shipped in Gutenberg automatically gets a documentation page reflecting its current attributes, supports, selectors, and other metadata.
  • Keeping docs in sync becomes a byproduct of keeping block.json accurate โ€” which developers already do.
  • The Block Editor Handbook gains a canonical, always-current API reference for all core blocks.

The generated docs would live at paths like: developer.wordpress.org/block-editor/reference-guides/core-blocks/[block-category]/[block-name] and would look like this:

README.md per block in the repository

A key part of the proposal is that documentation is generated into a README.md file inside each blockโ€™s source directory โ€” for example, packages/block-library/src/paragraph/README.md.

This follows the same convention already established for component documentation, where gen-components-docs generates a README.md inside each componentโ€™s directory at packages/components/src/{component}/README.md.

Having documentation live next to the code has a specific benefit: it allows hand-written narrative and auto-generated API reference to coexist in the same file. Generated content is wrapped in token delimiters (<!-- START TOKEN / END TOKEN -->), so any hand-written prose above the token is preserved across regenerations. The Navigation block README is a working example of this.

This mirrors the approach already used by the package API docs generator (update-api-docs.js) to document each package API inside each package README.md.

What this means for contributors

For block developers

  • No separate docs PR is needed when you add or change a block.json attribute โ€” the reference page updates automatically.
  • The README.md lives next to the blockโ€™s source, making the API surface discoverable when browsing the codebase.
  • The expectation for what constitutes โ€œwell-documentedโ€ becomes clearer and more tractable.

For documentation contributors

  • A reliable, auto-generated foundation means energy can be focused on narrative guides and tutorials rather than maintaining API reference tables.
  • Custom hand-written explanations in a blockโ€™s README.md are preserved across regenerations, so narrative docs and API reference can grow independently.
  • Having a public view of block documentation may encourage contributors to get involved by creating issues or PRs if they find errors.

For users of the Handbook

  • Reference pages stay current with each Gutenberg release rather than drifting behind.

Open questions โ€” we want your input

  1. README.md in the repo vs. the docs site: Should per-block README.md files live in the Gutenberg repository, or be generated solely at the docs site level (as PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher references currently are)?
  2. Process fit: Does auto-generating docs from block.json fit naturally into the existing contribution workflow? Where might it break down?
  3. block.json as source of truth: Are there things about a block that canโ€™t or shouldnโ€™t be derived from block.json? How should those gaps be handled?
  4. Anything weโ€™re missing: What challenges or risks hasnโ€™t this proposal addressed?

Get involved

Review the PR: #77612 โ€” Docs: Auto-generate per-block API reference pages from block.json

Share feedback:

  • Comment on this post
  • Comment directly in the pull request discussion

Join the conversation live: Weโ€™ll be hosting a Hallway Hangout with Docs and Core team members approximately two weeks after this post. Details will be shared in the comments โ€” watch this post if youโ€™d like to join. The Meeting link will be shared in the #core-editor channel the day of the Hallway Hangout.

Video transcript (click to expand)

Birgit Pauli-Haack:
All right, so welcome everybody and those who come in today. And for those are watching the recording, this is a hallway hangout for the proposal Juan Ma posted on the make blogblog (versus network, site) on Auto Generate Block Editor handbook documentation from the block JSON. And the proposal is very detailed on things. What weโ€™re going to do today is that Juan Ma is going to talk us through a little bit about the goals and about the reasons how itโ€™s implemented. And then he also has his local development set up so he can demo things, how itโ€™s going to be, how itโ€™s going to be displayed, published on the developer.WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ block editor handbook and also how itโ€™s going to show up on the GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the โ€˜pull requestโ€™ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/ repo. And then. Well, Iโ€™m sure Juan Ma will be open for questions and we can also discuss next steps or how the documentation team can, can come in and make updates, or how contributors globally, contributors to code or contributors to the documentation team can augment some of the documentation thatโ€™s going to be automatically created. But there are some manual places where you can fit in some additional explanations. All right, I think youโ€™re up now. Thank you for coming. Yeah. And taking the time.

JuanMa Garrido:
Yeah, thank you so much, Birgit, for facilitating this meeting and helping unblocking this, this whole change and thank you Andrea, for, for attending. Yeah. So this proposal is to. The goal of, of this proposal is to make the life easier for developers to understand blocks, to understand how they are built, how they are supposed to be used, and to surface a lot of information that was kind of hidden in the code, but displaying that in a more friendly way for developers and for the final users. Because what we have now is this. What we have now is a very brief list of the properties that define each block and a quick. And a link to the source code. So this is what we have right now. So thereโ€™s no context about what supports mean, thereโ€™s no context about what attributes mean, thereโ€™s no context about what, what does it mean allowed blogs and that makes it hard for people. They need to really do their own research. So Iโ€™m thinking from the perspective of a first time user that arrives to this place, they donโ€™t know anything about blocks and they find this and thatโ€™s really hard to grasp, to understand. And I think we can do better in that sense. Also as a reference for developers. This is also not super useful. I mean you can get the list of supports here, but for example, you donโ€™t have an explanation of whatโ€™s the meaning of each report and thatโ€™s something that could be improved. Thereโ€™s no example of how the markup is supposed to work for each blog. So I think there could be a better way to show this information. And I would like to highlight that this is not only important for developers, but also for artificial intelligence. Because in this era I think AI models are the first users of the and I think having better a more detailed information for each block available in the repository, but also the documentation is going to be very helpful for models to then recommend a specific developments using blockchain block markup, for example, Iโ€™m thinking about patterns or templates or any other thing that would mean, I donโ€™t know, less tokens and less hallucinations from the model. So for all those reasons there was a conversation that we had like with Birgi, then with Jonathan and Justin and Ryan within the team and with we discussed about this and Jonathan started a first attempt of doing this and then I continued the work and what I got was this. So this is what we have right now in production and Iโ€™m going to show how this would look like in production if this pull request is merged. So we would get something like this. This is the same page done before, but now we have now a section for each block categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging.. So my approach with this was okay, letโ€™s keep the current page because I like having in one page all the blocks, but letโ€™s expand this with more pages and with more detailed information about each block. So we have here all the blocks, but then the thing is that we have now links to both the category that the block belongs to and the detailed information. So letโ€™s take the first one, Core accordion. If we go to this page we can see that this is below design blocks. But we have also a page for each block category, Media blocks, reusable blocks, text blocks. So we have like these two ways of. See the list of blocks available in Core. But if we go for example to the details block, we can see the detailed page for the details block. And which information do we have here? All this information is in the code. But now we have surfaced this. So we have the internal name for the block, the category and this is a link to the category this block belongs to. So we can see itโ€™s siblings, so to speak. We have the version and here we have information about the versions. So we are starting adding more context about each piece of information. Then we have the block type and we get linked to a page where this thing is explained. Because blocks can be like Purely static, purely dynamic, or they can mix both approaches. So here based on the existence of specific files, it kind of categorized them between static, dynamic or hybrid. I think this is good information to have then internal keywords for the block and then the attributes. So we get this from the blood JSON, but we get more context because we can actually link to the parts of the documentation where each one of these things are explained. For example, the type of an attribute is we have here the value, but we can get a link to what does it mean and what are the possible values an attribute can have for this, the default value. And we get here a link to the part of the documentation, the attributes page where this is explained the rest for source role Regarding supports, I think this is really cool because it not only detail, it not only details the list of supported properties, but also we get a link to the the explanation of each one of these supports, which I think is really cool. And as you can see, all this information provides a better experience for someone approaching to the blog or even for an experienced developer because it really saves a lot of time. If I want to understand quickly what is something, then we have an example of the markup of each block. And I think this is really cool because this information is is taken for the fixtures that are used to test the block. So this information is used internally to verify that the block behaves or that the, the. The block does what itโ€™s supposed to do. And, and there are a lot of, they are called fixtures in testing terms. But this information is a good reference for anyone that wants to use this this block. So we can also surface this surface that automatically. And then finally we get a link to the, to the, to the source of this information. We get a link to the blog JSON for each block. And also here we have a reference of the explanation of the block JSON. So we are again adding more context to that. And then finally we get a link to the, to the whole directory with all the files that define each block. And all this process is generated automatically using a script.

Andrea Roenning:
So

JuanMa Garrido:
I donโ€™t know if there are any questions about this before I enter into the explanation of the technical aspects of the this change.

Birgit Pauli-Haack:
Andrea, everything is clear.

Andrea Roenning:
Yes, I have some specific questions, but they can wait.

JuanMa Garrido:
Okay.

Birgit Pauli-Haack:
Okay,

JuanMa Garrido:
so what I can do is I can explain how this works internally, how these pages are generated, when will they be generated and yeah, some aspects of the implementation. So the pull request is this one?

Birgit Pauli-Haack:
Yeah, I shared it in the chat window just in case.

JuanMa Garrido:
So first of all, this Pull request will add a lot of markdowns because itโ€™s the first time that is generated, it will add a REDMI MD for each one of the blocks. This is a one time thing because after that all those redmis will be updated only when there are changes to that affect these Redmi MDs. Second thing that I think is important is that this pull request provides a way to that two type of information coexist, like manual information and automatically generated information. So for each block. And we can see an example here in the navigation block which is here. And we can go to View file and I can show the row.

Birgit Pauli-Haack:
So thatโ€™s a little small.

JuanMa Garrido:
Yes. Yes. Let me.

Birgit Pauli-Haack:
You need to squint a bit. Yeah. So very good.

JuanMa Garrido:
Yeah. Is it fine now?

Birgit Pauli-Haack:
Yeah.

JuanMa Garrido:
Okay. So the navigation block, it had some previous information. In fact, I think it was the only REDMI MD that was created for a block. Only a few of them, this one and some other one that it has some information that was manually added. So this change will only generate automatic content between these tokens. Everything that is between these tokens will be automatically generated. So as long as we donโ€™t touch these tokens, we can add any manual information outside. And thereโ€™s a message here clarifying that this follows the same approach that is being used for the REDMI mds for the packages. Because the packages I can go, maybe I can quickly go and check the REDMI MD for. If we go to packages, each package it has this part, the API. If we go edit redmi. Yeah, as you can see, thereโ€™s also information that is manually added. But then we have a start token. All this part is automatically generated. So itโ€™s using the same, the same idea, the same approach. We can have manual and automatic content coexisting in the same REDMI md. Another technical detail that I think is relevant is to explain how we can trigger the generation of this content. And this is managed by a new script that has been add it here is called Docs Block Detail. This is part of package JSON and it has been added to the family of DOCS scripts. There are a lot of Docs script. For example, there is Docs API Ref is the script that generates the API content for each package, like as we saw a minute ago. So now thereโ€™s a new script called Docs Block Detail that generates the readme if it doesnโ€™t exist or it updates the readme for the affected changes. Another. Let me see if I can show this. Another interesting thing is that it has been added this Script this. To the lint state. So if I not run. In the same way that we have API ref and the block details will be launched for each. For each. So every time there is a change in a block JSON, it will. It will trigger these scripts in the same way that we are calling the other ones. Okay, what else? And basically I have tried to. Make this implementation as close as other things that are already happening. So the same things we do for other parts of the documentation now we are also doing that for blocks. For example, there is a automatic process for components. There is an automatic process for the REDMI MD of each package. And now we have another one for blocks. For blocks detail this docs blocks is the automatic process that generates the current page we have. This is the current page we have. And this is triggered by this process. Now we have another process that updates this page and also updates or generates the other Redmi MDs for each block and the categories pages. And what else can I say about this? I think I have covered like what was on my mind that I think could be relevant. So yeah, Iโ€™m going to stop talking now and answer to listen to any questions.

Andrea Roenning:
One question I have is, is it going to be clear if changes in the Gutenberg repository versus the core update?

JuanMa Garrido:
Thatโ€™s a very good question. I havenโ€™t included the change in this pull request. So we could do this in two ways. I could expand this pull request and make it bigger and try to other information. The thing is that that information is not available for any API in the Gutenberg repo. So maybe my. My feeling is that I agree that this should be added to this information, but maybe this pull request is not the place to add that. So in fact I was mentioning this to bitgit earlier. I have opened this issue to actually surface that information to this issue I opened was most referred to the API of each package because each function there is no clear information about which Gutenberg version it belongs to or if itโ€™s available in Core or not. And I agree that this is essential information to have. But this is using some internal processes because I have opened the issue, but I have already some work in progress for this. So I think the same internal processes could be applied to the blocks as well. So yeah, maybe and that would be my. My approach is that adding the Gutenberg version where each block was included or if itโ€™s available in WordPress Core or not, maybe that should be added as a. In a pull request after this is merged.

Birgit Pauli-Haack:
That makes sense to me. Yeah, yeah. I Agree too because I think itโ€™s important to have the processes to get all the documentation in the document on the handbook first and then wiggle it down to what are the other details that we need and do we need to have it for a process on the repo and then make it for, for every function, for every block, for every. Yeah. Detail that is in the block editor. And thatโ€™s a, itโ€™s a much bigger conversation because the developers need to be kind of, it needs to be clear which, which version that is. And, and thatโ€™s. I, I think one of the biggest Gutenberg plug repo problems is we have three different, well, even four. No, we have WordPress core, we have Gutenberg and we have the Gutenberg experiments. And then. So itโ€™s a three version process. And yeah, itโ€™s going to be really interesting to see how to implement that, but I donโ€™t want to. I definitely, personally, I donโ€™t think we should delay this process because itโ€™s such fundamental change and so much more helpful than this other detail here. What other questions do you have, Andrea?

Andrea Roenning:
One other question I have is, is it possible to have blocks grouped in more than one category?

JuanMa Garrido:
Is it possible to do that from a block JSON?

Andrea Roenning:
Yeah, I think. Well, I think it is, but I think the reason why it would be nice is it would be good to have a deprecated category because I think we have like a handful of deprecated blocks and it would be nice to kind of see them at a GL. But that could be a future Mr. As well. I donโ€™t know if that makes sense in this scope of work.

JuanMa Garrido:
Well, that information is, I think is included. Let me see.

Birgit Pauli-Haack:
Iโ€™ve seen it.

JuanMa Garrido:
So what was added was a call out at the beginning of each block? No, I donโ€™t think so. What was added was a call out with the experimental blocks. But I donโ€™t think because deprecated blocks. Yeah, they also exist in the repository. But yeah, I havenโ€™t thought of that. That could be something interesting to add in this pull request. Yeah, youโ€™re right.

Andrea Roenning:
Iโ€™ll add a note to the PR just so that itโ€™s documented there or

JuanMa Garrido:
maybe later not sure if a category is the best place because there is an idea of category and I think it could be, could be confusing for people to add a category that is not really a category.

Andrea Roenning:
Yeah, but it could be something else, some other attributes.

JuanMa Garrido:
But for example here, that could be a specific section. Yeah, I donโ€™t know.

Birgit Pauli-Haack:
Yeah, I did a similar kind of dive into After I saw what you did, who am I? I did a similar thing to just have a, a call out on the Gutenberg Knightley on what are the experiments blocks in the experiments. And I saw the deprecated part and I had the code discarded and that was relatively easy to do, to not display. So there is already a, A, a place where that is communicated. So yeah, that can certainly be part of the page. Yeah. Even if so they donโ€™t, I, I, I understand that you say, okay, I want it in a category because I have a list of all of it. Yeah. But it could be probably even a deprecated page separately, but have it in a separate pr. Yeah, I can see that.

JuanMa Garrido:
Yeah. The advantage of having all blocks here is that we could look for specific terms. So if we add deprecated here, you can access to all the deprecated blocks. So that could be a first and maybe thatโ€™s enough. But a second thing that could be done here is to maybe group them in a specific section and maybe adding a notice here highlighting that there are some deprecated blocks. Click here to see all of them and that could link to maybe a section that is at the end of the, of this doc listing all the deprecated blocks. Yeah, something. That is useful, but maybe that doesnโ€™t add more noise to the whole block directory.

Birgit Pauli-Haack:
Yeah, I like it. Yeah.

Andrea Roenning:
And at a minimum, even just adding a bullet there that some blocks are deprecated, maybe that would be a good first step.

JuanMa Garrido:
I think that information could be automatically generated. So maybe we could add directly here like a call out saying please take into account that the following blocks are deprecated, blah, blah, blah and blah, and we can link to the blocks or something. That could be done.

Birgit Pauli-Haack:
Good. Andrea, do you have any more questions?

Andrea Roenning:
No, Iโ€™ll just share. So Iโ€™m a contributor for the Help Hub user. Facing Docs team and keeping up with changes between WordPress core versions is a challenge. A lot of times there are attributes coming in and itโ€™s hard to know which blocks are getting them. So this will be helpful even just to be able to have a place to easily look at it without digging through block JSON. But yeah, down the road, if there was a change log or some way where we can see fit text is stored differently than it was before that, that kind of thing, I, Iโ€™m it, that would be lovely, but I donโ€™t think that needs to be part of this. Mr. A changelog would be great.

Birgit Pauli-Haack:
Yeah. Yeah. Itโ€™s really hard for the user documentation to make Anything automatic. Yeah, because it has all the different screens that you need for that. What is in the block settings? Whatโ€™s itโ€™s in. How does a block look like? I donโ€™t envy you. I did this probably for a year and a half back in 2020 to kind of try to figure out how to do end user documentation. So, yeah, I think with Play, I donโ€™t know, are you experimenting with Playground on that?

Andrea Roenning:
I use Playground to take, you know, videos of the blocks in action. For example, weโ€™ve got Nikon and Breadcrumb blocks coming in. And then I read through the prs and I look through the block. Yeah, so itโ€™s. But yeah, itโ€™s. And the source of truth is hugely helpful. I appreciate that.

Birgit Pauli-Haack:
So thank you. Yeah, yeah, yeah.

Andrea Roenning:
Keeping track of all of the incoming changes for Core is challenging, but I think this would be very helpful and it would also be helpful to get other developers involved. If they see a change on the readme, they can open a pull request and make an update, I think.

Birgit Pauli-Haack:
Yeah, yeah, yeah. That brings me to my question that I have for one. So if I see something thatโ€™s not correct, what would be my step after?

JuanMa Garrido:
Something that is something that is not correct in the content or in the implementation?

Birgit Pauli-Haack:
No, in the. Think about it. Okay, you have it all merged and now itโ€™s on auto processing. But Iโ€™m now a developer and try to figure out what do I do with this block or I want to style it. Now I find it difficult to get to that information and think I need to add something to that styling for that block, like accordion block or a tabs block or something like that. Yeah. So what would I do?

JuanMa Garrido:
Yeah, well, all the tools that are used internally in Gutenberg to generate content automatically for docs, they are all in two places. One of them is Tools API docs, and this is where the specific tool for the blocks will live if we go to the pull request. So talking about fine tuning the output, for example, of the. The blocks that would belong to. Yeah, this is too big for this. That would belong to this script. This is where all the. All the magic happens, so to speak. This is where this is all was created with the help of cloud code. So, yeah, maybe if thereโ€™s. I think this is enough, but maybe we could simplify the way to, I donโ€™t know, create a template that can be modified without affecting the process. But from a developer perspective, if I want to fine tune the output for each page, this is. The file should be updated.

Birgit Pauli-Haack:
Okay. So if I donโ€™t want to update all the pages. I only want to have a certain block documentation. I go to the package block library and then to the readme of that block.

JuanMa Garrido:
Yes. If I want to add manual information to a specific block, what can we do is go to. Because all the. So what this pull request is going to do is going to add a REDMI MD to each one of the blocks that are available in the block library package. The block library package contains all the core blocks. So in terms of code, if we go to Gutenberg packages block library now necessary, we have all the blocks. But right now no block has a REDMI md. So this pull request will add a REDMI MD inside the folder of each block, which makes a lot of sense because itโ€™s kind of a description of whatโ€™s going on here. So what we can do is to add the manual information for that block with a pull request using the process we use for other changes in the repository. And any information that is outside of these tokens will be respected, will not be modified by any process. So, for example, if we want to add custom information for the accordion heading, we can just add here whatever information we want or even after the token and that will be respected in the automatic process. It wonโ€™t be removed.

Birgit Pauli-Haack:
Super. And it would follow normal markdown formation format. And then somebody needs to review it and then it will be merged. And then after the merge, within a day or within an hour, I think the block editor handbook will be updated. Right. Good.

JuanMa Garrido:
I think every 15 minutes or something like that. Right.

Birgit Pauli-Haack:
Thatโ€™s pretty fast for someone whoโ€™s a new contributor and just wants to update the documentation and kind of see, oh, this is not clear. Letโ€™s do some manual, some additional explanation, then that can be done. Thatโ€™s wonderful. Excellent. Yeah. Because right now itโ€™s a really, really more difficult to do that. Yeah, you raised your hand, Andrea.

Andrea Roenning:
Yeah, I was going to propose that, you know, maybe towards the bottom, if we were going to list out accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โ€œdirect accessโ€ (i.e. unassisted) and โ€œindirect accessโ€ meaning compatibility with a personโ€™s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) issues or, you know, maybe link to open accessibility tickets, that would be a lovely place to do it. So theyโ€™re not like the very first thing you see, but if. Right. Itโ€™s nice that weโ€™ve got kind of the ice cream sandwich where weโ€™ve got manual data and then generated data and then we can still add manual data at the bottom, if that makes sense.

Birgit Pauli-Haack:
Totally. Yeah. Yeah. Especially because accessibility issues was one of the comments on the proposal by Joe Dawson. And I think it definitely needs somebody from the accessibility team to kind of add some information to each blocks readme and then it can be automatically added to the developer handbook.

JuanMa Garrido:
Yeah, Jodo suggested that. And yeah, the way to add this information, there is no way to get that information automatically as of today. But now we will have a place to add that information in the redmi and manually. So itโ€™s available.

Birgit Pauli-Haack:
Itโ€™s very good. Yeah. No, I like that. Hybrid. Yeah. Automate whatโ€™s possible. Yeah. And then manage manually what is different or what needs additional. Additional explanation because itโ€™s outside of the ordinary. Yeah. So I think, Andrea, are you any closer to understanding this process or are you. Do you have any more questions?

Andrea Roenning:
No more questions on my end. This is really exciting. I think it would be very helpful.

Birgit Pauli-Haack:
Yeah, I think so too. Yeah. All right. Joan, Mo, anything you want to add?

JuanMa Garrido:
Well, I would like to kind of share my impression about where we are now and what would be the next steps. So from the moment this new pull request, because the history of this pull request is that it was open, it was reviewed by different developers, like three or four developers. It was merged, but then it was reverted because there were concerns that this was. This wasnโ€™t discussed enough and there wasnโ€™t a good consensus about that. So after that this pull request was opened and there was a more formal process to gather feedback and we published the post and make a WordPress core. Now weโ€™re having this Halloway hangout. The feedback timeline ends next Monday, so thereโ€™s still time to provide feedback. But I would like to summarize the state of the pull request right now. I think that the consensus for the Docs team, I would consider it given. I mean, I would consider that the Docs team has supported this feature as per the comments in the proposal and the comments in the SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ channel. So thatโ€™s like a new thing that we didnโ€™t have before. And also the specific technical aspects because there were a lot of suggestions to improve the code that all those things were addressed in the previous pull request. But in this pull request there are new things. Most of them have been addressed. There are only a few ones that I didnโ€™t address until I knew for sure that we were going to move forward with this task. But one big one was this about that George asked if, because yeah, this pull request is going to add a lot of new ReadMe files in the repository. That means a lot of new lines. So thatโ€™s a really valid concern. But even with that, I think this is still the best way to tackle this theme because that information will live in the repository. Which I think is where it should live. And then the documentation is just like a nicer way to to provide that information. And also I think itโ€™s important that that information is available from both repository and from the documentation so there are no gaps. So if you access to the info from the repo or from the documentation site, the info is already there. And Dion from the metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. team also thinks that this is the way to go. So in that sense I think the major concerns are now addressed and there are clear responses to all those things. But as I said, thereโ€™s still time to ask questions to raise more concerns and to provide more feedback. But I think we are in a better place now to move forward with this.

Birgit Pauli-Haack:
Yeah, so you heard it. If youโ€™re listening to this before May 25, you still get a chance to have put in your feedback. Your Yes, I love this. Or well if you do this, there are some concerns. Yeah. Either way, leave it on the make blog post or on the pull request. Thatโ€™s definitely the two places to to leave that. Feed your feedback there and we close this horror hangout now. Thank you both Andrea and Juan Ma for being here and have a discussion on this. And Fuanli, Iโ€™m really excited about it because I couldnโ€™t really make a visual thing so I asked Juan Ma if he would demo some of the things. So Iโ€™m really happy that we did this. I will post the link to the video on the proposal and also in the channel docโ€™s channel as well as the co editor channel once itโ€™s ready. And Iโ€™m also find a tool that does the transcript so we can publish both of that. And I wish you all a wonderful week and hope to see you the next time when we have something like this exciting to propose. Bye everybody.

Andrea Roenning:
Thank you.

JuanMa Garrido:
Thank you.

Birgit Pauli-Haack:
Bye.

JuanMa Garrido:
Thank you. Very good. Thank you Andrea.

Timeline

MilestoneDate
Feedback period opens5th May
Hallway Hangout (Zoom) 18th May โ€“ 14:00 UTC
Feedback period closes25th May
Next steps announcedShortly after close

Feedback collected from the community will help refine the proposal and inform next steps for implementation.

Props to @bph, @huzaifaalmesbah and @awetz583 for reviewing this post

#block-editor-handbook, #block-editor, #blocks, #docs, #handbooks

Developer documentation restored.

For those unaware, prior to this week, the documentation at https://developer.wordpress.org/reference hadnโ€™t been updated since WordPress 6.4 โ€” over two years out of date! Today, thankfully, this post is announcing that the reference documentation is now updated as of WordPress 6.9.1.

WordPress has seen significant change since the documentation generation process stopped, so if you found that something was missing then it wasnโ€™t just you. Those new interfaces, classes, methods, functions, and hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. should be there now. Further, there was a pre-existing bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. where source snippets for many symbols were offset; this has been fixed in Mondayโ€™s update.

This work was the result of collaboration between many people, most of whom have never worked with this process in the past. @dd32, @dmsnell, @johnbillion, @jonsurrell, and @tmdk all worked on various approaches to restoring the ability to parse WordPressโ€™ source code; and @dd32 and @coffee2code made sure that the updates reached the public website; and of course, numerous people in the #docs team reported and triaged bug reports that were symptoms of this process breakdown.

There is still significant work to do, as there is no way (at the time of writing this note) to generate the documentation for the upcoming WordPress 7.0 release, but as the new issues are ironed out, you can expect the updates to come much sooner than 2028 ๐Ÿ˜‰

There still remain a number of known issues, particularly related to PHPStan type annotations. Work is ongoing to improve the overall build process and try to reduce the feedback loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop between making code changes and seeing those reflected in the documentation online.

Continue reading โ†’

#developer-documentation

Summary, Dev Chat, September 10, 2025

Startย of the meeting inย SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/, facilitated by @audrasjb. ๐Ÿ”— Agenda post.

Announcements ๐Ÿ“ข

GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ย 21.6 was released!

Gutenberg 21.6 is now available. Theย release postย provides a full overview of the changes and enhancements. Thanks toย @cbravobernalย for preparing the notes.

Forthcoming releases ๐Ÿš€

WordPress 6.9

WordPress 6.9 is scheduled for Tuesday, December 2, 2025.

Theย roadmap for 6.9ย has been published.
Please take a look to see whatโ€™s actively being worked on for release later in the year.

WordPress 6.9ย Dev-Notes

A first 6.9ย dev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase.ย was published:ย Prettier Emails: Supporting Inline Embedded Images
Seeย all dev notes published for 6.9.

Discussion ๐Ÿ’ฌ

Allow wp-config.php without wp-settings.php

Ticketticket Created for both bug reports and feature development on the bug tracker. #5276 was discussed regarding loading wp-config.php without automatically including wp-settings.php. Opt-in approaches were considered, but concerns about back-compatibility and existing site configurations mean the ticket remains closed and is not targeted for 6.9.

Redirect on MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com rate-limiting

Ticket #63678 proposes redirecting users to install.php when database connections are blocked due to MySQL rate-limiting. Participants agreed the patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. is consistent with current error handling, with a suggestion to reuse MySQLโ€™s native error message. It is moving forward for 6.9 consideration.

Standardizing UTF-8 handling

Ticket #63863 introduces a compat-utf8.php file to polyfill missing UTF-8 functions before compat.php is loaded. This aims to provide more consistent string handling across environments. Ongoing feedback is encouraged directly on the ticket.

Docs Team in release squads

A recent post from the Docs Team led to discussion about its role in release squads. Concerns were raised about the removal of the Docs Lead position and possible effects on onboarding and coordination. The importance of documentation was acknowledged, while there were differing views on the need for a formal lead role. It was agreed that there will not be a dedicated Docs Lead role in 6.9 for now. Instead, the focus will be on improving release instructions and checklists to ensure smoother processes.

Props to @audrasjb for review.

#6-9, #core, #dev-chat, #docs, #gutenberg, #summary

Editor chat summary: Wednesday, December 7, 2022

This post summarizes weekly editor chat ofย Wednesday, December 7, 2022 at 15:00 CET held in SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. You can view the full transcript here.

General Announcements and Links

Key project updates


@annezazuย shared theย latest Gutenberg Phase 2 update.

โ€œHereโ€™s a TLDR for any devs looking at where to jump in next:
No development work started (yet)

Development work started but help appreciated to move it forward from the PR authors:


@hellofromtonya shared a Webfonts APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. Status

โ€œStill in re-design of the architecture phase.
Close to merging the first re-architectural PR. What does it need?

  • Test it with plugins that are using the current functions to ensure nothing is broken, ie back compatibility is maintained with this phase.
  • Final code review
  • Then merge

Once merged, it will unblock the last re-architectural task.
Once both of those are merged, then performance tasks are unblocked.โ€


@scruffianย posted an update onย Navigation block:

โ€œWe now have the basics of the Navigation List View working. It is possible to view, edit and remove navigation items from the inspector controls. Drag and drop also works. The main areas of concern are:

  1. When editing an item, can we show the settings tab?
  2. Can we animate the opening of the blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. settings to make it clear that this is conceptually a โ€œdrill-downโ€ operation?

These will be the next areas to focus on.

Work is happening on this project board:ย https://github.com/orgs/WordPress/projects/60/views/1, which should give more detail on progress. This video shows the current state of the project:


The issue description will be updated to reflect the current outstanding issues.โ€


@andrewserongย posted an update on Layout options and design tools


@carlosgprimย posted updates from the Mobile Team:

Main focus

โ€” Upgrade ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org Native to version 0.69.x (finished viaย these changes)

ย Recently fixed or improved

Task Coordination

@wildworksย posted: โ€œCan anyone test the PR regarding shortcuts in Windows?
This PR has been approved, and I would like to merge it, but I am the only one testing itโ€ฆ
This particular is a call for contributors who work on Windows machinesย @wildworksย is working onย Shortcuts: Add Ctrl+Y for redo to all editor instances on Windowsย (edited)ย 

@flexseth posted: โ€œDocumentation review:ย There are quite a few discrepancies in the ESNext flavor syntax used in Code examples for the documentation (and handbook). Maybe theย #docsย channel would be the best place to take up discussion on that though? Iโ€™ve been wanting to make sure all of the examples are functioning and writing more examples for components.. and to also look to establish a standard for the ES6+ code out there.โ€

@bph noted: โ€œAn issue or more than one should go to the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ repo for discussion. If you want to work on fixing them, you can review the theย Guide to Documentation contributionsโ€œ

Open Floor

@flexseth asked: โ€œDo you know where first time contributors can submit to be listed as contributors for this year? In the contributor numbers for State of the WordState of the Word This is the annual report given by Matt Mullenweg, founder of WordPress at WordCamp US. It looks at what weโ€™ve done, what weโ€™re doing, and the future of WordPress. https://wordpress.tv/tag/state-of-the-word/., in one of the Hallway Hangouts a call for contributors was mentioned I think.โ€

@bph: noted: โ€œAFAIK the contributor numbers in SOTW are always release related. 5.9 6.0 6.1. Each team has their own way of acknowledging contributions. 6.1 was the last release for the year. Every Gutenberg plugin release has a list of contributors, too.ย Example, including first contributorsโ€

Well after having used WordPress for over 10 years, I can say the direction of the project is the best Iโ€™ve seen. Good work all! โ€” @flexseth

Props to @paaljoachim for his review.

#core-editor, #core-editor-summary, #gutenberg, #meeting-notes, #summary

Proposal to Start a News blog on developer.WordPress.org

Update Dec 1, 2022: The Developer Blogblog (versus network, site) went live as public betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. on November 18, 2022 and was announced on this blog the following Monday WordPress Developer Blog is in publicย beta


Staying on top of the new features coming to the WordPress open-source project is one of the main barriers expressed by developers.

The Make CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. blog has a heavy emphasis on meeting notes for the various core teams, rather than highlighting new features. This makes it difficult for developers who are not contributors or who just occasionally contribute to find the relevant information among the team-related posts.ย 

To achieve one of the big-picture goals for 2022 (โ€œCreate a developer-focused communications siteโ€œ), this is a proposal for creating a Developer News blog. The content focuses on updates for developers, extenders creating plugins and themes, and those who work with WordPress at an agency or as freelancers.ย 

Preliminary Timeline

  • Proposal and request for comment period: February 25 โ€“ March 18, 2022
  • Coordinate with Design and MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. Teams for theme (the News theme would be spectacular)ย 
  • Brainstorm meeting with team representatives: End of March
  • Content creation and first post: early April 2022ย 
  • Start-up phase: Through mid-July
  • Review and expansion to regular topics for developers: Fall 2022

Problem to be Solvedย 

The current developer.wordpress.org holds a ton of comprehensive documentation with examples, tutorials, getting started guides, and more. That being said, there are various improvements that could be made to make the site much more impactful. Some of these areas for improvement are outlined below.ย 

Whatโ€™s missing:ย 

  • There is no changelog to signal various changes including when pages are updated or when new APIs appear or existing ones are augmented with new filters, hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same., and configuration.ย 
  • There is no mechanism to subscribe to updates. A blog would provide this feature.ย 
  • Outside #core-editor meetings and GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the โ€˜pull requestโ€™ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/, there is no single place to keep up withย  ongoing discussions. For example, to learn about the new styling engine, a developer needs to visit three sites: Discussion, Tracking Issues, and the first PR.

Start-Up Phase

As a first step, the Developer News can tackle the above pain points by:

  • Surfacing updates to documentation,ย 
  • Highlighting new tutorials, and,ย 
  • Providing a way for developers to subscribe to stay up to dateย 

The Developer News blog can also be added to the Planet WordPress feed, so post titles also appear in the WordPress News WidgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. in the WP Adminadmin (and super admin) Dashboard.ย 

This initiative requires cross-team collaboration among contributors from the Documentation, Core (core-css, core-js, core-editor etc.), Training, and Support teams.ย 

These teams could use an existing WP SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ channel for synchronous meetings, such as #docs or #core. During the meeting, team reps and other contributors can make editorial suggestions for topics and links that could be included in the next edition of an update post.

An editorial calendar can be an early agenda item for the meetings.ย 

After the initial start-up phase, the blog would be extended to regular topical posts relevant to developers.ย 

Possible Ideas for Future Expansion

  • Summaries from GitHub Discussionsย 
  • Excerpts from meeting discussions for distribution to a wider audience of developers
  • A post consisting of a summary of multiple dev updatesย 
  • Useful questions/solutions found on StackOverflow/StackExchangeย 
  • Reviews of existing documentation to identify gapsย 

A possible future expansion would include a regular revision process to update content with new information and changelog recording.ย 

I recommend that contributors to this initiative comply with the Make Core Post and Comment Guidelines. Should the editorial group decide to also include highlights of example plugins or themes, all products must adhere to the Community Teamโ€™s guidelines regarding GPLGPL GNU General Public License. Also see copyright license. compliance of the products, including premium products.ย 

As mentioned above, these are just some initial steps to get processes and contributors in place. Reader comments and discussion in the Slack channel will surface opportunities for further enhancements.ย 

What do you think? How could this proposal be improved?
Please shareย  your comments, your thoughts, and content ideas. If youโ€™d like to contribute to the Developer News, mention this also in the comments. The comment period on this proposal will end on March 18, 2022.ย 

Props to Dion Hulse (@dd32), Destiny Fox Kanno (@piyopiyofox), Tara King (@sparklinerobots), Anne McCarthy (@annezazu), Tonya Mork (@hellofromtonya), Daisy Olsen (@daisyo), Dan Soschin (@dansoschin), and Anjana Vasan (@anjanavasan) for fruitful collaborating on this proposal.ย 
Props to Mary Baum (@marybaum) and Jean-Baptist Audras (@audrasjb) for final review

#core-dev-blog, #developer-news, #proposal

DevChat meeting Summary โ€“ May 5, 2021

Agenda for the two meetings. Thanks to @peterwilsoncc and @jeffpaul for leading the 05:00 and 20:00 UTC devchats respectively.

Link to 05:00 UTC devchat meeting archive in Slack // Link to 20:00 UTC devchat meeting archive in Slack

Announcements and news

These posts need your feedback:

  • @ryokuhiย published a proposal on Make/Accessibility about a new Trac workflow keyword that the AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โ€œdirect accessโ€ (i.e. unassisted) and โ€œindirect accessโ€ meaning compatibility with a personโ€™s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) team would like to consider.ย  If you feel particularly opinionated or passionate about this, please comment on the post.
  • @jeffpaulย andย @desrosjย published a request to Component Maintainers, Feature plugin authors, and the Gutenberg team to share plans / help needed for 5.8 (primary focus will be FSE).ย  Please comment on the post to help ensure weโ€™re tracking the right work for the release.
    • @youknowriad noted that required Gutenberg changes in Core are made as filters/extensions points and brought to coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. as part of the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ merge that happens regularly
    • @mkaz shared the WordPress 5.8 Must Haves project board on GitHub as outline of Gutenberg work for 5.8

5.8 Review

  • Schedule confirmed including bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrub schedule
  • @youknowriad shared that trunk is already on Gutenberg 10.4,ย @gzioloย is working on updating it to 10.5 and the big changes (Global styles infrastructure in themes.json and FSE blocks) are coming in 10.6
  • Feature freeze on Tuesday May 25th (19 days from now) defined as โ€œDuring the following two weeks, there will be no commits for new enhancements or feature requests. Core contributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org will focus on defect work (aka outstanding bugs)โ€œ
  • BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 on Tuesday June 8 (33 days)
  • RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). 1 on Tuesday June 29 (54 days)
  • Release on Tuesday July 20 (75 days)
  • Current list of tickets that are on the 5.8 milestone, list of good-first-bugs tickets

Component maintainers and committers update

  • @sergeybiryukov shared Plugins update that Parameter names in pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. functions now use consistent terminology when referring to actions, filters, and callback functions via #50531
  • @sergeybiryukov shared Themes update that #49487 removes the โ€œFeaturedโ€ tab on Add Themes screen to match an earlier change in the Theme Directory
  • @webcommsat shared About/Help update that ticketticket Created for both bug reports and feature development on the bug tracker. triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. continues with @marybaum
  • @audrasjb shared Menus update that #21603 is being reviewed
  • @audrasjb shared Upgrade/Install update that theย last meeting recapย includes a project for the next few releases

Open Floor

  • @chaion07 shared High-Level Roadmap to Learning WordPress Development from @courane01 and the #training team
  • @francina @sergeybiryukov discussed branching at Feature Freeze and agreed to get through that period and revisit the decision then. @helen noted that the deciding factor will likely be โ€œhow much people think theyโ€™ll actually be mixing in work destined for post-5.8โ€
  • @webcommsat asked for input from Core team on workshop ideas and on-demand materials for contributors as part of WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what theyโ€™ve learned throughout the year and share the joy. Learn more. Europeโ€™s contributing team; please share your ideas and resources with @webcommsat or @marks99.
  • @francina highlighted the Yoast Diversity Fund. If youโ€™re interested, contact @francina or @tacoverdo

Props to @audrasjb, @webcommsat and @marybaum for reviewing this post.

#5-8, #accessibility, #dev-chat, #docs, #fse, #full-site-editing, #github, #learnwp, #summary, #updater

Docs Focus role & workflow during WordPress release cycle

This is a summary of a discussion which happened during previous Docs Team meetings and also a proposal for WordPressย 5.8.

During the previous weekly Docs team meetings, a discussion started about how the Documentation team could be better involved during WordPress release cycles.

In recent years, all new versions of WordPress have had a person responsible for the โ€œDocsโ€ focus (@justinahinon for 5.3 and 5.5, @audrasjb for 5.4 and 5.7, @sncoker, @m_butcher and their cohort for 5.6). But even if all the dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. and the Field GuideField guide The field guide is a type of blogpost published on Make/Core during the release candidate phase of the WordPress release cycle. The field guide generally lists all the dev notes published during the beta cycle. This guide is linked in the about page of the corresponding version of WordPress, in the release post and in the HelpHub version page. (which are the main tasks of the Docs Focus) are published, the Docs team pointed out that itโ€™s difficult for them to make sure all the end-user documentation (HelpHub) and the developer documentation (DevHub) are up to date after a new version is released.

WordPress release Docs Focus

@milana_cap (@zzap on SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/) is the Docs Focus Lead for WordPress 5.8. The role of Docs Focus lead includes the responsibilities listed below. For each responsibility, one or more deputies will help the release Docs Focus lead but Milana Cap will remain the unique Docs reference person for the Release squad.

Developers notes wrangling on Make/CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.

  • Keep track of changes within the release that require dev notes
    (changes that require a dev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. must be labelled with the needs-dev-note workflow keyword)
  • Ensure all dev notes are written with enough time to proofread, reviewed, and published prior to the field guide (which is published by the Docs Focus lead at the same time as release candidaterelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). 1)
  • Coordinate with the participants of those tickets with the best understanding of the changes (the committercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component., component maintainers, the contributor who owns the ticketticket Created for both bug reports and feature development on the bug tracker.) to draft dev notes
  • If a ticket participant is not available to write a dev note, finding someone to write one, or writing one yourself
  • Proofread and review dev notes as they are available from the Documentation Wrangling team
    • Verify code examples
    • Make suggestions for additional examples
    • Ensure the developer notes accurately and thoroughly describe the problem, solution, and identify proper usage of the changes

End-user documentation wrangling on HelpHub

  • Keep track of changes within the release that require changes on HelpHub
    (changes that require HelpHub changes (whether itโ€™s a new page or just an update on existing ones) must be labelled with the needs-codex workflow keyword)
  • Ensure any documentation pages required for new features are created before the release
  • Ensure any existing documentation page for changes on existing features are ready to be updated (the day of the final release)
  • Write and publish the release version page on HelpHub
  • Update WordPress versions page on the Codex

Developer documentation wrangling on DevHub

  • Keep track of changes within the release that require changes on DevHub
    (changes that require DevHub changes โ€“whether itโ€™s a new page or just an update on existing onesโ€“ must be labelled with the needs-docs workflow keyword)
  • Ensure any documentation sections required for new features are ready to be updated (they are updated a few days after the final release, once the DevHub automatic parser has synchronized the documentation)
    • โ€œMore informationโ€ sections on DevHub (example)
    • BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor Developer Docs
  • Ensure any existing documentation sections for changes on existing features are ready to be updated (they are also updated a few days after the final release)
    • โ€œMore informationโ€ sections on DevHub
    • Block editor Developer Docs

Workflow

A new spreadsheet will be created by the docs focus lead. The previous spreadsheet was built for dev notes over all, with a simple โ€œHelpHubโ€ column. For WordPress 5.8, the Docs team proposed to use a tab for each responsibility: Dev notes, HelpHub and DevHub, so they can be equally wrangled. Also, Core changes from TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. will be separated from Block Editor changes from GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the โ€˜pull requestโ€™ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/.

Reviewed by @milana_cap and @jeffpaul.

#5-8, #developer-documentation, #devhub, #docs, #documentation, #helphub

Dev Chat meeting Summary โ€“ March 24, 2021

This is the weekly meetings summary of the WordPressย CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.ย team. The facilitator for this weekโ€™s chats was @peterwilsoncc at 05:00 UTC and @audrasjb at 20:00 UTC. Here is theย meeting agenda.

Link to 05:00 UTC devchat meeting on the core channel on Slack

Link to 20:00 UTC devchat meeting on the core channel on Slack

Announcements & News

There is also a couple items on the Make/Core blogblog (versus network, site) that require feedback:

Upcoming WordPress Releases

WordPress 5.7.1

In line withย the trial for consistent minor release leads for each major branch, all the 5.7.x point releases will be led byย @peterwilsoncc, with @audrasjb as deputy.

Here is the expected 5.7.1 release schedule:

  • Release Candidaterelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta).: Wednesday 7 April, 2021 around 23:00 UTC
  • Final release: Wednesday 14 April, 2021 around 23:00 UTC

For now, there areย 26 tickets in the milestone.
11 of them are closed as fixed, or reopened for backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. operations.

@audrasjb plan to run a 5.7.1 bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrub on Thursday March 25, 2021 at 22:00 UTC. Everyone is welcome to attend.

Please note thatย this WordPress 5.7 boardย is the one to watch for GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ updates that will need to land in this release.

WordPress 5.8

@chanthaboune shared some news about WordPress 5.8: @francina started to compile the planning round up and will publish it soon. @lukecarbis, @boniu91 and @hellofromtonya also compiled an early 5.8 bug scrub schedule, and published it right after the devchat.

Component maintainers updates

Generalย (@sergeybiryukov): Work has continued on further fixing jQuery deprecations in WordPress core. See ticketticket Created for both bug reports and feature development on the bug tracker. #51812 for more details.

I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill. (@sergeybiryukov): The list of translations for selecting a timezone in General Settings was updated to add two new timezones and remove some older duplicates. See ticket #52861 for more details.

Build/Test Tools (@sergeybiryukov): no major news this week.

Date/Time (@sergeybiryukov): no major news this week.

Permalinks (@sergeybiryukov): no major news this week.

Themes (@williampatton): the component has had quite a lot of eyes recently but extra help would be appreciated.

Site Health (@clorith): the component has one ticket for 5.7.1, itโ€™s got a proposed solution and feedback. Everyone is welcome to contribute.

Upgrade/Install (@audrasjb): no major news this week.

Menus / Widgets: @audrasjb started to silently scrub both of their awaiting review tickets, in order to prepare 5.8 effort.

Toolbar (@sabernhardt): there is a Toolbar component triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. scheduled on Thursday March 25, 2021 at 15:00 UTC. Also, the Core team nominated @sabernhardt as Toolbar component maintainer and he accepted.

Open floor

@isabel_brison requested some feedback on an overview ticket for adding end-to-end tests to WordPress Core.
The ticket contains suggestions for how to test most of the pages in the WordPress dashboard but requested some feedback on how to, or whether to, test certain pages.

@francina provided a document produced by her colleagues at Yoast recently. These are now available on the ticket.โ€‹

@clorith started a discussion on more frequently merging updates from the Gutenberg pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. in to Core. Highlighting that this would make testing future releases of WordPress features easier without keeping track of which features will remain in the plugin for the time being. There was general support for the idea.โ€‹ @chanthaboune is offered her help to move this forward.

โ€‹@estelaris requested assistance for the Docs team in reviewing end user documentation. Particularly some of the more technical details. Anyone wishing to offer assistance can get in touch via the #docs channel in SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ or by messaging @estelaris directly.โ€‹

@peterwilsoncc requested some highlighted the workflow report for the 5.7.1 release due in April. For contributors wishing to write code and see it released quickly, Peter recommend they review tickets on the โ€œneeds patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing.โ€ section of the report. Contributors wishing to test or review suggested code can review tickets on the โ€œhas patch/needs testingโ€ section of the report.

@webcommsat requested people share two items with the marketing team via shared documents:

Thanks @peterwilsoncc for his help to compile the meetings notes.

#5-7-1, #5-8, #dev-chat, #summary

Editor chat summary: January 9

GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 4.8

  • Gutenberg 4.8 is released and in WordPress 5.0.3. For the full list of change refer the release post.
  • This release was focused on bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes and performance improvements which are included in WordPress 5.0.3.
  • Due to the small gap between 5.0.3 RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). and 5.1 betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process., Gutenberg 4.8 will be included as is in WordPress 5.1.

Release schedule

  • A new release schedule was proposed:
    • Automatically release a new pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. version every 2 weeks with whatโ€™s already available on the master.
    • The remaining PRs in the milestone will automatically be moved to the next release.
    • Build a zip and do a call for testing on Monday, release on Wednesday
    • This will bring more clarity to the schedule and less stress for contributors.
  • There was also a discussion to remove the RC period for the plugin, but no decision reached.

Phase 2 Scope and features

  • There is an issue starting to outline the scope for Phase 2.
  • One of the focus areas for Phase 2 is โ€œwidgets 2 blocksโ€œ. There are a bunch of PRs that require reviews and may development. Would be great to get some contributions there for those looking to help.
  • An โ€˜async modeโ€™ has been introduced to batch state updates and improve the performance of the editor with long content. As part of this, there is a structural change to the data module, everyone is encouraged to test for regressions with their custom blocks
  • There is proposed a โ€˜Generic block editor moduleโ€™, to build a post agnostic editor. This will make it easier to embed Gutenberg in other places, such as widgets screens.

Open floor

@chrisvanpatten temporarily steps down from Gutenberg docs lead due to personal priorities and @dryanpress will step up instead.

The meeting archive is here.

The agenda for the next meeting is here, please add anything you want to discuss.

#5-0-3, #meeting-notes, #editor-chat

#core-editor-summary, #docs

Editor Chat Notes: December 19th๏ปฟ

These are the notes the weeklyย editorย chatย meeting held onย Wednesday, 19th December 2018, 14:00 GMT:

  • Next week there will be no meeting to pause for holidays.
  • Volunteers for notes each week were asked for and @pbrocks, @orientedvirus8 and @ajitbohra volunteered.
  • GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 4.7.1 has been released with small fix for editor.BlockListBlock filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. that was causing some BC issues for ACF blocks and other plugins.
  • Update on the Commit and merge status https://make.wordpress.org/core/2018/12/19/gutenberg-commits-and-merge-status-update/
    • Idea to bring some organising to the Gutenberg repo. We have a new branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". called g-minor that will contain critical fixes to be back ported to coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. via package releases.
    • It was raised to consider using gitflow completely and document what the name means.
    • Some discussion rose around name of the branch and using gitflow.
  • 5.0.3 Focus: https://github.com/WordPress/gutenberg/milestone/83
    • This is the main focus now.
    • Uncertain if 5.0.3 will happen soon, dev chat will confirm this, however continue as if happening.
    • Please review, merge and fix those issues.
  • Update on the Widgets to Blocks conversion https://make.wordpress.org/core/2018/12/17/status-update-porting-widgets-to-blocks/
  • @gziolo is playing with e2e tests to include popular plugins: https://github.com/WordPress/gutenberg/pull/12578. Asked for help from anyone that has an idea how to make this easier. Ideally there would be one command which could run against a pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. name/url/zip.
  • @notnownikki has a testing request for: https://github.com/WordPress/gutenberg/pull/12981.
  • @chrisvanpatten gave a docs update
    • Trying to merge PRs quickly this week.
    • Thanks for everyone contributing.
    • Dev docs are improving rapidly.
    • User docs are focused on publishing a draft Google doc by the end of this week. A p2 post on make/docs will outline how anyone can contribute to this.
    • Docs meetings are on a haitus until January 8th but please continue follow in GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the โ€˜pull requestโ€™ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/ and on SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ in #docs.

Theย meetingย archiveย isย here.

The agenda for the next meeting is here, please add anything you want to discuss.

#5-0-3,ย #meeting-notes,ย #core,ย #editor-chat