r</h2>\n\n\n\n<p><strong>Content that adapts.</strong></p>\n\n\n\n<p>There&#8217;s a new typography option for text-based blocks that&#8217;s been added to the Paragraph and Heading blocks. This new option automatically adjusts font size to fill its container perfectly, making it ideal for banners, callouts, and standout moments in your design.</p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"&quot;Novem&quot; text selected and stretching across the interface.\" class=\"wp-image-19431\" height=\"840\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/12/post-fit-text.png?resize=1360%2C840&#038;ssl=1\" width=\"1360\" /></figure>\n\n\n\n<h2 class=\"wp-block-heading\">The Abilities API</h2>\n\n\n\n<p><strong>Unlocking the next generation of site interactions.</strong></p>\n\n\n\n<p>WordPress 6.9 lays the groundwork for the future of automation with the unified Abilities API. By creating a standardized registry for site functionality, developers can now register, validate, and execute actions consistently across any context—from PHP and REST endpoints to AI agents—paving the way for smarter, more connected WordPress experiences.</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"Abstract view of circles around a plugin icon with sparkles, indicating AI functionality.\" class=\"wp-image-19432\" height=\"632\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/12/abilities-api.png?resize=1024%2C632&#038;ssl=1\" width=\"1024\" /></figure>\n\n\n\n<h2 class=\"wp-block-heading\">Accessibility Improvements</h2>\n\n\n\n<p>More than 30 accessibility fixes sharpen the core WordPress experience. These updates improve screen reader announcements, hide unnecessary CSS-generated content from assistive tech, fix cursor placement issues, and make sure typing focus stays put even when users click an autocomplete suggestion.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Performance enhancements</h2>\n\n\n\n<p>WordPress 6.9 delivers significant frontend performance enhancements, optimizing the site loading experience for visitors. 6.9 boasts an improved LCP (Largest Contentful Paint) through on-demand block styles for classic themes, minifying block theme styles, and increasing the limit for inline styles &#8211; removing blockages to page rendering and clearing the rendering path by deprioritizing non-critical scripts. This release comes with many more performance boosts, including optimized database queries, refined caching, improved spawning of WP Cron, and a new template enhancement output buffer that opens the door for more future optimizations.</p>\n\n\n\n<h3 class=\"wp-block-heading\">And much more</h3>\n\n\n\n<p>For a comprehensive overview of all the new features and enhancements in WordPress 6.9, please visit the feature-showcase website.</p>\n\n\n\n<p><a href=\"https://wordpress.org/download/releases/6-9\">Check out What&#8217;s New</a></p>\n\n\n\n<h2 class=\"wp-block-heading\">Learn more about WordPress 6.9</h2>\n\n\n\n<p><a href=\"https://learn.wordpress.org/\">Learn WordPress</a> is a free resource for new and experienced WordPress users. Learn is stocked with how-to videos on using various features in WordPress, <a href=\"https://learn.wordpress.org/social-learning/\">interactive workshops</a> for exploring topics in-depth, and lesson plans for diving deep into specific areas of WordPress.</p>\n\n\n\n<p>Read the <a href=\"https://wordpress.org/documentation/wordpress-version/version-6.9\">WordPress 6.9 Release Notes</a> for information on installation, enhancements, fixed issues, release contributors, learning resources, and the list of file changes.</p>\n\n\n\n<p>Explore the <a href=\"https://make.wordpress.org/core/wordpress-6-9-field-guide/\">WordPress 6.9 Field Guide</a>. Learn about the changes in this release with detailed developer notes to help you build with WordPress.</p>\n\n\n\n<h2 class=\"wp-block-heading\">The 6.9 release squad</h2>\n\n\n\n<p>Every release comes to you from a dedicated team of enthusiastic contributors who help keep things on track and moving smoothly. The team that has led 6.9 is a cross-functional group of contributors who are always ready to champion ideas, remove blockers, and resolve issues.</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Release Lead: <a href=\"https://profiles.wordpress.org/matt/\">Matt Mullenweg</a></li>\n\n\n\n<li>Release Coordination: <a href=\"https://profiles.wordpress.org/akshayar/\">Akshaya Rane</a>, <a href=\"https://profiles.wordpress.org/amykamala/\">Amy Kamala</a></li>\n\n\n\n<li>Tech Leads: <a href=\"https://profiles.wordpress.org/davidbaumwald/\">David Baumwald</a>, <a href=\"https://profiles.wordpress.org/ellatrix/\">Ella van Durpe</a>, <a href=\"https://profiles.wordpress.org/priethor/\">Héctor Prieto</a></li>\n\n\n\n<li>Design Lead: <a href=\"https://profiles.wordpress.org/fcoveram/\">Francisco Vera</a></li>\n\n\n\n<li>Triage Leads: <a href=\"https://profiles.wordpress.org/wildworks/\">Aki Hamano</a>, <a href=\"https://profiles.wordpress.org/welcher/\">Ryan Welcher</a></li>\n\n\n\n<li>Test Leads: <a href=\"https://profiles.wordpress.org/psykro/\">Jonathan Bossenger</a>, <a href=\"https://profiles.wordpress.org/krupajnanda/\">Krupa Nanda</a></li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\">Thank you, contributors</h2>\n\n\n\n<p>The mission of WordPress is to <a href=\"https://wordpress.org/about/\">democratize publishing</a> and embody the <a href=\"https://opensource.org/osd-annotated\">freedoms that come with open source</a>. A global and diverse community of people collaborating to strengthen the software supports this effort.</p>\n\n\n\n<p>WordPress 6.9 reflects the tireless efforts and passion of more than 900+ contributors in countries all over the world. This release also welcomed over 279 first-time contributors!</p>\n\n\n\n<p>Their collaboration delivered more than 340 enhancements and fixes, ensuring a stable release for all &#8211; a testament to the power and capability of the WordPress open source community.</p>\n\n\n\n<p class=\"has-small-font-size\"><a href=\"https://profiles.wordpress.org/o-o/\">2046</a> · <a href=\"https://profiles.wordpress.org/aakashverma1/\">Aakash Verma</a> · <a href=\"https://profiles.wordpress.org/jorbin/\">Aaron Jorbin</a> · <a href=\"https://profiles.wordpress.org/aaronrobertshaw/\">Aaron Robertshaw</a> · <a href=\"https://profiles.wordpress.org/aarti1318/\">Aarti Chauhan</a> · <a href=\"https://profiles.wordpress.org/thehercules/\">Aashish Sharma</a> · <a href=\"https://profiles.wordpress.org/aatospaja/\">aatospaja</a> · <a href=\"https://profiles.wordpress.org/abduremon/\">Abdur Rahman Emon</a> · <a href=\"https://profiles.wordpress.org/hurayraiit/\">Abu Hurayra</a> · <a href=\"https://profiles.wordpress.org/kawauso/\">Adam Harley (Kawauso)</a> · <a href=\"https://profiles.wordpress.org/adamsilverstein/\">Adam Silverstein</a> · <a href=\"https://profiles.wordpress.org/zieladam/\">Adam Zieliński</a> · <a href=\"https://profiles.wordpress.org/adityab98/\">Aditya Bansode</a> · <a href=\"https://profiles.wordpress.org/b1ink0/\">Aditya Dhade</a> · <a href=\"https://profiles.wordpress.org/adityashah2411/\">aditya shah</a> · <a href=\"https://profiles.wordpress.org/iamadisingh/\">Aditya Singh</a> · <a href=\"https://profiles.wordpress.org/aduth/\">aduth</a> · <a href=\"https://profiles.wordpress.org/agulbra/\">agulbra</a> · <a href=\"https://profiles.wordpress.org/elazzabi/\">Ahmed</a> · <a href=\"https://profiles.wordpress.org/ajaxstardust/\">ajaxStardust</a> · <a href=\"https://profiles.wordpress.org/ajitbohra/\">Ajit Bohra</a> · <a href=\"https://profiles.wordpress.org/akanshusingh/\">Akanshu Singh</a> · <a href=\"https://profiles.wordpress.org/akeda/\">Akeda Bagus</a> · <a href=\"https://profiles.wordpress.org/wildworks/\">Aki Hamano</a> · <a href=\"https://profiles.wordpress.org/atachibana/\">Akira Tachibana</a> · <a href=\"https://profiles.wordpress.org/wpfy/\">Akramul Hasan</a> · <a href=\"https://profiles.wordpress.org/akshat2802/\">Akshat Kakkad</a> · <a href=\"https://profiles.wordpress.org/akshaydhere/\">Akshay Dhere</a> · <a href=\"https://profiles.wordpress.org/akshayar/\">Akshaya Rane</a> · <a href=\"https://profiles.wordpress.org/aljullu/\">Albert Juh&#233; Lluveras</a> · <a href=\"https://profiles.wordpress.org/alejandrogonzalvo/\">alejandrogonzalvo</a> · <a href=\"https://profiles.wordpress.org/alexcu21/\">Alex Cuadra</a> · <a href=\"https://profiles.wordpress.org/ajlende/\">Alex Lende</a> · <a href=\"https://profiles.wordpress.org/alexclassroom/\">Alex Lion (阿力獅)</a> · <a href=\"https://profiles.wordpress.org/alexstine/\">Alex Stine</a> · <a href=\"https://profiles.wordpress.org/alexandrebuffet/\">Alexandre Buffet</a> · <a href=\"https://profiles.wordpress.org/alexus450/\">Alexei Samarschi</a> · <a href=\"https://profiles.wordpress.org/alexius08/\">Alexis Pandaan</a> · <a href=\"https://profiles.wordpress.org/alordiel/\">alordiel</a> · <a href=\"https://profiles.wordpress.org/mrfoxtalbot/\">Alvaro G&#243;mez</a> · <a href=\"https://profiles.wordpress.org/alh0319/\">Amber Hinds</a> · <a href=\"https://profiles.wordpress.org/amin7/\">Amin</a> · <a href=\"https://profiles.wordpress.org/theaminuldev/\">Aminul Islam</a> · <a href=\"https://profiles.wordpress.org/aialvi/\">Aminul Islam Alvi</a> · <a href=\"https://profiles.wordpress.org/amitbhosale/\">Amit Bhosale</a> · <a href=\"https://profiles.wordpress.org/amykamala/\">Amy Kamala</a> · <a href=\"https://profiles.wordpress.org/anatolbroder/\">Anatol Broder</a> · <a href=\"https://profiles.wordpress.org/anlino/\">Anders Nor&#233;n</a> · <a href=\"https://profiles.wordpress.org/afercia/\">Andrea Fercia</a> · <a href=\"https://profiles.wordpress.org/awetz583/\">Andrea Roenning</a> · <a href=\"https://profiles.wordpress.org/andraganescu/\">Andrei Draganescu</a> · <a href=\"https://profiles.wordpress.org/andrewhoyer/\">Andrew Hoyer</a> · <a href=\"https://profiles.wordpress.org/nacin/\">Andrew Nacin</a> · <a href=\"https://profiles.wordpress.org/azaozz/\">Andrew Ozz</a> · <a href=\"https://profiles.wordpress.org/andrewserong/\">Andrew Serong</a> · <a href=\"https://profiles.wordpress.org/oandregal/\">André Maneiro</a> · <a href=\"https://profiles.wordpress.org/afragen/\">Andy Fragen</a> · <a href=\"https://profiles.wordpress.org/mymothersdaughter/\">Anita C</a> · <a href=\"https://profiles.wordpress.org/ankit-k-gupta/\">Ankit K Gupta</a> · <a href=\"https://profiles.wordpress.org/ankitkumarshah/\">Ankit Kumar Shah</a> · <a href=\"https://profiles.wordpress.org/ankitmaru/\">Ankit Panchal</a> · <a href=\"https://profiles.wordpress.org/annezazu/\">Anne McCarthy</a> · <a href=\"https://profiles.wordpress.org/annebovelett/\">Anne-Mieke Bovelett</a> · <a href=\"https://profiles.wordpress.org/antonvlasenko/\">Anton Vlasenko</a> · <a href=\"https://profiles.wordpress.org/antoniosejas/\">Antonio Sejas</a> · <a href=\"https://profiles.wordpress.org/anujrathore24/\">Anuj Singh</a> · <a href=\"https://profiles.wordpress.org/anveshika/\">Anveshika Srivastava</a> · <a href=\"https://profiles.wordpress.org/apmeyer/\">apmeyer</a> · <a href=\"https://profiles.wordpress.org/aristath/\">Ari Stathopoulos</a> · <a href=\"https://profiles.wordpress.org/fliespl/\">Arkadiusz Rzadkowolski</a> · <a href=\"https://profiles.wordpress.org/armandovias/\">Armando</a> · <a href=\"https://profiles.wordpress.org/artemiosans/\">Artemio Morales</a> · <a href=\"https://profiles.wordpress.org/arthur791004/\">Arthur Chu</a> · <a href=\"https://profiles.wordpress.org/artpi/\">Artur Piszek</a> · <a href=\"https://profiles.wordpress.org/artz91/\">ArtZ91</a> · <a href=\"https://profiles.wordpress.org/asafm7/\">asafm7</a> · <a href=\"https://profiles.wordpress.org/asdofindia/\">asdofindia</a> · <a href=\"https://profiles.wordpress.org/ashfame/\">Ashish Kumar (Ashfame)</a> · <a href=\"https://profiles.wordpress.org/akashdev/\">Ashraful Haque Akash</a> · <a href=\"https://profiles.wordpress.org/askapache/\">askapache</a> · <a href=\"https://profiles.wordpress.org/aslamdoctor/\">Aslam Doctor</a> · <a href=\"https://profiles.wordpress.org/aurooba/\">Aurooba Ahmed</a> · <a href=\"https://profiles.wordpress.org/aut0poietic/\">aut0poietic</a> · <a href=\"https://profiles.wordpress.org/aksl95/\">Axel DUCORON</a> · <a href=\"https://profiles.wordpress.org/ayeshrajans/\">Ayesh Karunaratne</a> · <a href=\"https://profiles.wordpress.org/azharderaiya/\">Azhar Deraiya</a> · <a href=\"https://profiles.wordpress.org/beryldlg/\">B&#233;ryl de La Grandi&#232;re</a> · <a href=\"https://profiles.wordpress.org/bartnv/\">bartnv</a> · <a href=\"https://profiles.wordpress.org/bchecketts/\">bchecketts</a> · <a href=\"https://profiles.wordpress.org/beee/\">Beee</a> · <a href=\"https://profiles.wordpress.org/scruffian/\">Ben Dwyer</a> · <a href=\"https://profiles.wordpress.org/benazeer/\">Benazeer</a> · <a href=\"https://profiles.wordpress.org/rainbowgeek/\">Benjamin Denis</a> · <a href=\"https://profiles.wordpress.org/benjamin_zekavica/\">Benjamin Zekavica</a> · <a href=\"https://profiles.wordpress.org/bvl/\">Benny</a> · <a href=\"https://profiles.wordpress.org/benoitchantre/\">Benoit Chantre</a> · <a href=\"https://profiles.wordpress.org/kau-boy/\">Bernhard Kau</a> · <a href=\"https://profiles.wordpress.org/bernhard reiter/\">Bernhard Reiter</a> · <a href=\"https://profiles.wordpress.org/bernhard-reiter/\">bernhard-reiter</a> · <a href=\"https://profiles.wordpress.org/bgermann/\">bgermann</a> · <a href=\"https://profiles.wordpress.org/bhattaganesh/\">bhattaganesh</a> · <a href=\"https://profiles.wordpress.org/bhaveshdesai/\">Bhavesh Desai</a> · <a href=\"https://profiles.wordpress.org/bidbmak/\">BiDbMAK</a> · <a href=\"https://profiles.wordpress.org/mbigul/\">Bigul Malayi</a> · <a href=\"https://profiles.wordpress.org/birgire/\">Birgir Erlendsson (birgire)</a> · <a href=\"https://profiles.wordpress.org/bph/\">Birgit Pauli-Haack</a> · <a href=\"https://profiles.wordpress.org/rainynewt/\">Bishal Shrestha</a> · <a href=\"https://profiles.wordpress.org/bobbyleenoblestudios/\">bobbyleenoblestudios</a> · <a href=\"https://profiles.wordpress.org/bogdanungureanu/\">BogdanUngureanu</a> · <a href=\"https://profiles.wordpress.org/gitlost/\">bonger</a> · <a href=\"https://profiles.wordpress.org/bor0/\">Boro Sitnikovski</a> · <a href=\"https://profiles.wordpress.org/burlesonbrad/\">Brad Griffin</a> · <a href=\"https://profiles.wordpress.org/bradley2083/\">brad hogan</a> · <a href=\"https://profiles.wordpress.org/bjorsch/\">Brad Jorsch</a> · <a href=\"https://profiles.wordpress.org/bradshawtm/\">bradshawtm</a> · <a href=\"https://profiles.wordpress.org/bhubbard/\">Brandon Hubbard</a> · <a href=\"https://profiles.wordpress.org/kraftbj/\">Brandon Kraft</a> · <a href=\"https://profiles.wordpress.org/heybran/\">Brandon Zhang</a> · <a href=\"https://profiles.wordpress.org/bgoewert/\">Brennan Goewert</a> · <a href=\"https://profiles.wordpress.org/brhodes/\">brhodes</a> · <a href=\"https://profiles.wordpress.org/ironprogrammer/\">Brian Alexander</a> · <a href=\"https://profiles.wordpress.org/bacoords/\">Brian Coords</a> · <a href=\"https://profiles.wordpress.org/bgardner/\">Brian Gardner</a> · <a href=\"https://profiles.wordpress.org/masteradhoc/\">Brian Haas</a> · <a href=\"https://profiles.wordpress.org/brumack/\">brumack</a> · <a href=\"https://profiles.wordpress.org/bschneidewind/\">Bryan Schneidewind</a> · <a href=\"https://profiles.wordpress.org/bshuchter/\">bshuchter</a> · <a href=\"https://profiles.wordpress.org/burnuser/\">burnuser</a> · <a href=\"https://profiles.wordpress.org/byteninjaa0/\">byteninjaa0</a> · <a href=\"https://profiles.wordpress.org/cedche99/\">C&#233;dric Chevillard</a> · <a href=\"https://profiles.wordpress.org/callumbw95/\">Callum Bridgford-Whittick</a> · <a href=\"https://profiles.wordpress.org/snicco/\">Calvin Alkan</a> · <a href=\"https://profiles.wordpress.org/karl94/\">Carlo Cannas</a> · <a href=\"https://profiles.wordpress.org/cbravobernal/\">Carlos Bravo</a> · <a href=\"https://profiles.wordpress.org/carlosgprim/\">Carlos G. P.</a> · <a href=\"https://profiles.wordpress.org/carlsteffen/\">CarlSteffen</a> · <a href=\"https://profiles.wordpress.org/poena/\">Carolina Nymark</a> · <a href=\"https://profiles.wordpress.org/corazondejaguar/\">Carolina Romo</a> · <a href=\"https://profiles.wordpress.org/ciobanucatalin/\">Catalin Ciobanu</a> · <a href=\"https://profiles.wordpress.org/catgofire/\">catgofire</a> · <a href=\"https://profiles.wordpress.org/cbirdsong/\">cbirdsong</a> · <a href=\"https://profiles.wordpress.org/ccharel/\">ccharel</a> · <a href=\"https://profiles.wordpress.org/cbutlerjr/\">Chad Butler</a> · <a href=\"https://profiles.wordpress.org/shireling/\">Chad Chadbourne</a> · <a href=\"https://profiles.wordpress.org/cherrygot/\">Chakrapani Gautam</a> · <a href=\"https://profiles.wordpress.org/chihsuan/\">Chi-Hsuan Huang</a> · <a href=\"https://profiles.wordpress.org/chillifish/\">Chillifish</a> · <a href=\"https://profiles.wordpress.org/chloed/\">ChloeD</a> · <a href=\"https://profiles.wordpress.org/chouby/\">Chouby</a> · <a href=\"https://profiles.wordpress.org/czarate/\">Chris Zarate</a> · <a href=\"https://profiles.wordpress.org/chriscct7/\">chriscct7</a> · <a href=\"https://profiles.wordpress.org/chrisdotdotdot/\">chrisdotdotdot</a> · <a href=\"https://profiles.wordpress.org/chrismattix/\">chrismattix</a> · <a href=\"https://profiles.wordpress.org/christinecooper/\">christinecooper</a> · <a href=\"https://profiles.wordpress.org/apermo/\">Christoph Daum</a> · <a href=\"https://profiles.wordpress.org/nyiriland/\">Christy Nyiri</a> · <a href=\"https://profiles.wordpress.org/cikrimcin/\">cikrimcin</a> · <a href=\"https://profiles.wordpress.org/butterflymedia/\">Ciprian Popescu</a> · <a href=\"https://profiles.wordpress.org/chrisvendiadvertisingcom/\">cjhaas</a> · <a href=\"https://profiles.wordpress.org/ckoerner/\">ckoerner</a> · <a href=\"https://profiles.wordpress.org/claimableperch/\">claimableperch</a> · <a href=\"https://profiles.wordpress.org/codeamp/\">Code Amp</a> · <a href=\"https://profiles.wordpress.org/codebuddy/\">codebuddy</a> · <a href=\"https://profiles.wordpress.org/coleatkinson1/\">coleatkinson1</a> · <a href=\"https://profiles.wordpress.org/costdev/\">Colin Stewart</a> · <a href=\"https://profiles.wordpress.org/colind/\">ColinD</a> · <a href=\"https://profiles.wordpress.org/ogrecooper/\">Cooper Dalrymple</a> · <a href=\"https://profiles.wordpress.org/coralietixeront/\">Coralie Tixeront</a> · <a href=\"https://profiles.wordpress.org/salzano/\">Corey Salzano</a> · <a href=\"https://profiles.wordpress.org/coreyw/\">Corey Worrell</a> · <a href=\"https://profiles.wordpress.org/cornwell/\">Cornwell</a> · <a href=\"https://profiles.wordpress.org/cr0ybot/\">Cory Hughart</a> · <a href=\"https://profiles.wordpress.org/courane01/\">Courtney Robertson</a> · <a href=\"https://profiles.wordpress.org/cucocreative/\">cucocreative</a> · <a href=\"https://profiles.wordpress.org/cwhitmore/\">Cullen Whitmore</a> · <a href=\"https://profiles.wordpress.org/cyrille37/\">Cyrille37</a> · <a href=\"https://profiles.wordpress.org/daanvandenbergh/\">Daan van den Bergh</a> · <a href=\"https://profiles.wordpress.org/acketon/\">Dakota Chichester</a> · <a href=\"https://profiles.wordpress.org/damchtlv/\">damchtlv</a> · <a href=\"https://profiles.wordpress.org/damir-webthemer/\">Damir</a> · <a href=\"https://profiles.wordpress.org/colorful-tones/\">Damon Cook</a> · <a href=\"https://profiles.wordpress.org/dancameron/\">Dan Cameron</a> · <a href=\"https://profiles.wordpress.org/danielpw/\">Dan Waldschmidt</a> · <a href=\"https://profiles.wordpress.org/danielbachhuber/\">Daniel Bachhuber</a> · <a href=\"https://profiles.wordpress.org/danieliser/\">Daniel Iser</a> · <a href=\"https://profiles.wordpress.org/talldanwp/\">Daniel Richards</a> · <a href=\"https://profiles.wordpress.org/mte90/\">Daniele Scasciafratte</a> · <a href=\"https://profiles.wordpress.org/daniellacatus/\">daniellacatus</a> · <a href=\"https://profiles.wordpress.org/danielmorell/\">danielmorell</a> · <a href=\"https://profiles.wordpress.org/dscqbus/\">Danny Schmarsel</a> · <a href=\"https://profiles.wordpress.org/dannyreaktiv/\">dannyreaktiv</a> · <a href=\"https://profiles.wordpress.org/nerrad/\">Darren Ethier (nerrad)</a> · <a href=\"https://profiles.wordpress.org/darshitrajyaguru97/\">Darshit Rajyaguru</a> · <a href=\"https://profiles.wordpress.org/dryanpress/\">Dave Ryan</a> · <a href=\"https://profiles.wordpress.org/daveguitaruno/\">daveguitaruno</a> · <a href=\"https://profiles.wordpress.org/davilera/\">David Aguilera</a> · <a href=\"https://profiles.wordpress.org/darerodz/\">David Arenas</a> · <a href=\"https://profiles.wordpress.org/dartiss/\">David Artiss</a> · <a href=\"https://profiles.wordpress.org/davidbaumwald/\">David Baumwald</a> · <a href=\"https://profiles.wordpress.org/dpcalhoun/\">David Calhoun</a> · <a href=\"https://profiles.wordpress.org/dlh/\">David Herrera</a> · <a href=\"https://profiles.wordpress.org/justlevine/\">David Levine</a> · <a href=\"https://profiles.wordpress.org/davidperez/\">David Perez</a> · <a href=\"https://profiles.wordpress.org/djivad/\">David Riviera</a> · <a href=\"https://profiles.wordpress.org/get_dave/\">David Smith</a> · <a href=\"https://profiles.wordpress.org/davidb/\">DavidB</a> · <a href=\"https://profiles.wordpress.org/dawidadach/\">dawidadach</a> · <a href=\"https://profiles.wordpress.org/dsas/\">Dean Sas</a> · <a href=\"https://profiles.wordpress.org/dkarfa/\">Debabrata Karfa</a> · <a href=\"https://profiles.wordpress.org/debarghyabanerjee/\">DEBARGHYA BANERJEE</a> · <a href=\"https://profiles.wordpress.org/denis-de-bernardy/\">Denis de Bernardy</a> · <a href=\"https://profiles.wordpress.org/dingo_d/\">Denis Žoljom</a> · <a href=\"https://profiles.wordpress.org/realloc/\">Dennis Ploetner</a> · <a href=\"https://profiles.wordpress.org/dmsnell/\">Dennis Snell</a> · <a href=\"https://profiles.wordpress.org/dennysdionigi/\">Dennys Dionigi</a> · <a href=\"https://profiles.wordpress.org/densinakum/\">Densi Nakum</a> · <a href=\"https://profiles.wordpress.org/derekherman/\">derekherman</a> · <a href=\"https://profiles.wordpress.org/devasheeshkaul/\">Devasheesh Kaul</a> · <a href=\"https://profiles.wordpress.org/dhananjaykuber/\">Dhananjay Kuber</a> · <a href=\"https://profiles.wordpress.org/dhrumilk/\">Dhrumil Kumbhani</a> · <a href=\"https://profiles.wordpress.org/dhruval04/\">Dhruval Shah</a> · <a href=\"https://profiles.wordpress.org/dhruvang21/\">Dhruvang21</a> · <a href=\"https://profiles.wordpress.org/dhruvik18/\">Dhruvik Malaviya</a> · <a href=\"https://profiles.wordpress.org/diebombe/\">diebombe</a> · <a href=\"https://profiles.wordpress.org/dilipbheda/\">Dilip Bheda</a> · <a href=\"https://profiles.wordpress.org/dilip2615/\">Dilip Modhavadiya</a> · <a href=\"https://profiles.wordpress.org/dd32/\">Dion Hulse</a> · <a href=\"https://profiles.wordpress.org/divinenephron/\">divinenephron</a> · <a href=\"https://profiles.wordpress.org/djcowan/\">dj.cowan</a> · <a href=\"https://profiles.wordpress.org/ocean90/\">Dominik Schilling</a> · <a href=\"https://profiles.wordpress.org/dominiquepijnenburg/\">dominiquepijnenburg</a> · <a href=\"https://profiles.wordpress.org/donalirl/\">donalirl</a> · <a href=\"https://profiles.wordpress.org/doughamlin/\">doughamlin</a> · <a href=\"https://profiles.wordpress.org/dougmelvin/\">DougMelvin</a> · <a href=\"https://profiles.wordpress.org/drawcard/\">drawcard</a> · <a href=\"https://profiles.wordpress.org/dretzlaff/\">dretzlaff</a> · <a href=\"https://profiles.wordpress.org/drewapicture/\">Drew Jaynes</a> · <a href=\"https://profiles.wordpress.org/drivingralle/\">Drivingralle</a> · <a href=\"https://profiles.wordpress.org/dsawyers/\">dsawyers</a> · <a href=\"https://profiles.wordpress.org/dustintechsmith/\">dustintechsmith</a> · <a href=\"https://profiles.wordpress.org/eclev91/\">eclev91</a> · <a href=\"https://profiles.wordpress.org/eduwass/\">eduwass</a> · <a href=\"https://profiles.wordpress.org/ehti/\">Ehti</a> · <a href=\"https://profiles.wordpress.org/elialum/\">elialum</a> · <a href=\"https://profiles.wordpress.org/eliezerspp/\">Eliezer Pe&#241;a</a> · <a href=\"https://profiles.wordpress.org/ellatrix/\">Ella van Durpe</a> · <a href=\"https://profiles.wordpress.org/elvismdev/\">Elvis Morales</a> · <a href=\"https://profiles.wordpress.org/emaildano/\">emaildano</a> · <a href=\"https://profiles.wordpress.org/codex-m/\">Emerson Maningo</a> · <a href=\"https://profiles.wordpress.org/emlebrun/\">Emilie LEBRUN</a> · <a href=\"https://profiles.wordpress.org/emranahmed/\">Emran Ahmed</a> · <a href=\"https://profiles.wordpress.org/enaanfarhan/\">Enaan Farhan</a> · <a href=\"https://profiles.wordpress.org/lopo/\">Enrico Battocchi</a> · <a href=\"https://profiles.wordpress.org/nrqsnchz/\">Enrique S&#225;nchez</a> · <a href=\"https://profiles.wordpress.org/epeicher/\">epeicher</a> · <a href=\"https://profiles.wordpress.org/ekazda/\">Eric</a> · <a href=\"https://profiles.wordpress.org/ericlewis/\">Eric Andrew Lewis</a> · <a href=\"https://profiles.wordpress.org/ethitter/\">Erick Hitter</a> · <a href=\"https://profiles.wordpress.org/kebbet/\">Erik</a> · <a href=\"https://profiles.wordpress.org/ejoling/\">Erik Joling</a> · <a href=\"https://profiles.wordpress.org/im3dabasia1/\">Eshaan Dabasiya</a> · <a href=\"https://profiles.wordpress.org/ethanscorey/\">ethanscorey</a> · <a href=\"https://profiles.wordpress.org/circlecube/\">Evan Mullins</a> · <a href=\"https://profiles.wordpress.org/etobiesen/\">Even Tobiesen</a> · <a href=\"https://profiles.wordpress.org/fabiankaegy/\">Fabian Kägy</a> · <a href=\"https://profiles.wordpress.org/gaambo/\">Fabian Todt</a> · <a href=\"https://profiles.wordpress.org/faisalahammad/\">Faisal Ahammad</a> · <a href=\"https://profiles.wordpress.org/faisal03/\">Faisal Alvi</a> · <a href=\"https://profiles.wordpress.org/fakhriaz/\">fakhriaz</a> · <a href=\"https://profiles.wordpress.org/falgunihdesai/\">Falguni Desai</a> · <a href=\"https://profiles.wordpress.org/flixos90/\">Felix Arntz</a> · <a href=\"https://profiles.wordpress.org/ffffelix/\">Felix Renicks</a> · <a href=\"https://profiles.wordpress.org/fellyph/\">Fellyph Cintra</a> · <a href=\"https://profiles.wordpress.org/mista-flo/\">Florian TIAR</a> · <a href=\"https://profiles.wordpress.org/fcoveram/\">Francisco Vera</a> · <a href=\"https://profiles.wordpress.org/frogdesk/\">FrogDesk Strategy</a> · <a href=\"https://profiles.wordpress.org/takahashi_fumiki/\">Fumiki Takahashi</a> · <a href=\"https://profiles.wordpress.org/gaeldenysiak/\">Gael Denysiak</a> · <a href=\"https://profiles.wordpress.org/gajendrasingh/\">Gajendra Singh</a> · <a href=\"https://profiles.wordpress.org/ecgan/\">Gan Eng Chin</a> · <a href=\"https://profiles.wordpress.org/garrett-eclipse/\">Garrett Hyder</a> · <a href=\"https://profiles.wordpress.org/garyj/\">Gary Jones</a> · <a href=\"https://profiles.wordpress.org/pento/\">Gary Pendergast</a> · <a href=\"https://profiles.wordpress.org/guddu1315/\">Gaurang Dabhi</a> · <a href=\"https://profiles.wordpress.org/gautam23/\">Gautam Mehta</a> · <a href=\"https://profiles.wordpress.org/soulseekah/\">Gennady Kovshenin</a> · <a href=\"https://profiles.wordpress.org/mamaduka/\">George Mamadashvili</a> · <a href=\"https://profiles.wordpress.org/georgestephanis/\">George Stephanis</a> · <a href=\"https://profiles.wordpress.org/stoyanovgs/\">Georgi Stoyanov</a> · <a href=\"https://profiles.wordpress.org/gernberg/\">gernberg</a> · <a href=\"https://profiles.wordpress.org/giuliorubelli/\">giuliorubelli</a> · <a href=\"https://profiles.wordpress.org/glendaviesnz/\">Glen Davies</a> · <a href=\"https://profiles.wordpress.org/ingeniumed/\">Gopal Krishnan</a> · <a href=\"https://profiles.wordpress.org/grantmkin/\">Grant M. Kinney</a> · <a href=\"https://profiles.wordpress.org/gziolo/\">Greg Ziółkowski</a> · <a href=\"https://profiles.wordpress.org/guido07111975/\">Guido</a> · <a href=\"https://profiles.wordpress.org/wido/\">Guido Scialfa</a> · <a href=\"https://profiles.wordpress.org/guillaumeturpin/\">Guillaume TURPIN</a> · <a href=\"https://profiles.wordpress.org/gulamdastgir04/\">Gulamdastgir Momin</a> · <a href=\"https://profiles.wordpress.org/adrock42/\">H. Adam Lenz</a> · <a href=\"https://profiles.wordpress.org/kabir93/\">H. Kabir</a> · <a href=\"https://profiles.wordpress.org/hanimbarek/\">hanimbarek</a> · <a href=\"https://profiles.wordpress.org/hanneslsm/\">hanneslsm</a> · <a href=\"https://profiles.wordpress.org/hage/\">Hans-Gerd Gerhards</a> · <a href=\"https://profiles.wordpress.org/hardik2221/\">Hardik Raval</a> · <a href=\"https://profiles.wordpress.org/hareesh-pillai/\">Hareesh S</a> · <a href=\"https://profiles.wordpress.org/harshgajipara/\">Harsh Gajipara</a> · <a href=\"https://profiles.wordpress.org/harshalkadu/\">Harshal Kadu</a> · <a href=\"https://profiles.wordpress.org/harshbhonsle08/\">harshbhonsle08</a> · <a href=\"https://profiles.wordpress.org/harshdeepgill/\">harshdeepgill</a> · <a href=\"https://profiles.wordpress.org/haruncpi/\">Harun</a> · <a href=\"https://profiles.wordpress.org/helen/\">Helen Hou-Sandi</a> · <a href=\"https://profiles.wordpress.org/helgatheviking/\">HelgaTheViking</a> · <a href=\"https://profiles.wordpress.org/hideishi/\">Hidenori ISHIKAWA</a> · <a href=\"https://profiles.wordpress.org/hilayt24/\">Hilay Trivedi</a> · <a href=\"https://profiles.wordpress.org/panchalhimani711/\">Himani Panchal</a> · <a href=\"https://profiles.wordpress.org/abcd95/\">Himanshu Pathak</a> · <a href=\"https://profiles.wordpress.org/hiroshisato/\">Hiroshi Sato</a> · <a href=\"https://profiles.wordpress.org/hbhalodia/\">Hit Bhalodia</a> · <a href=\"https://profiles.wordpress.org/hitendra-chopda/\">Hitendra Chopda</a> · <a href=\"https://profiles.wordpress.org/hiteshtalpada/\">Hitesh Talpada</a> · <a href=\"https://profiles.wordpress.org/hozefasmile/\">Hozefa Saleh</a> · <a href=\"https://profiles.wordpress.org/hrohh/\">Hrohh</a> · <a href=\"https://profiles.wordpress.org/hugod/\">hugod</a> · <a href=\"https://profiles.wordpress.org/hugosolar/\">hugosolar</a> · <a href=\"https://profiles.wordpress.org/humanify/\">humanify</a> · <a href=\"https://profiles.wordpress.org/huubl/\">huubl</a> · <a href=\"https://profiles.wordpress.org/huzaifaalmesbah/\">Huzaifa Al Mesbah</a> · <a href=\"https://profiles.wordpress.org/priethor/\">Héctor Prieto</a> · <a href=\"https://profiles.wordpress.org/iandunn/\">Ian Dunn</a> · <a href=\"https://profiles.wordpress.org/ignatiusjeroe/\">ignatiusjeroe</a> · <a href=\"https://profiles.wordpress.org/igorradovanov/\">Igor Radovanov</a> · <a href=\"https://profiles.wordpress.org/ikriv/\">ikriv</a> · <a href=\"https://profiles.wordpress.org/imokweb/\">imokweb</a> · <a href=\"https://profiles.wordpress.org/imranhasanraaz/\">Imran</a> · <a href=\"https://profiles.wordpress.org/indirabiswas27/\">Indira Biswas</a> · <a href=\"https://profiles.wordpress.org/ipstenu/\">Ipstenu (Mika Epstein)</a> · <a href=\"https://profiles.wordpress.org/iqbal1hossain/\">Iqbal Hossain</a> · <a href=\"https://profiles.wordpress.org/isabel_brison/\">Isabel Brison</a> · <a href=\"https://profiles.wordpress.org/ishikaatxecurify/\">Ishika Bansal</a> · <a href=\"https://profiles.wordpress.org/ivanottinger/\">Ivan Ottinger</a> · <a href=\"https://profiles.wordpress.org/jabe/\">Jabe</a> · <a href=\"https://profiles.wordpress.org/jacobcassidy/\">Jacob Cassidy</a> · <a href=\"https://profiles.wordpress.org/jagirbahesh/\">Jagir Bahesh</a> · <a href=\"https://profiles.wordpress.org/jaiminp/\">Jaimin Prajapati</a> · <a href=\"https://profiles.wordpress.org/jakariaistauk/\">Jakaria Istauk</a> · <a href=\"https://profiles.wordpress.org/whyisjake/\">Jake Spurlock</a> · <a href=\"https://profiles.wordpress.org/jakeparis/\">jakeparis</a> · <a href=\"https://profiles.wordpress.org/jameskoster/\">James Koster</a> · <a href=\"https://profiles.wordpress.org/isotropic/\">James LePage</a> · <a href=\"https://profiles.wordpress.org/jhmonroe/\">James Monroe</a> · <a href=\"https://profiles.wordpress.org/q0rban/\">James Sansbury</a> · <a href=\"https://profiles.wordpress.org/jamestitus299/\">James Titus</a> · <a href=\"https://profiles.wordpress.org/codente/\">Jamie</a> · <a href=\"https://profiles.wordpress.org/jamieburchell/\">Jamie Burchell</a> · <a href=\"https://profiles.wordpress.org/jamesmarsland/\">Jamie Marsland</a> · <a href=\"https://profiles.wordpress.org/janthiel/\">janthiel</a> · <a href=\"https://profiles.wordpress.org/jsnajdr/\">Jarda Snajdr</a> · <a href=\"https://profiles.wordpress.org/jarekmorawski/\">jarekmorawski</a> · <a href=\"https://profiles.wordpress.org/jasalt/\">Jarkko Saltiola</a> · <a href=\"https://profiles.wordpress.org/jason_the_adams/\">Jason Adams</a> · <a href=\"https://profiles.wordpress.org/madtownlems/\">Jason LeMahieu (MadtownLems)</a> · <a href=\"https://profiles.wordpress.org/jasonsa19/\">Jason Sauerwald</a> · <a href=\"https://profiles.wordpress.org/javiercasares/\">Javier Casares</a> · <a href=\"https://profiles.wordpress.org/jonmcpartland/\">Jay McPartland</a> · <a href=\"https://profiles.wordpress.org/shovan_jaya/\">Jayaram</a> · <a href=\"https://profiles.wordpress.org/jdahir0789/\">Jaydip</a> · <a href=\"https://profiles.wordpress.org/audrasjb/\">Jean-Baptiste Audras</a> · <a href=\"https://profiles.wordpress.org/krokodok/\">Jeff Chi</a> · <a href=\"https://profiles.wordpress.org/jeffmatson/\">Jeff Matson</a> · <a href=\"https://profiles.wordpress.org/jffng/\">Jeff Ong</a> · <a href=\"https://profiles.wordpress.org/jeffpaul/\">Jeff Paul</a> · <a href=\"https://profiles.wordpress.org/cheffheid/\">Jeffrey de Wit</a> · <a href=\"https://profiles.wordpress.org/jeffr0/\">Jeffro</a> · <a href=\"https://profiles.wordpress.org/jeflopodev/\">jeflopo</a> · <a href=\"https://profiles.wordpress.org/jdy68/\">Jenny Dupuy</a> · <a href=\"https://profiles.wordpress.org/jeremiahbratton/\">Jeremiah Bratton</a> · <a href=\"https://profiles.wordpress.org/jeremyfelt/\">Jeremy Felt</a> · <a href=\"https://profiles.wordpress.org/jkmassel/\">Jeremy Massel</a> · <a href=\"https://profiles.wordpress.org/slimndap/\">Jeroen Schmit</a> · <a href=\"https://profiles.wordpress.org/jeryj/\">jeryj</a> · <a href=\"https://profiles.wordpress.org/jesin/\">Jesin A</a> · <a href=\"https://profiles.wordpress.org/jessedyck/\">jessedyck</a> · <a href=\"https://profiles.wordpress.org/luminuu/\">Jessica Lyschik</a> · <a href=\"https://profiles.wordpress.org/jigar-bhanushali/\">Jigar Bhanushali</a> · <a href=\"https://profiles.wordpress.org/jigar9998/\">Jigar Panchal</a> · <a href=\"https://profiles.wordpress.org/jikamens/\">jikamens</a> · <a href=\"https://profiles.wordpress.org/jnweaver/\">jnweaver</a> · <a href=\"https://profiles.wordpress.org/jojo256/\">Joan Namunina</a> · <a href=\"https://profiles.wordpress.org/jobata/\">JoAnne Obata</a> · <a href=\"https://profiles.wordpress.org/jochent/\">JochenT</a> · <a href=\"https://profiles.wordpress.org/jodamo5/\">jodamo5</a> · <a href=\"https://profiles.wordpress.org/joedolson/\">Joe Dolson</a> · <a href=\"https://profiles.wordpress.org/joehoyle/\">Joe Hoyle</a> · <a href=\"https://profiles.wordpress.org/joemcgill/\">Joe McGill</a> · <a href=\"https://profiles.wordpress.org/joen/\">Joen Asmussen</a> · <a href=\"https://profiles.wordpress.org/timse201/\">Johannes J&#252;lg</a> · <a href=\"https://profiles.wordpress.org/johnbillion/\">John Blackbourn</a> · <a href=\"https://profiles.wordpress.org/brandbrilliance/\">John Brand</a> · <a href=\"https://profiles.wordpress.org/johnny5/\">John Godley</a> · <a href=\"https://profiles.wordpress.org/johnjamesjacoby/\">John James Jacoby</a> · <a href=\"https://profiles.wordpress.org/mindctrl/\">John Parris</a> · <a href=\"https://profiles.wordpress.org/johnregan3/\">John Regan</a> · <a href=\"https://profiles.wordpress.org/johnvieth/\">JohnVieth</a> · <a href=\"https://profiles.wordpress.org/jonsurrell/\">Jon Surrell</a> · <a href=\"https://profiles.wordpress.org/psykro/\">Jonathan Bossenger</a> · <a href=\"https://profiles.wordpress.org/jrchamp/\">Jonathan Champ</a> · <a href=\"https://profiles.wordpress.org/desrosj/\">Jonathan Desrosiers</a> · <a href=\"https://profiles.wordpress.org/n2erjo00/\">Joni Erkkil&#228;</a> · <a href=\"https://profiles.wordpress.org/spacedmonkey/\">Jonny Harris</a> · <a href=\"https://profiles.wordpress.org/jonoaldersonwp/\">Jono Alderson</a> · <a href=\"https://profiles.wordpress.org/jordesign/\">jordesign</a> · <a href=\"https://profiles.wordpress.org/jorgefilipecosta/\">Jorge Costa</a> · <a href=\"https://profiles.wordpress.org/josvelasco/\">Jos Velasco</a> · <a href=\"https://profiles.wordpress.org/josephscott/\">Joseph Scott</a> · <a href=\"https://profiles.wordpress.org/jhabdas/\">Josh Habdas</a> · <a href=\"https://profiles.wordpress.org/verygoode/\">Joshua Goode</a> · <a href=\"https://profiles.wordpress.org/jrmd/\">jrmd</a> · <a href=\"https://profiles.wordpress.org/juanfra/\">Juan Aldasoro</a> · <a href=\"https://profiles.wordpress.org/juampick/\">Juan Cook</a> · <a href=\"https://profiles.wordpress.org/juanmaguitar/\">JuanMa Garrido</a> · <a href=\"https://profiles.wordpress.org/juliengardair/\">juliengardair</a> · <a href=\"https://profiles.wordpress.org/jrf/\">Juliette Reinders Folmer</a> · <a href=\"https://profiles.wordpress.org/justinahinon/\">Justin Ahinon</a> · <a href=\"https://profiles.wordpress.org/greenshady/\">Justin Tadlock</a> · <a href=\"https://profiles.wordpress.org/itsroy69/\">Jyotirmoy Roy</a> · <a href=\"https://profiles.wordpress.org/kadamwhite/\">K. Adam White</a> · <a href=\"https://profiles.wordpress.org/kevin940726/\">Kai Hao</a> · <a href=\"https://profiles.wordpress.org/trepmal/\">Kailey (trepmal)</a> · <a href=\"https://profiles.wordpress.org/kaitohm/\">Kaito Hanamori</a> · <a href=\"https://profiles.wordpress.org/kakomap/\">Kakoma</a> · <a href=\"https://profiles.wordpress.org/kalpeshh/\">Kalpesh</a> · <a href=\"https://profiles.wordpress.org/karinchristen/\">Karin Christen</a> · <a href=\"https://profiles.wordpress.org/karolmanijak/\">Karol Manijak</a> · <a href=\"https://profiles.wordpress.org/karthickmurugan/\">Karthick Murugan</a> · <a href=\"https://profiles.wordpress.org/karthikeya01/\">Karthikeya Bethu</a> · <a href=\"https://profiles.wordpress.org/kasparsd/\">Kaspars</a> · <a href=\"https://profiles.wordpress.org/codebykat/\">Kat Hagan</a> · <a href=\"https://profiles.wordpress.org/katinthehatsite/\">Kateryna K. a11n</a> · <a href=\"https://profiles.wordpress.org/zoonini/\">Kathryn Presner</a> · <a href=\"https://profiles.wordpress.org/katrinadtl/\">Katrina Massey</a> · <a href=\"https://profiles.wordpress.org/kausaralm/\">Kausar Alam</a> · <a href=\"https://profiles.wordpress.org/khushdoms/\">Kaushik Domadiya</a> · <a href=\"https://profiles.wordpress.org/onlykawshar/\">Kawshar Ahmed</a> · <a href=\"https://profiles.wordpress.org/kaygee79/\">kaygee79</a> · <a href=\"https://profiles.wordpress.org/mt8biz/\">Kazuto Takeshita</a> · <a href=\"https://profiles.wordpress.org/ryelle/\">Kelly Choyce-Dwan</a> · <a href=\"https://profiles.wordpress.org/kellychoffman/\">Kelly Hoffman</a> · <a href=\"https://profiles.wordpress.org/tinypixel/\">Kelly Mears</a> · <a href=\"https://profiles.wordpress.org/kgagne/\">Ken Gagne</a> · <a href=\"https://profiles.wordpress.org/kerfred/\">Kerfred</a> · <a href=\"https://profiles.wordpress.org/gwwar/\">Kerry Liu</a> · <a href=\"https://profiles.wordpress.org/kesselb/\">kesselb</a> · <a href=\"https://profiles.wordpress.org/kevinlearynet/\">Kevin Leary</a> · <a href=\"https://profiles.wordpress.org/khoipro/\">Khoi Pro</a> · <a href=\"https://profiles.wordpress.org/khushipatel15/\">Khushi Patel</a> · <a href=\"https://profiles.wordpress.org/killerbishop/\">killerbishop</a> · <a href=\"https://profiles.wordpress.org/iamkingsleyf/\">Kingsley Felix</a> · <a href=\"https://profiles.wordpress.org/kirasong/\">Kira Schroder</a> · <a href=\"https://profiles.wordpress.org/kishanjasani/\">Kishan Jasani</a> · <a href=\"https://profiles.wordpress.org/kitchin/\">kitchin</a> · <a href=\"https://profiles.wordpress.org/kjellr/\">Kjell Reigstad</a> · <a href=\"https://profiles.wordpress.org/kkmuffme/\">kkmuffme</a> · <a href=\"https://profiles.wordpress.org/kleor/\">Kleor</a> · <a href=\"https://profiles.wordpress.org/knutsp/\">Knut Sparhell</a> · <a href=\"https://profiles.wordpress.org/obenland/\">Konstantin Obenland</a> · <a href=\"https://profiles.wordpress.org/xkon/\">Konstantinos Xenos</a> · <a href=\"https://profiles.wordpress.org/kpapazov/\">kpapazov</a> · <a href=\"https://profiles.wordpress.org/kprocyszyn/\">kprocyszyn</a> · <a href=\"https://profiles.wordpress.org/krishaamer/\">krishaamer</a> · <a href=\"https://profiles.wordpress.org/krunal265/\">Krunal Bhimajiyani</a> · <a href=\"https://profiles.wordpress.org/krupajnanda/\">Krupa Nanda</a> · <a href=\"https://profiles.wordpress.org/kshaner/\">kshaner</a> · <a href=\"https://profiles.wordpress.org/kub1x/\">kub1x</a> · <a href=\"https://profiles.wordpress.org/kubiq/\">kubiq</a> · <a href=\"https://profiles.wordpress.org/kunalpuri123/\">kunalpuri123</a> · <a href=\"https://profiles.wordpress.org/kushsharma/\">Kush Sharma</a> · <a href=\"https://profiles.wordpress.org/kush123/\">Kushagra Goyal</a> · <a href=\"https://profiles.wordpress.org/lgadzhev/\">Lachezar Gadzhev</a> · <a href=\"https://profiles.wordpress.org/lakrisgubben/\">lakrisgubben</a> · <a href=\"https://profiles.wordpress.org/lakshyajeet/\">Lakshyajeet Singh Goyal</a> · <a href=\"https://profiles.wordpress.org/lalitkumawat/\">Lalit Kumawat</a> · <a href=\"https://profiles.wordpress.org/lancewillett/\">Lance Willett</a> · <a href=\"https://profiles.wordpress.org/newyorkerlaura/\">Laura Byrne</a> · <a href=\"https://profiles.wordpress.org/laurisaarni/\">Lauri Saarni</a> · <a href=\"https://profiles.wordpress.org/ldanielgiuliani/\">ldanielgiuliani</a> · <a href=\"https://profiles.wordpress.org/leewillis77/\">Lee Willis</a> · <a href=\"https://profiles.wordpress.org/leedxw/\">leedxw</a> · <a href=\"https://profiles.wordpress.org/leemon/\">leemon</a> · <a href=\"https://profiles.wordpress.org/0mirka00/\">Lena Morita</a> · <a href=\"https://profiles.wordpress.org/leonidasmilossis/\">Leonidas Milosis</a> · <a href=\"https://profiles.wordpress.org/levinbaria/\">Levin Baria</a> · <a href=\"https://profiles.wordpress.org/lgseo/\">lgseo</a> · <a href=\"https://profiles.wordpress.org/lilgames/\">LilGames</a> · <a href=\"https://profiles.wordpress.org/liviopv/\">liviopv</a> · <a href=\"https://profiles.wordpress.org/logiclink/\">logiclink</a> · <a href=\"https://profiles.wordpress.org/logicrays/\">LogicRays Technologies</a> · <a href=\"https://profiles.wordpress.org/lordandy1984/\">lordandy1984</a> · <a href=\"https://profiles.wordpress.org/lovor/\">Lovro Hrust</a> · <a href=\"https://profiles.wordpress.org/lucasms/\">Lucas Martins</a> · <a href=\"https://profiles.wordpress.org/gigitux/\">Luigi Teschio</a> · <a href=\"https://profiles.wordpress.org/luisherranz/\">luisherranz</a> · <a href=\"https://profiles.wordpress.org/lukasfritzedev/\">LukasFritzeDev</a> · <a href=\"https://profiles.wordpress.org/wpfed/\">Lukasz</a> · <a href=\"https://profiles.wordpress.org/lukecavanagh/\">Luke Cavanagh</a> · <a href=\"https://profiles.wordpress.org/maccyd/\">maccyd</a> · <a href=\"https://profiles.wordpress.org/madhavishah01/\">Madhavi Shah</a> · <a href=\"https://profiles.wordpress.org/madhudollu/\">Madhu Dollu</a> · <a href=\"https://profiles.wordpress.org/onemaggie/\">Maggie Cabrera</a> · <a href=\"https://profiles.wordpress.org/maikuolan/\">Maikuolan</a> · <a href=\"https://profiles.wordpress.org/manfcarlo/\">manfcarlo</a> · <a href=\"https://profiles.wordpress.org/manhatthien98/\">manhatthien98</a> · <a href=\"https://profiles.wordpress.org/sirlouen/\">Manuel Camargo</a> · <a href=\"https://profiles.wordpress.org/manzoorwanijk/\">Manzoor Wani</a> · <a href=\"https://profiles.wordpress.org/maorb/\">maorb</a> · <a href=\"https://profiles.wordpress.org/mdxfr/\">Marc</a> · <a href=\"https://profiles.wordpress.org/marc4/\">Marc Armengou</a> · <a href=\"https://profiles.wordpress.org/pagelab/\">Marcio Duarte</a> · <a href=\"https://profiles.wordpress.org/mciampini/\">Marco Ciampini</a> · <a href=\"https://profiles.wordpress.org/leadclown/\">Marcus</a> · <a href=\"https://profiles.wordpress.org/mkaz/\">Marcus Kazmierczak</a> · <a href=\"https://profiles.wordpress.org/marian1/\">marian1</a> · <a href=\"https://profiles.wordpress.org/plari/\">Marie</a> · <a href=\"https://profiles.wordpress.org/tyxla/\">Marin Atanasov</a> · <a href=\"https://profiles.wordpress.org/santosguillamot/\">Mario Santos</a> · <a href=\"https://profiles.wordpress.org/mariohamann/\">mariohamann</a> · <a href=\"https://profiles.wordpress.org/marius84/\">mariushosting</a> · <a href=\"https://profiles.wordpress.org/bozzmedia/\">Marty</a> · <a href=\"https://profiles.wordpress.org/martythornley/\">MartyThornley</a> · <a href=\"https://profiles.wordpress.org/marybaum/\">Mary Baum</a> · <a href=\"https://profiles.wordpress.org/4thhubbard/\">Mary Hubbard</a> · <a href=\"https://profiles.wordpress.org/mat-lipe/\">Mat Lipe</a> · <a href=\"https://profiles.wordpress.org/mathiscode/\">mathiscode</a> · <a href=\"https://profiles.wordpress.org/mmaattiiaass/\">Matias Benedetto</a> · <a href=\"https://profiles.wordpress.org/matveb/\">Matias Ventura</a> · <a href=\"https://profiles.wordpress.org/matt/\">Matt Mullenweg</a> · <a href=\"https://profiles.wordpress.org/mattyrob/\">Matt Robinson</a> · <a href=\"https://profiles.wordpress.org/mattwest/\">Matt West</a> · <a href=\"https://profiles.wordpress.org/matteoenna/\">Matteo Enna</a> · <a href=\"https://profiles.wordpress.org/pfefferle/\">Matthias Pfefferle</a> · <a href=\"https://profiles.wordpress.org/mattryanwalker/\">mattryanwalker</a> · <a href=\"https://profiles.wordpress.org/maxschmeling/\">Max Schmeling</a> · <a href=\"https://profiles.wordpress.org/maxpertici/\">Maxime Pertici</a> · <a href=\"https://profiles.wordpress.org/mayanktripathi32/\">Mayank Tripathi</a> · <a href=\"https://profiles.wordpress.org/mayur8991/\">Mayur Prajapati</a> · <a href=\"https://profiles.wordpress.org/faithcoder/\">Md Abdullah Al Arif</a> · <a href=\"https://profiles.wordpress.org/mabfahad/\">Md Abdullah Al Fahad</a> · <a href=\"https://profiles.wordpress.org/hmbashar/\">Md Abul Bashar</a> · <a href=\"https://profiles.wordpress.org/ismail0071/\">MD ISMAIL</a> · <a href=\"https://profiles.wordpress.org/kawsar007/\">MD Kawsar Chowdhury</a> · <a href=\"https://profiles.wordpress.org/masummollaalhaz/\">Md Masum Molla Alhaz</a> · <a href=\"https://profiles.wordpress.org/obiplabon/\">Md Obidullah (obiPlabon)</a> · <a href=\"https://profiles.wordpress.org/wprashed/\">Md Rashed Hossain</a> · <a href=\"https://profiles.wordpress.org/sabbir20/\">Md Sabbir Hossain</a> · <a href=\"https://profiles.wordpress.org/najmulsaju/\">Md. Najmul Islam</a> · <a href=\"https://profiles.wordpress.org/mehedi_csit/\">Md.Mehedi Hasan</a> · <a href=\"https://profiles.wordpress.org/mdmoreau/\">mdmoreau</a> · <a href=\"https://profiles.wordpress.org/mdviralsampat/\">mdviralsampat</a> · <a href=\"https://profiles.wordpress.org/immeet94/\">Meet Makadia</a> · <a href=\"https://profiles.wordpress.org/megane9988/\">megane9988</a> · <a href=\"https://profiles.wordpress.org/meher/\">Meher Bala</a> · <a href=\"https://profiles.wordpress.org/melchoyce/\">Mel Choyce-Dwan</a> · <a href=\"https://profiles.wordpress.org/mfgmicha/\">Micha Krapp</a> · <a href=\"https://profiles.wordpress.org/mburridge/\">Michael Burridge</a> · <a href=\"https://profiles.wordpress.org/michaelkeck/\">Michael Keck</a> · <a href=\"https://profiles.wordpress.org/mnelson4/\">Michael Nelson</a> · <a href=\"https://profiles.wordpress.org/xmic/\">Michael Sumner</a> · <a href=\"https://profiles.wordpress.org/michaelreetz/\">michaelreetz</a> · <a href=\"https://profiles.wordpress.org/czapla/\">Michal Czaplinski</a> · <a href=\"https://profiles.wordpress.org/marktimemedia/\">Michelle Schulp Hunt</a> · <a href=\"https://profiles.wordpress.org/mcsf/\">Miguel Fonseca</a> · <a href=\"https://profiles.wordpress.org/migueluy/\">Miguel Lezama</a> · <a href=\"https://profiles.wordpress.org/simison/\">Mikael Korpela</a> · <a href=\"https://profiles.wordpress.org/mobius5150/\">Mike</a> · <a href=\"https://profiles.wordpress.org/mikefitzman/\">Mike Fitzpatrick</a> · <a href=\"https://profiles.wordpress.org/mikehansenme/\">Mike Hansen</a> · <a href=\"https://profiles.wordpress.org/mikejolley/\">Mike Jolley</a> · <a href=\"https://profiles.wordpress.org/mmcalister/\">Mike McAlister</a> · <a href=\"https://profiles.wordpress.org/ritterml/\">Mike Ritter</a> · <a href=\"https://profiles.wordpress.org/mikinc860/\">Mikin Chauhan</a> · <a href=\"https://profiles.wordpress.org/firestar300/\">Milan Ricoul</a> · <a href=\"https://profiles.wordpress.org/multidots1896/\">Minal Diwan</a> · <a href=\"https://profiles.wordpress.org/369work/\">Miroku</a> · <a href=\"https://profiles.wordpress.org/missveronicatv/\">missveronica</a> · <a href=\"https://profiles.wordpress.org/presstoke/\">Mitchell Austin</a> · <a href=\"https://profiles.wordpress.org/mkeck/\">mkeck</a> · <a href=\"https://profiles.wordpress.org/mlaetitia1986/\">mlaetitia1986</a> · <a href=\"https://profiles.wordpress.org/mleray/\">mleray</a> · <a href=\"https://profiles.wordpress.org/mleraygp/\">mleraygp</a> · <a href=\"https://profiles.wordpress.org/mobarak/\">Mobarak Ali</a> · <a href=\"https://profiles.wordpress.org/opurockey/\">Mohammad Rockeybul Alam</a> · <a href=\"https://profiles.wordpress.org/mohkatz/\">Mohammed Kateregga</a> · <a href=\"https://profiles.wordpress.org/mosescursor/\">Moses Cursor Ssebunya</a> · <a href=\"https://profiles.wordpress.org/mrwweb/\">mrwweb</a> · <a href=\"https://profiles.wordpress.org/mtg169/\">mtg169</a> · <a href=\"https://profiles.wordpress.org/mujuonly/\">mujuonly</a> · <a href=\"https://profiles.wordpress.org/mukesh27/\">Mukesh Panchal</a> · <a href=\"https://profiles.wordpress.org/mukulsingh27/\">Mukul Singh</a> · <a href=\"https://profiles.wordpress.org/faguni22/\">Mumtahina Faguni</a> · <a href=\"https://profiles.wordpress.org/sedmikrasky/\">N&#250;ria Nadal i Rovira</a> · <a href=\"https://profiles.wordpress.org/vyasnaman/\">Naman Vyas</a> · <a href=\"https://profiles.wordpress.org/nanisamireddy/\">NANI SAMIREDDY</a> · <a href=\"https://profiles.wordpress.org/narenin/\">Narendra Sishodiya</a> · <a href=\"https://profiles.wordpress.org/nareshbheda/\">Naresh Bheda</a> · <a href=\"https://profiles.wordpress.org/muddassirnasim/\">Nasim Miah</a> · <a href=\"https://profiles.wordpress.org/n8finch/\">Nate Finch</a> · <a href=\"https://profiles.wordpress.org/naveendwivedi/\">Naveen Dwivedi</a> · <a href=\"https://profiles.wordpress.org/navi161/\">Navneet Kaur</a> · <a href=\"https://profiles.wordpress.org/bugnumber9/\">Nazar Hotsa</a> · <a href=\"https://profiles.wordpress.org/nazmul111/\">Nazmul Hosen</a> · <a href=\"https://profiles.wordpress.org/greatislander/\">Ned Zimmerman</a> · <a href=\"https://profiles.wordpress.org/nexbridge/\">nexbridge</a> · <a href=\"https://profiles.wordpress.org/nextendweb/\">Nextendweb</a> · <a href=\"https://profiles.wordpress.org/neychok/\">Neycho Kalaydzhiev</a> · <a href=\"https://profiles.wordpress.org/nickchomey/\">Nick</a> · <a href=\"https://profiles.wordpress.org/nickstarkloff/\">Nick</a> · <a href=\"https://profiles.wordpress.org/ndiego/\">Nick Diego</a> · <a href=\"https://profiles.wordpress.org/celloexpressions/\">Nick Halsey</a> · <a href=\"https://profiles.wordpress.org/nickbrazilian/\">nickbrazilian</a> · <a href=\"https://profiles.wordpress.org/nickjbedford/\">nickjbedford</a> · <a href=\"https://profiles.wordpress.org/nickpagz/\">nickpagz</a> · <a href=\"https://profiles.wordpress.org/nickwilmot/\">nickwilmot</a> · <a href=\"https://profiles.wordpress.org/nico23/\">Nico</a> · <a href=\"https://profiles.wordpress.org/nidhidhandhukiya/\">nidhidhandhukiya</a> · <a href=\"https://profiles.wordpress.org/nielslange/\">Niels Lange</a> · <a href=\"https://profiles.wordpress.org/nigelnelles/\">nigelnelles</a> · <a href=\"https://profiles.wordpress.org/ntsekouras/\">Nik Tsekouras</a> · <a href=\"https://profiles.wordpress.org/smushytaco/\">Nikan Radan</a> · <a href=\"https://profiles.wordpress.org/nikunj8866/\">Nikunj Hatkar</a> · <a href=\"https://profiles.wordpress.org/nimeshatxecurify/\">Nimesh</a> · <a href=\"https://profiles.wordpress.org/ninomiho/\">Nino Mihovilic</a> · <a href=\"https://profiles.wordpress.org/ninos-ego/\">Ninos</a> · <a href=\"https://profiles.wordpress.org/noahtallen/\">Noah Allen</a> · <a href=\"https://profiles.wordpress.org/othernoel/\">Noel Santos</a> · <a href=\"https://profiles.wordpress.org/noruzzaman/\">Noruzzaman</a> · <a href=\"https://profiles.wordpress.org/nosilver4u/\">nosilver4u</a> · <a href=\"https://profiles.wordpress.org/oceantober/\">oceantober</a> · <a href=\"https://profiles.wordpress.org/oferlaor/\">oferlaor</a> · <a href=\"https://profiles.wordpress.org/okat/\">okat</a> · <a href=\"https://profiles.wordpress.org/yasunocco/\">Okawa Yasuno</a> · <a href=\"https://profiles.wordpress.org/oglekler/\">Olga Gleckler</a> · <a href=\"https://profiles.wordpress.org/domainsupport/\">Oliver Campion</a> · <a href=\"https://profiles.wordpress.org/alshakero/\">Omar Alshaker</a> · <a href=\"https://profiles.wordpress.org/gabertronic/\">Ophelia Rose</a> · <a href=\"https://profiles.wordpress.org/optimizingmatters/\">Optimizing Matters</a> · <a href=\"https://profiles.wordpress.org/owi/\">owi</a> · <a href=\"https://profiles.wordpress.org/paaljoachim/\">Paal Joachim Romdahl</a> · <a href=\"https://profiles.wordpress.org/pablohoneyhoney/\">Pablo Honey</a> · <a href=\"https://profiles.wordpress.org/palak678/\">Palak Patel</a> · <a href=\"https://profiles.wordpress.org/paragoninitiativeenterprises/\">Paragon Initiative Enterprises</a> · <a href=\"https://profiles.wordpress.org/parinpanjari/\">Parin Panjari</a> · <a href=\"https://profiles.wordpress.org/parthvataliya/\">Parth vataliya</a> · <a href=\"https://profiles.wordpress.org/techpartho/\">Partho Hore</a> · <a href=\"https://profiles.wordpress.org/swissspidy/\">Pascal Birchler</a> · <a href=\"https://profiles.wordpress.org/pateljaymin/\">Patel Jaymin</a> · <a href=\"https://profiles.wordpress.org/patricia70/\">Patricia BT</a> · <a href=\"https://profiles.wordpress.org/lumiblog/\">Patrick Lumumba</a> · <a href=\"https://profiles.wordpress.org/patpiwo/\">Patrick Piwowarczyk</a> · <a href=\"https://profiles.wordpress.org/pryley/\">Paul</a> · <a href=\"https://profiles.wordpress.org/pbearne/\">Paul Bearne</a> · <a href=\"https://profiles.wordpress.org/pbiron/\">Paul Biron</a> · <a href=\"https://profiles.wordpress.org/paulbonneau/\">Paul Bonneau</a> · <a href=\"https://profiles.wordpress.org/paulkevan/\">Paul Kevan</a> · <a href=\"https://profiles.wordpress.org/paulopmt1/\">Paulo Trentin</a> · <a href=\"https://profiles.wordpress.org/paulstanos/\">paulstanos</a> · <a href=\"https://profiles.wordpress.org/pcarvalho/\">pcarvalho</a> · <a href=\"https://profiles.wordpress.org/pedrofigueroa1989/\">Pedro Figueroa</a> · <a href=\"https://profiles.wordpress.org/peroks/\">Per Egil Roksvaag</a> · <a href=\"https://profiles.wordpress.org/peteringersoll/\">Peter Ingersoll</a> · <a href=\"https://profiles.wordpress.org/westi/\">Peter Westwood</a> · <a href=\"https://profiles.wordpress.org/peterwilsoncc/\">Peter Wilson</a> · <a href=\"https://profiles.wordpress.org/petitphp/\">petitphp</a> · <a href=\"https://profiles.wordpress.org/philipjohn/\">Philip John</a> · <a href=\"https://profiles.wordpress.org/philsola/\">Philip Sola</a> · <a href=\"https://profiles.wordpress.org/tyrannous/\">Philipp Bammes</a> · <a href=\"https://profiles.wordpress.org/phillsav/\">Phill</a> · <a href=\"https://profiles.wordpress.org/piskvorky/\">piskvorky</a> · <a href=\"https://profiles.wordpress.org/poojabhimani/\">Pooja Bhimani</a> · <a href=\"https://profiles.wordpress.org/poojapadamad/\">poojapadamad</a> · <a href=\"https://profiles.wordpress.org/porg/\">porg</a> · <a href=\"https://profiles.wordpress.org/prab18hat/\">prab18hat</a> · <a href=\"https://profiles.wordpress.org/praful2111/\">Praful Patel</a> · <a href=\"https://profiles.wordpress.org/pranjalpratapsingh/\">Pranjal Pratap Singh</a> · <a href=\"https://profiles.wordpress.org/prasadkarmalkar/\">Prasad Karmalkar</a> · <a href=\"https://profiles.wordpress.org/prasadgupte/\">prasadgupte</a> · <a href=\"https://profiles.wordpress.org/pmbaldha/\">Prashant Baldha</a> · <a href=\"https://profiles.wordpress.org/pratiklondhe/\">Pratik Londhe</a> · <a href=\"https://profiles.wordpress.org/presskopp/\">Presskopp</a> · <a href=\"https://profiles.wordpress.org/prettyboymp/\">prettyboymp</a> · <a href=\"https://profiles.wordpress.org/puggan/\">puggan</a> · <a href=\"https://profiles.wordpress.org/quentinr64600/\">quentinr64600</a> · <a href=\"https://profiles.wordpress.org/rachelbaker/\">Rachel Baker</a> · <a href=\"https://profiles.wordpress.org/rafiq91/\">Rafiqul Islam</a> · <a href=\"https://profiles.wordpress.org/ralucastn/\">Raluca</a> · <a href=\"https://profiles.wordpress.org/superpoincare/\">Ramanan</a> · <a href=\"https://profiles.wordpress.org/ramiy/\">Rami Yushuvaev</a> · <a href=\"https://profiles.wordpress.org/rahmohn/\">Ramon Ahnert</a> · <a href=\"https://profiles.wordpress.org/rcorrales/\">Ramon Corrales</a> · <a href=\"https://profiles.wordpress.org/ramonopoly/\">Ramon James</a> · <a href=\"https://profiles.wordpress.org/ravichudasama01/\">Ravi Chudasama</a> · <a href=\"https://profiles.wordpress.org/ravigadhiyawp/\">Ravi Gadhiya</a> · <a href=\"https://profiles.wordpress.org/rcrdortiz/\">rcrdortiz</a> · <a href=\"https://profiles.wordpress.org/rehanali/\">Rehan Ali</a> · <a href=\"https://profiles.wordpress.org/rejaulalomkhan/\">Rejaul Alom Khan</a> · <a href=\"https://profiles.wordpress.org/tabrisrp/\">Remy Perona</a> · <a href=\"https://profiles.wordpress.org/espellcaste/\">Renato Alves</a> · <a href=\"https://profiles.wordpress.org/renishsurani/\">renishsurani</a> · <a href=\"https://profiles.wordpress.org/retrofox/\">retrofox</a> · <a href=\"https://profiles.wordpress.org/rezwanshiblu1952/\">Rezwan Shiblu</a> · <a href=\"https://profiles.wordpress.org/youknowriad/\">Riad Benguella</a> · <a href=\"https://profiles.wordpress.org/riadev/\">riadev</a> · <a href=\"https://profiles.wordpress.org/richtabor/\">Rich Tabor</a> · <a href=\"https://profiles.wordpress.org/rockfire/\">Richard Korthuis</a> · <a href=\"https://profiles.wordpress.org/riddhidave/\">Riddhi Dave</a> · <a href=\"https://profiles.wordpress.org/rinatkhaziev/\">Rinat</a> · <a href=\"https://profiles.wordpress.org/rinkalpagdar/\">Rinkal Pagdar</a> · <a href=\"https://profiles.wordpress.org/rishabhwp/\">Rishabh Gupta</a> · <a href=\"https://profiles.wordpress.org/rishavdutta/\">Rishav Dutta</a> · <a href=\"https://profiles.wordpress.org/rishit30g/\">Rishit Gupta</a> · <a href=\"https://profiles.wordpress.org/ristojovanovic/\">Risto Jovanovic</a> · <a href=\"https://profiles.wordpress.org/devrito/\">Ritoban</a> · <a href=\"https://profiles.wordpress.org/noisysocks/\">Robert Anderson</a> · <a href=\"https://profiles.wordpress.org/miqrogroove/\">Robert Chapin</a> · <a href=\"https://profiles.wordpress.org/robertghetau/\">Robert Ghetau</a> · <a href=\"https://profiles.wordpress.org/sanchothefat/\">Robert O\'Rourke</a> · <a href=\"https://profiles.wordpress.org/robmcclel/\">Robmcclel</a> · <a href=\"https://profiles.wordpress.org/rodrigosprimo/\">Rodrigo Primo</a> · <a href=\"https://profiles.wordpress.org/roelof/\">roelof</a> · <a href=\"https://profiles.wordpress.org/rollybueno/\">Rolly Bueno</a> · <a href=\"https://profiles.wordpress.org/ronak44/\">Ronak prajapati</a> · <a href=\"https://profiles.wordpress.org/room34/\">room34</a> · <a href=\"https://profiles.wordpress.org/costasovo/\">Rostislav Woln&#253;</a> · <a href=\"https://profiles.wordpress.org/rotemg/\">Rotem Gelbart</a> · <a href=\"https://profiles.wordpress.org/rayhatron/\">Rufaro Madamombe</a> · <a href=\"https://profiles.wordpress.org/rutvikbhambhi2004/\">Rutvik Bhambhi</a> · <a href=\"https://profiles.wordpress.org/rmccue/\">Ryan McCue</a> · <a href=\"https://profiles.wordpress.org/welcher/\">Ryan Welcher</a> · <a href=\"https://profiles.wordpress.org/skierpage/\">S Page</a> · <a href=\"https://profiles.wordpress.org/soean/\">S&#246;ren W&#252;nsch</a> · <a href=\"https://profiles.wordpress.org/sabbir1991/\">Sabbir Ahmed</a> · <a href=\"https://profiles.wordpress.org/devsabbirahmed/\">Sabbir Sam</a> · <a href=\"https://profiles.wordpress.org/sachinrajcp123/\">SACHINRAJ CP</a> · <a href=\"https://profiles.wordpress.org/sahiljadhav1617/\">Sahil Jadhav</a> · <a href=\"https://profiles.wordpress.org/sainathpoojary/\">Sainath Poojary</a> · <a href=\"https://profiles.wordpress.org/sajjad67/\">Sajjad Hossain Sagor</a> · <a href=\"https://profiles.wordpress.org/sakibmoon/\">sakibmoon</a> · <a href=\"https://profiles.wordpress.org/samueljseay/\">Sam</a> · <a href=\"https://profiles.wordpress.org/sam_a/\">sam_a</a> · <a href=\"https://profiles.wordpress.org/samirmalpande/\">Samir Malpande</a> · <a href=\"https://profiles.wordpress.org/viralsampat/\">Sampat Viral</a> · <a href=\"https://profiles.wordpress.org/sjapaget/\">Samuel Paget</a> · <a href=\"https://profiles.wordpress.org/otto42/\">Samuel Wood (Otto)</a> · <a href=\"https://profiles.wordpress.org/sandeepdahiya/\">Sandeep Dahiya</a> · <a href=\"https://profiles.wordpress.org/sandipsinh007/\">Sandip Sinh</a> · <a href=\"https://profiles.wordpress.org/ourvalley/\">Sandy McFadden</a> · <a href=\"https://profiles.wordpress.org/mikachan/\">Sarah Norris</a> · <a href=\"https://profiles.wordpress.org/tinkerbelly/\">sarah semark</a> · <a href=\"https://profiles.wordpress.org/sarthaknagoshe2002/\">Sarthak Nagoshe</a> · <a href=\"https://profiles.wordpress.org/satishprajapati/\">Satish Prajapati</a> · <a href=\"https://profiles.wordpress.org/saurabhdhariwal/\">saurabh.dhariwal</a> · <a href=\"https://profiles.wordpress.org/saxonafletcher/\">Saxon Fletcher</a> · <a href=\"https://profiles.wordpress.org/scholdstrom/\">scholdstrom</a> · <a href=\"https://profiles.wordpress.org/swb1192/\">Scott Buscemi</a> · <a href=\"https://profiles.wordpress.org/sc0ttkclark/\">Scott Kingsley Clark</a> · <a href=\"https://profiles.wordpress.org/wonderboymusic/\">Scott Taylor</a> · <a href=\"https://profiles.wordpress.org/scribu/\">scribu</a> · <a href=\"https://profiles.wordpress.org/sebastianpisula/\">Sebastian Pisula</a> · <a href=\"https://profiles.wordpress.org/seifradwane/\">Seif Radwane</a> · <a href=\"https://profiles.wordpress.org/sergeybiryukov/\">Sergey Biryukov</a> · <a href=\"https://profiles.wordpress.org/smrubenstein/\">Seth Rubenstein</a> · <a href=\"https://profiles.wordpress.org/shsajalchowdhury/\">SH Sajal Chowdhury</a> · <a href=\"https://profiles.wordpress.org/shadialaghbari/\">Shadi G شادي جـ</a> · <a href=\"https://profiles.wordpress.org/shailu25/\">Shail Mehta</a> · <a href=\"https://profiles.wordpress.org/sh4lin/\">Shalin Shah</a> · <a href=\"https://profiles.wordpress.org/shanemuir/\">Shane Muirhead</a> · <a href=\"https://profiles.wordpress.org/iamshashank/\">Shashank Jain</a> · <a href=\"https://profiles.wordpress.org/shekh0109/\">Shashank Shekhar</a> · <a href=\"https://profiles.wordpress.org/sajib1223/\">Shazzad Hossain Khan</a> · <a href=\"https://profiles.wordpress.org/designsimply/\">Sheri Grey</a> · <a href=\"https://profiles.wordpress.org/shiponkarmakar/\">Shipon Karmakar</a> · <a href=\"https://profiles.wordpress.org/shreya0shrivastava/\">Shreya Shrivastava</a> · <a href=\"https://profiles.wordpress.org/iamshubhamsp/\">Shubham Patil</a> · <a href=\"https://profiles.wordpress.org/shyamgadde/\">Shyamsundar Gadde</a> · <a href=\"https://profiles.wordpress.org/sidharthpandita/\">sidharthpandita</a> · <a href=\"https://profiles.wordpress.org/siliconforks/\">siliconforks</a> · <a href=\"https://profiles.wordpress.org/shilpaashokan94/\">Silpa TA</a> · <a href=\"https://profiles.wordpress.org/simonefontana/\">simonefontana</a> · <a href=\"https://profiles.wordpress.org/slaffik/\">Slava Abakumov</a> · <a href=\"https://profiles.wordpress.org/smerriman/\">smerriman</a> · <a href=\"https://profiles.wordpress.org/snehapatil02/\">Sneha Patil</a> · <a href=\"https://profiles.wordpress.org/maia12345/\">Sophie Dimitrov</a> · <a href=\"https://profiles.wordpress.org/sourabhjain/\">Sourabh Jain</a> · <a href=\"https://profiles.wordpress.org/sourav08/\">Sourav Pahwa</a> · <a href=\"https://profiles.wordpress.org/soyebsalar01/\">Soyeb Salar</a> · <a href=\"https://profiles.wordpress.org/spenserhale/\">Spenser Hale</a> · <a href=\"https://profiles.wordpress.org/spstrap/\">spstrap</a> · <a href=\"https://profiles.wordpress.org/srikat/\">Sridhar Katakam</a> · <a href=\"https://profiles.wordpress.org/stankea/\">stankea</a> · <a href=\"https://profiles.wordpress.org/metodiew/\">Stanko Metodiev</a> · <a href=\"https://profiles.wordpress.org/staurand/\">staurand</a> · <a href=\"https://profiles.wordpress.org/hubersen/\">Stefan Pasch</a> · <a href=\"https://profiles.wordpress.org/stefanvelthuys/\">Stefan Velthuys</a> · <a href=\"https://profiles.wordpress.org/sabernhardt/\">Stephen Bernhardt</a> · <a href=\"https://profiles.wordpress.org/stephenharris/\">Stephen Harris</a> · <a href=\"https://profiles.wordpress.org/dufresnesteven/\">Steve Dufresne</a> · <a href=\"https://profiles.wordpress.org/strarsis/\">strarsis</a> · <a href=\"https://profiles.wordpress.org/subrataemfluence/\">Subrata Sarkar</a> · <a href=\"https://profiles.wordpress.org/sudipatel007/\">Sudip Dadhaniya</a> · <a href=\"https://profiles.wordpress.org/sujansarkar/\">Sujan Sarkar</a> · <a href=\"https://profiles.wordpress.org/sukhendu2002/\">Sukhendu Sekhar Guria</a> · <a href=\"https://profiles.wordpress.org/sumitbagthariya16/\">Sumit Bagthariya</a> · <a href=\"https://profiles.wordpress.org/sunil25393/\">SunilPrajapati</a> · <a href=\"https://profiles.wordpress.org/sunnykasera/\">sunnykasera</a> · <a href=\"https://profiles.wordpress.org/sunyatasattva/\">sunyatasattva (a11n)</a> · <a href=\"https://profiles.wordpress.org/supernovia/\">supernovia</a> · <a href=\"https://profiles.wordpress.org/suzukube/\">SuzuKube</a> · <a href=\"https://profiles.wordpress.org/svedish/\">svedish</a> · <a href=\"https://profiles.wordpress.org/lordspace/\">Svetoslav Marinov</a> · <a href=\"https://profiles.wordpress.org/cybr/\">Sybre Waaijer</a> · <a href=\"https://profiles.wordpress.org/syhussaini/\">syhussaini</a> · <a href=\"https://profiles.wordpress.org/schwipps/\">T4ng</a> · <a href=\"https://profiles.wordpress.org/tacoverdo/\">Taco Verdonschot</a> · <a href=\"https://profiles.wordpress.org/iamtakashi/\">Takashi Irie</a> · <a href=\"https://profiles.wordpress.org/takuword/\">Takuro</a> · <a href=\"https://profiles.wordpress.org/karmatosed/\">Tammie Lister</a> · <a href=\"https://profiles.wordpress.org/tatof/\">tatof</a> · <a href=\"https://profiles.wordpress.org/tecnogaming/\">tecnogaming</a> · <a href=\"https://profiles.wordpress.org/mecaota/\">Tetsuro Higuchi</a> · <a href=\"https://profiles.wordpress.org/tharsheblows/\">tharsheblows</a> · <a href=\"https://profiles.wordpress.org/thelmachido/\">thelmachido a11n</a> · <a href=\"https://profiles.wordpress.org/tsquez/\">ThemeAWESOME</a> · <a href=\"https://profiles.wordpress.org/themiked/\">theMikeD</a> · <a href=\"https://profiles.wordpress.org/kraftner/\">Thomas Kr&#228;ftner</a> · <a href=\"https://profiles.wordpress.org/tfrommen/\">Thorsten Frommen</a> · <a href=\"https://profiles.wordpress.org/tillkruess/\">Till Kr&#252;ss</a> · <a href=\"https://profiles.wordpress.org/timhavinga/\">Tim Havinga</a> · <a href=\"https://profiles.wordpress.org/dontfeedthecode/\">Tim Sheehan</a> · <a href=\"https://profiles.wordpress.org/timotijhof/\">Timo Tijhof</a> · <a href=\"https://profiles.wordpress.org/spaceshipone/\">Timoth&#233;e Brosille</a> · <a href=\"https://profiles.wordpress.org/timotheemoulin/\">Timoth&#233;e Moulin</a> · <a href=\"https://profiles.wordpress.org/timothyblynjacobs/\">Timothy Jacobs</a> · <a href=\"https://profiles.wordpress.org/tjarrett/\">TJarrett</a> · <a href=\"https://profiles.wordpress.org/tobiasbg/\">Tobias B&#228;thge</a> · <a href=\"https://profiles.wordpress.org/tz-media/\">Tobias Zimpel</a> · <a href=\"https://profiles.wordpress.org/tobifjellner/\">tobifjellner (Tor-Bjorn &#8220;Tobi&#8221; Fjellner)</a> · <a href=\"https://profiles.wordpress.org/tomdevisser/\">Tom de Visser</a> · <a href=\"https://profiles.wordpress.org/tjnowell/\">Tom J Nowell</a> · <a href=\"https://profiles.wordpress.org/shimotomoki/\">Tomoki Shimomura</a> · <a href=\"https://profiles.wordpress.org/skithund/\">Toni Viemer&#246;</a> · <a href=\"https://profiles.wordpress.org/hellofromtonya/\">Tonya Mork</a> · <a href=\"https://profiles.wordpress.org/toro_unit/\">Toro_Unit (Hiroshi Urabe)</a> · <a href=\"https://profiles.wordpress.org/zodiac1978/\">Torsten Landsiedel</a> · <a href=\"https://profiles.wordpress.org/wpsmith/\">Travis Smith</a> · <a href=\"https://profiles.wordpress.org/traxus/\">traxus</a> · <a href=\"https://profiles.wordpress.org/sllimrovert/\">Trevor Mills</a> · <a href=\"https://profiles.wordpress.org/tristanleboss/\">tristanleboss</a> · <a href=\"https://profiles.wordpress.org/areziaal/\">Troy Chaplin</a> · <a href=\"https://profiles.wordpress.org/truptikanzariya/\">Trupti Kanzariya</a> · <a href=\"https://profiles.wordpress.org/tsteel/\">tsteel</a> · <a href=\"https://profiles.wordpress.org/dinhtungdu/\">Tung Du</a> · <a href=\"https://profiles.wordpress.org/tusharbharti/\">Tushar Bharti</a> · <a href=\"https://profiles.wordpress.org/tusharaddweb/\">Tushar Patel</a> · <a href=\"https://profiles.wordpress.org/tussendoor/\">Tussendoor B.V.</a> · <a href=\"https://profiles.wordpress.org/ugyensupport/\">Ugyen Dorji</a> · <a href=\"https://profiles.wordpress.org/umeshnevase/\">Umesh Nevase</a> · <a href=\"https://profiles.wordpress.org/umeshsinghin/\">Umesh Singh</a> · <a href=\"https://profiles.wordpress.org/unsalkorkmaz/\">Unsal Korkmaz</a> · <a href=\"https://profiles.wordpress.org/upadalavipul/\">upadalavipul</a> · <a href=\"https://profiles.wordpress.org/utsavladani/\">Utsav Ladani</a> · <a href=\"https://profiles.wordpress.org/utsav72640/\">Utsav tilava</a> · <a href=\"https://profiles.wordpress.org/valentingrenier/\">Valentin Grenier</a> · <a href=\"https://profiles.wordpress.org/tsimshatsui/\">Vape tsimshatsui</a> · <a href=\"https://profiles.wordpress.org/vbbp/\">vbbp</a> · <a href=\"https://profiles.wordpress.org/sheldorofazeroth/\">Vedansh Mishra</a> · <a href=\"https://profiles.wordpress.org/vevas/\">Vegard S.</a> · <a href=\"https://profiles.wordpress.org/vgnavada/\">vgnavada</a> · <a href=\"https://profiles.wordpress.org/vcanales/\">Vicente Canales</a> · <a href=\"https://profiles.wordpress.org/vidugupta/\">vidugupta</a> · <a href=\"https://profiles.wordpress.org/vijendrajat/\">Vijendra Jat</a> · <a href=\"https://profiles.wordpress.org/szepeviktor/\">Viktor Sz&#233;pe</a> · <a href=\"https://profiles.wordpress.org/vineet2003/\">Vinit</a> · <a href=\"https://profiles.wordpress.org/ghorivipul97/\">Vipul Ghori</a> · <a href=\"https://profiles.wordpress.org/vipulgupta003/\">Vipul Gupta</a> · <a href=\"https://profiles.wordpress.org/vipulpatil/\">Vipul Patil</a> · <a href=\"https://profiles.wordpress.org/vishitshah/\">Vishit Shah</a> · <a href=\"https://profiles.wordpress.org/vladimiraus/\">vladimiraus</a> · <a href=\"https://profiles.wordpress.org/vortfu/\">vortfu</a> · <a href=\"https://profiles.wordpress.org/vrishabhsk/\">Vrishabh Jasani</a> · <a href=\"https://profiles.wordpress.org/walterebert/\">Walter Ebert</a> · <a href=\"https://profiles.wordpress.org/webmandesign/\">WebMan Design &#124; Oliver Juhas</a> · <a href=\"https://profiles.wordpress.org/websupporter/\">websupporter</a> · <a href=\"https://profiles.wordpress.org/webwrotter/\">webwrotter</a> · <a href=\"https://profiles.wordpress.org/westonruter/\">Weston Ruter</a> · <a href=\"https://profiles.wordpress.org/whaze/\">whaze</a> · <a href=\"https://profiles.wordpress.org/widhy980/\">widhy980</a> · <a href=\"https://profiles.wordpress.org/skorasaurus/\">Will Skora</a> · <a href=\"https://profiles.wordpress.org/wplmillet/\">wplmillet</a> · <a href=\"https://profiles.wordpress.org/xate/\">xate</a> · <a href=\"https://profiles.wordpress.org/xavilc/\">xavilc</a> · <a href=\"https://profiles.wordpress.org/xerpa43/\">xerpa43</a> · <a href=\"https://profiles.wordpress.org/xipasduarte/\">xipasduarte</a> · <a href=\"https://profiles.wordpress.org/yagniksangani/\">Yagnik Sangani</a> · <a href=\"https://profiles.wordpress.org/yashyadav247/\">Yash</a> · <a href=\"https://profiles.wordpress.org/getsyash/\">Yash B</a> · <a href=\"https://profiles.wordpress.org/yashjawale/\">Yash Jawale</a> · <a href=\"https://profiles.wordpress.org/yogeshbhutkar/\">Yogesh Bhutkar</a> · <a href=\"https://profiles.wordpress.org/yogieanamcara/\">YogieAnamCara</a> · <a href=\"https://profiles.wordpress.org/fierevere/\">Yui</a> · <a href=\"https://profiles.wordpress.org/zebulan/\">Zebulan Stanphill</a> · <a href=\"https://profiles.wordpress.org/zeelthakkar/\">Zeel Thakkar</a> · <a href=\"https://profiles.wordpress.org/zunaid321/\">Zunaid Amin</a> · <a href=\"https://profiles.wordpress.org/lstraczynski/\">Łukasz Strączyński</a> · <a href=\"https://profiles.wordpress.org/haozi/\">耗子</a></p>\n\n\n\n<p>More than <a href=\"https://translate.wordpress.org/stats/\">71 locales have fully translated</a> WordPress 6.9 into their language. Community translators are working hard to ensure more translations are on their way. Thank you to everyone who helps make WordPress available in 200+ languages.</p>\n\n\n\n<p>Last but not least, thanks to the volunteers who contribute to the <a href=\"https://wordpress.org/support/forums/\">support forums</a> by answering questions from WordPress users worldwide.</p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Get involved</strong></h2>\n\n\n\n<p>Participation in WordPress goes far beyond coding. And learning more and getting involved is easy.  Discover the teams that come together to <a href=\"https://make.wordpress.org/\">Make WordPress</a> and use <a href=\"https://make.wordpress.org/contribute/\">this interactive tool</a> to help you decide which is right for you.</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, 02 Dec 2025 20:12: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:14:\"Matt Mullenweg\";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:10;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:14:\"Matt: SoTW Eve\";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:23:\"https://ma.tt/?p=150730\";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:31:\"https://ma.tt/2025/12/sotw-eve/\";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:1939:\"<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-150732\" height=\"196\" src=\"https://i0.wp.com/ma.tt/files/2025/12/sotw_2025_banner-landing_finalone-scaled-1-1024x333.png?resize=604%2C196&#038;quality=80&#038;ssl=1\" width=\"604\" /></figure>\n\n\n\n<p>The <a href=\"https://wordpress.org/state-of-the-word/\">State of the Word</a> is tomorrow, and it&#8217;s so fun to see SF abuzz with WordPress open source energy. We&#8217;re doing a lot of firsts tomorrow, including the first release timed to the State of the Word, and we&#8217;ll have a good chunk of the release team there to push the button and bring WordPress 6.9 to the world. </p>\n\n\n\n<p>We&#8217;ll also be crossing streams with another community: in the last ten minutes, we&#8217;ll join <a href=\"https://www.tbpn.com/\">TBPN</a>, the new must-watch daily tech show.</p>\n\n\n\n<p>The art and activations are looking so good; it&#8217;s fun to see how everything evolves. <a href=\"https://automattic.design/2025/03/05/designing-state-of-the-word-tokyo-heritage-meets-innovation/\">Tokyo was so beautiful last year</a>; I wasn&#8217;t sure how we&#8217;d top it, but the creativity of everyone coming together has sparked something new this year that I think is quite cool. We&#8217;re trying to honor our mission of democratizing publishing, making things that are powerful and capable, but also retain the flicker of art.</p>\n\n\n\n<p>We&#8217;re also opening up <a href=\"https://tinkertendo.com/\">TinkerTendo</a> to the community. I was just there with a few dozen of the crew, and the vibes are so fun. If you&#8217;re in SF, <a href=\"https://www.meetup.com/wordpress-sf/events/312184138/\">definitely swing by</a> and connect with the folks building the most open internet we can all enjoy.</p>\n\n\n\n<p><a href=\"https://wordpress.org/state-of-the-word/\">Check out the livestream tomorrow</a>, it&#8217;ll be a nice capstone to all we&#8217;ve built together this year.</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, 02 Dec 2025 05:24:13 +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:4:\"Matt\";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:11;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:73:\"Open Channels FM: The Modern Quest for the Perfect Tab Management Browser\";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:33:\"https://openchannels.fm/?p=112370\";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:80:\"https://openchannels.fm/the-modern-quest-for-the-perfect-tab-management-browser/\";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:141:\"Tab wars: Wrigley’s drowning in 45 tabs while BobWP casually guards two; they chat about browsers and the beauty of hitting “clear all”\";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, 02 Dec 2025 02:15:08 +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:12;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:\"Jake Spurlock: Introducing Placeholders: A WordPress Plugin for Ad Wireframing\";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:33:\"https://jakespurlock.com/?p=52207\";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:61:\"https://jakespurlock.com/2025/12/placeholders-ad-wireframing/\";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>I&#8217;m excited to announce the release of <strong>Placeholders</strong>, a new WordPress plugin that makes wireframing and prototyping ad layouts easier than ever. The plugin is now available on <a href=\"https://wordpress.org/plugins/placeholders/\">WordPress.org</a> and ready for production use.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-problem\">The Problem</h2>\n\n\n\n<p>If you&#8217;ve ever worked on a WordPress site that displays advertising, you know the challenge: during the design and development phase, you need placeholder blocks that accurately represent where ads will appear. You want them to match real ad dimensions, but you don&#8217;t want to set up actual ad serving just to see if your layout works.</p>\n\n\n\n<p>I found myself repeatedly creating custom HTML blocks or CSS to mock up ad placements while working on various projects. Each time, I&#8217;d have to look up IAB standard ad sizes, write the markup, and style the placeholders. It was tedious and repetitive work that felt like it should be solved once and reused everywhere.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-solution\">The Solution</h2>\n\n\n\n<p><strong>Placeholders</strong> solves this by providing 14 Gutenberg blocks for the most common advertising sizes. Each block is pre-configured with the correct dimensions and provides a clean, wireframe-style placeholder that clearly indicates the ad size and space it will occupy.</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"supported-ad-sizes\">Supported Ad Sizes</h3>\n\n\n\n<p>The plugin includes blocks for all the standard IAB ad sizes:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Leaderboard</strong> (728×90px)</li>\n\n\n\n<li><strong>Medium Rectangle</strong> (300×250px)</li>\n\n\n\n<li><strong>Wide Skyscraper</strong> (160×600px)</li>\n\n\n\n<li><strong>Mobile Banner</strong> (320×50px)</li>\n\n\n\n<li><strong>Billboard</strong> (970×250px)</li>\n\n\n\n<li><strong>Large Rectangle</strong> (336×280px)</li>\n\n\n\n<li><strong>Half Page</strong> (300×600px)</li>\n\n\n\n<li><strong>Small Square</strong> (200×200px)</li>\n\n\n\n<li><strong>Square</strong> (250×250px)</li>\n\n\n\n<li><strong>Small Rectangle</strong> (180×150px)</li>\n\n\n\n<li><strong>Vertical Rectangle</strong> (240×400px)</li>\n\n\n\n<li><strong>Large Leaderboard</strong> (970×90px)</li>\n\n\n\n<li><strong>Portrait</strong> (300×1050px)</li>\n\n\n\n<li><strong>Netboard</strong> (580×400px)</li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"key-features\">Key Features</h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"simple-to-use\">Simple to Use</h3>\n\n\n\n<p>Just search for any ad size in the block inserter (e.g., &#8220;leaderboard&#8221; or &#8220;medium rectangle&#8221;), insert the block, and you&#8217;re done. No configuration required.</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"customizable\">Customizable</h3>\n\n\n\n<p>Each placeholder supports:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Background color</strong> customization</li>\n\n\n\n<li><strong>Text color</strong> customization</li>\n\n\n\n<li><strong>Alignment options</strong> (wide and full alignment)</li>\n\n\n\n<li><strong>Responsive design</strong> that works on all screen sizes</li>\n</ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"clean-design\">Clean Design</h3>\n\n\n\n<p>The placeholders feature a minimalist design that clearly shows:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The ad size name</li>\n\n\n\n<li>Exact pixel dimensions</li>\n\n\n\n<li>A subtle border to indicate the space</li>\n</ul>\n\n\n\n<p>This makes it easy to visualize your layout without the placeholders dominating the design.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"use-cases\">Use Cases</h2>\n\n\n\n<p><strong>Placeholders</strong> is perfect for:</p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Wireframing</strong>: Quickly mock up ad placements during the design phase</li>\n\n\n\n<li><strong>Development</strong>: Reserve space for ads while building the site</li>\n\n\n\n<li><strong>Client Presentations</strong>: Show clients where ads will appear without setting up ad serving</li>\n\n\n\n<li><strong>Testing Layouts</strong>: Experiment with different ad placements and sizes</li>\n\n\n\n<li><strong>Documentation</strong>: Create visual guides showing ad placement options</li>\n</ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"technical-details\">Technical Details</h2>\n\n\n\n<p>The plugin is built with modern WordPress development practices:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>100% Gutenberg native</strong> &#8211; Works seamlessly with the block editor</li>\n\n\n\n<li><strong>No dependencies</strong> &#8211; Pure PHP, CSS, and JavaScript</li>\n\n\n\n<li><strong>Lightweight</strong> &#8211; Minimal performance impact</li>\n\n\n\n<li><strong>Well-tested</strong> &#8211; Includes comprehensive unit tests</li>\n\n\n\n<li><strong>GPL licensed</strong> &#8211; Free and open source</li>\n</ul>\n\n\n\n<p>All blocks are grouped in a dedicated &#8220;Placeholders&#8221; category in the block inserter, making them easy to find and use.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"installation\">Installation</h2>\n\n\n\n<p>You can install Placeholders in three ways:</p>\n\n\n\n<p><strong>From WordPress.org</strong> (Recommended)</p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to Plugins → Add New in your WordPress admin</li>\n\n\n\n<li>Search for &#8220;Placeholders&#8221;</li>\n\n\n\n<li>Click Install Now, then Activate</li>\n</ol>\n\n\n\n<p><strong>From the Plugin Directory</strong> Download directly from <a href=\"https://wordpress.org/plugins/placeholders/\">wordpress.org/plugins/placeholders</a></p>\n\n\n\n<p><strong>From GitHub</strong> Clone or download from <a href=\"https://github.com/whyisjake/placeholders\">github.com/whyisjake/placeholders</a></p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"whats-next\">What&#8217;s Next</h2>\n\n\n\n<p>This is the 1.0 release, and I&#8217;ve kept the scope focused on solving one problem well. However, I have ideas for future enhancements:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Custom ad size support</li>\n\n\n\n<li>Templates for common ad layout patterns</li>\n\n\n\n<li>Integration with popular ad management plugins</li>\n\n\n\n<li>Dark mode styling options</li>\n</ul>\n\n\n\n<p>If you have feature requests or find bugs, please <a href=\"https://github.com/whyisjake/placeholders/issues\">open an issue on GitHub</a>.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"try-it-out\">Try It Out</h2>\n\n\n\n<p>The plugin is available now on WordPress.org. If you work with ad layouts in WordPress, give it a try and let me know what you think!</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Download</strong>: <a href=\"https://wordpress.org/plugins/placeholders/\">wordpress.org/plugins/placeholders</a></li>\n\n\n\n<li><strong>GitHub</strong>: <a href=\"https://github.com/whyisjake/placeholders\">github.com/whyisjake/placeholders</a></li>\n</ul>\n\n\n\n<p>Happy wireframing!</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<p><em>Placeholders is free and open source software, released under the GPL v2 license.</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:\"Mon, 01 Dec 2025 17: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:13:\"Jake Spurlock\";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:13;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:51:\"Open Channels FM: Tech Doesn’t Die, It Transforms\";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:33:\"https://openchannels.fm/?p=113128\";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:54:\"https://openchannels.fm/tech-doesnt-die-it-transforms/\";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:89:\"Think about it, most ideas behind any tech never really went away, they have transformed.\";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, 01 Dec 2025 13:48:58 +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:14;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:74:\"Jonathan Desrosiers: Seven Years a Committer: My WordPress Commit-iversary\";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:38:\"https://jonathandesrosiers.com/?p=8542\";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://jonathandesrosiers.com/2025/11/seven-years-a-committer-my-wordpress-commit-iversary/\";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:8020:\"<p class=\"\">Today officially marks 7 years since my <a href=\"https://core.trac.wordpress.org/changeset/43957\">first changeset was committed</a> to the <a href=\"https://wordpress.org\">WordPress</a> open source project.</p>\n\n\n\n<p class=\"\">Within WordPress, a <em>committer</em> is a contributor who has the ability to modify the main WordPress source repository. Since 2004, roughly 117 people have been given commit access, and 111 have made at least one commit.</p>\n\n\n\n<p class=\"\">In previous years, I linked to posts from other contributors about what it means to be a great participant in open source. Over the past year, though, I have spent a lot of time thinking about what being a great contributor means to me and how decisions are made at scale in open source projects.</p>\n\n\n\n<p class=\"\">This year, instead of pointing to others, I am proud to <a href=\"https://maintaine.rs/desrosj\">share an essay of my own</a>. It is a piece I drafted for the <a href=\"https://maintaine.rs/\">Maintaine.rs book</a>, inspired by <a href=\"https://jonathandesrosiers.com/2025/06/how-a-core-committer-thinks-making-decisions-for-millions/\">my talk at WordCamp Europe</a>, where I explored how Core Committers think and how decisions take shape within the WordPress project.</p>\n\n\n\n<p class=\"\">I also started drafting a few other posts on related topics, so stay tuned for those in the coming weeks. I hope to use the quieter days of December to get those over the finish line.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-lucky-number-seven\">Lucky Number Seven</h2>\n\n\n\n<p class=\"\">Each year I try to give this anniversary post a theme. Since seven is considered a lucky number by many people (especially those <a href=\"https://en.wikipedia.org/wiki/Craps\">on the pass line</a>), this year&#8217;s theme is luck.</p>\n\n\n\n<p class=\"\">I am writing this while on a plane to San Francisco for the <a href=\"https://wordpress.org/state-of-the-word/\">2025 State of the Word</a>. This year took me to two countries I had never visited before. I spoke at several conferences and events, and I had the chance to mentor many contributors in different ways.</p>\n\n\n\n<p class=\"\">I feel incredibly lucky not only to have a job that allows me to help maintain open source software that powers more than 43% percent of the web, but also to have the trust of the community that maintains it right along side me.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-commits-by-the-numbers-2024-2025\">Commits by the numbers (2024-2025)</h2>\n\n\n\n<p class=\"\">Here are some commit stats from November 30, 2024 through November 29, 2025:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\">365 total commits (up ~42% from the <a href=\"https://jonathandesrosiers.com/2024/11/six-years-a-committer-my-wordpress-commit-iversary/\">previous year</a>)</li>\n\n\n\n<li class=\"\">123 commits to <code>trunk</code> (down ~5%)</li>\n\n\n\n<li class=\"\">21 version bumps (up 320%)</li>\n\n\n\n<li class=\"\">5 reverts (down ~44%)</li>\n\n\n\n<li class=\"\">4 &#8220;unprops&#8221; (no change)</li>\n\n\n\n<li class=\"\">22 tags created (up 2,100%)</li>\n\n\n\n<li class=\"\">162 total props given out in my commits (down 42%)</li>\n\n\n\n<li class=\"\">66 unique contributors given props in my commits (down ~59%)</li>\n\n\n\n<li class=\"\">Of those 66 contributors, 8 were receiving props for the first time (down ~70%)</li>\n</ul>\n\n\n\n<p class=\"\">Roughly grouped, here are my commits organized by <a href=\"https://make.wordpress.org/core/components/\">component</a> (* designates a component that I help maintain):</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\">Administration: 1</li>\n\n\n\n<li class=\"\">Build/Test Tools: 175*</li>\n\n\n\n<li class=\"\">Bundled Themes: 7*</li>\n\n\n\n<li class=\"\">Coding Standards: 3 (focus, not a component)</li>\n\n\n\n<li class=\"\">Date/Time: 1</li>\n\n\n\n<li class=\"\">Database: 1</li>\n\n\n\n<li class=\"\">Docs: 1 (focus, not a component)</li>\n\n\n\n<li class=\"\">Editor: 3</li>\n\n\n\n<li class=\"\">Emoji: 2</li>\n\n\n\n<li class=\"\">External Libraries: 4*</li>\n\n\n\n<li class=\"\">General: 4*</li>\n\n\n\n<li class=\"\">HTML API: 2</li>\n\n\n\n<li class=\"\">Import: 1</li>\n\n\n\n<li class=\"\">Media: 2*</li>\n\n\n\n<li class=\"\">Press This: 1 (retired component</li>\n\n\n\n<li class=\"\">Security: 83</li>\n\n\n\n<li class=\"\">Site Health: 1</li>\n\n\n\n<li class=\"\">Tests: 5 (focus, not a component)</li>\n\n\n\n<li class=\"\">Toolbar: 1</li>\n\n\n\n<li class=\"\">Upgrade/Install: 1*</li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-add-it-up-all-seven-years\">Add it up: All Seven Years</h2>\n\n\n\n<p class=\"\">Here are stats for all seven years of being a WordPress Core Committer (November 30, 2018 through today):</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\">2,552 total commits</li>\n\n\n\n<li class=\"\">1,201 commits to <code>trunk</code></li>\n\n\n\n<li class=\"\">265 version bumps</li>\n\n\n\n<li class=\"\">174 version tags created</li>\n\n\n\n<li class=\"\">4 branches created</li>\n\n\n\n<li class=\"\">58 reverts</li>\n\n\n\n<li class=\"\">24 &#8220;unprops&#8221;</li>\n\n\n\n<li class=\"\"><a href=\"https://open.spotify.com/playlist/5vbJ3gncpLoc9AN0ct5iME?si=33aebb1f695b4536\">11 commits with hidden song lyrics</a></li>\n\n\n\n<li class=\"\">4,846 total props given out in my commits</li>\n\n\n\n<li class=\"\">747 unique contributors given props in my commits</li>\n</ul>\n\n\n\n<p class=\"\">I have also now entered into the top 5 list of contributors with the most commits to the code base across all branches:</p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"\"><a href=\"https://ryanboren.link/\">Ryan Boren</a> (9,081)</li>\n\n\n\n<li class=\"\"><a href=\"https://profiles.wordpress.org/sergeybiryukov/\">Sergey Biryukov</a> (8,342)</li>\n\n\n\n<li class=\"\"><a href=\"https://nacin.com/\">Andrew Nacin</a> (5,418)</li>\n\n\n\n<li class=\"\"><a href=\"https://ozz.blog/\">Andrew Ozz</a> (3,366)</li>\n\n\n\n<li class=\"\">Me (2,552)</li>\n</ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-a-few-other-observations\">A Few Other Observations</h2>\n\n\n\n<p class=\"\">I realized while writing this year&#8217;s anniversary post that my first commit falls on <a href=\"https://en.wikipedia.org/wiki/Blue_Beanie_Day\">Blue Beanie Day</a>. I may have to get a WordPress logo blue beanie for next year.</p>\n\n\n\n<p class=\"\">And hat tip to <a href=\"https://simonwillison.net/\">Simon Willison</a> for <a href=\"https://x.com/simonw/status/1995168534251610335\">pointing out</a> that ChatGPT was launched on November 30th, 2022.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-as-always-thank-you\">As Always: Thank YOU! <img alt=\"🫵\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/17.0.2/72x72/1faf5.png\" style=\"height: 1em;\" /></h2>\n\n\n\n<p class=\"\">Being a WordPress committer would not be nearly as meaningful without the countless contributions from people across the community who choose to support and maintain this free software in so many different ways. So thank you to every single one of you. <img alt=\"❤\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/17.0.2/72x72/2764.png\" style=\"height: 1em;\" /></p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-previous-commit-iversaries\">Previous Commit-iversaries</h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\"><a href=\"https://jonathandesrosiers.com/2020/11/two-years-my-wordpress-commit-iversary/\">Two</a></li>\n\n\n\n<li class=\"\"><a href=\"https://jonathandesrosiers.com/2023/11/five-years-my-wordpress-commit-iversary/\">Three/Four/Five</a></li>\n\n\n\n<li class=\"\"><a href=\"https://jonathandesrosiers.com/2024/11/six-years-a-committer-my-wordpress-commit-iversary/\">Six</a></li>\n</ul>\n\n\n\n<p class=\"has-text-align-right\"><em>Featured image credit: <a href=\"https://creativecommons.org/publicdomain/zero/1.0/\">CC0</a> licensed <a href=\"https://wordpress.org/photos/photo/24165e5435/\">photo</a> by <a href=\"https://wordpress.org/photos/author/chanecullens/\">CCC</a> from the <a href=\"https://wordpress.org/photos/\">WordPress Photo Directory</a>.</em></p>\n\n\n\n<p class=\"\"></p>\n<p>The post <a href=\"https://jonathandesrosiers.com/2025/11/seven-years-a-committer-my-wordpress-commit-iversary/\">Seven Years a Committer: My WordPress Commit-iversary</a> appeared first on <a href=\"https://jonathandesrosiers.com\">Jonathan Desrosiers</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, 01 Dec 2025 04:51: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:19:\"Jonathan Desrosiers\";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:15;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:25:\"Matt: Thanksgiving Sunday\";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:23:\"https://ma.tt/?p=150717\";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:42:\"https://ma.tt/2025/11/thanksgiving-sunday/\";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:876:\"<p>It&#8217;s an interesting cultural moment right now: I think Bryan tweeted, many people are watching people catching balls, while others are <a href=\"https://www.youtube.com/watch?v=64_ve0ToFrI\">watching Bryan Johnson tripping balls</a>. Bryan Johnson, of <a href=\"https://blueprint.bryanjohnson.com/\">Blueprint fame</a>, is livestreaming taking a heroic dose of mushrooms. It&#8217;s been an interesting journey with the journalist Ashlee Vance, Naval Ravikant, David Friedberg, Marc Benioff, Genevieve Jurvetson, and now a DJ set by Grimes. I was hoping he&#8217;d be talking/interacting more with the guests, but it&#8217;s been more of a live commentary. Glad all the work Bryan is doing, as Genevieve said, to broaden the Overton window on this, really re-opening a lot of research originially started by the government and pharmacutical companies 50-60 years ago.</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:\"Sun, 30 Nov 2025 22:32:03 +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:4:\"Matt\";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:16;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:94:\"Gutenberg Times: Gutenberg Changelog #125 – WordPress 6.9, Gutenberg 22.1 and Gutenberg 22.2\";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=43300\";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:107:\"https://gutenbergtimes.com/podcast/gutenberg-changelog-125-wordpress-6-9-gutenberg-22-1-and-gutenberg-22-2/\";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:58545:\"<p>The newest episode of the <strong>Gutenberg Changelog podcast, #125</strong>, features hosts Birgit Pauli-Haack and JC Palmes discussing a major trio of releases: <strong>WordPress 6.9, Gutenberg 22.1, and Gutenberg 22.2</strong>.</p>\n\n\n\n<p>JC highlights several exciting features in WordPress 6.9, focusing on significant developer and editor experience improvements, including the <strong>full iframe editor</strong>, <strong>routing</strong>, <strong>DataViews</strong>, the <strong>Interactivity API</strong>, <strong>pattern logic and content-only mode</strong>, and the <strong>Abilities system</strong>. A personal favorite is the new <strong>Accordion Block</strong>.</p>\n\n\n\n<p>The discussion then moves to the latest Gutenberg releases. </p>\n\n\n\n<p><strong>Gutenberg 22.1</strong> introduces the <strong>new <code>core/tabs</code> block</strong> and brings enhancements like <strong>JS/CSS editing for the HTML Block</strong>, updates to the Twitter/X embed icon, and various improvements to DataViews and Breadcrumbs.</p>\n\n\n\n<p><strong>Gutenberg 22.2</strong> focuses on performance, block editor polish, accessibility, and developer experience. Key updates include expanded functionality for the <strong>Breadcrumbs</strong> block, support for <strong>background video embeds in the Cover block</strong>, and new controls for <strong>text justification</strong> and <strong>width</strong> in the Block Editor. It also refines the block-locking functionality with changes to pattern management, such as replacing the &#8216;Ungroup&#8217; option with &#8216;Add edit section&#8217; for specific blocks.</p>\n\n\n\n<p>Tune in to get the full rundown on how these releases will shape the future of site building in WordPress.</p>\n\n\n\n<p><a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-69-gutenberg-releases-wordpress-6-0-1-the-create-block-theme/#shownotes\">Show Notes</a> / <a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-69-gutenberg-releases-wordpress-6-0-1-the-create-block-theme/#transcript\">Transcript</a></p>\n\n\n\n<p></p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Editor: <a href=\"https://www.linkedin.com/in/sandy-reed/\">Sandy Reed</a></li>\n\n\n\n<li>Logo: <a href=\"https://markuraine.com/\">Mark Uraine</a></li>\n\n\n\n<li>Production: <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<h2 class=\"wp-block-heading\">JC Palmes, WebDev Studios</h2>\n\n\n\n<ul class=\"wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex\"><li class=\"wp-social-link wp-social-link-x  wp-block-social-link\"><a class=\"wp-block-social-link-anchor\" href=\"https://twitter.com/jpalmes\"><svg height=\"24\" version=\"1.1\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z\"></svg><span class=\"wp-block-social-link-label screen-reader-text\">X</span></a></li>\n\n<li class=\"wp-social-link wp-social-link-github  wp-block-social-link\"><a class=\"wp-block-social-link-anchor\" href=\"https://github.com/khleomix/\"><svg height=\"24\" version=\"1.1\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z\"></path></svg><span class=\"wp-block-social-link-label screen-reader-text\">GitHub</span></a></li>\n\n<li class=\"wp-social-link wp-social-link-wordpress  wp-block-social-link\"><a class=\"wp-block-social-link-anchor\" href=\"https://profiles.wordpress.org/khleomix/\"><svg height=\"24\" version=\"1.1\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.158,12.786L9.46,20.625c0.806,0.237,1.657,0.366,2.54,0.366c1.047,0,2.051-0.181,2.986-0.51 c-0.024-0.038-0.046-0.079-0.065-0.124L12.158,12.786z M3.009,12c0,3.559,2.068,6.634,5.067,8.092L3.788,8.341 C3.289,9.459,3.009,10.696,3.009,12z M18.069,11.546c0-1.112-0.399-1.881-0.741-2.48c-0.456-0.741-0.883-1.368-0.883-2.109 c0-0.826,0.627-1.596,1.51-1.596c0.04,0,0.078,0.005,0.116,0.007C16.472,3.904,14.34,3.009,12,3.009 c-3.141,0-5.904,1.612-7.512,4.052c0.211,0.007,0.41,0.011,0.579,0.011c0.94,0,2.396-0.114,2.396-0.114 C7.947,6.93,8.004,7.642,7.52,7.699c0,0-0.487,0.057-1.029,0.085l3.274,9.739l1.968-5.901l-1.401-3.838 C9.848,7.756,9.389,7.699,9.389,7.699C8.904,7.67,8.961,6.93,9.446,6.958c0,0,1.484,0.114,2.368,0.114 c0.94,0,2.397-0.114,2.397-0.114c0.485-0.028,0.542,0.684,0.057,0.741c0,0-0.488,0.057-1.029,0.085l3.249,9.665l0.897-2.996 C17.841,13.284,18.069,12.316,18.069,11.546z M19.889,7.686c0.039,0.286,0.06,0.593,0.06,0.924c0,0.912-0.171,1.938-0.684,3.22 l-2.746,7.94c2.673-1.558,4.47-4.454,4.47-7.771C20.991,10.436,20.591,8.967,19.889,7.686z M12,22C6.486,22,2,17.514,2,12 C2,6.486,6.486,2,12,2c5.514,0,10,4.486,10,10C22,17.514,17.514,22,12,22z\"></path></svg><span class=\"wp-block-social-link-label screen-reader-text\">WordPress</span></a></li>\n\n<li class=\"wp-social-link wp-social-link-instagram  wp-block-social-link\"><a class=\"wp-block-social-link-anchor\" href=\"https://www.instagram.com/khleomix/\"><svg height=\"24\" version=\"1.1\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12,4.622c2.403,0,2.688,0.009,3.637,0.052c0.877,0.04,1.354,0.187,1.671,0.31c0.42,0.163,0.72,0.358,1.035,0.673 c0.315,0.315,0.51,0.615,0.673,1.035c0.123,0.317,0.27,0.794,0.31,1.671c0.043,0.949,0.052,1.234,0.052,3.637 s-0.009,2.688-0.052,3.637c-0.04,0.877-0.187,1.354-0.31,1.671c-0.163,0.42-0.358,0.72-0.673,1.035 c-0.315,0.315-0.615,0.51-1.035,0.673c-0.317,0.123-0.794,0.27-1.671,0.31c-0.949,0.043-1.233,0.052-3.637,0.052 s-2.688-0.009-3.637-0.052c-0.877-0.04-1.354-0.187-1.671-0.31c-0.42-0.163-0.72-0.358-1.035-0.673 c-0.315-0.315-0.51-0.615-0.673-1.035c-0.123-0.317-0.27-0.794-0.31-1.671C4.631,14.688,4.622,14.403,4.622,12 s0.009-2.688,0.052-3.637c0.04-0.877,0.187-1.354,0.31-1.671c0.163-0.42,0.358-0.72,0.673-1.035 c0.315-0.315,0.615-0.51,1.035-0.673c0.317-0.123,0.794-0.27,1.671-0.31C9.312,4.631,9.597,4.622,12,4.622 M12,3 C9.556,3,9.249,3.01,8.289,3.054C7.331,3.098,6.677,3.25,6.105,3.472C5.513,3.702,5.011,4.01,4.511,4.511 c-0.5,0.5-0.808,1.002-1.038,1.594C3.25,6.677,3.098,7.331,3.054,8.289C3.01,9.249,3,9.556,3,12c0,2.444,0.01,2.751,0.054,3.711 c0.044,0.958,0.196,1.612,0.418,2.185c0.23,0.592,0.538,1.094,1.038,1.594c0.5,0.5,1.002,0.808,1.594,1.038 c0.572,0.222,1.227,0.375,2.185,0.418C9.249,20.99,9.556,21,12,21s2.751-0.01,3.711-0.054c0.958-0.044,1.612-0.196,2.185-0.418 c0.592-0.23,1.094-0.538,1.594-1.038c0.5-0.5,0.808-1.002,1.038-1.594c0.222-0.572,0.375-1.227,0.418-2.185 C20.99,14.751,21,14.444,21,12s-0.01-2.751-0.054-3.711c-0.044-0.958-0.196-1.612-0.418-2.185c-0.23-0.592-0.538-1.094-1.038-1.594 c-0.5-0.5-1.002-0.808-1.594-1.038c-0.572-0.222-1.227-0.375-2.185-0.418C14.751,3.01,14.444,3,12,3L12,3z M12,7.378 c-2.552,0-4.622,2.069-4.622,4.622S9.448,16.622,12,16.622s4.622-2.069,4.622-4.622S14.552,7.378,12,7.378z M12,15 c-1.657,0-3-1.343-3-3s1.343-3,3-3s3,1.343,3,3S13.657,15,12,15z M16.804,6.116c-0.596,0-1.08,0.484-1.08,1.08 s0.484,1.08,1.08,1.08c0.596,0,1.08-0.484,1.08-1.08S17.401,6.116,16.804,6.116z\"></path></svg><span class=\"wp-block-social-link-label screen-reader-text\">Instagram</span></a></li>\n\n<li class=\"wp-social-link wp-social-link-facebook  wp-block-social-link\"><a class=\"wp-block-social-link-anchor\" href=\"https://www.facebook.com/jcpalmes/\"><svg height=\"24\" version=\"1.1\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z\"></path></svg><span class=\"wp-block-social-link-label screen-reader-text\">Facebook</span></a></li>\n\n<li class=\"wp-social-link wp-social-link-linkedin  wp-block-social-link\"><a class=\"wp-block-social-link-anchor\" href=\"https://www.linkedin.com/in/jcmaepalmes/\"><svg height=\"24\" version=\"1.1\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z\"></path></svg><span class=\"wp-block-social-link-label screen-reader-text\">LinkedIn</span></a></li></ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://khleomix.com/\">Website</a></li>\n\n\n\n<li><a href=\"https://webdevstudios.com/2025/11/25/a-developers-guide-the-future-of-the-wordpress-gutenberg-block-editor/\">A Developer’s Guide: The Future of the WordPress Gutenberg Block Editor</a></li>\n\n\n\n<li><a href=\"https://github.com/WebDevStudios/wds-bt\">WDS-BT on GitHub</a></li>\n\n\n\n<li>Previous Appearances\n<ul class=\"wp-block-list\">\n<li><a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-108-block-themes-for-agencies/\">Gutenberg Changelog #108 – Gutenberg 19.3, WordPress 6.7 – Block Themes for Agencies, WordCamp Asia</a></li>\n\n\n\n<li><a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-116-wordpress-6-8-field-guide/\">Gutenberg Changelog 116 – WordPress 6.8, Source of Truth, Field Guide, Gutenberg 20.5 and 20.6</a></li>\n</ul>\n</li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\">Announcements</h2>\n\n\n\n<p><a href=\"https://www.youtube.com/playlist?list=PL9ax-dojLw7yUsr3hDIRWHoaGkjyBUWyW\"><strong>Gutenberg Changelog podcast</strong></a> now also available on YouTube</p>\n\n\n\n<h2 class=\"wp-block-heading\">WordPress 6.9</h2>\n\n\n\n<p><a href=\"https://wordpress.org/state-of-the-word/\">State of the Word</a> Dec 2, 2025, at 20:00 UTC</p>\n\n\n\n<p><a href=\"https://wordpress.org/news/2025/11/wordpress-6-9-release-candidate-3/\">Release Candidate 3</a></p>\n\n\n\n<p><a href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/\">Source of Truth is out.</a></p>\n\n\n\n<p><a href=\"https://make.wordpress.org/core/2025/11/25/wordpress-6-9-field-guide/\">Field Guide </a></p>\n\n\n\n<p><a href=\"https://make.wordpress.org/core/2025/11/27/wordpress-importer-can-now-migrate-urls-in-your-content/\">WordPress Importer can now migrate URLs in your content</a></p>\n\n\n\n<h2 class=\"wp-block-heading\">Gutenberg-Releases</h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://make.wordpress.org/core/2025/11/20/whats-new-in-gutenberg-22-1-18-november-2025/\">What&#8217;s new in Gutenberg 22.1? (18 November, 2025)</a></li>\n\n\n\n<li><a href=\"https://github.com/WordPress/gutenberg/releases/tag/v22.2.0-rc.1\">Gutenberg 22.2 RC 1</a></li>\n</ul>\n\n\n\n<p></p>\n\n\n\n<p></p>\n\n\n\n<p class=\"has-large-font-size\">Stay in Touch</p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<ul class=\"wp-block-list\">\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 X (formerly known as 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> Welcome to our 125th episode of the Gutenberg Changelog Podcast. In today&#8217;s episode we will talk about WordPress 6.9, Gutenberg 22.1 and Gutenberg 22.2 releases or versions. 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 sponsored by Automattic. It&#8217;s a special delight to have JC Palmes with me on the show today. JC is the principal Technical Manager at WebDev Studios. Welcome back to the show, JC. How are you today?</p>\n\n\n\n<p><em>JC Palmes: </em>I&#8217;m doing good, Birgit. I am very busy but still alive. So that&#8217;s a win.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>I can imagine.</p>\n\n\n\n<p><em>JC Palmes: </em>Yeah. Happy to be here and talk with President Gutenberg again.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Super. Yeah. Great to see you have your perspective on all the things. I just want to point out that on WebDev Studios they have just posted a developer&#8217;s guide to the future of WordPress with Gutenberg block editor, and in a in a short summary it&#8217;s why they switched or why WebDev Studios is so involved in React applications and in block themes and in the block development because it has a lot of advantages, and so there is the code shift to reactive components. I think one of the advantages that I see is that actually WordPress is giving so many components that as a plugin developer or agency developer you don&#8217;t have to make those decisions on the UI anymore. You can just follow along with the ideas. Is that accurate when I say that?</p>\n\n\n\n<p><em>JC Palmes: </em>Yeah. So that article I really like that a lot. It reflects what we see on most of our enterprise scale projects where blocks function like React components and they function like react components now. And theme JSON is basically the design system contract. So performance improves massively when you just when you move away from the old page builder stack for multisites and you know, big editorial teams, this kind of structure is really the only way things stay sane long term. So yeah, that piece captured that direction really well and it&#8217;s just the performance alone is just massive.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Yeah.</p>\n\n\n\n<p>J<em>C Palmes: </em>Massive performance improvements.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Yeah. I think we talked about it the last time you were on the show when you already created the starter theme that&#8217;s based on block theme for the organization. So that&#8217;s what you start out with. And I will share the link to.</p>\n\n\n\n<p><em>JC Palmes:</em> The GitHub repo wsbt. Yeah.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yes in the show notes and I think that also encapsulated all the good ideas around it. Have you developed a little bit more on that? What other features kind of went in.</p>\n\n\n\n<p><em>JC Palmes:</em> Not recently but it&#8217;s in my list of to do’s. It&#8217;s just I&#8217;ve been very busy with projects and stuff, so I will need to. Because there are some fixes that moved into Core but we had to do very custom fixes and some of those are already in Core. So we will have to remove those and make sure that it&#8217;s aligned with the new version of WordPress and of course fully tested.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah, I can see that there are always a few things that are not working in WordPress or you have to build a workaround. You know it&#8217;s coming but you need something now. You need to build a workaround and then when it comes into Core that they say, oh, okay, that custom code goes away and in comes Core. But it still needs to be backwards compatible also for your clients. So. But I think that&#8217;s a pretty good trade off to actually then have WordPress keep updating the part of the code. Yeah.</p>\n\n\n\n<p><em>JC Palmes:</em> And the way that WordPress is kind of moving towards a future proof version, it&#8217;s easier to add in fixes now and take it out when Core takes over. I haven&#8217;t had any sites break currently. That&#8217;s using our base theme.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> That&#8217;s awesome.</p>\n\n\n\n<p><em>JC Palmes:</em> Even with the core updates.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. It&#8217;s all pretty much isolated and you don&#8217;t have to worry so much about things. Yeah. Awesome. So, yeah, we will share the article about the developer&#8217;s guide on the future of WordPress and Gutenberg block Editor in the show notes. We will also share the starter theme that WebDev Studios has, and I don&#8217;t think we talked about it here on the show or maybe with somebody else. That&#8217;s the theme switcher plugin that came out from WebDev Studio, which is a way to have different themes, multiple themes.</p>\n\n\n\n<p><em>JC Palmes:</em> Yep. In one site. It&#8217;s a really robust plugin and I think a lot of enterprise level companies are going to like it just because they can test, you know, if they&#8217;re not ready for Gutenberg blocks and they&#8217;re still on the old WordPress computing system, if they want to try this out, then they can have a full site theme and together with their old theme and change it out one page at a time.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah, yeah, that&#8217;s what I understood. That you can have a gradual migration over to the new system to a block theme and see how your content performs and how your content creators actually work with it before you make the switch for the whole site. I think that&#8217;s pretty smart to do, especially when you have thousands and thousands of posts and more than two editors kind of.</p>\n\n\n\n<p><em>JC Palmes:</em> Yeah.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> It&#8217;s really helpful to have a gradual shift because we all don&#8217;t like change, sudden changes. You know, we like to be in the. Okay. I need to get accustomed to things.</p>\n\n\n\n<p><em>JC Palmes:</em> This thing, that theme switcher is kind of, it&#8217;s allowing these people to test the waters first before diving right in.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. And you can make the blue block theme that is kind of added to the. The other theme kind of look almost identical like the other one. So you have the shell and then can see how the. The rest of it works. Yeah, it&#8217;s pretty nifty. Yeah. So that I will share also with our listeners on the show notes. And I&#8217;m glad you&#8217;re all doing such a great job in advocating for the block editor and share all your wins with the community. </p>\n\n\n\n<h3 class=\"wp-block-heading\">Announcements</h3>\n\n\n\n<p>All right, so I have a few announcements, dear listeners. </p>\n\n\n\n<p>So the Gutenberg Changelog is now also available as a podcast on YouTube. Last week I uploaded all episodes. Well, I didn&#8217;t upload one at a time. So YouTube has this feature where you can point it to an RSS feed and then it gradually kind of uploads them itself on its own. And because Google abandoned their podcast space maybe two years ago and only now I have migrated it, but it was fairly easy to do and the only change I had to make was to allow the RSS feed to actually have all the episodes in there so YouTube could grab them. But I also needed to do that anyway because I also switched over from the seriously simple podcast player on our episodes to the Pocket Cast player. So Pocket Cast also needs all our episodes so we can have the slug or the short link for the embed code in there so that you will see also on the website. </p>\n\n\n\n<p>And I also wanted to say hi and welcome to all the new subscribers. We had a lot more listeners in the last month and I would really. Yeah, it&#8217;s awesome. I&#8217;m so happy that after a period of two years stagnating, kind of always have the same amount of listens and downloads, and now all of a sudden it&#8217;s really great to connect with you, dear listeners. And if you want, leave a comment or review on your favorite podcast app, we will read it aloud here and I also want to connect with you and learn about your ideas or what topics you would like us to cover more. So you can also send this all to the email address. The official email address for the podcast is <a href=\"http://changelogatgutenbergtimes.com\">changelogatgutenbergtimes.com</a> so now enough about me. Let&#8217;s talk about my book. No, I don&#8217;t, I don&#8217;t do a book.</p>\n\n\n\n<p><em>JC Palmes:</em> I would read your book.</p>\n\n\n\n<p>Birgit Pauli-Haack: Oh, thank you. Yeah, I, I sometimes. Well, I almost did a book. Yeah. For WordPress 6.9. But we will talk about that. </p>\n\n\n\n<h3 class=\"wp-block-heading\">WordPress 6.9 Release</h3>\n\n\n\n<p>So WordPress 6.9 is coming. We are a few days away, like five days or something away from the WordPress 6.9 release. It&#8217;s out as release candidate three. We are recording this on November 28th and the release is scheduled for December 2nd. So today is Friday. For Tuesday, that&#8217;s also the date when State of the World will happen out of San Francisco live streamed and probably with a few demos from WordPress 6.9. Also with the Outlook for 2026, but for our listeners, the field guide is out. It came a little later than for other releases, but on the Gutenberg Times I also published the WordPress 6.9 source of truth, which has a whole lot of details about what changed on the block editor for end users and also for theme developers, what they can style and all that. So if you want to read it, it&#8217;s 22 to 33 minutes to read through it and it has 5,000 words, over 5,000 words. So that&#8217;s half that. It&#8217;s not a book, but it&#8217;s a book. It&#8217;s almost a book.</p>\n\n\n\n<p><em>JC Palmes:</em> It&#8217;s a lot of words.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> That&#8217;s a lot of words. But also screenshots and videos so you can really learn a little bit more about what&#8217;s in the editor. And I also have a ton of links about the developer-related updates. So JC, what are your favorite or exciting updates coming to WordPress 6.9?</p>\n\n\n\n<p><em>JC Palmes:</em> Well, my first, my top one would probably be the terms query improvement. I thought that was still on Gutenberg 22.2. It&#8217;s now on 6.9. I mean it&#8217;s a big deal for me because I&#8217;ve built custom versions of this so many times because you know, the current query block, they&#8217;re not strong enough for what we need. So with that coming into Core, that&#8217;s kind of big.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> The term query block, it almost works like the query block, but not with posts, but with description tags. Yeah, with the terms and also so you can have the title, you can have the count and you can also. The term description was already available as a block, but now you can also put it in a dynamic page where you can list all the good categories and things that you need. Yeah, and it&#8217;s good for filtering I would think, for the huge sites and it also sites.</p>\n\n\n\n<p><em>JC Palmes:</em> Yes.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah.</p>\n\n\n\n<p><em>JC Palmes:</em> But else the accordion block. I&#8217;ve built so many versions of the accordion block as well. So having that in core just means lesser custom blocks. And you know, it&#8217;s. It&#8217;s going to be consistent markup because it&#8217;s core and I&#8217;m pretty sure better accessibility and styling, so there&#8217;s no surprises.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. I think the accordion block really lives from how you&#8217;re going to style it. So the style variations are much easier to create than custom blocks. On the developer blog, Justin Tadlock actually did a tutorial on how to style the accordion block, and he also has a snippet on how to add the schema for FAQs to the accordion block. So I will share that in the links in the show notes. He explains how to do the theme JSON styling, also the style sheet, as well as what&#8217;s still missing, how you do it in CSS and also how you can do it in a plugin or in a pattern rather. And so it&#8217;s a really good tutorial for someone who kind of starts out and hasn&#8217;t done so many accordion blocks like you did. Yeah. What else are you going to be?</p>\n\n\n\n<p><em>JC Palmes:</em> So another big one for me is I know it&#8217;s not yet in core, it&#8217;s in the plugin still, but the preparation is already in core. It&#8217;s the full iframe preparation for the integration in the post editor.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Why is that important for you?</p>\n\n\n\n<p><em>JC Palmes:</em> Because it&#8217;s going to mean cleaner isolation, fewer CSS leaks, less theme and admin bleed. Bleed through with styles. Because we&#8217;ve been battling that. Yeah. So we&#8217;ve had quite a bit of issues with admin CSS sneaking into custom blocks and vice versa. So this direction makes me very happy.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Oh, good, good. I&#8217;m glad. The contributors will be happy to hear that, especially Aki and Ria and Ella, who kind of have been working on that for so long. And thank you. I let him know.</p>\n\n\n\n<p><em>JC Palmes:</em> One other thing, I&#8217;m not sure. Did the tiny MCE thing make it into core or will make it into Core?</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> No, not yet.</p>\n\n\n\n<p><em>JC Palmes:</em> Oh, not yet.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> I think that it&#8217;s not automatically loaded. That part. Yeah, I think that&#8217;s slated for 7.0.</p>\n\n\n\n<p><em>JC Palmes:</em> Okay, I&#8217;ll wait for 7.0. I&#8217;ll be very happy. Well, I&#8217;m happy now that there&#8217;s ongoing work because in one of my projects, again, I&#8217;ve been fighting with a lot. I&#8217;ve been fighting with tiny MC issues for months, especially when you have more than 10 classic blocks and ACF with tiny MC on top. Everything just starts lagging or breaking in very strange ways. So please make it happen.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> So what else is there are any APIs that are coming to 6.9 that you are excited about?</p>\n\n\n\n<p><em>JC Palmes:</em> API. Yeah. Abilities API. That one is interesting. Is that in moving Core? Yeah, it&#8217;s moving core. Yeah. I know. It&#8217;s still kind of experimental. Oh damn. Yeah, I&#8217;m sorry. Really excited.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. Good.</p>\n\n\n\n<p><em>JC Palmes:</em> Yeah. So what I like about this because it&#8217;s now in a kind of unified declarative model with permissions. So plugins are no longer as scatterbrained with capabilities, capability checks everywhere. So this is going to be a cleaner way to define what a user role can do. That&#8217;s more of what I need it for. It&#8217;s one feature that I&#8217;ll probably be playing with a lot more. Data views and routing. Those two.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Yeah, yeah. Data views are on NPM. So if you as a plugin developer or agency developer want to use it, they can be included into your REACT apps. And there&#8217;s not only the data views but also the data forms where you get validation with it and then you can do your modals. For data entry. It is a whole new design system for the admin and for admin pages. It will not be kind of a switch over right away. Yeah. So from. From the site editor to the whole thing like the command palette. It definitely needs a lot of testing and quite a few plugins. For instance, Jetpack uses it. Some screens at WooCommerce use it now and then. I also know that other plugins are actually working with it to use the data view&#8217;s components and design for their plugins.</p>\n\n\n\n<p><em>JC Palmes:</em> Yeah. Because if this becomes a standard for building admin UIs, we can finally stop reinventing these tables every year and you.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Don&#8217;t have to maintain the bulk of the code. So it&#8217;s only the business logic pretty much. And to maintain for you. Anything else that you want to talk about?</p>\n\n\n\n<p><em>JC Palmes:</em> Performance improvements are off the charts. On smarter script and style loading, they&#8217;re now going to load automatically in the footer. Right?</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah.</p>\n\n\n\n<p><em>JC Palmes:</em> And then there&#8217;s the fetch FOID that I only learned about earlier today. It&#8217;s kind of interesting. And yeah, the reducement of the layout shift for videos. Oh, caching is now better cache support, especially for multi sites. The multi site cache is going to be. Can be cleared out for the whole site, not just for per site. Right. Yeah, I think that&#8217;s going to be huge. Yeah. We&#8217;ve Been having quite a bit of multi site projects lately, so that&#8217;s going to be. Yeah.</p>\n\n\n\n<p>Birgit Pauli-Haack: So do you see any applications or adoption of the Notes feature, the content top level commenting?</p>\n\n\n\n<p><em>JC Palmes:</em> Well, for content editors that would be a help, I guess. I haven&#8217;t really paid a lot of attention to that part. I paid more attention to the developer parts and more of the UI. Yeah, that. I&#8217;m not sure if I&#8217;ll use it, but probably. Well, I don&#8217;t really take notes, so.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> All right, good, good. So I think that&#8217;s all we&#8217;re going to talk about WordPress 6.9. I talked with Ella about it and I also talked with Sarah about it and with Beth Soderberg. So the last four episodes we have talked about quite a bit about 6.9. So now that it&#8217;s here, it&#8217;s really kind of. We&#8217;re going to be shifting what&#8217;s coming to 7.0, but not in this episode except for what&#8217;s in Gutenberg plugins. </p>\n\n\n\n<p>Before we head into what&#8217;s released, I wanted to point out to our listeners that the WordPress importer has received a major upgrade and that came out of the Playground team. The Playground has this blueprint steps called Import WXR, which actually uses the export of a site that is done exporting with the WordPress importer. But the problem was when you import it to Playground, all the links would break and so the team added a URL replacer to the importer plugin and it not only is a very smart replacer, it does not only replace the page links, but also the URLs or the links that are in navigation blocks that are in background image CSS. And so it&#8217;s, it&#8217;s actually really helping. You don&#8217;t need any other plugin to actually import an export from a website. Yeah. So you can put it into Playground and then have a fully functioning site without having trouble. And if the images are still on the original site, it kind of grabs them and puts them in as well like the normal importer does. But it also replaces the URLs to the image. So it&#8217;s really a major shift on the WordPress importer. I think I abandoned using the importer about four or five years ago for other plugins when I was moving sites. But this seems to be a much smaller way now because it also streams that. So it&#8217;s really fast on the importing part.</p>\n\n\n\n<p><em>JC Palmes:</em> I&#8217;ll have to check that and test it out.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah, it&#8217;s released now in 0.9.5, and I&#8217;ll share the link in the show Notes to the PR that implemented that URL report. There&#8217;s actually a better way. Adam Chylinski, the brilliant programmer of Playground, has actually a post on the Core blog where he kind of lays out how he did it. </p>\n\n\n\n<h3 class=\"wp-block-heading\">What’s Released &#8211; Gutenberg 22.1</h3>\n\n\n\n<p>All right, now we come to the Gutenberg 22.1 release. Do you want to lead us into what&#8217;s new and what we&#8217;re going to talk about? We start out with a new block. It&#8217;s the core tabs.</p>\n\n\n\n<p><em>JC Palmes:</em> Oh, the core tabs. Yep.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Have you been waiting for that too?</p>\n\n\n\n<p><em>JC Palmes:</em> Hey, yeah, yeah. We do have quite a bit of custom blocks as well that are tabs usually for education sites where they have multiple content that they need to add into tabs. We&#8217;ve used the navigation block before to kind of hack it up and use it as a tabs block and sometimes just very custom tabs block. But this is going to be way better because it&#8217;s now native and core. </p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> All right, okay. Yeah, I have seen a lot of tabs on some websites, but I personally. But I also don&#8217;t build a whole lot of websites with a lot of content. So I was wondering both for the accordion or the tabs block, but I can see that it&#8217;s actually a good use case for vertical navigation where you can then just have use it on the left hand side and then you click on it and opens content on the right hand side and it makes it so much faster because it doesn&#8217;t need a reload. It&#8217;s already on the website.</p>\n\n\n\n<p><em>JC Palmes:</em> Yeah.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> So yeah, that&#8217;s pretty cool. So what else? </p>\n\n\n\n<h3 class=\"wp-block-heading\">Enhancements</h3>\n\n\n\n<p>There are enhancements to the design system for the admin stuff and also the static and lazy routing for the data views. But that&#8217;s all very, very developer-oriented. Okay. So the block library, with this release there comes image prefetching for clicks to expand the images. So if you. If a user or a visitor actually hovers over your gallery or your images and so there is an indication, oh, maybe they want to click on it and so it kind of prefetches the image. So after the click the loading is almost instantaneous. It&#8217;s actually somebody called it cheating, but it&#8217;s not. It&#8217;s kind of anticipating what a visitor wants to do and be helpful. Yeah. The next one is Breadcrumbs. So Breadcrumbs is still in an experimental new block. The same with the tabs block. You have to enable the experiments in the Gutenberg plugin and it now can handle homepage and show the last item attribute and add 404 search and other archive pages to the breadcrumbs if they are in the context of that particular page where it&#8217;s loaded.</p>\n\n\n\n<p><em>JC Palmes:</em> Yeah, well, I&#8217;ve built a lot of breadcrumbs as well, so this is going to be great once it&#8217;s. It lands in Core.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah, I know. I have used Justin Tadlock&#8217;s breadcrumbs block quite a bit and he has also been part of the team who&#8217;s kind of looking at how that&#8217;s working and if it&#8217;s good ready for Core and all that. So yeah, I really like it. Especially if you&#8217;re large sites like any other, you need breadcrumbs to guide your visitors back to safety, so to speak. If they get too deep into the site they want to. How they get back to it. Yeah, the next block I&#8217;m really excited about. Well, the HTML custom block is already in Core, but what they did now was they added JavaScript and CSS editing to the block. So you can actually.</p>\n\n\n\n<p><em>JC Palmes:</em> That is nice. Yeah.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Build your own little app in one block kind of thing. So, yeah, it&#8217;s pretty cool.</p>\n\n\n\n<p><em>JC Palmes:</em> That&#8217;s going to get a lot of use for me just for playing around.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Yeah. Well, you can do some great prototypes with that and then get the code in the right places. But yeah, it&#8217;s really cool. For those who are looking for a Twitter embed, it will be replaced by the X embed icon in text. I think after three years it&#8217;s probably time. Yeah.</p>\n\n\n\n<p><em>JC Palmes:</em> Once this hits Core, I&#8217;ll have to remove the function that we&#8217;ve added for that particular feature.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. Do you want to take the next one?</p>\n\n\n\n<p><em>JC Palmes:</em> It&#8217;s collaboration of the notes that I don&#8217;t use, but. Right, right, definitely interesting. And I see it being used for collaboration for those use notes, but not for me.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> With this release that comes. I need to put it this way. So normally you want to disable things also when there are new features, there are always some people who need it also to be disabled, but it&#8217;s also some. You don&#8217;t want the notes to show up in distraction free mode or in the code editor. So this release in the Gutenberg 22.1, for those two things, notes are disabled. There&#8217;s also keyboard shortcuts and support for tree navigation and form submission shortcuts and all that. But those are the two outstanding changes to the notes that won&#8217;t be in 6.9. Well, let me verify that. No, it was backported both of them were backported to the release candidate. So it&#8217;s in 6.9.</p>\n\n\n\n<p><em>JC Palmes:</em> Maybe I&#8217;ll check it out.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah, absolutely do. Yeah, you want to know what your customers are doing with it. And there&#8217;s also a def. Go ahead.</p>\n\n\n\n<p><em>JC Palmes:</em> Oh, sorry. Go ahead. Yeah. I&#8217;m just going to say that it&#8217;s good that they also added in a. An ability to disable it.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. And there is a dev note by Adam Silverstein, who was one of the instrumental developers there. There were also contributors from Asia there. And so there was a whole team building on that. The team was from the company Multidots and they have been working on it for probably a year. And the developer note by Adam Silverstein is really very specific on how it was implemented. If there are new filters and hooks to figure out more about the dev notes, if you need additional features and how it all kind of came together, what&#8217;s the basis of it. And so it&#8217;s a really interesting note. If you are a developer and working with WordPress. The next thing is the text area control. I like that you now can add to the text area in. But that&#8217;s for the data forms, I think. Yeah, no, it&#8217;s in. Yeah, it&#8217;s in the components actually. So it can be in the editor as well. If you have a text area that you now can add a minimum height to it. So it can also grow from there. Yeah. Do you want to do the next bolded one?</p>\n\n\n\n<p><em>JC Palmes: </em>Yeah. Okay. So the color picker also got a really nice upgrade. You can now paste an entire color value directly into it and it&#8217;s in any format. Right. So Hex, RGB, HSL. Can it do named colors? It can, right?</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> No, I don&#8217;t think so.</p>\n\n\n\n<p><em>JC Palmes:</em> Oh, that would be awesome.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> That would be awesome.</p>\n\n\n\n<p><em>JC Palmes:</em> Yeah.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Well, we need to try it out. Yeah. To do. If you can do lime. Lime yellow.</p>\n\n\n\n<p><em>JC Palmes:</em> Yeah, yeah, yeah. I think what&#8217;s great is that, you know, you don&#8217;t have to click into a specific input, just paste it. Enter inside the picker. Yeah, I had to sometimes because when you do colors, right. For websites and you have not added a specific color to the color picker for the theme, I have this browser extension where I just hover on the color and get the value and then the color picker would not. I do not like the value that I input into it. So having the ability to add the entire color value directly is going to save me a lot of time and doing that.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. And also it avoids typos. Yeah, but. Oh, yeah, yeah. I&#8217;ll look up colors all the time. Yeah. And then want to just hover the hex value and then post it in. But yeah, you have to. It&#8217;s good. </p>\n\n\n\n<p>So the term name, the extensibility on the term name, I&#8217;m not sure it&#8217;s really extensibility, but it adds the level options for the heading levels and I think that was in 6.6 where that actually made around because the extensibility is that you can control the levels that a heading can have. So normally when you use a heading heading block it starts with H2 and you always need to use the drop down to change it to H3. Yeah. And with the level options you can actually control that through theme JSON. Or to only do term level being H3 all the time. Yes. Without having to change it every time you use the heading level.</p>\n\n\n\n<p><em>JC Palmes:</em> A very nice improvement for content only patterns is normally when you&#8217;re editing a content only pattern, a lot of the design controls are hidden because you know, the structure is locked. So. And that&#8217;s the whole point. One of the annoying parts of it is trying to tweak colors.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> So you can do it now.</p>\n\n\n\n<p><em>JC Palmes:</em> So. Yep, you can do it now. That&#8217;s going to be a huge experience for. Well, for content writers.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah.</p>\n\n\n\n<p><em>JC Palmes:</em> Really.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> And you don&#8217;t have to enable it. Yeah. With custom code either.</p>\n\n\n\n<p><em>JC Palmes:</em> Anyone is able. Yeah, exactly.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Bug Fixes</h3>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> So we come now to the bug fixes and there are a ton of bug fixes. Yeah. Don&#8217;t get me wrong, there are also a ton of them that were backported to WordPress 6.9. And for the accordion block, it adds CSS for the default styles. It also has some font style inheritance for button and inner text blocks. I think that that&#8217;s a little bit of a red flag. No, not red flag, but it was a little bit. The benefit from the accordion block in core was that it didn&#8217;t have any opinion on style. But the problem was that if you use the accordion block in a classic theme, then it wouldn&#8217;t have any styling unless you put it in a classic theme. So there was one idea was to just put some default styling in, but they were so restrictive that they can&#8217;t be overwritten by theme JSON values for another theme. So that kind of was a little bit of a problem. I&#8217;m not quite sure how they solved it or if they&#8217;ve solved it before the next version comes out, before the 6.9 comes out, but that&#8217;s kind of part of it. And the inner blocks of buttons or text blocks, they inherit the style of the above accordion block. So it&#8217;s kind of that.</p>\n\n\n\n<p><em>JC Palmes:</em> Okay, so right now. Well, prior to this fix, it&#8217;s not inheriting the font style from the heading or the other way around.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Well, it was the font styles for the. The font style from button, accordion header, toggle. That&#8217;s the whole heading. It didn&#8217;t go to the next header, I think. Yeah. And it&#8217;s a typography appearance. Yeah, it&#8217;s fixed. Yeah. Okay.</p>\n\n\n\n<p><em>JC Palmes:</em> Yeah. Embeds, there&#8217;s beds to go and shrink. That&#8217;s going to be helpful.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. So the embed blocks, they were pretty restrictive in their styling. And now when they&#8217;re inside a flex group block, they can grow and shrink with the size of the group block.</p>\n\n\n\n<p><em>JC Palmes:</em> Together with the group block.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. That is really cool.</p>\n\n\n\n<p><em>JC Palmes:</em> Because less CSS.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah, less CSS and also increased responsiveness. Right. If the group graph gets smaller, then also the embed gets smaller and it doesn&#8217;t bleed into the template.</p>\n\n\n\n<p><em>JC Palmes: </em>Yeah. Does it keep the aspect ratio? I hope it does.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Well, I think that&#8217;s something to be tested and kind of figured out. Yeah, I haven&#8217;t tried it yet.</p>\n\n\n\n<p><em>JC Palmes:</em> Yeah, me too.</p>\n\n\n\n<p>With one of the things that I kind of really hate about. Not hate. Hate is such a strong word. I don&#8217;t like about the embed block is you know when you have a video and then you shrink it and it&#8217;s not shrinking and it. If it does shrink, it loses the aspect ratio.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. So the next thing is more like CSS specificity for the text alignment classes. And also I think that corrects something that was done before that the text alignment and paragraph would go away. And now it kind of. Now it comes back and with a better robust CSS styling. And then for the heading block, the background padding was pretty strong out of the box. Yeah. And now they kind of are more specific to the block. So also more styling freedom for the theme developers. Right.</p>\n\n\n\n<p><em>JC Palmes:</em> Yeah. Those quality of life improvements.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Absolutely. Yeah. And I think there was a question from Twenty Twenty-Two.1. Yeah. The routing part is still all for the data use is still all in experiments. So you need to enable those. If you want to play around with that, if you want to test it, it&#8217;s playing around seems so unserious. Yeah. But if you really want to test it, if you can use it already. So, yeah, that was it. </p>\n\n\n\n<h3 class=\"wp-block-heading\">Gutenberg 22.2</h3>\n\n\n\n<p>And we come to Gutenberg 22.2. We are talking through the changelog of the release candidate 22.2 will come out on December 3rd, so one day after 6.9, but it&#8217;s normally that the release candidate is pretty solid in what&#8217;s coming in into the final release, just for testing purposes that they actually do a release candidate one. So this one is big. It has 161 pull requests from 49 contributors, 4 of which are first timers. Congratulations to your first contribution. And the release focuses more on performance and block editor polish and has a series of accessibility developer experience improvements. But it&#8217;s intended to test ahead with that. </p>\n\n\n\n<h3 class=\"wp-block-heading\">Enhancements</h3>\n\n\n\n<p>There were some enhancements again through the breadcrumbs block. It&#8217;s kind of really fantastic how that is going to grow and be feature rich when it will come to WordPress 7.0, but you definitely try it out. It now has an archive link if there&#8217;s enabled in post and can do attachment handling and post type archive links and support a pagination as well. So it&#8217;s kind of really cool. What else is in there?</p>\n\n\n\n<p><em>JC Palmes:</em> The cover now supports background videos from embeds and yeah, that&#8217;s a major upgrade for the cover block because until now background videos only work if you uploaded a file directly to the media library. And now with this new update you can use embedded videos like YouTube, Vimeo and other or supported embed sources.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Yes. That&#8217;s huge. Pretty much, yeah.</p>\n\n\n\n<p><em>JC Palmes:</em> Yeah, that&#8217;s huge. It used to be a custom block for us and having the ability to do this when it lands on core is going to be really huge.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Here goes the custom block again out.</p>\n\n\n\n<p><em>JC Palmes:</em> Exactly.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah.</p>\n\n\n\n<p><em>JC Palmes:</em> And I&#8217;m absolutely happy to remove custom blocks and move into native core blocks when it&#8217;s there because it just did the improvement and the quality and the markup just consistent and it&#8217;s really nice when you know, things work together.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. And especially the custom block you don&#8217;t want to have. Not every shared hosting has. You can upload videos well or if they&#8217;re uploaded, they&#8217;re rather pedestrian I would say, because they need to be downloaded and so if you use an embedded one. So the YouTube or the Vimeos of the space are actually hosting your video and it. It doesn&#8217;t take all the bandwidth and all that. So it&#8217;s a really cool quality of life enhancement as well. For those who don&#8217;t have so much oomph on the hosting. Yeah, yeah.</p>\n\n\n\n<p><em>JC Palmes:</em> I mean this should have existed years ago. Then again.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Well, there are a lot of things that should have been fixed a year or two ago. Yeah. There&#8217;s also a new enhancement for the math block so you could style of course the text of it, but not the full block around it. And that has now style options as well. So you can change the background and the dimension and the border and the red border radius. It&#8217;s all available now for the math outside the math block. It&#8217;s not coming to 6.9. That&#8217;s for the future release, but it&#8217;s test it out and see how it comes to pass. And the next one you would like, you&#8217;d like that.</p>\n\n\n\n<p><em>JC Palmes:</em> Yeah, I like this. A lot less CSS and markup for me. So that button block got a big improvement. And theme builders, you know, theme builders like me, every one of us have been asking for forever because we can now style pseudo states like hover focus active focus invisible directly in theme JSON for the button block and its variations. Because before this, the only reliable way to style hover or focus styles states, I mean, was to either drop in custom CSS into theme JSON or in a custom CSS file. Yeah, style sheet. That kind of great idea of keeping design controls inside theme JSON as much as possible. I would want to keep design controls inside theme JSON. But with this improvement, we can now design these states that the same way that redefine normal button styles and variations. The outline button can now have hover states too.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah, yeah, yeah. The next two items are about the data views. There are a lot more in the data views section of the changelog, but there are two things. One is because it points out that you now can insert certain information into the table. So the table column header allows you now to add columns left or right of your location that goes into that. The data view screens are much more customizable out of the box than any admin page in the current WordPress admin would do. But I really like that part where you can say where the columns go and all that. So you have a real more control over it as a user or as a site owner.</p>\n\n\n\n<p><em>JC Palmes:</em> Yeah. I also like the new layout option, the activity layout, because that&#8217;s basically a timeline view. Right. It&#8217;s similar to the list layout but with styling and behavior tuned for things like say revisions logs, events, audits, anything chronological. Exactly. You get a vertical timeline track on the left, almost smaller media inline primary actions, and really a clearer focus on the event field that anchors each entry is disabled though. But I guess it&#8217;s kind of like a timeline view, so it really shouldn&#8217;t jump around. And that. That makes sense that the cool part, I think it&#8217;s that it&#8217;s not just visual. The layout has its own interaction rules. Only the title is clickable. The whole row ssn&#8217;t. And the keyboard navigation is handled differently because the UI behaves differently than a list or a table. It&#8217;s a timeline. Yeah, it&#8217;s, it&#8217;s. I think it&#8217;s one of those layouts where once you see it, you realize that WordPress has needed it for years, a long time.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah, yeah, yeah. It&#8217;s definitely for historical data that you would want to have in some kind of a layout. Yeah. So cool. Thank you for pointing that out. We&#8217;re coming now to the pattern section and the PR says add edit section to the list view instead of ungroup. So there is. I think it&#8217;s still an experiment, I&#8217;m not quite sure. But the pattern padding management kind of changes a little bit. If you have a section that is. And we come to add what is a section block in the list view, those section blocks are now available to be edited and not that you have to unravel the pattern if you want to edit it. So that&#8217;s pretty cool. So what are section blocks? And I asked some developers who had been working on it about it and I asked and looked at the documentation and then the section is determined by the section block selector. Well, that is kind of if the. What is the is section block selector. Yeah. So it&#8217;s a pattern, a template part or a block that has a template lock on it that says content only. And so it moves around and can be edited, not edited, but styled in its whole. The content creator doesn&#8217;t have a whole lot of controls about it. It&#8217;s a special block that acts actually as a container with specific editing restrictions, primarily used in template and site editing context. So. So that was a new terminology for me to think about.</p>\n\n\n\n<p><em>JC Palmes:</em> It&#8217;s new to me too, but with the way that you&#8217;ve explained sections, I&#8217;ve only really called it lock patterns.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Oh, okay. Yeah. Locked from. You can edit.</p>\n\n\n\n<p><em>JC Palmes:</em> Yeah, you can edit the content, but not the. The way it looks. Yeah, the design. Yeah. The structure.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> And there&#8217;s a whole lot of effort around that content only lock to kind of bleed into other places, be it in pattern, be it in the editor. How can you switch from one to the next? You need to point out that those are actually content only locked ones. So we will see a lot more about that in the coming months for this particular content only modals. You know, so I&#8217;m kind of. This is pretty much a preparation for that in terms of what particular PRs will come about that?</p>\n\n\n\n<p><em>JC Palmes:</em> Yeah. I mean it&#8217;s, it&#8217;s more of a guardrail when you don&#8217;t want styled structured patterns to just explode because it gives the option to ungroup it and then clients come back and say that it&#8217;s not working. So this is good. It&#8217;s more predictable behavior for a section.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. Client section now cloning a section now that&#8217;s one thing. It also has a, certain pattern endpoint so you could do pattern wide changes to things. We saw it with 6.7 in the zoom view. When you were going through the Twenty Twenty-Five theme and go into Zoom view, you were able to add a pattern but then change the color of it because it would loop through the various color variations of your style variation. That totally. Yeah. I was totally amazed by that. To get new colors in there and you don&#8217;t have to worry about things. But that&#8217;s kind of the idea about it.</p>\n\n\n\n<p><em>JC Palmes:</em> Yeah.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> So. And then there were really, really small changes to the block editor. It now has a card icon.</p>\n\n\n\n<p><em>JC Palmes:</em> Thank you.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> It also supports the width and the dimensions. So you can control that for padding. Yeah. And also the text also has a justify attribute now or control. So those are really quality of life things. And they were. Yes, until you use them you don&#8217;t know you. You miss those things. But. Yeah, but that is how you use them.</p>\n\n\n\n<p><em>JC Palmes:</em> By editing a few thousand pages.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. Yeah.</p>\n\n\n\n<p><em>JC Palmes:</em> Thank you.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> And I think that was everything that came. Well, we want to talk about Twenty Twenty-Two.2. Is there anything else that you found?</p>\n\n\n\n<p><em>JC Palmes: </em>I think we&#8217;ve talked about the ones that I really find interesting for the other functions, new stuff. They can read the build guide. But those that we&#8217;ve talked about are really the ones that jump out to me and I find really interesting or very helpful for my workflow.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah, wonderful. Excellent. I&#8217;m glad that we got that. </p>\n\n\n\n<p>So before we end the show, I want to point out that there&#8217;s a state of the world coming next week with the keynote. That&#8217;s the annual keynote of Matt Mullenweg and it coincides for the first time with a major release of WordPress, the 6.9 release. And it will be live-streamed from San Francisco. I think the tickets for the in-person meeting have already been sold out for a while. But you can follow along on the live stream on YouTube. It starts at 20 or 8pm UTC. So it might be for our AAPAC contributors and WordPress users, it&#8217;s a little late in the day. It&#8217;s also almost past my bedtime in Europe because San Francisco is nine hours away from me. Yeah. So there&#8217;s this time zones quagmire that we always have to deal with. But if you see it on Tuesday or on Wednesday, I don&#8217;t think it changes in between. And there&#8217;s nothing really urgent in there. So take the time and call it on the rerun.</p>\n\n\n\n<p><em>JC Palmes:</em> Yeah, I&#8217;ll probably watch it live because I&#8217;m in that time zone.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Oh, you&#8217;re in that time zone. Yeah. Yeah. </p>\n\n\n\n<p>As always, our show notes will be published on GutenbergTimes.com podcast this is episode 125 &#8211; 125, and if you have questions, suggestions or news or comments. Yeah. If you want us to include them, send them to <a href=\"http://changelogatgutenburgtimes.com\">changelogatgutenburgtimes.com</a> that&#8217;s <a href=\"http://changelogatgutenburgtimes.com\">changelogatgutenburgtimes.com</a>, and I say huge thank you to JC Palmes to come on the show and talk through those two releases with me and share what you are looking forward to for 6.9 and also share all the good work that is from WebDev studios that can help other agencies to also streamline their processes. </p>\n\n\n\n<p>Thank you so much, JC, I hope you have a wonderful day or night and all the listeners. Thank you for listening. </p>\n\n\n\n<p>Bye bye.</p>\n\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:\"Sun, 30 Nov 2025 09:19:22 +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:17;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:24:\"Matt: Werner Predictions\";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:23:\"https://ma.tt/?p=150712\";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:41:\"https://ma.tt/2025/11/werner-predictions/\";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:985:\"<p><a href=\"https://www.allthingsdistributed.com/\">Werner Vogels</a>,  CTO at Amazon, <a href=\"https://www.allthingsdistributed.com/2025/11/tech-predictions-for-2026-and-beyond.html\">boldly publishes his 2026 tech predictions</a>. While you&#8217;re on his blog, take a moment to enjoy his essay, <a href=\"https://www.allthingsdistributed.com/2025/10/better-with-age.html\">Development gets better with Age</a>. Werner and I first crossed paths almost 20 years ago at tech conferences like GigaOm&#8217;s Structure, LeWeb, Future of Web Apps, O&#8217;Reilly Etech, and TheNextWeb. Though we don&#8217;t see each other often, I have enjoyed following his work and writing over the years, and it delights me that he&#8217;s still learning and sharing with the same vim and vigor I remember from when we first met. I think he might have been the first person to introduce me to the works of Richard Feynman <a href=\"https://www.bbc.co.uk/programmes/b00ts5mm\">through a BBC program</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:\"Sun, 30 Nov 2025 02:07: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:4:\"Matt\";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:18;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:121:\"Gutenberg Times: Livestreams on WordPress 6.9, WordPress Importer Improved, MCP Adapter and more — Weekend Edition #351\";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=43206\";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:125:\"https://gutenbergtimes.com/livestreams-on-wordpress-6-9-wordpress-importer-improved-mcp-adapter-and-more-weekend-edition-351/\";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:31163:\"<p>Hi there, </p>\n\n\n\n<p>In case you celebrated it, I hope you had a wonderful Thanksgiving holiday, lots of turkey, sweet potatoes, beans, stuffing, gravy and pumpkin pie. Or any kind of pie really <img alt=\"🦃\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/17.0.2/72x72/1f983.png\" style=\"height: 1em;\" /><img alt=\"🍁\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/17.0.2/72x72/1f341.png\" style=\"height: 1em;\" /><img alt=\"🥧\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/17.0.2/72x72/1f967.png\" style=\"height: 1em;\" />. And lots of love and laughter around your family and friends. </p>\n\n\n\n<p>I just want to give a huge shoutout to all the WordPress contributors who teamed up to roll out this next big version of WordPress for the hundreds of millions of websites out there and all their users and visitors. Every update is a big deal and only happens because of teamwork, good vibes, honesty, and trust. Not everyone who contributes is a coder; some work on documentation, translate stuff into loads of languages, create tutorials, and so much more. WordPress 6.9 is dropping on Tuesday if everything goes smoothly!</p>\n\n\n\n<p>Other contributors have already started on the next version, 7.0. We don&#8217;t know yet exactly when it will come out. In <a href=\"https://make.wordpress.org/core/2025/11/26/core-committers-check-in-november-2025/\">their last check-in meeting</a> Core committers discussed a release date in March or April of 2026. They are also thinking of going back to three releases per year. </p>\n\n\n\n<p>Have a splendid weekend ahead, and I am so grateful that you are here. Your presence makes me want to write every week. Be well.</p>\n\n\n\n<p>Yours, <img alt=\"💕\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/17.0.2/72x72/1f495.png\" style=\"height: 1em;\" /><br /><em>Birgit</em></p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>My team mate, <strong>Jonathan Bossenger</strong> and I were on this week&#8217;s panel for <a href=\"https://wpbuilds.com/2025/11/25/this-week-in-wordpress-356/\"><strong>This Week in WordPress #356 episode</strong></a>, together with <strong>Taco Verdonschot</strong> and <strong>Nathan Wrigley</strong>. It includes &#8220;Birgit Pauli-Haack gives a whirlwind tour of her epic <a href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/\"><em>WordPress 6.9 Source of Truth</em></a> &#8220;. There was a lot more of course. </p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https://wpbuilds.com/2025/11/25/this-week-in-wordpress-356/\"><img alt=\"\" class=\"wp-image-43222\" height=\"366\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Screenshot-2025-11-27-at-11.31.51.png?resize=652%2C366&#038;ssl=1\" width=\"652\" /></a></figure>\n\n\n\n\n\n<h2 class=\"wp-block-heading\" id=\"0-word-press-release-information\">Videos and posts about WordPress 6.9 release</h2>\n\n\n\n<p><a href=\"https://wordpress.org/news/2025/11/wordpress-6-9-release-candidate-3/\"><strong>WordPress 6.9 Release Candidate 3</strong></a> is now available! The <a href=\"https://make.wordpress.org/core/2025/11/25/wordpress-6-9-field-guide/\"><strong>WordPress 6.9 Field Guide</strong></a> has arrived, too.</p>\n\n\n\n<p><strong>Rae Morey</strong>, The Repository has the skinny for you in <a href=\"https://www.therepository.email/wordpress-6-9-rc3-arrives-as-field-guide-drops-and-final-release-nears\"><strong>WordPress 6.9 RC3 Arrives as Field Guide Drops and Final Release Nears.</strong></a></p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Hector Prieto</strong> published the Dev Note <a href=\"https://make.wordpress.org/core/2025/11/25/miscellaneous-editor-changes-in-wordpress-6-9/\"><strong>Miscellaneous Editor Changes in WordPress 6.9</strong></a>, highlighting various refinements to the block editor. The release improves keyboard navigation, selection, and focus handling, adds small UI polish, and refines patterns and templates behavior. It also updates APIs and deprecations to keep block development consistent, enhances accessibility and stability, and smooths authoring flows, ensuring theme and plugin authors can better integrate with the evolving editor experience.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Nick Diego</strong> and <strong>Ryan Welcher</strong> livestreamed their <strong><a href=\"https://www.youtube.com/watch?v=gVaEg_m6uak\">WordPress 6.9 Walkthrough</a>.</strong> They guided viewers through the key updates arriving in WordPress 6.9 ahead of its December 2 release. </p>\n\n\n<div class=\"wp-block-newsletterglue-showhide ng-block\" width=\"100%\">\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n\n</div></figure>\n</div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>In his livestream this week,<strong> Jonathan Bossenger</strong> <a href=\"https://www.youtube.com/watch?v=iuvs7hm0LRI\"><strong>tested the Block Bindings coming to WordPress 6.9</strong></a>. He tested the new enhancements in the date and image blocks, as well as custom source registration. Throughout the stream, Bossenger troubleshot and documented his process, exploring how these updates can lay the foundation for future developments. You can join him as he navigates through the intricacies and potentials of these new WordPress features!</p>\n\n\n<div class=\"wp-block-newsletterglue-showhide ng-block\" width=\"100%\">\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n\n</div></figure>\n</div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>In his video <a href=\"https://www.youtube.com/watch?v=7QgXXYCjz-U\"><strong>WordPress 6.9 New Features</strong></a>, <strong>Pascal Claro</strong> demonstrates all new features for the Block editor coming to a WordPress instance near you. </p>\n\n\n<div class=\"wp-block-newsletterglue-showhide ng-block\" width=\"100%\">\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n\n</div></figure>\n</div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Maruti Mohanty</strong> held a <em>Learn WordPress</em> workshop on <a href=\"https://wordpress.tv/2025/11/27/how-to-prepare-your-wordpress-site-for-wordpress-6-9/\"><strong>How to Prepare Your WordPress Site for WordPress 6.9.</strong></a> The recording is now available on WordPressTV. You will learn how to use the Beta/RC releases to test your site for the upcoming releases. This will be a practical walkthrough to build your staging, test for compatibility, and plan a safe rollout.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>In his post <a href=\"https://rtcamp.com/blog/wordpress-6-9-release-features/\"><strong>The Foundation for AI-Powered, Composable, and Editor-Friendly Websites</strong></a>, <strong>David Levine</strong> covers the WordPress 6.9 release and its focus on incremental yet impactful improvements to the site editor and performance. The post highlights refined pattern management, better style controls, and workflow enhancements for building and editing layouts. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>The <a href=\"https://make.wordpress.org/core/2025/11/10/abilities-api-in-wordpress-6-9/\">Abilities API</a> will launch with WordPress 6.9. TrewKnowledge has published <a href=\"https://trewknowledge.com/2025/09/29/wordpress-abilities-api-a-plain-english-guide-for-builders-publishers-and-product-teams/\"><strong>a simple guide for builders, publishers, and product teams.</strong></a> It explains how “abilities” bring together capabilities and permissions in the editor and admin, allowing for better control over tasks. With examples and clear advice, the article helps agencies and product teams create safer workflows, customize roles, and improve user experiences.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Rae Morey</strong>, The Repository, reports on how <a href=\"https://www.therepository.email/wordpress-6-9-to-introduce-notes-bringing-asynchronous-collaboration-to-the-post-editor\"><strong>WordPress 6.9 to Introduce Notes, Bringing Asynchronous Collaboration to the Post Editor. </strong></a>Notes let users comment on specific parts of content, reply in threads, and mention teammates without being online together. The feature builds on Blocks and Phase 3 collaboration goals, aiming to replace scattered feedback via email or chat with contextual, in-editor discussions that improve editorial workflows and multi-author content reviews.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>Codeable Expert <strong>James Roberts</strong> also covered the release for his co-workers in <a href=\"https://www.codeable.io/blog/wordpress-6-9-what-to-expect/\" rel=\"noreferrer noopener\" target=\"_blank\"><strong>WordPress 6.9: What To Expect</strong></a>, outlining key updates to the Site Editor, patterns, and design tools that make building full sites more intuitive. The article also explains what agencies and clients should do to prepare, test, and safely adopt the new features.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"gutenberg-and-other-wordpress-updates\">Gutenberg and other WordPress updates</h2>\n\n\n\n<div class=\"wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p><img alt=\"🎙\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/17.0.2/72x72/1f399.png\" style=\"height: 1em;\" /> The latest episode is <a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-125-wordpress-6-9-gutenberg-22-1-and-gutenberg-22-2/\">Gutenberg Changelog #125 – WordPress 6.9, Gutenberg 22.1 and Gutenberg 22.2</a> with <strong>JC Palmes</strong>, WebDev Studios</p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-no-vertical-margin\"><img alt=\"Gutenberg Changelog 125 with JC Palmes and host Birgit Pauli-Haack\" class=\"wp-image-43283\" height=\"186\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Screenshot-2025-11-28-at-18.19.29.png?resize=652%2C186&#038;ssl=1\" width=\"652\" /></figure>\n\n\n<div class=\"wp-block-newsletterglue-showhide ng-block\" width=\"100%\">\n<figure class=\"wp-block-embed is-type-rich is-provider-pocket-casts wp-block-embed-pocket-casts\"><div class=\"wp-block-embed__wrapper\">\n\n</div></figure>\n</div></div></div>\n\n\n\n<p>In his video, <a href=\"https://www.youtube.com/\"></a><a href=\"https://www.youtube.com/\"></a><a href=\"https://www.youtube.com/watch?v=fpg-Hkr5HeM\"><strong>WordPress 6.9 and More: Key Updates for Developers</strong></a>, <strong>Ryan Welcher</strong> gives you <em>TL:DR </em>of the latest <a href=\"https://developer.wordpress.org/news/2025/11/whats-new-for-developers-november-2025/\">What’s new for developers? (November 2025)</a> post from the WordPress Developer Blog.</p>\n\n\n<div class=\"wp-block-newsletterglue-showhide ng-block\" width=\"100%\">\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n\n</div></figure>\n</div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong><a href=\"https://github.com/WordPress/gutenberg/releases/tag/v22.2.0-rc.1\">Gutenberg 22.2 RC 1</a></strong> is now available for testing. It comprised 161 Pull Requests by 49 contributors, four of whom are first-timers. The release focuses on performance, block editor polish, and a series of accessibility and developer experience improvements. It is intended for testing ahead of the stable 22.2.0 release on December 3 and is not recommended for production sites.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>In the next <strong>Gutenberg Changelog episode</strong>, I had a chat with <strong>JC Palmes</strong>, the principal technical manager at WebDevStudios, about how their team has totally jumped on the Blocks and block themes bandwagon. It&#8217;s been a game changer for their workflow and super helpful for their clients&#8217; editorial teams, too. We also shared favorites features of the upcoming  WordPress 6.9 release and the latest Gutenberg updates, 22.1 and 22.2. So, keep an eye out for the episode arriving in your favorite podcast app this weekend!</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"Gutenberg Changelog 125 with JC Palmes and host Birgit Pauli-Haack\" class=\"wp-image-43283\" height=\"186\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Screenshot-2025-11-28-at-18.19.29.png?resize=652%2C186&#038;ssl=1\" width=\"652\" /></figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>Have you been avoiding the WordPress Importer when moving sites? It received a major enhancement from <strong>Adam Zieliński</strong> and other contributors. Zieliński published the announcement on the Core Make Blog: <a href=\"https://make.wordpress.org/core/2025/11/27/wordpress-importer-can-now-migrate-urls-in-your-content/\"><strong>WordPress Importer can now migrate URLs in your content</strong></a>. This enhancement made it feasible to us the WordPress importer for the Playground blueprint step <code>importWxr</code> and it is now also compatible with content built in block themes, as URL in navigation blocks and image references in background-image css are also converted to the new site. </p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"0-p\">WordPress for #nocode site builders and owners</h2>\n\n\n\n<p>If you need to add <strong>FAQ schema</strong> to your Accordion Block, Andrew Viney, developer from Bristol, UK, has you covered with his <a href=\"https://github.com/itsViney/accordion-faq-schema-toggle\"><strong>accordion-faq-schema-toggle</strong></a> plugin.</p>\n\n\n\n<p>If you are a developer yourself, you can use Justin Tadlock&#8217;s <a href=\"https://developer.wordpress.org/news/snippets/schema-org-microdata-for-accordion-block-faqs/\"><strong>Snippet: Schema.org microdata for Accordion block FAQs</strong></a></p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong><a href=\"https://x.com/lovemarshall\">Mohammad Shoeb</a></strong> announced that <strong><a href=\"https://wpmozo.com/wpmozo-blocks-plugin-version-1-6-five-new-blocks/\">the free WPMozo Blocks Plugin for WordPress just got five new Blocks</a>.</strong> The update introduces Hero Heading, Logo Showcase, Notice, Highlight Text, and Flipbox blocks, focused on speed, flexibility, and visual appeal. These blocks support layout and style customization, icons, gradients, hover effects, and responsive controls, enabling users to build standout sections, alerts, logo grids, and interactive content without performance loss or complex configuration.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Wes Theron</strong> published another nice tutorial for content creators on YouTube: <a href=\"https://www.youtube.com/watch?v=Fqb5bfulUA4\"><strong>How to add social icons to your WordPress site</strong></a>. He shows &#8220;you exactly how to add and customize social icons on your WordPress.com site, making it easy for visitors to connect with you across all your social platforms.&#8221; </p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"2-word-press-6-0-1-and-6-1-scheduled\">Designing Block Themes </h2>\n\n\n\n<p><strong>Bud Kraus</strong> wrote a tutorial on <a href=\"https://kinsta.com/blog/fluid-typography/\"><strong>Scaling typeface gracefully with fluid typography</strong></a> that explains how to make font sizes adjust smoothly to different screen sizes using CSS functions like clamp(). He elaborates on how to use continuous scaling instead of fixed breakpoints, which helps improve readability and minimizes size jumps. The article provides examples for headings and body text, covers design tips, and shows how to implement fluid typography in WordPress themes.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong><a href=\"https://x.com/iamkarolk\">Karol Król</a></strong> <a href=\"https://www.linkedin.com/posts/karolkrol_how-to-export-your-block-theme-changes-to-activity-7399369337243045888-aAnU?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAAkKaoBHI9qqM4OcmXfJb1QeGFMlLI6W4o\">mentioned</a> he was inspired by <a href=\"https://wordpress.tv/2025/09/30/streamlined-block-theme-development-using-wordpress-playground-and-github-for-no-code-version-contr/\">my talk </a>at WordCamp Gdynia to explore the Create Block theme plugin some more. He created this tutorial on how to <strong><a href=\"https://www.youtube.com/watch?v=cKgn4y4nMEs\">easily transfer Block Theme changes to another WordPress site</a></strong></p>\n\n\n<div class=\"wp-block-newsletterglue-showhide ng-block\" width=\"100%\">\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n\n</div></figure>\n</div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Elliot Richmond</strong> created a <a href=\"https://elliottrichmond.co.uk/block-theme-cheat-sheet-for-wordpress/\"><strong>Block Theme Cheat Sheet for WordPress</strong></a> that collects key block theme concepts, file structure, and template examples in one place. It outlines essential <code>theme.json</code> settings, common templates and template parts, and useful block patterns for building modern block themes. The resource is designed as a quick reference for developers who want a practical, copy‑and‑paste style guide while learning or refining their block theme workflow.</p>\n\n\n<div class=\"ng-block-b778b2f4f42b19a6 wp-block-newsletterglue-container ng-block\" style=\"color: #666666;\" width=\"100%\"><div><div><div class=\"ng-block-vs ng-block-vs-1\" colspan=\"3\" height=\"0\" style=\"height: 0px;\"></div></div><div><div class=\"ng-block-hs ng-block-hs-1\" height=\"0\" style=\"width: 0px;\"></div><div align=\"none\" class=\"ng-block-td\" style=\"font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 20px; padding-bottom: 20px; padding-left: 0px; padding-right: 0px; text-align: none; color: #666666; background-color: #fdfcea; border-radius: 12px;\"><div class=\"ng-block-4820fa2e484cef28 wp-block-newsletterglue-text ng-block\" style=\"color: #666666;\" width=\"100%\"><div><div><div align=\"none\" class=\"ng-block-td\" style=\"font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;\"><p><strong> <a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/\" rel=\"noreferrer noopener\" target=\"_blank\">&#8220;Keeping up with Gutenberg &#8211; Index 2025&#8221;</a> </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. 2024 on. Updated by yours truly. </p></div></div></div></div>\n\n<div class=\"ng-block-91a73757899cf306 wp-block-newsletterglue-text ng-block\" style=\"color: #666666;\" width=\"100%\"><div><div><div align=\"none\" class=\"ng-block-td\" style=\"font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;\"><p>The previous years are also available: <br /><strong><strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2020/\">2020</a> | <a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2021/\">2021</a></strong> | <strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2022/\">2022</a></strong></strong> | <strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2023\">2023</a></strong> | <a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2024/\"><strong>2024</strong></a></p></div></div></div></div></div><div class=\"ng-block-hs ng-block-hs-2\" height=\"0\" style=\"width: 0px;\"></div></div><div><div class=\"ng-block-vs ng-block-vs-2\" colspan=\"3\" height=\"0\" style=\"height: 0px;\"></div></div></div></div>\n\n\n<h2 class=\"wp-block-heading\" id=\"3-building-themes-for-fse-and-word-press\">Building Blocks </h2>\n\n\n\n<p><strong>Bryce Culp</strong> of WebDev Studios created <a href=\"https://webdevstudios.com/2025/11/25/a-developers-guide-the-future-of-the-wordpress-gutenberg-block-editor/\"><strong>A Developer’s Guide: The Future of the WordPress Gutenberg Block Editor</strong></a>. He explains modern block patterns, theme architecture, and tooling, emphasizing best practices for performance, reusability, and accessibility. The guide helps developers transition from classic approaches to a Gutenberg-first mindset, leveraging React-based blocks, block.json configuration, and evolving WordPress APIs to build scalable, future-ready experiences.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Jos Velasco</strong>, DreamHost, found a way to <a href=\"https://josvelasco.com/simplifying-wordpress-plugin-development-with-telex/\"><strong>simplify WordPress Plugin development with Telex</strong></a> and shared his workflow in this post. He has some tips and consideration on how to best work with the AI Block builder. </p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-s-new-with-playground\">What&#8217;s new with Playground</h2>\n\n\n\n<p>Fellyph Cintra announced that <a href=\"https://make.wordpress.org/playground/2025/11/24/debugging-with-xdebug-is-now-available-in-wordpress-playground/\"><strong>Debugging with Xdebug is now available in WordPress Playground</strong></a> letting WordPress developers better understand what’s happening when something breaks. Now you can pause WordPress, look at what’s going on, and move through each step of the process in a browser. It works with simple tools or code editors, needs little setup, and is great for learning, testing ideas, and fixing problems more easily.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>Cintra also published <a href=\"https://make.wordpress.org/playground/2025/11/13/playground-cli-adds-imagemagick-soap-and-avif-support/\"><strong>Playground CLI, adds ImageMagick, SOAP, and AVIF support</strong></a>. These additions make it easier to work with images, talk to other online services, and test modern image formats in temporary WordPress sites. Together, they help developers and site builders try more real-world features without complex setup on their own computers.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>The latest article by <strong>Fellyph Cintra</strong> reveals that Playground allows developers to create temporary sites with specific <a href=\"https://make.wordpress.org/playground/2025/11/26/preview-gutenberg-development-branches-in-your-browser/\"><strong>Gutenberg branches in their browser</strong></a>. You can use special Playground URLs or blueprints to access nightly or feature branches, test new editor features safely, share consistent environments, and give feedback earlier in the Gutenberg development process.</p>\n\n\n<div class=\"ng-block-074521e498a78827 wp-block-newsletterglue-container ng-block\" style=\"color: #666666;\" width=\"100%\"><div><div><div class=\"ng-block-vs ng-block-vs-1\" colspan=\"3\" height=\"0\" style=\"height: 0px;\"></div></div><div><div class=\"ng-block-hs ng-block-hs-1\" height=\"0\" style=\"width: 0px;\"></div><div align=\"none\" class=\"ng-block-td\" style=\"font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 20px; padding-bottom: 20px; padding-left: 0px; padding-right: 0px; text-align: none; color: #666666; background-color: #f8f8f8; border-radius: 8px;\"><div class=\"ng-block-29487f80e62474f0 wp-block-newsletterglue-text ng-block\" style=\"color: #666666;\" width=\"100%\"><div><div><div align=\"none\" class=\"ng-block-td\" style=\"font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;\"><p><strong><a href=\"https://gutenbergtimes.com/need-a-zip-from-master/\">Need a plugin .zip from Gutenberg&#8217;s trunk branch?</a></strong><br />Gutenberg Times provides daily build for testing and review.</p></div></div></div></div>\n\n<div class=\"ng-block-33a1b83c3bb2c8bf wp-block-newsletterglue-image ng-block size-full is-resized\" width=\"100%\"><div><div><div align=\"center\" class=\"ng-block-td\" style=\"padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px;\"><a href=\"https://playground.wordpress.net/?blueprint-url=https://gutenbergtimes.com/wp-content/uploads/2020/11/playnightly.json\"><img alt=\"\" class=\"wp-image-42874 ng-image\" height=\"45\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2024/02/Screenshot-2025-11-15-at-12.06.44.png?resize=196%2C45&#038;ssl=1\" style=\"border-style: none; border-color: transparent;\" width=\"196\" /></a></div></div></div></div>\n\n<div class=\"ng-block-c7bf19370d6b0eb9 wp-block-newsletterglue-text ng-block\" style=\"color: #666666;\" width=\"100%\"><div><div><div align=\"none\" class=\"ng-block-td\" style=\"font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;\"><p>Now also available via <a href=\"https://playground.wordpress.net/?blueprint-url=https://gutenbergtimes.com/wp-content/uploads/2020/11/playnightly.json\">WordPress Playground</a>. There is no need for a test site locally or on a server. Have you been using it? <a href=\"mailto:pauli@gutenbergtimes.com\">Email me </a>with your experience.</p></div></div></div></div></div><div class=\"ng-block-hs ng-block-hs-2\" height=\"0\" style=\"width: 0px;\"></div></div><div><div class=\"ng-block-vs ng-block-vs-2\" colspan=\"3\" height=\"0\" style=\"height: 0px;\"></div></div></div></div>\n\n\n<h2 class=\"wp-block-heading\" id=\"ai-in-wordpress\">AI in WordPress</h2>\n\n\n\n<p><strong>Jeff Paul</strong> announced <a href=\"https://make.wordpress.org/ai/2025/11/27/announcing-the-ai-experiments-plugin-v0-1-0/\"><strong>AI Experiments Plugin v0.1.0</strong></a> . Team rep in the AI Team, <strong>James Le Page</strong> <a href=\"https://x.com/jameswlepage/status/1993860331609677893\">wrote</a> on X (former Twitter) &#8220;This is a pretty big release. It&#8217;s the first time all building blocks are used together and represents a really great reference for developers that surfaces in features that you can use right now.&#8221;</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><a href=\"https://x.com/galatanovidiu\"><strong>Ovidiu Galatan</strong></a> posted the <a href=\"https://make.wordpress.org/ai/2025/11/24/release-announcement-mcp-adapter-v0-3-0/\"><strong>Release announcement: MCP Adapter v0.3.0</strong></a>! This update brings official WordPress support for the Model Context Protocol. Version 0.3.0 is all about making things smoother with transport, better observability, and handling errors. They’ve unified the HTTP transport, put together a standard way to deal with <code>WP_Error</code> for MCP error responses, and revamped the observability handlers. Plus, they’ve standardized hook names, rolled out some detailed migration docs, and squashed some bugs, making sure everything works nicely with Abilities API v0.4.0 as part of WordPress’s awesome <a href=\"https://make.wordpress.org/ai/2025/07/17/ai-building-blocks/\">AI Building Blocks</a> collection!</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>On his blog, <strong>James Le Page</strong> shared a two-part series about the Abilities API. The posts explain how WordPress &#8220;abilities&#8221; have changed from old permission systems to a clearer way of defining what users and tools can do. They describe abilities as easy-to-understand labels for capabilities used in core, plugins, and the editor. With examples of AI features, the series shows how abilities help developers provide safe actions, manage access, and create smoother user experiences.</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://j.cv/the-promise-and-history-of-abilities/\"><strong>The Promise and History Of Abilities (1/2)</strong></a></li>\n\n\n\n<li><a href=\"https://j.cv/using-abilities-to-build-ai-in-wordpress/\"><strong>Using Abilities To Build AI in WordPress (2/2)</strong></a><a href=\"https://x.com/jameswlepage\"></a></li>\n</ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p class=\"has-text-align-center has-small-font-size\"><em>Questions? Suggestions? Ideas? </em><br /><em>Don&#8217;t hesitate to send <a href=\"mailto:pauli@gutenbergtimes.com\">them via email</a> or</em><br /><em> send me a message on WordPress Slack or Twitter @bph</em>.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<p class=\"has-text-align-center has-small-font-size\">For questions to be answered on the <a href=\"http://gutenbergtimes.com/podcast\">Gutenberg Changelog</a>, <br />send them to <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a></p>\n\n\n<div class=\"ng-block-7c269a51e740c2cf wp-block-newsletterglue-separator ng-block\" style=\"color: #666666;\" width=\"100%\"><div><div><div align=\"center\" class=\"ng-block-td\" style=\"padding-top: 20px; padding-bottom: 20px; padding-left: 20px; padding-right: 20px; color: #666666;\"><hr style=\"background-color: transparent; color: transparent; margin: 0; border: 0; border-top: 1px solid #666666; width: 560px; height: 0;\" /></div></div></div></div>\n\n<div class=\"wp-block-newsletterglue-showhide ng-block\" width=\"100%\"><div class=\"ng-block-dd94df2dc14c6523 wp-block-newsletterglue-text ng-block\" style=\"color: #666666;\" width=\"100%\"><div><div><div align=\"none\" class=\"ng-block-td\" style=\"font-size: 14px; font-family: Helvetica; line-height: 0.2; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;\"><p><strong>Featured Image: </strong></p></div></div></div></div></div>\n\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-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 Nov 2025 03:30: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: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:19;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:24:\"Matt: SF WordPress Party\";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:23:\"https://ma.tt/?p=150706\";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:41:\"https://ma.tt/2025/11/sf-wordpress-party/\";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:973:\"<p>We&#8217;ve secured an amazing secret venue for <a href=\"https://wordpress.org/state-of-the-word/\">State of the Word</a> on Tuesday, but it has limited capacity in terms of people and has a lot of security hurdles to jump through to get in.</p>\n\n\n\n<p>So to open things up to the community more, we&#8217;re going to activate my hacker/maker art warehouse, <a href=\"https://tinkertendo.com/\">TinkerTendo</a>, in the Dogpatch neighbourhood for a simulcast watch party. There will be some cool art from the <a href=\"https://misalignmentmuseum.com/\">Misalignment Museum</a> there, great wifi, lots of power plugs and floor seating, a big projection screen and speakers and I think will be a great spot for WordPress folks to hang and network and co-work while in San Francisco. I&#8217;ll swing by after the talk to meet everyone as well.</p>\n\n\n\n<p>If you want access, <a href=\"https://www.meetup.com/wordpress-sf/events/312184138/\">you can register via Meetup here</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:\"Sat, 29 Nov 2025 00:20:01 +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:4:\"Matt\";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:20;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:18:\"Matt: Thanksgiving\";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:23:\"https://ma.tt/?p=150701\";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:35:\"https://ma.tt/2025/11/thanksgiving/\";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:1922:\"<p>I want to wish everyone a happy Thanksgiving! To me, the holiday is a reminder to be grateful. A gratitude practice is one of the most surefire ways to improve your happiness, <a href=\"https://www.health.harvard.edu/healthbeat/giving-thanks-can-make-you-happier\">as this study covered by Harvard Health explains</a>. </p>\n\n\n\n<p>I was part of a <a href=\"https://www.artofaccomplishment.com/\">leadership coaching cohort with other founders and CEOs</a>, and one of our exercises was to have a weekly 15-minute Zoom call where we&#8217;d each take turns saying something we were grateful for. (I think the original assignment was 7 minutes, but <a href=\"https://en.wikipedia.org/wiki/Parkinson%27s_law\">Parkinson&#8217;s law</a> and Google Calendar&#8217;s 15-minute default expanded it.) Like most great coaching, it seems silly on the surface, but when you actually practice it with an open mind, something magical happens.</p>\n\n\n\n<p>It really grew on me, and while most of the randomly assigned pods of people that had this assignment for a few weeks dispersed, ours has kept it going now for several years beyond the conclusion of the coaching program. The calls are also a great way to stay in touch with people I love, but we might easily fall into our own universes and not keep up with each other. Wherever we are in the world, whatever is happening, this standing meeting is on everyone&#8217;s calendar, and while it has ebbs and flows, the flame has been kept alive.</p>\n\n\n\n<p>Consider starting your own pod: pick a time, <a href=\"https://support.zoom.com/hc/en/article?id=zm_kb&amp;sysparm_article=KB0064248\">set a standing Zoom room</a>, and see what happens. We do early mornings before most meetings start. I don&#8217;t make it every week, but I do more than not, and the weeks when I do are definitely a bit brighter, both in my own gratitude practice and in the connection with the others in the pod.</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 Nov 2025 07:08:13 +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:4:\"Matt\";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:21;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:23:\"Matt: Austin Meshtastic\";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:23:\"https://ma.tt/?p=150697\";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:40:\"https://ma.tt/2025/11/austin-meshtastic/\";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:252:\"<p>We&#8217;re celebrating Thanksgiving this year with my sister <a href=\"https://charleen.mullenweg.com/\">Charleen</a> in Austin, and it&#8217;s no surprise there&#8217;s a <a href=\"https://www.austinmesh.org/\">great Meshtastic community here</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:\"Thu, 27 Nov 2025 07:18:10 +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:4:\"Matt\";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:22;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:112:\"WPTavern: #195 –  Saumya Majumder on How Cloudflare Outages Impact the Web and WordPress Performance Solutions\";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=200950\";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:125:\"https://wptavern.com/podcast/195-saumya-majumder-on-how-cloudflare-outages-impact-the-web-and-wordpress-performance-solutions\";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:62017:\"<details>Transcript<div>\n<p>[00:00:19] <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 CloudFlare outages impact the web, and WordPress performance solutions.</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/feed/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/contact/jukebox and use the form there.</p>\n\n\n\n<p>So on the podcast today, we have Saumya Majumder. Saumya is the lead software engineer at BigScoots with a deep specialization in high performance WordPress engineering and advanced CloudFlare powered architectures. Throughout his career Saumya has built large scale systems ranging from custom caching engines, to migration tools, worker based automations, and edge computing solutions. He&#8217;s played a pivotal role at BigScoots overseeing enterprise customers, and developing scalable developer friendly solutions that push the boundaries of hosting for WordPress.</p>\n\n\n\n<p>We begin our conversation with a timely discussion about a major CloudFlare outage that recently rippled across the internet. Saumya explains what happened behind the scenes, the nature of these kind of global infrastructure hiccups, and why, even with the most robust systems in place, some downtime is simply inevitable. He offers valuable insights into how BigScoots is able to mitigate these issues for their customers, even automating rapid failovers to keep sites online during outages.</p>\n\n\n\n<p>We then move on to explore some of the innovations that the team at BigScoots have been working on. They focus upon site speed and reliability. This includes CDN level page caching, and their close integration with CloudFlare Enterprise. Saumya breaks down how this caching differs from traditional server based caching, and how it ensures that users around the world get fast, local access to website content.</p>\n\n\n\n<p>If you&#8217;re curious about how hosting companies manage such advanced caching strategies and how CloudFlare might fit into the hosting jigsaw, this episode is for you.</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/podcast, where you&#8217;ll find all the other episodes as well.</p>\n\n\n\n<p>And so without further delay, I bring you Saumya Majumder.</p>\n\n\n\n<p>I am joined on the podcast by Saumya. Hello, how are you doing?</p>\n\n\n\n<p>[00:03:04] <strong>Saumya Majumder:</strong> Hey, I&#8217;m doing well. How are you doing?</p>\n\n\n\n<p>[00:03:05] <strong>Nathan Wrigley:</strong> Yeah, very well, thank you. So this is going to be an interesting conversation. I got put in touch with Saumya via Tammy Lister, who has been communicating with Saumya over the last period of time. I don&#8217;t know exactly for how long. But the idea is that we&#8217;re going to talk about what they&#8217;re doing over at BigScoots and the interesting innovations that they&#8217;ve got.</p>\n\n\n\n<p>By pure coincidence, the day before we recorded this, the Cloudflare, I&#8217;m going to call it fun, the fun that Cloudflare had with the entire internet happened. And so I think we&#8217;ll digress for a bit at the beginning of the podcast and talk a little bit about that as well, which was unexpected. But given that you are working heavily based upon Cloudflare, it&#8217;ll be interesting to talk that through.</p>\n\n\n\n<p>Would you mind just spending a moment though, just introducing yourself. Just tell us who you are, what it is that you do at your current role, that kind of thing, and then we&#8217;ll get stuck into our conversation.</p>\n\n\n\n<p>[00:03:55] <strong>Saumya Majumder:</strong> I&#8217;m Saumya. I work as a lead software engineer at BigScoots, specialising in high performance WordPress engineering and advanced Cloudflare powered architectures.</p>\n\n\n\n<p>I also build large scale systems from custom cache engine to migration tools, worker based automations, edge computing and whatnot.</p>\n\n\n\n<p>I also look after our enterprise customers, all of our internal WordPress projects and plugins and IPs. And I also build scalable, developer friendly solutions for our clients to ensure that they are getting the best service product out of it.</p>\n\n\n\n<p>[00:04:29] <strong>Nathan Wrigley:</strong> Thank you very much indeed. Now, I&#8217;m just going to dwell on that for a little bit. A lot of that seems extremely technical, but also it kind of feels like that you went very much down a particular road very early on.</p>\n\n\n\n<p>How is it that you ended up doing all of that interesting, but quite specific stuff? How is it that that happened? Is it something that you pursued out of college or something like that? How is it that you went down that path?</p>\n\n\n\n<p>[00:04:51] <strong>Saumya Majumder:</strong> It&#8217;s an interesting question actually. So I remember, back in my second year of college, I started doing projects, like outside projects. So I started dabbling with PHP, like at the very early days of WordPress. So I get into the WordPress and I was like doing coding, changing things, pushing things to the core, tinkering with the WordPress. That was like way back in the days of the WordPress ecosystem.</p>\n\n\n\n<p>From that, I was dabbling with PHP and other stuff. So that was like back in the days when I started, and then slowly I started seeing problems and how to solve the solution. So for example, a lot of the companies today, like CDN page based page caching, in today&#8217;s 2025 it&#8217;s like a very, pretty much common thing across the world. If you go to any premium hosting or any premium package, you kind of expect like CDN based page caching.</p>\n\n\n\n<p>You know that that wasn&#8217;t the case, even like a few years back. It&#8217;s like this level page caching or RAM level page caching, like it&#8217;s all on the server. So me and one of my friends, whom we met online due to the WordPress coding things, we actually invented the CDN level page caching. So it wasn&#8217;t a thing before that. So there was a plugin that we created called Super Page Cache for Cloudflare that got later acquired by a different company called Optimal.</p>\n\n\n\n<p>In that plugin we actually looked at like, okay, all the current solutions, like if you break down how the request is happening or how internet works, like you make a request from wherever in the world, that request then travels through across optical fiber cable, blah, blah, blah, to the ISP data center. Then from there it goes to the data center, well, then it reaches the server from there on. If you don&#8217;t have cache, then the server has to populate the entire thing, get the response, give it back to you, if you have the cache.</p>\n\n\n\n<p>So we were saying that, you know, this is adding like a huge amount of latency, especially if you are, like the distance between the server and you is larger. Back then there was like MaxCDN, KeyCDN, and all of this provider who are like focusing on static files being served from the CDN.</p>\n\n\n\n<p>So that was like already a thing, but we were like, okay fine. But like if static files coming from CDN, that&#8217;s great, but the main leap frog forward is if we can move the page. Like, literally serving the page HTML from the CDN itself. So if you are in Australia, the request doesn&#8217;t have to come to the US. Like, if it&#8217;s cached, it&#8217;s literally coming from your neighborhood.</p>\n\n\n\n<p>So caching was one of the most complex problems that I kind of always loved solving because it was one of those unsolvable problems in the computer engineering world. So that&#8217;s how I like get into it, and then started. I broke a lot of things and fixed them and it&#8217;s like a journey. It&#8217;s hard to explain, but it&#8217;s like a journey of a lot of failure and a little of success, I guess.</p>\n\n\n\n<p>[00:07:37] <strong>Nathan Wrigley:</strong> Yeah, I can imagine. Do you ever get the sense that you are approaching the destination or is this whole thing just, I&#8217;ll do this and then I know that in a week&#8217;s time, there&#8217;ll be something else that I can optimise. Is there ever a moment where you&#8217;ve thought to yourself, okay, that&#8217;s it, we cracked it for now? Or is it always just, no, there&#8217;s another thing?</p>\n\n\n\n<p>[00:07:55] <strong>Saumya Majumder:</strong> It&#8217;s always a process, right? The technology is evolving. There&#8217;s way, way more to dig deeper. So one of the things we recently released was end DB protection caching. I&#8217;m going to talk about it in a moment and also login user caching. Both of these things were in my bucket list for years, and I have done like R and Ds, and R and Ds, and R and Ds to figure out exactly the way to do things. So again, you know, like it&#8217;s a process, right? And it takes time.</p>\n\n\n\n<p>[00:08:20] <strong>Nathan Wrigley:</strong> Yeah, that&#8217;s lovely. Like you say, we&#8217;ll get into those bits and pieces. But as I said at the top of the show, by pure coincidence, we had this, let&#8217;s just call it a real collapse in a sense of what Cloudflare provides to the internet as a whole. And I think, depending on where you were and when you were awake in the world, I think for Europeans and maybe the part of the world where you are, it hit us right at the time when we&#8217;re all awake. I think maybe if you&#8217;re in North America, especially on the West Coast, you might have missed much of it.</p>\n\n\n\n<p>But for most of the day here, everything on Cloudflare just declined to work. And it was really interesting how profound that was. And we&#8217;ve all heard this problem before. We&#8217;ve seen the little drawing of the great big tower built of Lego bricks, and there&#8217;s the one little brick at the bottom holding the whole thing up, and it&#8217;s called Cloudflare, or it&#8217;s called AWS or what have you.</p>\n\n\n\n<p>Can you explain to us what the heck happened yesterday? Are you able to sort of get into, do you understand it at this point?</p>\n\n\n\n<p>[00:09:15] <strong>Saumya Majumder:</strong> Yeah. So internet is a magical thing. It works by magic. If I get into explaining how it works, it&#8217;s going to be another thing. But the way it works is, and especially in case of Cloudflare, right? Like, a lot of people look at Cloudflare, that it is a CDN provider, like MaxCDN or Akamai or like any of these providers. But CDN is just one bit of Cloudflare. Cloudflare is like a, such a gigantic service that is like built on top of it.</p>\n\n\n\n<p>So as a result, what happens is, when you have such a big system working together, there are lots of critical dependencies that happens. You have all these boxes, but all these boxes are depending on one of these config file, or one of these things that is coming from the layer below that, right?</p>\n\n\n\n<p>And if anything happens in that one thing, the things at the top are working fine, but it cannot work because the one thing that is below it is gone.</p>\n\n\n\n<p>I would also like to say there is no such thing in the world of internet that just works. Everything is supposed to break at some point in time. There&#8217;s no such thing. Be it Google, be it Azure, be it AWS, Cloudflare, anything it is. Even if you have your own data center and everything like that, like we have, there&#8217;s no way that, like a lot of things can happen even after you are prepared to mitigate all of those things, like you have follower, and a follower, of follower and all this backup system, still things can go wrong. Maybe that didn&#8217;t turn out, maybe that didn&#8217;t happen.</p>\n\n\n\n<p>I saw a lot of memes yesterday on Twitter, like a lot of people was posting like, hey, I just joined as an internet Cloudflare. I pushed a code and that happened. And I understand that it&#8217;s funny, but when you look deeper into it, it is actually not funny. It is really like a code red scenario. And trust me, no one, no company wants to get into that code red scenario. Because you have to understand, all of these companies also dealing with a lot of enterprise customers to whom they have promised like 100% percent SLA or 99.99% SLA. And so when they don&#8217;t meet that, they have to pay a hefty amount of credit back to them.</p>\n\n\n\n<p>So it&#8217;s not just the downtime and bad reputation and marketing and all that, it&#8217;s literal money being bled out of the company because of that. And it&#8217;s like all of those systems.</p>\n\n\n\n<p>But at the same point in time, the way technology works, things can mess up. You can do multiple tiers of review of the code, you&#8217;re still going to miss a certain edge case scenario, which will only occur if this happened and that happened. And the probability of that happening is probably 0.00001%. But that 0.00001%, it&#8217;s not zero. It can happen.</p>\n\n\n\n<p>In the world of engineering, we call certain things that are super low priority, like it&#8217;s never going to happen. I&#8217;m not saying that it cannot happen, it can happen, but the probability of that is so low that spending engineering hours on that at this moment, where we have much more critical things to do, it doesn&#8217;t come up, right?</p>\n\n\n\n<p>But sometimes things happen. And as a senior engineer, it happens like this. And in case of Cloudflare, what happened is as this is like a such a big system, even if they identified the root cause, let&#8217;s say that takes some amount of time for the engineers to figure out, and they push that. And you have to understand, a lot of people are sending requests, requests are going down, and they figured out the root cause. They&#8217;re pushing the fix and then like a boatload of requests is coming to Cloudflare.</p>\n\n\n\n<p>So it takes time for everything to stabilise, you know? So it is bad. It is bad, but anyone who is thinking like, oh, Cloudflare is bad, if I move from Cloudflare to, I don&#8217;t know, X, Y, or Z, or something like that, it won&#8217;t happen. I haven&#8217;t seen, like a Tweet yesterday where somebody said, send cold emails to people saying, Cloudflare is down. But we don&#8217;t use Cloudflare, we use our own VPS and dedicated server for that. And I was like laughing out loud. I&#8217;m like, I understand that, you know, your data center did not go down, but that does not mean that it can never go down.</p>\n\n\n\n<p>[00:13:06] <strong>Nathan Wrigley:</strong> It&#8217;s kind of guaranteed. I think one of the interesting things that I saw was in the mitigation, the sort of summing up posts that Cloudflare created, there was this whole thing about this unexpected file which kind of doubled in size. It was supposed to be this size, but it doubled in size, and that got propagated. And then for a period of time, the ripple effect of that was that it looked like a DDoS attack. For a period of time it looked as if it may have been malicious actors.</p>\n\n\n\n<p>And so the Cloudflare engineers, I think kind of went off, as it turned out, wrong headedly. They went off in the wrong direction, searching for the problem, which probably added a number of hours to the mitigation, and then kind of figured out what was going on. And then, like you said, the whole ripple effect is, it&#8217;s not like you turn off a computer, switch the computer back on, and Cloudflare is restored. There&#8217;s this whole propagation thing where you find the problem, mend the problem, the problem mitigates, and that is presumably going to take hours and hours and hours. And then you could just see the sort of downtime reports slowly repairing themselves over the internet.</p>\n\n\n\n<p>[00:14:08] <strong>Saumya Majumder:</strong> And you have to understand that, as I said, Cloudflare, people think of Cloudflare as a, either a security company or a CDN company. But Cloudflare is way, way, way more than that, right? The CDN backbone that they have, it&#8217;s literally their backbone, the powerhouse on top of which Cloudflare builds their own thing.</p>\n\n\n\n<p>So anytime they find a fix of which they call their control plan, you know, pushed the fix to their control plan, that has to get propagated across all of their end edges. And Cloudflare has the highest number of CDN PoPs, you know? So it has to get pushed across all of these places, rebooted and all of these crazy things has to happen in order for everything to go properly. And then all the burst of traffic that is coming on that it has to handle that. It is a crazy thing.</p>\n\n\n\n<p>But one of the things that I liked about Cloudflare is that, it&#8217;s not that this is the first time Cloudflare had a global outage. They had global outage before as well. There are two things I really love about Cloudflare.</p>\n\n\n\n<p>Number one is that they&#8217;re super transparent. So anytime things go wrong or situation like this happens, they always push like a detailed blog article explaining exactly what happened, what they did to fix it, and how they&#8217;re making sure that this does not happen again in the future. And it never happens in the future.</p>\n\n\n\n<p>So if you look at the previous global outage that they had, I think back in June, it was caused because there&#8217;s a thing called Cloudflare KV, which had a dependency on GCP. So when GCP went down, so KV went down and as a result the system went down. And from there on, they&#8217;re now working on to remove that dependency, building things internally in house to make sure that doesn&#8217;t happen.</p>\n\n\n\n<p>Previously, there was another, I think last year or something like that, another global outage where the entire main data center went down. There was like multiple failover but the generator didn&#8217;t start and then this didn&#8217;t start and that didn&#8217;t start. And that caused like a huge failover scenario, I think, if you remember that, right?</p>\n\n\n\n<p>And from there on, they make sure that, okay, we now have to make sure that we have multiple, that scenario is never going to come back. So they always work towards to make sure everything that happening never happens the second time. And it really does that. But at the end of the day, in the world of technology, things can go wrong. It&#8217;s just how it is.</p>\n\n\n\n<p>[00:16:11] <strong>Nathan Wrigley:</strong> What&#8217;s kind of curious though, from an end user&#8217;s perspective, and you are going to explain to us some of the complexities of the inner workings of BigScoots and how it combines with Cloudflare in a minute, and that&#8217;ll be really interesting. But from a non-technical user&#8217;s point of view, it just feels like the sky is falling in because so much of the internet has collapsed, so many things that they&#8217;re familiar with.</p>\n\n\n\n<p>So just a couple of examples which many people would be familiar with. So for example, if you were a user of the social network X, that completely failed. There must be a dependency on Cloudflare at some point there. Also ChatGPT, which is now becoming almost, it&#8217;s just a thing which almost everybody at some point of the day is plugged into, that went away.</p>\n\n\n\n<p>But then it just rippled out across so many other things. News organisations go down. The ability to log into a variety of things went down. So it may be that your platform itself worked, but you might have had the the Turnstile sort of capture system, which Cloudflare run, enabled, and nobody could log into the proprietary platform that you got because the Cloudflare portion, the Turnstile wasn&#8217;t working and so on.</p>\n\n\n\n<p>So it just had this enormous effect. And the sort of chilling effect of that is that people then, erroneously I think, sort of view Cloudflare in some way as a bit of a, I don&#8217;t know, a giant that needs to be brought to heal in some way. You know, we can never let this happen again, there&#8217;s too much dependencies on these small group of massive organisations and what have you.</p>\n\n\n\n<p>But by today, everybody&#8217;s forgotten that, you know, they kind of moved on with their lives and we&#8217;re back to what it was like on Monday. And so there&#8217;s no question in there, but I think there&#8217;s some insight that I&#8217;m sharing.</p>\n\n\n\n<p>[00:17:41] <strong>Saumya Majumder:</strong> Oh yeah, absolutely. So there are a couple of very important things to understand here, right? So first of all, as you said, the people who talks about these kind of things on the social media, trust me, either they&#8217;re not engineers, senior engineers, or they don&#8217;t understand the problem.</p>\n\n\n\n<p>And so these are the people who talks about this exact same thing where a few weeks back AWS went down, and then a couple of months back, GCP went down. And then they were like, well, Facebook went down, they literally just use this exact same word every single time something goes down. But things can go down. That&#8217;s like, you have to accept that and move on.</p>\n\n\n\n<p>And that&#8217;s why when you get onto these enterprise deals with these big companies, they have this SLA agreement, like where they say, we grant to you, as I told you about earlier, right? So all of these companies, GCP, AWS, Cloudflare, if you are like a big enterprise customers of them, you have like an SLA agreement with them. Where they say, okay, we are going to guarantee that we&#8217;re going to give you 100% uptime, or 99.999999% uptime. And anytime they miss that mark, they have to pay back a huge sum of money as a credit to the customers saying, okay, we missed on our contract, so this is that credit back to you.</p>\n\n\n\n<p>So you have to understand that anytime situation like this happen, it is not only a bad thing on the companies, on the marketing front of it, but it is also a bad thing on the financial side of things. Because you have to understand like all of these big companies, there are these smaller clients who are dealing with companies like, there are smaller clients and there are like giant clients, the enterprise customer who companies are really worried about. And for these giant clients, they have to pay huge amount of money back as credit because things didn&#8217;t come back within time. So it is not something that they are not worried about to fix immediately. They&#8217;re literally trying as hard as possible to fix that.</p>\n\n\n\n<p>So that being said, now talk about the other points that you brought up, the turnstile, the WAF and the other things, right?</p>\n\n\n\n<p>So as I said, Cloudflare is not just a security company. It&#8217;s like a huge thing. Cloudflare has a thing called Developer Platform where you can literally deploy your own APIs, your AI workload, your workflows, your entire React or entire application on Cloudflare, which is amazing. I use it. I love that platform.</p>\n\n\n\n<p>And then that is one side of using Cloudflare, and then there&#8217;s another side of using Cloudflare like, for example, using BigScoots. You have let&#8217;s say a WordPress website that is hosted on BigScoots, but it is being proxied via Cloudflare to leverage their CDN, their security and all of those features.</p>\n\n\n\n<p>So in a scenario like a WordPress site where you are not using Cloudflare as your host, so your Cloudflare is just there as a proxy, making sure that your origin IP is not there, your site is super protected and performance and CDN and whatnot. In that scenario, anytime this kind of problem happens, you can kind of, when this outage was there, the API was still working and we actually, for all of our customers, we leveraged our API to make sure that any request does not proxy via Cloudflare, but instead it just goes directly to our server just for the moment in time until Cloudflare is back in the game.</p>\n\n\n\n<p>[00:20:42] <strong>Nathan Wrigley:</strong> Oh, so you could turn the proxy off via the API.</p>\n\n\n\n<p>[00:20:45] <strong>Saumya Majumder:</strong> Via the API, yes.</p>\n\n\n\n<p>[00:20:46] <strong>Nathan Wrigley:</strong> Right. So the fact that the rest of us couldn&#8217;t log in because Turnstile was down, we couldn&#8217;t authenticate into the Cloudflare network on the web. The API was still available, so you could turn the proxy off for a variety of your customers, and the domains and the websites that they had.</p>\n\n\n\n<p>Oh, that&#8217;s really interesting. So they had a few minutes of downtime. Okay, that&#8217;s fascinating.</p>\n\n\n\n<p>[00:21:04] <strong>Saumya Majumder:</strong> So what we did is when we saw this outage happening, anytime requests are coming in, it was a code red scenario on our end as well. All hands on deck. So anytime requests are coming in, like people are having problem, we immediately turned on the proxying API to make sure that this site is up and online.</p>\n\n\n\n<p>So that way the request is not going via Cloudflare anymore, it&#8217;s coming directly to us for the moment, until CloudFare is back on track. And that helped us to mitigate the downtime as much as possible for the customer, even though Cloudflare was technically down.</p>\n\n\n\n<p>But if you would have been hosting your Nuxt or React or Next.js kind of application on Cloudflare, where you are using Cloudflare workers and things like that as your host, in that scenario, you couldn&#8217;t push anything.</p>\n\n\n\n<p>[00:21:49] <strong>Nathan Wrigley:</strong> Yeah, the API is not going to help you.</p>\n\n\n\n<p>[00:21:51] <strong>Saumya Majumder:</strong> Yes, yeah. It was bad but it&#8217;s going to happen. It can happen.</p>\n\n\n\n<p>[00:21:54] <strong>Nathan Wrigley:</strong> Yeah, I think that&#8217;s kind of the message, you know? Nothing that humans create is immutable. Everything has a moment of breaking. But, you know, if you were to cast your mind back until, well, just Monday when everything was, you know, just plain sailing, Cloudflare was working as normal, then everybody was entirely happy. We had this period of time, it was maybe something like 8 hours where everybody&#8217;s kind of throwing their arms in the air and, you know, moaning on whatever social networks are still working.</p>\n\n\n\n<p>But now we&#8217;re onto Wednesday, that whole thing is long behind us. That ship sailed, whatever, move on. Confidence, I think basically what you&#8217;re saying is you can be confident in Cloudflare. They&#8217;re going to have hiccups because they&#8217;re like any other company, things will go wrong.</p>\n\n\n\n<p>[00:22:33] <strong>Saumya Majumder:</strong> Everything can have hiccups. So it&#8217;s not just, so you have to understand this, right? Again, I&#8217;m saying that Cloudflare is not just a CDN provider, but if you look at Cloudflare and all the things that they do, the complexity of it is like mindbogglingly crazy, you know? Like it&#8217;s immense, immensely complex. It makes things super easy for you. Okay, you just toggle this on and it&#8217;s done. But if look at under the hood, and all the things and chains it has to go through, and that happens in a blink of milliseconds, it&#8217;s crazy complicated.</p>\n\n\n\n<p>As I said, right, like I&#8217;m not saying that Cloudflare is bad. I think Cloudflare is amazing because two things, they have super transparency, so anytime anything happens, the blog article that you are like referencing here, they didn&#8217;t hide behind anything like, oh, it was not my problem, like not doing the blame game thing. No, no, no. Like, it was our problem. This is the problem.</p>\n\n\n\n<p>For example, in that blog article, they could have completely, don&#8217;t talk about the DDoS thingy, right? They could have just said, oh, this was the configuration file problem. We fix this, it&#8217;s done. But no, they actually literally walk you through how exactly they process the problem, which is really great. And then they actually learns from their mistakes to make sure that particular mistake never happens again, while they are like growing rapidly and building things, pushing things like crazy, like always pushing new things, which is like amazing to me.</p>\n\n\n\n<p>[00:23:50] <strong>Nathan Wrigley:</strong> I think the article even started, if it wasn&#8217;t the first set of words, it was definitely in the first couple of sentences. It was something like, we let you down. It was full ownership, I think. So bravo to them.</p>\n\n\n\n<p>And you&#8217;re right, the complexity behind it, you know, like you said earlier, the internet, the fact that anything works on the internet is an utter miracle of engineering, of computer engineering.</p>\n\n\n\n<p>You know, the fact that we&#8217;re on a platform that we are staring at each other. I can see your image, you can see my image, you can hear my audio, I can hear your audio. You are on the, a different side of the planet, but it&#8217;s happening like you&#8217;re stood next to me. And the millions of packets of information that have flown during the course of this conversation, it&#8217;s insane. And Cloudflare add a whole layer of other stuff on top of that, which makes it even more insane.</p>\n\n\n\n<p>[00:24:33] <strong>Saumya Majumder:</strong> Yeah. And you have to ask the question, like, why all these big companies are using Cloudflare like if it is so bad. Because they are doing things that nobody else even think about doing at a scale. And it&#8217;s like mindblogglingly crazy. It&#8217;s crazy.</p>\n\n\n\n<p>[00:24:46] <strong>Nathan Wrigley:</strong> Yeah, yeah, it really is. So we&#8217;ll leave that for another day. But obviously over at BigScoots, you&#8217;ve really attached your wagon, if you like, to Cloudflare. And when you agreed to come on the podcast to talk to me, it became obvious to me that the pay grade that you are at is very different to the pay grade that I&#8217;m able to keep up with.</p>\n\n\n\n<p>So we&#8217;re going to talk about what you&#8217;re doing over at BigScoots. I&#8217;m going to try to keep up, but if I misunderstand something, or I have to ask you to repeat something, I hope that&#8217;s okay with you. But I&#8217;m just curious because Tammie Lister, like I said at the beginning of this episode, she&#8217;s somebody whose opinion I respect a lot, and she said that you are doing some really innovative, interesting things with your connections to Cloudflare at BigScoots. So just lay out some of the interesting engineering work that you&#8217;ve been doing. I&#8217;ll try to hold on.</p>\n\n\n\n<p>[00:25:30] <strong>Saumya Majumder:</strong> First I&#8217;m to Tammie is great. Tammie is amazing. But yeah, I mean, I think BigScoots have been one of the first to utilise Cloudflare Enterprise in the hosting world. I know we didn&#8217;t do any kind of huge marketing like other hosts, but we have been the first to leverage Cloudflare Enterprise in our hosting ecosystem. And it was such early days, like back then, all of these things, this market wasn&#8217;t there. So we were building things that people didn&#8217;t even test it out.</p>\n\n\n\n<p>So as I said in the beginning, like I, along with one of my colleagues, we invented the CDN level page caching. This is way before APU and all of that. So all of those things actually build upon the architecture systems as we build on, including APU and the workers and stuff.</p>\n\n\n\n<p>So at BigScoots, the Cloudflare thing, especially the Cloudflare Enterprise thing opens up a whole new door for us because it now allowed us to provide CDN level page caching for every single user at a super high cache hit ratio. I mean it&#8217;s like, every time you hit a page, chances of that getting, coming out of cache is much higher, compared to if you are, or like a free plan or any other plan, right?</p>\n\n\n\n<p>So that was the beginning. And on top of that, we build our own proprietary plugin called BigScoots Cache, which allows you to not only leverage and take advantage of the Cloudflare page caching, but giving you the ability to fine tune every aspect of page caching that you would like on webpage.</p>\n\n\n\n<p>[00:26:56] <strong>Nathan Wrigley:</strong> I&#8217;m going to pause you right there. Firstly, because I&#8217;m sure that almost everybody in the audience, because their WordPress aligned, is going to understand what a cache is. They&#8217;re going to understand this process of kind of, okay, let&#8217;s remember something for next time so that when we need it next time, it&#8217;s kind of ready. But they may not understand how Cloudflare does this on their Enterprise plan.</p>\n\n\n\n<p>So what is it that&#8217;s different? Because we may be familiar with, I don&#8217;t know, a WordPress plugin and we&#8217;ve got some idea that there&#8217;s a cache. It&#8217;s sitting on the server somewhere in a file, it&#8217;s an HTML file or something like that. You are describing something not in one location, but like really just spread globally so it&#8217;s ready at the point of least distance from wherever somebody is. So tell us a bit more about that.</p>\n\n\n\n<p>[00:27:35] <strong>Saumya Majumder:</strong> So let me explain that with like an analogy, right? So before CDN level page caching, I think pretty much everybody would remember, like we used to have caching plugins. I&#8217;m not going to name anything, but they were caching plugins. So when you turn them on, what they essentially did was they would create like an advanced-cache.php. You have everything of that file inside your WordPress installation.</p>\n\n\n\n<p>What that used to do is, when you send a request, let&#8217;s say you are in Australia, right, and your server is in US, so you want to open example.com, and that requests flows through under the ocean, it goes to the data center, it goes to the server, the server receives the request, it started processing that, run all the database queries and all of that, and then it got the HTML to show it to you.</p>\n\n\n\n<p>Back then what it used to do is then, advanced-cache.php would kick in, it would create a copy of the HTML, store that locally on the server so the next time if someone requests for that page, instead of asking the server, hey, please process the PHP and database and all of that, it would require much less amount of server resources because it&#8217;s just like, WordPress is like warming up. The request goes to advanced-cache.php, then it says oh, I have that cache file, sends that cache response back to you.</p>\n\n\n\n<p>But even in this scenario, if you are making this request from Australia and your server is in US, you have to understand that the latency is very high, because the request has to go from Australia to US and then whatever gets there is, you know, response from there and come back from US to Australia. So the traversing time is pretty high.</p>\n\n\n\n<p>From there on, and back then we are thinking about MaxCDN, you know, KeyCDN and like putting static files on the CDN so that, yes, the page is being generated by the server, but the static files are being served literally where you are. Like, if you are in Australia, in Sydney, so maybe the CDN PoP in Sydney is like, when you make a request for that, the static file is coming from Sydney.</p>\n\n\n\n<p>That&#8217;s where we thought about, what if we can put this page HTML, instead of in the server, we can put it on the CDN? There were two benefit out of this. First, it is in insanely fast. Because if this page HTML is across the world, so if you are in Sydney making the request and the request is like, oh, okay, I have this page cache to me, here you go, the response, you get that in like less than 100ms, you know?</p>\n\n\n\n<p>Same thing happens for someone sitting in India and Germany and some other places of the world, because it&#8217;s cached across the globe. So it&#8217;s not just coming from a single place. And anytime it is not cached, the request goes to the server, HTML processed, and by the time the response is sent out, it got cached. It&#8217;s cached across the world.</p>\n\n\n\n<p>Now, that was the page caching part of it, right? And then there&#8217;s other things, the object cache and OPcache, that&#8217;s like whole another different level. But I&#8217;m not going to get into that. I&#8217;m just going to stay with, because then it&#8217;s going to get way too long.</p>\n\n\n\n<p>So that&#8217;s where this object caching and Cloudflare Enterprise came into play, right? Cloudflare Enterprise then allowed us to make sure that we can cache all these pages across the globe with a very high cache hit rate. Cache hit rate means, when something gets cached somewhere, let&#8217;s say someone makes a request to that file and that cache is expired from there and it&#8217;s not there. So the request, again, has to go to the origin and get processed and come back to you.</p>\n\n\n\n<p>So that is generally the case with the lower tier plans with Cloudflare. So with Cloudflare Enterprise you get a very high cache hit ratio. So when it&#8217;s getting the cache, it stays on the cache for a very long time. On top of that, we got tiered cache and regional tiered cache and all of those crazy things.</p>\n\n\n\n<p>Which that means is, we have tiering systems. So when you make a request, the request first gets cached in the upper tier. And when a lower tier, so let&#8217;s say, how can I explain this to you? So let&#8217;s say you are in Phoenix, okay? And in Phoenix there&#8217;s a data center, or a PoP that is called, in case of CDN, a PoP is there in Phoenix but the upper tier PoP is Chicago.</p>\n\n\n\n<p>So let&#8217;s say someone made a request from Chicago, the page was cached in Chicago data center, okay? Now, as we have this tiered cache system, when you, from Phoenix, is making the request, instead of that PoP directly sending the request to the origin, it would first internally within the intranet of Cloudflare, not the internet, okay? The intranet of Cloudflare. The internal network like, hey, does anyone in the upper tier has this page cached to you? And if they say yes, they would fetch it from the upper tier, which is like crazy fast because there&#8217;s no traffic, and it&#8217;s like a internal network of Cloudflare.</p>\n\n\n\n<p>And if it does not, then it pass on the request to the upper tier, because the upper tier is the only one who has the power to pull the request from origins. It goes to the upper tier. Upper tier pulls it from the origin, creates a copy, and it&#8217;s upper tier, and then send it back to the lower tier. So in that way, in the tiered architecture, it makes sure that the cache hit ratio is insanely high.</p>\n\n\n\n<p>[00:32:24] <strong>Nathan Wrigley:</strong> Let me just sort of read that back to you just to make sure I&#8217;ve understood. And I&#8217;m imagining that, the simplest way my head is understanding that is a bunch of concentric circles. So in the center is me, and I wish to find something on, let&#8217;s say, the outer circle. So the first thing I&#8217;m going to do is go to my inner circle, and if the inner circle doesn&#8217;t have it, we need to go to the next circle out, and the next circle out, and the next circle out.</p>\n\n\n\n<p>Now in the old world, if you like, or the non-enterprise version of Cloudflare, at some point we have to go further out of the circles in order to find what it is that we&#8217;re looking for. But what I think you are saying is that on the enterprise level, that outer circle is constantly pushing things towards the inner circle on a much more local basis. So rather than having to go out circle, another one, another one, another one, it can just hop one circle out, get what it needs, and then hop right back. In other words, every single thing is always closer, geographically, than it would be in any other setup.</p>\n\n\n\n<p>[00:33:22] <strong>Saumya Majumder:</strong> Yes, and on top of that, if you look at the opposite architecture of this, right? So imagine you are in Phoenix, Phoenix doesn&#8217;t have it in cache. Phoenix sends a request to origin, now someone from Mississippi makes a request, they don&#8217;t have it in cache, their PoP makes a request too.. So all these PoPs are making requests to the origin because they don&#8217;t have it in their own local cache, which is bad because that would then mean the request to the origin would increase dramatically, which we are trying to reduce.</p>\n\n\n\n<p>But in this sense we have, imagine like a fixed set of upper tier data center, then we have like a middle tier and then the lower tier, right? So if lower tier doesn&#8217;t have it, it asks the middle tier, middle tier checks if any of the middle tier across the world have it. If they do, immediately send it. And that&#8217;s happening within the internal network of Cloudflare and not on the open internet, okay? It&#8217;s like crazy fast.</p>\n\n\n\n<p>[00:34:11] <strong>Nathan Wrigley:</strong> Right, okay. So again, forgive me, I&#8217;m going to make a leap of faith here, I could have this wrong. I&#8217;m guessing that on the Cloudflare side, they have their own bespoke hardware to route all of this stuff. So like you said, you described it as an, it&#8217;s like an internet intranet, almost, the scale that they&#8217;re on. But they&#8217;ve got their own hardware, which will be able to route that information presumably more quickly, and with less, I don&#8217;t know, less latency than you and I might have.</p>\n\n\n\n<p>[00:34:36] <strong>Saumya Majumder:</strong> Yeah, it&#8217;s a intranet, it&#8217;s not internet. It&#8217;s a private channel, right? So no one talking there except for Cloudflare. And the best part of that is, so imagine let&#8217;s say you are making a request from Mississippi, and there is like a upper tier data center in Mumbai, India, right? So what happens is, even though it&#8217;s not cached in US, it&#8217;s going to see that, okay, I have it cached in Mumbai, let&#8217;s take it from there instead of making a call to the origin, reducing the call origin, yeah.</p>\n\n\n\n<p>[00:35:05] <strong>Nathan Wrigley:</strong> Okay, that bit I didn&#8217;t understand. So the entire network is aware of where the closest thing is even before it needs to have it. I got it. Okay. That&#8217;s fascinating. And do they own the cables? Do Cloudflare own the cables connecting these things?</p>\n\n\n\n<p>[00:35:18] <strong>Saumya Majumder:</strong> Yes. Yes, they have their own data center, their own backbone, all of that. And on top of that, like at BigScoots we even have direct physical connections to Cloudflare service. That&#8217;s called CNI. That&#8217;s like a next step. So again, let me kind of paint a picture. This is you as a user, right? This is Cloudflare sitting in the middle, acting as a reverse proxy, and this is origin, okay?</p>\n\n\n\n<p>So the way it works is you make a request, right? So let&#8217;s say you, a request is received by this in a reverse proxy Cloudflare. Then it process that thing, whether it has to show you a WAF page, whatever the logic is, right? Does it have it in cache and all of that? You know, if it is not being blocked or challenged, do I need to show it in cache? Do I have it in cache? You&#8217;re talking to the internal network, all of that. And that&#8217;s happening in this middle tier, right?</p>\n\n\n\n<p>And this middle tier is now connected to their entire Cloudflare chain, right? So if, let&#8217;s say Mumbai has it, and it pulls from Mumbai, give it back to you. So the request never goes to the origin, right?</p>\n\n\n\n<p>Now, for whatever reason, you make a request to Cloudflare, Cloudflare checks it&#8217;s internal network, it doesn&#8217;t have it itself, so it has to make a request to the origin, right?</p>\n\n\n\n<p>There&#8217;s the interesting part. This bit of connection that is you and the Cloudflare, that&#8217;s happening over the open internet, right? Because like you making and the request goes by the open internet and lands to Cloudflare, right? And then this is your origin, so your Cloudflare to origin, right, that also generally happens by open internet. Cloudflare then makes a request, and that request goes by the internet and, you know, lands on the data center.</p>\n\n\n\n<p>But here&#8217;s the magical part that we have done. As we run and own our own data center, what we have done is we have connected a physical cable, like literally optic fibre cable with super insanely high bandwidth with the Cloudflare servers, with our servers. So what happens is, anytime Cloudflare has to fetch something from our origin, instead of sending that request by the open internet, which could be slow, there could be congestion and whatnot, it then sends via that private network that we have created, that private optical fiber cable and lands directly to our origin. Like, oh, this is hosted on BigScoots. We need to talk to BigScoots. Okay, send via this channel, which is not part of the open internet. And boom, it gets there, comes back, it&#8217;s like insanely fast.</p>\n\n\n\n<p>[00:37:32] <strong>Nathan Wrigley:</strong> Okay. How did that happen? Like, is that some sort of agreement that you have struck up directly with Cloudflare so that you can tap, you know, in a sense it feels like you&#8217;ve become a third party piece of their network infrastructure almost.</p>\n\n\n\n<p>[00:37:47] <strong>Saumya Majumder:</strong> Think of like, if Cloudflare is like a one gigantic network, our systems are also plugged into their network so that they can use the intranet system to fetch data directly from us, instead of using the open internet, which is much slower, there could be congestion and whatnot. To making that request between the Cloudflare, the proxy and the origin, making that instantly fast.</p>\n\n\n\n<p>[00:38:10] <strong>Nathan Wrigley:</strong> So how did that whole thing come about? How is it that you fell into this agreement? Because I don&#8217;t know if many other organisations do this, you know, outside of the web hosting space, maybe this is a typical thing where you could follow a roadmap from another company that had done it. I&#8217;ve not heard of this, so that&#8217;s kind of interesting. How did that relationship come about?</p>\n\n\n\n<p>[00:38:26] <strong>Saumya Majumder:</strong> If you don&#8217;t run your own data center, it is very hard to do this.</p>\n\n\n\n<p>[00:38:29] <strong>Nathan Wrigley:</strong> Yeah, I do not.</p>\n\n\n\n<p>[00:38:30] <strong>Saumya Majumder:</strong> Yeah, because you have to literally connect your servers and routers and everything to the Cloudflare network, you know? So most of the hosting companies out there, they don&#8217;t run their own data center on their own space. They actually lease, what I call lease their hardwares and services from other cloud providers. Whereas we run our, you know, our private cloud, our private system, our own data centers, you know?</p>\n\n\n\n<p>So like, for example, some company could use AWS or GCP or Azure and then create their own flavor of it and run Cloudflare through it. So they actually don&#8217;t have physical access to those data center&#8217;s other servers. Whereas we do. If we see something, we can literally pull up the drive, we can do things at our data center, we can change things, we can attach those things physically, which pretty much none of the hosting provider that I know of has access to.</p>\n\n\n\n<p>[00:39:19] <strong>Nathan Wrigley:</strong> It&#8217;s so interesting. Honestly, we could go on about this for absolutely ages. But basically, the long and the short of it is, you&#8217;re making things as fast as it&#8217;s possible for electrons to be. In a distributed network where some things don&#8217;t know things, and other things do know things. It&#8217;s all an enterprise in trying to figure out how to make it so that everything knows everything as fast as it is possible for electrons to fly around through the optical cables that there are spread throughout the world.</p>\n\n\n\n<p>[00:39:47] <strong>Saumya Majumder:</strong> I haven&#8217;t even described the servers.</p>\n\n\n\n<p>[00:39:47] <strong>Nathan Wrigley:</strong> I&#8217;m nowhere near finished because I want to get into what it&#8217;s like for somebody using, we&#8217;re a WordPress podcast, so I guess at some point we need to sort of grind it into that. So how would it benefit just some normal human being who&#8217;s got a WordPress website? What does all of this clever technology that you&#8217;ve created and that you&#8217;ve combined with Cloudflare over at BigScoots, what does it bring?</p>\n\n\n\n<p>[00:40:09] <strong>Saumya Majumder:</strong> It brings insanely fast speed. Insanely fast speed, super improved Core Web Vitals, and super DDoS products and all of that. It brings all of that. And I don&#8217;t want to talk about this kind of things, which I know the audience might not be interested about. I want to talk about more other interested things that the users can use.</p>\n\n\n\n<p>So I was talking about BigScoots cache, which is our own IP, right? So we created our BigScoots cache plugin, top two are manage this entire Cloudflare caching system to work with that. And not just that, it gives you, if you are an advanced user, it literally gives you the ability to fine tune and manage every aspect of caching system that you want, every aspect of it.</p>\n\n\n\n<p>So let&#8217;s say for example, we by default set the cache TTL, CDN cache TTL to let&#8217;s say X, but you have like a bunch of pages where you want, I want the TTL to be lower. There&#8217;s a hooks for that. You can use that.</p>\n\n\n\n<p>Or maybe, let&#8217;s say whenever we have intelligent cache purging systems. So whenever you push up to create a post or update a post or something like that, what happens is anytime you push that button, like publish or update, behind the scenes the BigScoots cache plugin intelligently, not only clearing cache for that particular page, but it also knows all the other important pages like taxonomy pages, like archive pages and all that, like author pages that are linked to that article, and then clearing cache for those as well.</p>\n\n\n\n<p>So you can also use other hooks. So let&#8217;s say you have some fake archive pages that we have seen a lot. Let&#8217;s say you are using a theme where you are showing list of articles on a page, which is like technically a page where you are using like a short code, which is not like a real archive page. So the system doesn&#8217;t recognise it as an archive page, but you want to clear that page cache whenever something of this tag or this category is published. There&#8217;s a hook for that. You don&#8217;t have to do that yourself. If you come to us and tell us like, this is our problem, this is the problem, we can actually write the code for you and do it for you. Like, we can literally just set that up for you. We provide like fully managed system.</p>\n\n\n\n<p>[00:42:10] <strong>Nathan Wrigley:</strong> So I&#8217;m guessing that the level that you&#8217;re at there is you&#8217;ve got to have a fairly deep understanding of the sort of caching infrastructure, or would what you are offering be available, not necessarily to deploy, but could anybody understand this with a rifle through your documentation or is it fairly, propeller hat, tinfoil hat stuff?</p>\n\n\n\n<p>[00:42:28] <strong>Saumya Majumder:</strong> We have like a proper documentation for every single hook there is. At the very top we talk about, like this is for the advanced audience. And if you don&#8217;t know what hooks are and things like that, it is going to be hard for you to understand what&#8217;s going on. But if you know, if you are familiar with actions and filters and things like that, it is going to be pretty straightforward for you.</p>\n\n\n\n<p>So that&#8217;s why I said, if you don&#8217;t know, but you have a problem, and that happens a lot of time, people come to us, we just literally just write a snippet and just make that happen for them.</p>\n\n\n\n<p>So you don&#8217;t have to know all of that crazy things, you know? It&#8217;s there if you are an advanced user, the documentation is there, but if you are not, it&#8217;s also there. On top of that, BigScoots cache has its own REST API, which you can use to clear cache, like you can literally use BigScoots cache REST API to clear cache. Imagine you have built like a Laravel system, or some backend system where you are adding something to your e-commerce site and you want to clear cache. When that happens, you can literally leverage BigScoots cache REST API to do that. So that&#8217;s like the, on the end of BigScoots cache. Then inside our BigScoots portal.</p>\n\n\n\n<p>[00:43:34] <strong>Nathan Wrigley:</strong> Ah, that was where I was going next actually. Go on, yeah.</p>\n\n\n\n<p>[00:43:36] <strong>Saumya Majumder:</strong> Yeah. We have, I think we have the most advanced and fine grain control to Cloudflare Enterprise that no one else in the industry provides. So I don&#8217;t know if you got a chance to look at our enterprise settings page. We really allow users to fine tune things exactly the way they want. So for example, let&#8217;s say you, do you want to protect your login pages from bad bots and actors, so that they can&#8217;t DDoS that? There&#8217;s a toggle for that. Turn that on, it&#8217;s done.</p>\n\n\n\n<p>You want to enable our own advanced hardening production, which is not using Cloudflare hardening production, it&#8217;s using our own proprietary algorithm for that. You want to use that, feel free. Turn on, that toggle is there.</p>\n\n\n\n<p>You want to change your image optimisation settings, do that. You want to enable Rocket Loader to every single thing starting from cache settings, speed optimisation settings, there are like bunch of things that you can play around with. You want to block AI bots, do that. You want to block bad bots, like manage, challenge bad blocks altogether, just turn a toggle, it&#8217;s done.</p>\n\n\n\n<p>So we have so many settings there. I think, if you go take a look at just that settings, you would be blown away. Like, all the things that we allow our customers to customise and fine tune.</p>\n\n\n\n<p>Let&#8217;s say, for example, you want to block requests from certain countries or continents, and now settings is there. Just choose the countries or continents, requests are blocked. You want to manage, challenge, you don&#8217;t want to block, you want to challenge the request from certain countries and countries, you can just go to the settings inside our portal, choose the contains and countries from where you want to challenge. So you could have a combination. So you want to block requests from these countries and continents, challenge from these continents and countries and don&#8217;t do anything for the rest of them. So you can play around with this to a whole new level, like you can just do anything you want.</p>\n\n\n\n<p>[00:45:19] <strong>Nathan Wrigley:</strong> It&#8217;s absolutely fascinating. And it kind of makes me feel that your target audience would not be really the bricks and the mortars shop, the mom and the pop website?</p>\n\n\n\n<p>[00:45:27] <strong>Saumya Majumder:</strong> There actually are. Yeah, like you you won&#8217;t believe how many times we have got a request like, hey, you know what? In our analytics, we are seeing that we are getting a lot of requests from Thailand, and that&#8217;s like broken our tools like that, so I want to either challenge or block that. So we are like, you go to the settings, choose the Thailand, click save, it&#8217;s done. So it&#8217;s like as simple as that.</p>\n\n\n\n<p>[00:45:45] <strong>Nathan Wrigley:</strong> Yeah, I&#8217;m kind of imagining though, that you are kind of ideal customer, for want of a better word, maybe that&#8217;s the wrong wording, but would be kind of agencies, WordPress agencies, that kind of thing, who could obviously make use of this. They&#8217;ve probably got teams of people who can dedicate time to figuring out how BigScoots works, and maybe having a constant conversation with you to optimise the websites that they&#8217;ve got and, you know, maybe some of their clients are what we might call enterprise clients and things like that.</p>\n\n\n\n<p>If that&#8217;s the case, there&#8217;s always this merry dance of agencies trying to find the perfect host and kind of figure out, okay, which company do we want to go with this year? And all of that. Do you make it straightforward for people to sort of come to you and say, okay, we&#8217;ve got 150 websites, it&#8217;s really important that we don&#8217;t have any downtime? Do you have some sort of onboarding, migration, something along those lines?</p>\n\n\n\n<p>[00:46:30] <strong>Saumya Majumder:</strong> So we have a lot of enterprise customers, and for every single one of them we have a proper systematic onboarding flow. So that&#8217;s making sure that they do, we do migrations with zero downtime, have multiple peer reviews. Then if they have taken our performance optimisation packages and things like that, we would actually optimise their performance and speed metrics for them. And then if they have taken our engineering and services projects, then we would actually do all the, like if they have any technical problems, we would actually go on write code for them, solve their problems.</p>\n\n\n\n<p>So we go very hand in hand with our enterprise customers doing onboarding call, making sure they&#8217;re happy from end to end. And whether that&#8217;s agencies or just normal enterprise customers, it&#8217;s for all of them.</p>\n\n\n\n<p>And I also want to talk about the settings that you just talked about. So we build all of these things, keeping in mind that they are dead simple to use for anyone. But that doesn&#8217;t necessarily mean that they have to do it. A lot of the times customers comes to us and like, hey, we want to do this. As we provide managed support, we actually go into the exact same settings and do that. And that actually solves the problem a lot because now anybody can go to the settings and just do this. Be it our own team or, because it doesn&#8217;t have to be escalated, it doesn&#8217;t have to come to a specific team. Anybody can do that. And we are constantly growing the more things that people can do to leverage that out. And yes, agencies and enterprise are taking huge advantage of that.</p>\n\n\n\n<p>[00:47:54] <strong>Nathan Wrigley:</strong> Yeah, honestly, it&#8217;s absolutely fascinating. You never know, hopefully you and I, our paths will cross at some point in the year 2026. Maybe I&#8217;ll see you in Mumbai or something like that.</p>\n\n\n\n<p>But what I&#8217;m going to do is I&#8217;m just going to say, if you&#8217;re curious about any of this, I will provide links to everything that we talked about. So if you head over to wptavern.com and you search for the episode with Saumya, so S-A-U-M-Y-A, you&#8217;ll be able to find it over there. Honestly, I feel like we&#8217;ve just scratched the surface. I feel like there&#8217;s another 8 hours in the pair of us, really could get into the weeds of it.</p>\n\n\n\n<p>But thank you so much for peeling back the curtain a little bit on what you&#8217;re doing and how it all works with Cloudflare. Thank you so much.</p>\n\n\n\n<p>[00:48:28] <strong>Saumya Majumder:</strong> No problem. Thanks for having me.</p>\n</div></details>\n\n\n\n<p>On the podcast today we have <a href=\"https://www.linkedin.com/in/saumyamajumder/\">Saumya Majumder</a>.</p>\n\n\n\n<p>Saumya Majumder is the lead software engineer at BigScoots, with a deep specialisation in high-performance WordPress engineering and advanced Cloudflare-powered architectures. Throughout his career, Saumya has built large-scale systems ranging from custom caching engines to migration tools, worker-based automations, and edge computing solutions. He’s played a pivotal role at BigScoots, overseeing enterprise customers and developing scalable, developer-friendly solutions that push the boundaries of hosting for WordPress.</p>\n\n\n\n<p>We begin our conversation with a timely discussion about a major Cloudflare outage that recently rippled across the Internet. Saumya explains what happened behind the scenes, the nature of these kinds of global infrastructure hiccups, and why, even with the most robust systems in place, some downtime is simply inevitable. He offers valuable insights into how BigScoots is able to mitigate these issues for their customers, even automating rapid failovers to keep sites online during outages.</p>\n\n\n\n<p>We then move on to explore some of the innovations that the team at BigScoots have been working on. They focus upon site speed and reliability. This includes CDN-level page caching, and their close integration with Cloudflare Enterprise. Saumya breaks down how this caching differs from traditional server-based caching, and how it ensures that users around the world get fast, local access to website content.</p>\n\n\n\n<p>If you’re curious about how hosting companies manage such advanced caching strategies, and how Cloudflare might fit into the hosting jigsaw, this episode is for you.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Useful links</h2>\n\n\n\n<p><a href=\"https://www.bigscoots.com\">BigScoots</a></p>\n\n\n\n<p><a href=\"https://www.cloudflare.com\">Cloudflare</a></p>\n\n\n\n<p><a href=\"https://wordpress.org/plugins/wp-cloudflare-page-cache/\"> Super Page Cache plugin</a></p>\n\n\n\n<p><a href=\"https://blog.cloudflare.com/18-november-2025-outage/\">Blog post about recent outage</a>, 18th November 2025</p>\n\n\n\n<p><a href=\"https://www.cloudflare.com/en-gb/enterprise/\">Cloudflare for Enterprise</a></p>\n\n\n\n<p><a href=\"https://help.bigscoots.com/en/articles/5184102-introducing-bigscoots-cache\">Introducing BigScoots Cache</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, 26 Nov 2025 15: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:23;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:65:\"Open Channels FM: Open Channels FM Founder’s Podcast Tech Stack\";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:33:\"https://openchannels.fm/?p=112873\";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:69:\"https://openchannels.fm/open-channels-fm-founders-podcast-tech-stack/\";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:154:\"BobWP is back sharing his podcast gear and software tips for all podcasters, offering insights on mics, interfaces, and AI tools to streamline production.\";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, 26 Nov 2025 12:45:53 +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:24;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:85:\"Open Channels FM: Why Diverse Teams and Early Accessibility Matter in Web Development\";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:33:\"https://openchannels.fm/?p=112138\";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://openchannels.fm/why-diverse-teams-and-early-accessibility-matter-in-web-development/\";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:187:\"Accessibility in web dev shouldn’t be an afterthought. Involving diverse teams from the start uncovers issues early, making products better for all. Early focus on accessibility is key.\";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, 26 Nov 2025 11:16:22 +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:25;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:23:\"Matt: 3D Printing Wowza\";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:23:\"https://ma.tt/?p=150682\";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:40:\"https://ma.tt/2025/11/3d-printing-wowza/\";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:915:\"<p>If you have ever customized your home setup, or done extra work to make the cable just so, it&#8217;s impossible not to delight in the very deep rabbit holes this person goes in 3D-printing custom holders for everything in his junk drawer. I&#8217;m in awe. It&#8217;s an ad for <a href=\"https://bambulab.com/en-us\">Bambu Lab</a>, but honestly it&#8217;s the kind of thing I could watch all day. So satisfying. <a href=\"https://syj-links.webflow.io/\">Scott Yu-Jan</a> is someone to keep an eye on.</p>\n\n\n\n<figure class=\"wp-block-embed alignwide is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n\n</div></figure>\n\n\n\n<p>To me, this embodies the maker / hacker / creator mentality that I try to imbue in all the software I work on. How do you make it your own? One of one, but then open source it and see how it gets better.</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, 26 Nov 2025 04:03: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:4:\"Matt\";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:26;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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.9 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=19373\";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:69:\"https://wordpress.org/news/2025/11/wordpress-6-9-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:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:8009:\"<p>The third Release Candidate (“RC3”) for WordPress 6.9 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 of WordPress on production or mission-critical websites.</strong> Instead, it’s recommended that you evaluate RC3 on a test server and site.</p>\n\n\n\n<p>Reaching this phase of the release cycle is an important milestone. While release candidates are considered ready for release, testing remains crucial to ensure that everything in WordPress 6.9 is the highest quality possible.</p>\n\n\n\n<p>You can test WordPress 6.9 RC3 in four ways:</p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Plugin</strong></td><td>Install and activate the <a href=\"https://wordpress.org/plugins/wordpress-beta-tester/\"></a><a href=\"https://wordpress.org/plugins/wordpress-beta-tester/\">WordPress Beta Tester</a> plugin on a WordPress install. (Select the “Bleeding edge” channel and “Beta/RC Only” stream.)</td></tr><tr><td><strong>Direct Download</strong></td><td>Download the <a href=\"https://wordpress.org/wordpress-6.9-beta2.zip\"></a><a href=\"https://wordpress.org/wordpress-6.9-RC3.zip\">RC3 version (zip)</a>. and install it on a WordPress website.</td></tr><tr><td><strong>Command Line</strong></td><td>Use this <a href=\"https://make.wordpress.org/cli/\">WP-CLI</a> command: <br /><code>wp core update --version=6.9-RC3</code></td></tr><tr><td><strong>WordPress Playground</strong></td><td>Use the <a href=\"https://playground.wordpress.net/?php=8.0&amp;wp=beta&amp;networking=no&amp;language=&amp;multisite=no&amp;random=y4q1rn85xn\">6.9 WordPress Playground instance</a> to test the software directly in your browser.  No setup is required – just click and go! </td></tr></tbody></table></figure>\n\n\n\n<p>The scheduled final release date for WordPress 6.9 is <strong>December 2, 2025</strong>. The full <a href=\"https://make.wordpress.org/core/6-9/\">release schedule can be found here</a>. Your help testing RC versions is vital to making this release as stable and powerful as possible.</p>\n\n\n\n<p>Please continue checking the <a href=\"https://make.wordpress.org/core/\">Make WordPress Core blog</a> for <a href=\"https://make.wordpress.org/core/tag/6-9/\">6.9-related posts</a> in the coming weeks for more information.</p>\n\n\n\n<h2 class=\"wp-block-heading\">What’s in WordPress 6.9 RC3?</h2>\n\n\n\n<p>Want to look deeper into the details and technical notes for this release? Take a look at the <a href=\"https://make.wordpress.org/core/2025/11/25/wordpress-6-9-field-guide\">WordPress 6.9 Field Guide</a>. For technical information related to issues addressed since <a href=\"https://wordpress.org/news/2025/11/wordpress-6-9-release-candidate-2\">RC2</a>, you can browse the following links:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://github.com/WordPress/gutenberg/commits/wp/6.9?since=2025-11-18&amp;until=2025-11-25\">Gutenberg commits for 6.9</a> since November 18</li>\n\n\n\n<li><a href=\"https://core.trac.wordpress.org/query?status=closed&amp;changetime=11%2F18%2F2025..11%2F24%2F2025&amp;milestone=6.9&amp;group=component&amp;col=id&amp;col=summary&amp;col=milestone&amp;col=changetime&amp;col=type&amp;order=id\">Closed WordPress Core Trac tickets</a> since November 18</li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\">How you can contribute</h2>\n\n\n\n<p>WordPress is open source software made possible by a passionate community of people collaborating on and contributing to its development. The resources below outline various ways you can get involved with the world’s most popular open source web platform, regardless of your technical expertise.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Get involved in testing</h3>\n\n\n\n<p>Testing for issues is crucial to the development of any software. It’s also a meaningful way for anyone to contribute. </p>\n\n\n\n<p>Your help testing the WordPress 6.9 RC3 prerelease is key to ensuring that the final release is the best it can be. While testing the upgrade process is essential, trying out new features is equally important. This <a href=\"https://make.wordpress.org/test/2025/10/21/help-test-wordpress-6-9/\">detailed guide</a> will walk you through testing features in WordPress 6.9. For those new to testing, follow <a href=\"https://make.wordpress.org/test/handbook/get-setup-for-testing/\">this general testing guide</a> for more details on getting set up.</p>\n\n\n\n<p>If you encounter an issue, please report it to the <a href=\"https://wordpress.org/support/forum/alphabeta/\">Alpha/Beta/RC area</a> of the support forums or directly to <a href=\"https://core.trac.wordpress.org/newticket\">WordPress Trac</a> if you are comfortable writing a reproducible bug report. You can also check your issue against a list of <a href=\"https://core.trac.wordpress.org/tickets/major\">known bugs</a>.</p>\n\n\n\n<p>Curious 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> on <a href=\"https://wordpress.slack.com/\"></a><a href=\"https://make.wordpress.org/chat/\">Making WordPress Slack</a>..</p>\n\n\n\n<h3 class=\"wp-block-heading\">Update your theme or plugin</h3>\n\n\n\n<p>For plugin and theme authors, your products play an integral role in extending the functionality and value of WordPress for all users.</p>\n\n\n\n<p>Thanks for continuing to test your themes and plugins with the WordPress 6.9 prereleases. If you haven’t yet, please conclude your testing and update the <em>“Tested up to”</em> version in your theme and plugin <a href=\"https://developer.wordpress.org/plugins/wordpress-org/how-your-readme-txt-works/\">readme files</a> to <code>6.9</code>.</p>\n\n\n\n<p>If you find compatibility issues, please post detailed information in the <a href=\"https://wordpress.org/support/forum/alphabeta/\">support forum</a>.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Test on your hosting platforms</h3>\n\n\n\n<p>Web hosts provide vital infrastructure for supporting WordPress and its users. Testing on hosting systems helps inform the development process while ensuring that WordPress and hosting platforms are fully compatible, free of errors, optimized for the best possible user experience, and that updates roll out to customer sites without issue.</p>\n\n\n\n<p>Want to test WordPress on your hosting system? <a href=\"https://make.wordpress.org/hosting/test-results-getting-started/\">Get started with configuring distributed hosting tests here</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? Русский? 日本語? हिन्दी? বাংলা? मराठी? ಕನ್ನಡ? You can <a href=\"https://translate.wordpress.org/projects/wp/dev/\">help translate WordPress into more than 100 languages</a>.</p>\n\n\n\n<h2 class=\"wp-block-heading\">An RC3 haiku</h2>\n\n\n\n<p><em>Some folks make money,</em></p>\n\n\n\n<p><em>some folks make time to travel,</em></p>\n\n\n\n<p><em>and we Make WordPress.</em></p>\n\n\n\n<p class=\"has-text-align-right\"><em>Props to </em><a class=\"mention\" href=\"https://profiles.wordpress.org/akshayar/\"><span class=\"mentions-prefix\">@</span>akshayar</a>, <a class=\"mention\" href=\"https://profiles.wordpress.org/davidbaumwald/\"><span class=\"mentions-prefix\">@</span>davidbaumwald</a>, <a class=\"mention\" href=\"https://profiles.wordpress.org/westonruter/\"><span class=\"mentions-prefix\">@</span>westonruter</a>, <a class=\"mention\" href=\"https://profiles.wordpress.org/ellatrix/\"><span class=\"mentions-prefix\">@</span>ellatrix</a>, <a class=\"mention\" href=\"https://profiles.wordpress.org/mobarak/\"><span class=\"mentions-prefix\">@</span>mobarak</a> <em>and</em> <a class=\"mention\" href=\"https://profiles.wordpress.org/tacoverdo/\"><span class=\"mentions-prefix\">@</span>tacoverdo</a> <em>for proofreading and review.</em></p>\n\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:\"Tue, 25 Nov 2025 15:33:10 +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:10:\"Amy Kamala\";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:27;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:\"Matt: Jeff Dean AI Club talk\";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:23:\"https://ma.tt/?p=150672\";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:32:\"https://ma.tt/2025/11/dean-talk/\";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:402:\"<figure class=\"wp-block-embed alignwide is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n\n</div></figure>\n\n\n\n<p>There&#8217;s a new video with Jeff Dean talking at the Stanford AI Club, only 2k views so far, he&#8217;s half of the pair I <a href=\"https://ma.tt/2025/11/friday-links/\">blogged the other day</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, 25 Nov 2025 05:05:29 +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:4:\"Matt\";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:28;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:22:\"Matt: Vogelstein on 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:23:\"https://ma.tt/?p=150650\";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:39:\"https://ma.tt/2025/11/vogelstein-on-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:580:\"<p>Fred Vogelstein writes on Crazy Stupid Tech: <a href=\"https://crazystupidtech.com/2025/11/21/boom-bubble-bust-boom-why-should-ai-be-different/\">Boom, bubble, bust, boom. Why should AI be different?</a> &#8220;To us what’s happening is obvious. We both covered the internet bubble 25 years ago. We’ve been writing about – and in Om’s case investing in – technology since then. We can both say unequivocally that the conversations we are having now about the future of AI feel exactly like the conversations we had about the future of the internet in 1999. &#8220;</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:\"Sun, 23 Nov 2025 07:55:22 +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:4:\"Matt\";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:29;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:18:\"Matt: Friday Links\";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:23:\"https://ma.tt/?p=150639\";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:35:\"https://ma.tt/2025/11/friday-links/\";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:1237:\"<ul class=\"wp-block-list\"><div class=\"__iawmlf-post-loop-links\" style=\"display: none;\"></div>\n<li><a href=\"https://sfstandard.com/2025/11/08/stewart-brand-whole-earth-catalog-tugboat/\">Stewart Brand is selling his tugboat houseboat in Sausalito</a>.</li>\n\n\n\n<li><a href=\"https://www.youtube.com/watch?v=niJpDnNtNp4\">Benedict Evans gave a nice presentation on the adoption of AI</a>.</li>\n\n\n\n<li><a href=\"https://www.youtube.com/watch?v=LdORIBH3R88\">Chris Young reviews a $4,200 silver frying pan, comparing it to other metals with some really cool science and infographics</a>.</li>\n\n\n\n<li>From 2018 in the New Yorker, <a href=\"https://www.newyorker.com/magazine/2018/12/10/the-friendship-that-made-google-huge\">The Friendship That Made Google Huge</a>. Great profile of <a href=\"https://research.google/people/jeff/\">Jeff Dean</a> and <a href=\"https://research.google/people/sanjayghemawat/\">Sanjay Ghemawat</a>, makes me wish we did more pair programming at <a href=\"https://automattic.com/\">Automattic</a>. Note the early mentions of machine learning, TPUs, Google Brain, etc.</li>\n\n\n\n<li><a href=\"https://www.youtube.com/watch?v=nDanzN1EUeE\">Trump did a press conference with Zohran Mamdani</a>, the new mayor of New York.</li>\n</ul>\";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, 22 Nov 2025 07:58: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:4:\"Matt\";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:30;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:99:\"Gutenberg Times: State of the Word, WordPress 6.9, Carousel Block and more — Weekend Edition #350\";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=42877\";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://gutenbergtimes.com/state-of-the-word-wordpress-6-9-carousel-block-and-more-weekend-edition-350/\";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:23251:\"<p>Hi there,</p>\n\n\n\n<p>Munich got hit with the first snow for this Winter. It started slowly on Friday morning, and by the afternoon the flakes got larger and the white started to cover tree branches, roofs and cars. It might all be gone by tomorrow, though, as the weather forecast shows -7 °C (19.4 °F) with sunshine.<img alt=\"❄\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/17.0.2/72x72/2744.png\" style=\"height: 1em;\" /> I am still a Floridian Weather whimp, but I like the snow covering the overcast gray of an Autumn day. I just won&#8217;t go outside if I can help it.</p>\n\n\n\n<p>WordPress 6.9 is almost there. If you need a full run down of the changes in the block editor, I&#8217;ve got you covered with the <a href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/\"><strong>WordPress 6.9 Source of Truth</strong></a>, with screenshot and videos. It clocks in at 5,200+ words. The table of contents as well as the in-post tags will help you navigate it. And I am always here to answer your questions.</p>\n\n\n\n<p>But wait there is more below, </p>\n\n\n\n<p>Have a fabulous weekend, and if you are in the Northern Hemisphere, stay warm. </p>\n\n\n\n<p>Yours, <img alt=\"💕\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/17.0.2/72x72/1f495.png\" style=\"height: 1em;\" /><br /><em>Birgit</em></p>\n\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<p>First-time release lead <strong>Jonathan Bossenger</strong> worked on the Gutenberg 22.1. version. In his release post <a href=\"https://make.wordpress.org/core/2025/11/20/whats-new-in-gutenberg-22-1-18-november-2025/\"><strong>What’s new in Gutenberg 22.1? (18 November, 2025)</strong></a> he highlighted two major block updates and a performance improvement for the image block.</p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"https://make.wordpress.org/core/2025/11/20/whats-new-in-gutenberg-22-1-18-november-2025/#new-tabs-block\">New Tabs block</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/20/whats-new-in-gutenberg-22-1-18-november-2025/#html-block-updates\">HTML block updates</a></li>\n\n\n\n<li><a href=\"https://github.com/WordPress/gutenberg/pull/61107\">Image prefetching when expanding images in the editor</a></li>\n</ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https://wordpress.org/news/2025/11/wordpress-6-9-release-candidate-2/\"><img alt=\"Highlight grid WordPress 6.9\" class=\"wp-image-43066\" height=\"375\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/WordPress-6.9-2025-11-20.png?resize=652%2C375&#038;ssl=1\" width=\"652\" /></a></figure>\n\n\n\n<p><strong><a href=\"https://wordpress.org/news/2025/11/wordpress-6-9-release-candidate-2/\">WordPress 6.9 Release Candidate 2</a> </strong>was released this week. December 2 will be here soon enough for the final release. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Joe Dolson</strong> published a list of all the <a href=\"https://make.wordpress.org/core/2025/11/19/accessibility-improvements-in-wordpress-6-9/\"><strong>Accessibility Improvements in WordPress 6.9</strong></a>. More Dev Notes can be <a href=\"https://make.wordpress.org/core/tag/dev-notes-6-9/\">perused on the Make Blog </a></p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><a href=\"https://x.com/javaid_sarim\"><strong>Sarim Javaid</strong></a>, Digital Ocean posted <a href=\"https://www.cloudways.com/blog/wordpress-6-9/\"><strong>WordPress 6.9: What’s new, release date, features, and why it is important for your site</strong></a> on the Cloudways blog. &#8220;You’ll get faster load times, more streamlined site management, and new developer tools like APIs and automation features. Also, teams will benefit from block-level commenting for better collaboration&#8221; he wrote. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>In this week&#8217;s stream, <strong>Jonathan Bossenger</strong> dives into testing WordPress 6.9, specifically <a href=\"https://www.youtube.com/watch?v=Ky3R5ZScwhI\"><strong>focusing on the DataViews functionality</strong></a>. He starts by setting up his live stream, organizing processes, and installing necessary updates. Then, he explores the JavaScript packages involved, particularly the React components that power admin pages. Join him as he fumbles around, copy-pastes examples, and strives to get a basic implementation of DataViews working. If you enjoy watching someone learn through trial and error, give this video a like and subscribe.</p>\n\n\n<div class=\"wp-block-newsletterglue-showhide ng-block\" width=\"100%\">\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n\n</div></figure>\n</div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>JuanMa Garrido</strong> livestreamed about <a href=\"https://www.youtube.com/\"></a><a href=\"https://www.youtube.com/watch?v=8X8ztWQFx9E\"><strong>What&#8217;s new for Devs in Wp 6.9: Interactivity API</strong></a></p>\n\n\n<div class=\"wp-block-newsletterglue-showhide ng-block\" width=\"100%\">\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n\n</div></figure>\n</div>\n\n\n<h3 class=\"wp-block-heading\" id=\"upcoming-wordpress-6-9-events\">Upcoming WordPress 6.9 events </h3>\n\n\n\n<p><strong>Maruti Mohanty</strong> plans a Workshop for <strong>November 27 at 10am UTC</strong> on <a href=\"https://www.meetup.com/learn-wordpress-online-workshops/events/312092781/\"><strong>How to Prepare Your WordPress Site for WordPress 6.9?</strong></a> via Learn WordPress meetup.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>Also on <strong>November 27 at 12:00 UTC</strong>, <strong>JuanMa Garrido</strong> and <strong>Jonathan Bossenger</strong> invite you to the <a href=\"https://www.meetup.com/learn-wordpress-online-workshops/events/312110895/\"><strong>Developer Hours: WordPress 6.9 Developer Updates</strong></a>. A second edition, covering updates to Block Bindings and Interactivity API. </p>\n\n\n\n<p>If you missed the first edition, it&#8217;s now available on WordPressTV: <a href=\"https://wordpress.tv/2025/11/18/developer-hours-wordpress-6-9-dataviews-dataform-abilities-api/\"><strong>Developer Hours: WordPress 6.9 DataViews/DataForm &amp; Abilities API</strong></a>.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>The <strong><a href=\"https://wordpress.org/state-of-the-word/\">State of the Word</a></strong>, <strong>Matt Mullenweg</strong>&#8216;s annual keynote will be live streamed from San Francisco on <strong>December 2 at 8pm UTC.</strong> For the first time, we are celebrating SOTW alongside the official release of WordPress 6.9 on the same day. Expect demos, and even get an early preview of the future beyond for WordPress. All followed by a Q &amp; A with Matt Mullenweg. </p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-no-vertical-margin\"><a href=\"https://wordpress.org/state-of-the-word/\"><img alt=\"\" class=\"wp-image-43111\" height=\"367\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/SotW-banner-_-date-and-time-horizontal.png?resize=652%2C367&#038;ssl=1\" width=\"652\" /></a></figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<div class=\"wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p><img alt=\"🎙\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/17.0.2/72x72/1f399.png\" style=\"height: 1em;\" /> The latest episode is <a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-125-wordpress-6-9-gutenberg-22-1-and-gutenberg-22-2/\">Gutenberg Changelog #125 – WordPress 6.9, Gutenberg 22.1 and Gutenberg 22.2</a> with <strong>JC Palmes</strong>, WebDev Studios</p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-no-vertical-margin\"><img alt=\"Gutenberg Changelog 125 with JC Palmes and host Birgit Pauli-Haack\" class=\"wp-image-43283\" height=\"186\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Screenshot-2025-11-28-at-18.19.29.png?resize=652%2C186&#038;ssl=1\" width=\"652\" /></figure>\n\n\n<div class=\"wp-block-newsletterglue-showhide ng-block\" width=\"100%\">\n<figure class=\"wp-block-embed is-type-rich is-provider-pocket-casts wp-block-embed-pocket-casts\"><div class=\"wp-block-embed__wrapper\">\n\n</div></figure>\n</div></div></div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\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>Justin Tadlock</strong> just dropped his awesome new <a href=\"https://justintadlock.com/archives/2025/11/18/media-data-wordpress-plugin\"><strong>Media Data WordPress Plugin</strong></a>, which is all about pulling in embedded metadata from your uploaded media files—think EXIF data, ID3 tags, camera settings, dimensions, and a lot more. The plugin comes with two blocks: one to hold everything together and others to showcase specific bits of metadata. Plus, it works seamlessly with WordPress 6.9&#8217;s block bindings, so you can easily make custom connections between blocks. It&#8217;s <a href=\"https://github.com/x3p0-dev/x3p0-media-data/releases\">up on GitHub</a> while waiting for approval in the directory.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>Core contributors are getting ready to move the Post Editor into an iframe in WordPress 7.0. This change is all about giving the editing experience a fresh, modern vibe and cutting down on distractions from admin styles and those third-party scripts. <strong>Aki Hamano</strong>, a core committer, laid out the plans last week in a developer note: <a href=\"https://make.wordpress.org/core/2025/11/12/preparing-the-post-editor-for-full-iframe-integration/\"><strong>Preparing the Post Editor for Full iframe Integration</strong></a></p>\n\n\n\n<p><strong>Rae Morey</strong>, The Repository, reports on the various concerns from other contributors in <strong><a href=\"https://www.therepository.email/core-contributors-prepare-to-iframe-the-post-editor-in-7-0-prompting-backward-compatibility-concerns\">Core Contributors Prepare to iframe the Post Editor in 7.0, Prompting Backward-Compatibility Concerns</a>.</strong></p>\n\n\n\n<p>As a follow-up, <strong>Aki Hamano</strong> started a discussion on GitHub on <strong><a href=\"https://github.com/WordPress/gutenberg/issues/73138\">Documentation to help with the migration to Block API version 3 #73138</a>,</strong> with comments from <strong>Ella van Durpe</strong> and <strong>Riad Benguella</strong> with ideas on how to navigate the migration. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>In her post <a href=\"https://humanmade.com/wordpress-for-enterprise/introducing-accelerate-redefining-experimentation-in-wordpress/\"><strong>Introducing Accelerate: Redefining Experimentation in WordPress</strong></a>, <strong>Gianna Legate</strong>, Head of Content at Human Made, explores how the new Accelerate platform bridges WordPress and modern marketing. The <a href=\"https://humanmade.com/wordpress-for-enterprise/introducing-accelerate-redefining-experimentation-in-wordpress/\">plugin enables</a> marketers to run A/B tests, personalize content by geography, and promote high-performing blocks directly within the editor, shifting WordPress from content-centric publishing toward data-driven customer engagement without requiring external tools or custom development work. The premium plugin is <a href=\"https://www.accelerateplugin.com/pricing/\">free for up to one million</a> monthly page views. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Hans-Gerd Gerhards</strong> announced an update to his plugin <a href=\"https://wordpress.org/plugins/shrinking-logo-sticky-header/\"><strong>Dynamic Header &amp; Navigation for Block Themes</strong></a>, a lightweight WordPress plugin developed specifically as a navigation solution for most Block Themes. &#8220;I am very pleased that my plugin now has more than 100 active installations.&#8221; he <a href=\"https://www.linkedin.com/posts/hans-gerd-gerhards-2b0814170_dynamic-header-navigation-for-block-themes-activity-7397624000190820353-vMzq?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAAkKaoBHI9qqM4OcmXfJb1QeGFMlLI6W4o\">wrote on LinkedIn.</a></p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p id=\"johanne-courtright-published-here-the-complete-guide-to-groundworx-carousel-block\"><strong>Johanne Courtright </strong>published her <a href=\"https://groundworx.dev/resources/the-complete-guide-to-groundworx-carousel-block/\"><strong>The Complete Guide to Groundworx Carousel Block</strong></a>. She walks through setting up responsive carousels using Splide.js and Gutenberg, exploring nine professional templates and eight responsive breakpoints for precise control. The guide covers styling via theme.json, creating custom templates using CSS Grid, and building reusable block variations for your team&#8217;s consistent configurations across WordPress projects. The plugin is available in the WordPress repository: <a href=\"https://wordpress.org/plugins/groundworx-carousel/\">Groundworx Carousel</a> v 2.0 was released last week after a complete redesign. </p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"Goundwork Carousel Block \" class=\"wp-image-43130\" height=\"410\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Screenshot-2025-11-22-at-11.47.24.png?resize=652%2C410&#038;ssl=1\" width=\"652\" /></figure>\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><strong>Ellen Bauer</strong>&#8216;s talk at WordCamp Kansai is now available on WordPressTV: <a href=\"https://wordpress.tv/2025/11/20/building-a-woocommerce-store-using-block-themes-and-ai-site-building/\" rel=\"noreferrer noopener\" target=\"_blank\"><strong>Building a WooCommerce Store Using Block Themes and AI Site Building</strong></a>. In this hands-on session, you&#8217;ll learn how to use a lightweight starter block theme and AI site-building tools to create a fully editable WooCommerce store design that you can refine directly in the WordPress editor.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Rich Tabor</strong> continues his explorations. The second post is all about the <strong><a href=\"https://rich.blog/application-menu/\">Application Menu</a></strong>. &#8220;An application menu would act as a consistent anchor—an always-present spot where you can see the full range of available actions. Not a replacement for other controls, and not a move to strip the interface down.&#8221; he wrote. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n<div class=\"ng-block-070e18b6cf50de16 wp-block-newsletterglue-container ng-block\" style=\"color: #666666;\" width=\"100%\"><div><div><div class=\"ng-block-vs ng-block-vs-1\" colspan=\"3\" height=\"0\" style=\"height: 0px;\"></div></div><div><div class=\"ng-block-hs ng-block-hs-1\" height=\"0\" style=\"width: 0px;\"></div><div align=\"none\" class=\"ng-block-td\" style=\"font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 20px; padding-bottom: 20px; padding-left: 0px; padding-right: 0px; text-align: none; color: #666666; background-color: #fdfcea; border-radius: 12px;\"><div class=\"ng-block-bb7791a88f912db9 wp-block-newsletterglue-text ng-block\" style=\"color: #666666;\" width=\"100%\"><div><div><div align=\"none\" class=\"ng-block-td\" style=\"font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;\"><p><strong> <a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/\" rel=\"noreferrer noopener\" target=\"_blank\">&#8220;Keeping up with Gutenberg &#8211; Index 2025&#8221;</a> </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. 2024 on. Updated by yours truly. </p></div></div></div></div>\n\n<div class=\"ng-block-68512aaaf291fc62 wp-block-newsletterglue-text ng-block\" style=\"color: #666666;\" width=\"100%\"><div><div><div align=\"none\" class=\"ng-block-td\" style=\"font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;\"><p>The previous years are also available: <br /><strong><strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2020/\">2020</a> | <a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2021/\">2021</a></strong> | <strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2022/\">2022</a></strong></strong> | <strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2023\">2023</a></strong> | <a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2024/\"><strong>2024</strong></a></p></div></div></div></div></div><div class=\"ng-block-hs ng-block-hs-2\" height=\"0\" style=\"width: 0px;\"></div></div><div><div class=\"ng-block-vs ng-block-vs-2\" colspan=\"3\" height=\"0\" style=\"height: 0px;\"></div></div></div></div>\n\n\n<p><strong>Ryan Welcher</strong> livestreamed part 3 of his quest to <a href=\"https://www.youtube.com/watch?v=5-VY_9_DX0E\" rel=\"noreferrer noopener\" target=\"_blank\"><strong>use every Interactivity API feature in one site</strong></a></p>\n\n\n<div class=\"wp-block-newsletterglue-showhide ng-block\" width=\"100%\">\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n\n</div></figure>\n</div>\n\n<div class=\"ng-block-c5031f7a08c1b73a wp-block-newsletterglue-container ng-block\" style=\"color: #666666;\" width=\"100%\"><div><div><div class=\"ng-block-vs ng-block-vs-1\" colspan=\"3\" height=\"0\" style=\"height: 0px;\"></div></div><div><div class=\"ng-block-hs ng-block-hs-1\" height=\"0\" style=\"width: 0px;\"></div><div align=\"none\" class=\"ng-block-td\" style=\"font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 20px; padding-bottom: 20px; padding-left: 0px; padding-right: 0px; text-align: none; color: #666666; background-color: #f8f8f8; border-radius: 8px;\"><div class=\"ng-block-b9ef306a3c28f124 wp-block-newsletterglue-text ng-block\" style=\"color: #666666;\" width=\"100%\"><div><div><div align=\"none\" class=\"ng-block-td\" style=\"font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;\"><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.</p></div></div></div></div>\n\n<div class=\"ng-block-b877dbaf34a88690 wp-block-newsletterglue-image ng-block size-full is-resized\" width=\"100%\"><div><div><div align=\"center\" class=\"ng-block-td\" style=\"padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px;\"><a href=\"https://playground.wordpress.net/?blueprint-url=https://gutenbergtimes.com/wp-content/uploads/2020/11/playnightly.json\"><img alt=\"\" class=\"wp-image-42874 ng-image\" height=\"45\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2024/02/Screenshot-2025-11-15-at-12.06.44.png?resize=196%2C45&#038;ssl=1\" style=\"border-style: none; border-color: transparent;\" width=\"196\" /></a></div></div></div></div>\n\n<div class=\"ng-block-9ca4569e22d8bc76 wp-block-newsletterglue-text ng-block\" style=\"color: #666666;\" width=\"100%\"><div><div><div align=\"none\" class=\"ng-block-td\" style=\"font-size: 16px; font-family: Helvetica; line-height: 1.6; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;\"><p>Now also available via <a href=\"https://playground.wordpress.net/?blueprint-url=https://gutenbergtimes.com/wp-content/uploads/2020/11/playnightly.json\">WordPress Playground</a>. There is no need for a test site locally or on a server. Have you been using it? <a href=\"mailto:pauli@gutenbergtimes.com\">Email me </a>with your experience.</p></div></div></div></div></div><div class=\"ng-block-hs ng-block-hs-2\" height=\"0\" style=\"width: 0px;\"></div></div><div><div class=\"ng-block-vs ng-block-vs-2\" colspan=\"3\" height=\"0\" style=\"height: 0px;\"></div></div></div></div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p class=\"has-text-align-center has-small-font-size\"><em>Questions? Suggestions? Ideas? </em><br /><em>Don&#8217;t hesitate to send <a href=\"mailto:pauli@gutenbergtimes.com\">them via email</a> or</em><br /><em> send me a message on WordPress Slack or Twitter @bph</em>.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<p class=\"has-text-align-center has-small-font-size\">For questions to be answered on the <a href=\"http://gutenbergtimes.com/podcast\">Gutenberg Changelog</a>, <br />send them to <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a></p>\n\n\n<div class=\"ng-block-01d874be3d9a0c97 wp-block-newsletterglue-separator ng-block\" style=\"color: #666666;\" width=\"100%\"><div><div><div align=\"center\" class=\"ng-block-td\" style=\"padding-top: 20px; padding-bottom: 20px; padding-left: 20px; padding-right: 20px; color: #666666;\"><hr style=\"background-color: transparent; color: transparent; margin: 0; border: 0; border-top: 1px solid #666666; width: 560px; height: 0;\" /></div></div></div></div>\n\n<div class=\"wp-block-newsletterglue-showhide ng-block\" width=\"100%\"><div class=\"ng-block-915f1cd7fd7148b1 wp-block-newsletterglue-text ng-block\" style=\"color: #666666;\" width=\"100%\"><div><div><div align=\"none\" class=\"ng-block-td\" style=\"font-size: 14px; font-family: Helvetica; line-height: 0.2; font-weight: normal; padding-top: 8px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; text-align: none; color: #666666;\"><p><strong>Featured Image: </strong></p></div></div></div></div></div>\n\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-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:\"Fri, 21 Nov 2025 23:27: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: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:31;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:100:\"WordPress Foundation: Recognizing the 2025 WordCamp Asia Kim Parsell Memorial Scholarship Recipients\";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:42:\"https://wordpressfoundation.org/?p=1206507\";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:121:\"https://wordpressfoundation.org/news/2025/recognizing-the-2025-wordcamp-asia-kim-parsell-memorial-scholarship-recipients/\";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:4896:\"<p>In 2015, the WordPress Foundation <a href=\"https://make.wordpress.org/community/2015/01/15/remembering-kim-parsell/\" rel=\"noreferrer noopener\" target=\"_blank\">established an annual memorial scholarship</a> to honor the memory of <a href=\"https://wordpress.org/news/2019/11/people-of-wordpress-kim-parsell/\" rel=\"noreferrer noopener\" target=\"_blank\">Kim Parsell</a>, a beloved and influential contributor to the WordPress community. Kim’s legacy continues to inspire connection, mentorship, and inclusivity across WordPress.</p>\n\n\n\n<p>In 2024, the Kim Parsell Memorial Scholarship <a href=\"https://wordpressfoundation.org/news/2024/kim-parsell-memorial-scholarship-expands-to-wordcamp-asia-and-wordcamp-europe/\" rel=\"noreferrer noopener\" target=\"_blank\">was expanded</a> to include WordCamp Asia and WordCamp Europe, reflecting Kim’s dedication to inclusivity and empowering more contributors to engage in global collaboration.</p>\n\n\n\n<p>This year, the scholarship for WordCamp Asia was awarded to Zeel Thakkar and Pooja Derashri. Two recipients were selected this year because Pooja could not attend WordCamp US in the year she was selected for the scholarship.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Remembering Zeel Thakkar</h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https://i0.wp.com/wordpressfoundation.org/content/uploads/2025/11/zeel.webp?ssl=1\"><img alt=\"\" class=\"wp-image-1206508\" height=\"512\" src=\"https://i0.wp.com/wordpressfoundation.org/content/uploads/2025/11/zeel.webp?resize=512%2C512&#038;ssl=1\" width=\"512\" /></a></figure>\n\n\n\n<p>Zeel Thakkar (<a href=\"https://profiles.wordpress.org/zeelthakkar/\" rel=\"noreferrer noopener\" target=\"_blank\">@zeelthakkar</a>) of Ahmedabad, India, brought energy, leadership, and kindness to everything she did. A talented freelance WordPress developer at <a href=\"https://www.linkedin.com/company/jpadweb\" rel=\"noreferrer noopener\" target=\"_blank\">Jpadweb</a>, Zeel’s journey began with a simple internship that evolved into a lifelong passion for development and community building.</p>\n\n\n\n<p>Within the <a href=\"https://www.meetup.com/ahmedabad-wp-meetup/\" rel=\"noreferrer noopener\" target=\"_blank\">WordPress Ahmedabad community</a>, Zeel was a tireless organiser, helping lead events including WordCamp Ahmedabad 2023 and Do_Action 2024. Her work united contributors, fostered collaboration through regular meetups, and upheld her belief in empowering women in technology.</p>\n\n\n\n<p>Zeel’s technical contributions were equally significant. She played a key role on the WordPress 6.7 Testing Team, helping ensure the platform’s ongoing stability, and contributed to the Training Team to create educational resources for learners across the world. Her dedication to professional growth and commitment to inclusivity continue to inspire those who had the honor of working alongside her. Zeel’s passing is a tremendous loss, and she will be remembered with deep respect and gratitude.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Celebrating Pooja Derashri</h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https://i0.wp.com/wordpressfoundation.org/content/uploads/2025/11/pooja.webp?ssl=1\"><img alt=\"\" class=\"wp-image-1206509\" height=\"512\" src=\"https://i0.wp.com/wordpressfoundation.org/content/uploads/2025/11/pooja.webp?resize=512%2C512&#038;ssl=1\" width=\"512\" /></a></figure>\n\n\n\n<p>Pooja Derashri (<a href=\"https://profiles.wordpress.org/webtechpooja/\" rel=\"noreferrer noopener\" target=\"_blank\">@webtechpooja</a>), from Ajmer, India, first started using WordPress in 2013 and went on to co-found WPVibes, a WordPress plugin development agency, with her husband Anand. While she began her career as a developer, she has since expanded her expertise into SEO and Content Marketing, helping shape WordPress projects holistically.</p>\n\n\n\n<p>Pooja’s contribution journey began in 2017 with the <a href=\"https://make.wordpress.org/tv/\" rel=\"noreferrer noopener\" target=\"_blank\">WPTV</a> and <a href=\"https://make.wordpress.org/polyglots/\" rel=\"noreferrer noopener\" target=\"_blank\">Polyglots</a> teams, where she helped localize content and make WordPress more accessible to Hindi speakers. Since 2021, she has served as a Global Translation Editor for Hindi, and in 2019 joined the <a href=\"https://make.wordpress.org/training/\" rel=\"noreferrer noopener\" target=\"_blank\">WordPress Training Team</a>. As a Co-Team Rep, Pooja now helps lead efforts behind <a href=\"http://learn.wordpress.org/\" rel=\"noreferrer noopener\" target=\"_blank\">LearnWP</a>, creating educational materials that support trainers and learners worldwide.</p>\n\n\n\n<p>Both Zeel and Pooja embody the spirit of dedication, generosity, and empowerment that the Kim Parsell Memorial Scholarship was created to celebrate. Their contributions continue to enrich the WordPress community and inspire others to share knowledge and support one another.</p>\n\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:\"Fri, 21 Nov 2025 21:07:42 +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:\"Harmony Romo\";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:32;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:46:\"Gutenberg Times: WordPress 6.9 Source of Truth\";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=42536\";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:57:\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/\";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:105398:\"<p id=\"welcome-to-the-source-of-truth-for-wordpress-6-9\">Welcome to the Source of Truth for WordPress 6.9! </p>\n\n\n\n<p>Before you dive headfirst into all the big and small changes and pick your favorites, make sure to read these preliminary thoughts about this post and how to use it. If you have questions, leave a comment or email me at <a href=\"mailto:pauli@gutenbergtimes.com\">pauli@gutenbergtimes.com</a>. </p>\n\n\n\n<p>Huge Thank You to all collaborators on this post: Anne McCarthy, Sarah Norris, Ella van Durpe, Ben Dwyer, Jonathan Bossenger, Justin Tadlock, Dave Smith and a lot more. It&#8217;s takes a village&#8230; </p>\n\n\n\n<div class=\"wp-block-group has-primary-color has-text-color has-link-color has-small-font-size wp-elements-a8bb9ec1783f5f0c5623981a664fedce is-content-justification-left is-nowrap is-layout-flex wp-container-core-group-is-layout-558b13e7 wp-block-group-is-layout-flex\" style=\"text-decoration: none;\">\n<p>Estimated reading time</p>\n\n\n<div class=\"wp-block-post-time-to-read\">22–33 minutes</div>\n\n\n<p>at </p>\n\n\n<div class=\"wp-block-post-time-to-read\">5,126 words</div></div>\n\n\n\n<p><strong>Table of Contents</strong></p>\n\n\n\n<nav class=\"wp-block-table-of-contents\"><ul><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#changelog\">Changelog</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#important-note-guidelines\">Important note/guidelines</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#overview\">Overview </a><ul><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#important-links\">Important links:</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#assets\">Assets </a></li></ul></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#tags\">Tags</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#command-palette-everywhere-all\">Command Palette everywhere [all]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#block-editor-updates\">Block editor updates</a><ul><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#notes-all\">Notes     [all]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#visual-drag-drop-end-user\">Visual Drag &amp; Drop <img alt=\"🐉\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/17.0.2/72x72/1f409.png\" style=\"height: 1em;\" /> <img alt=\"💧\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a7.png\" style=\"height: 1em;\" />  [end user]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#ui-for-managing-allowed-blocks-in-templates-and-patterns-end-user-site-admin\">UI for managing allowed Blocks in Templates and Patterns.     [end user][site admin]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#hide-and-show-blocks-end-user-site-admin\">Hide and Show Blocks  [end user][site admin]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#additional-css-control-moved-end-user-site-admin-theme-author\">Additional CSS control moved   [end user][site admin] [theme author]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#copy-styles-keyboard-shortcut-end-user-site-admin\">Copy Styles keyboard shortcut     [end user][site admin]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#block-style-variations-in-style-book-end-user-site-admin-theme-author\">Block Style Variations in Style Book  [end user][site admin] [theme author]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#the-starter-patterns-modal-for-all-post-types-theme-author-plugin-author-enterprise\">The Starter Patterns modal for all post types. [theme author] [plugin author][enterprise]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#why-iframe-the-post-editor-plugin-author-enterprise\">Why iframe the Post Editor?  [plugin author][enterprise]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#relevant-bug-fixes-for-backward-compatibility-checks-theme-author-plugin-author-site-admin\">Relevant bug fixes for backward compatibility checks [theme author] [plugin author][site admin]</a></li></ul></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#new-blocks-all\">New Blocks [all]</a><ul><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#accordion-block\">Accordion Block</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#term-query-block\">Term Query Block</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#time-to-read-block\">Time to Read Block</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#math-block\">Math Block</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#comment-count-and-comment-link-blocks\">Comment Count and Comment Link Blocks</a></li></ul></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#updates-to-existing-blocks\">Updates to existing blocks </a><ul><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#stretchy-text-for-heading-and-paragraph-blocks-all\">Stretchy Text for Heading and Paragraph blocks. [all]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#button-block-end-user-siteadmin\">Button Block [end user] [siteadmin]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#cover-block-improved-video-handling-all\">Cover Block improved video handling [all]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#details-block-end-user-site-admin-plugin-author\">Details Block [end user][site admin][plugin author]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#gallery-block-all\">Gallery Block [all]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#heading-block-css-specificity-fix-all\">Heading Block CSS specificity fix [all]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#navigation-block-all\">Navigation Block [all]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#query-loop-blocks-all\">Query Loop Blocks [all]</a><ul><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#content-block\">Content Block</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#date-block-supports-custom-dates\">Date Block supports custom dates.</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#query-title-get-post-type-label\">Query Title get Post Type label</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#query-total\">Query Total</a></li></ul></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#rss-block-end-user\">RSS Block [end user]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#separator-block-theme-author-site-admin-plugin-author\">Separator Block  [theme author][site admin][plugin author]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#social-icons-block-developers-enterprise\">Social Icons Block [developers][enterprise]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#table-block-end-users-site-admin\">Table Block   [end users][site admin]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#video-block-all\">Video Block [all] </a></li></ul></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#theme-json-and-global-styles-developers-enterprise-site-admin\">Theme.json and Global Styles  [developers][enterprise][site admin]</a><ul><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#form-elements-in-theme-json\">Form elements in theme.json</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#border-radius-presets-supported\">Border Radius presets supported </a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#button-element-inherits-typography\">Button element inherits typography</a></li></ul></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#a-closer-look-at-performance-optimizations-developers-enterprise\">A closer look at performance optimizations  [developers][enterprise]</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#improved-accessibility-across-core-and-block-editor\">Improved accessibility across Core and Block editor</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#new-and-updated-apis-for-developers-developers-enterprise\">New and updated APIs for Developers [developers][enterprise]</a><ul><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#abilities-api\">Abilities API</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#block-bindings-api\">Block Bindings API</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#dataviews-and-dataform\">DataViews and DataForm</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#interactivity-api\">Interactivity API</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#output-buffering-for-the-rendered-template\">Output buffering for the rendered template </a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#blocks-efficiently-find-and-traverse-blocks-in-a-document\">Blocks: Efficiently find and traverse blocks in a document. </a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/wordpress-6-9-source-of-truth/#more-developer-notes-for-wordpress-6-9-release\">More Developer Notes for WordPress 6.9 release</a></li></ul></li></ul></nav>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"changelog\">Changelog</h2>\n\n\n\n<p>Any changes are cataloged here as the release goes on.</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>11/25/2025 \n<ul class=\"wp-block-list\">\n<li>Added <a href=\"https://gutenbergtimes.com/feed/#more-developer-notes-for-wordpress-6-9-release\">Dev Note</a> on miscellaneous block editor changes </li>\n\n\n\n<li>Added link to the <a href=\"https://make.wordpress.org/core/2025/11/25/wordpress-6-9-field-guide/\">Field Guide</a> </li>\n</ul>\n</li>\n\n\n\n<li><strong>11/24/2025</strong>\n<ul class=\"wp-block-list\">\n<li>Added <a href=\"https://gutenbergtimes.com/feed/#more-developer-notes-for-wordpress-6-9-release\">Dev Notes</a> on HTML API updates and pn PHP 8.5 Support</li>\n</ul>\n</li>\n\n\n\n<li><strong>11/21/2025 </strong>\n<ul class=\"wp-block-list\">\n<li>Updated screenshots and videos for <a href=\"https://gutenbergtimes.com/feed/#stretchy-text-for-heading-and-paragraph-blocks-all\">Stretchy Text section</a>, reflecting changes in RC2.  </li>\n</ul>\n</li>\n\n\n\n<li><strong>11/20/2025</strong>\n<ul class=\"wp-block-list\">\n<li>added <a href=\"https://gutenbergtimes.com/feed/#improved-accessibility-across-core-and-block-editor\">accessibility updates section</a>. </li>\n\n\n\n<li>Added <a href=\"https://gutenbergtimes.com/feed/#more-developer-notes-for-wordpress-6-9-release\">Dev Notes</a> on Admin Search query, IE-related updates and URL escaping functions. </li>\n\n\n\n<li>Updated the featured image to the <a href=\"https://github.com/WordPress/gutenberg/issues/71818#issuecomment-3556808505\">latest version of the highlight grid</a>.</li>\n</ul>\n</li>\n\n\n\n<li><strong>11/19/2025: </strong>\n<ul class=\"wp-block-list\">\n<li>Added credits</li>\n\n\n\n<li>Added tags to headings,</li>\n\n\n\n<li>Added <a href=\"https://gutenbergtimes.com/wp-admin/post.php?post=42536&amp;action=edit#more-developer-notes-for-wordpress-6-9-release\">Dev Notes</a> on WordPress email, UTF-8 support</li>\n\n\n\n<li>Added horizontal scroll bar feature to Math Block</li>\n\n\n\n<li>Fixed some typos.</li>\n</ul>\n</li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"important-note-guidelines\">Important note/guidelines</h2>\n\n\n\n<p>Please do not copy and paste what is in this post since this will be shared with many people. This should be used to inspire your own content and to ensure that you have the best information about this release. If you do copy and paste, keep in mind that others might do the same, opening the door for some awkwardness around duplicated content out on the web. </p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Each item has been tagged using best guesses with different high-level labels so that you can more readily see at a glance who is likely to be most impacted.</li>\n\n\n\n<li>Each item has a high-level description, visuals (if relevant), and key resources if you would like to learn more.</li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"overview\">Overview </h2>\n\n\n\n<p><em>Note: As always, what’s shared here is being actively pursued but doesn’t necessarily mean each will make it into the final release of WordPress 6.9.</em></p>\n\n\n\n<p>WordPress 6.9 introduces several new features and performance enhancements.</p>\n\n\n\n<p>Key new features include:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Collaborative Feedback and Content Control:</strong> Block-level Notes facilitate team feedback, allowed blocks UI, Abilities API, visual drag and drop, binding blocks to external controls.</li>\n\n\n\n<li><strong>New Blocks:</strong> Discover Accordion, Terms Query, Math, and Time to Read blocks.</li>\n\n\n\n<li><strong>Typography Enhancements:</strong> Benefit from new text-fitting typography.</li>\n\n\n\n<li><strong>Dashboard-wide Command Palette:</strong> The Command Palette will  help users streamline their workflow across WordPress Admin pages. </li>\n</ul>\n\n\n\n<p>Performance improvements include:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Optimized Loading:</strong> On-demand block-style loading and faster emoji detection.</li>\n\n\n\n<li><strong>Efficient Scheduling:</strong> Optimized cron execution.</li>\n</ul>\n\n\n\n<p>Furthermore, WordPress 6.9 lays the groundwork for future AI integration with the new Abilities API, which enables secure automation through machine-readable WordPress capabilities.</p>\n\n\n\n<p><a href=\"https://make.wordpress.org/core/6-9\">WordPress 6.9</a> is set to be released on December 2, 2025. </p>\n\n\n\n<p>Of note, this release includes Gutenberg plugin versions 20.5 &#8211; 21.9.</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"important-links\">Important links:</h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://make.wordpress.org/core/2025/07/28/roadmap-to-6-9/\">Roadmap to 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/6-9/\">WordPress 6.9 Development Cycle</a></li>\n\n\n\n<li>What’s new for developers: <a href=\"https://developer.wordpress.org/news/2025/06/whats-new-for-developers-june-2025/\">June</a>, <a href=\"https://developer.wordpress.org/news/2025/07/whats-new-for-developers-july-2025/\">July</a>, <a href=\"https://developer.wordpress.org/news/2025/08/whats-new-for-developers-august-2025/\">August,</a> <a href=\"https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/\">September</a>, <a href=\"https://developer.wordpress.org/news/2025/10/whats-new-for-developers-october-2025/\">October</a>, <a href=\"https://developer.wordpress.org/news/2025/11/whats-new-for-developers-november-2025/\">November</a>)</li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/25/wordpress-6-9-field-guide/\">6.9 Field Guide</a></li>\n\n\n\n<li><a href=\"https://wordpress.org/state-of-the-word/\">State of the Word 2025</a> will include highlights and demos of the most important features of this release. The event will be <a href=\"https://www.youtube.com/wordpress\">livestreamed on YouTube </a></li>\n</ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"assets\">Assets </h3>\n\n\n\n<p>In this <a href=\"https://drive.google.com/drive/u/0/folders/1z0ilv8vH2AVWVt-1tPI9qPUoTOSGahuB\">Google Drive folder</a> you can view all assets in this document.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"tags\">Tags</h2>\n\n\n\n<p>To make this document easier to navigate based on specific audiences, the following tags are used liberally: </p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>[end user]</strong>: end user focus. </li>\n\n\n\n<li><strong>[theme author]</strong>: block or classic theme author. </li>\n\n\n\n<li><strong>[plugin author]</strong>: plugin author, whether block or otherwise.</li>\n\n\n\n<li><strong>[developer]</strong>: catch-all term for more technical folks. </li>\n\n\n\n<li><strong>[site admin]</strong>: this includes a “builder” type. </li>\n\n\n\n<li><strong>[enterprise]</strong>: specific items that would be of interest to or particularly impact enterprise-level folks</li>\n\n\n\n<li><strong>[all]</strong>: broad impact to every kind of WordPress user. </li>\n</ul>\n\n\n\n<p>How can you use these? Use your browser&#8217;s <strong>Find</strong> capability and search for the string including the brackets. Then use the arrows to navigate through the post from one result to the next. </p>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\">Short video on how to use the tags to navigate the post. \n<p></p>\n\n\n\n		<figure class=\"wp-block-jetpack-videopress jetpack-videopress-player\">\n			<div class=\"jetpack-videopress-player__wrapper\"> </div>\n			\n			\n		</figure>\n		</details>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"command-palette-everywhere-all\">Command Palette everywhere <sup>[all]</sup></h2>\n\n\n\n<p>A couple of years ago the Command Palette was first released for the Site Editor. It provides content creators and administrators with a quick search and command execution tool. Invoked by Ctrl+K or Cmd+K. It is now available from any admin screen and helps streamline content creation as well as administering a WordPress site. It provides shortcuts to places otherwise only available by navigating multiple menu levels deep. </p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"Command Palette now available from the dashboard\" class=\"wp-image-42912\" height=\"402\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Command-Palette-everywhere-1024x631.png?resize=652%2C402&#038;ssl=1\" width=\"652\" /></figure>\n\n\n\n<p>Technically, this change extracts navigation commands from `@wordpress/edit-site` to `@wordpress/core-commands`, making them universally accessible. This architectural shift sets the foundation for admin-wide command integration in WordPress 6.9 and beyond, potentially reducing the need for repetitive clicking through admin menus.</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>For developers the new useCommands hook was introduced. (<a href=\"https://github.com/WordPress/gutenberg/pull/71603\">71603</a>)</li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"block-editor-updates\">Block editor updates</h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"notes-all\">Notes     <sup>[all]</sup></h3>\n\n\n\n<p>Asynchronous collaboration comes to WordPress via the new Notes feature and rings in the 3rd Phase of Gutenberg. Site owners, Editors and Authors can collaborate by leaving comment directly on the post or page, attached to the blocks in the editor. The notes are threaded, resolveable, and can be reopened as well. Add an access notes from the Block toolbar and via the sidebar. Post authors will receive email notification when notes are added to the content.</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"Collaborative Notes in WordPress 6.9\" class=\"wp-image-42914\" height=\"465\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Notes-in-WordPress-6-9.png?resize=652%2C465&#038;ssl=1\" width=\"652\" /></figure>\n\n\n\n<p>Notes are by default enabled for Posts and Pages. They can be enabled also for other content post types via the `register_post_type` function. </p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>PHP</span><span class=\"code-block-pro-copy-button\" style=\"color: #575279; display: none;\" tabindex=\"0\"><pre class=\"code-block-pro-copy-button-pre\"><textarea class=\"code-block-pro-copy-button-textarea\" readonly=\"readonly\" tabindex=\"-1\">register_post_type( \'book\', array(\n	\'label\' => \'Books\',\n	\'public\' => true,\n	\'show_in_rest\' => true,\n	\'supports\' => array(\n		\'title\',\n		\'editor\' => array( \'notes\' => true ),\n		\'author\',\n	),\n) );\n</textarea></pre><svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path class=\"with-check\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path><path class=\"without-check\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg></span><pre class=\"shiki rose-pine-dawn\" style=\"background-color: #faf4ed;\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D7827E;\">register_post_type</span><span style=\"color: #797593;\">(</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">\'book\'</span><span style=\"color: #797593;\">,</span><span style=\"color: #575279;\"> </span><span style=\"color: #B4637A; font-style: italic;\">array</span><span style=\"color: #797593;\">(</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">	</span><span style=\"color: #EA9D34;\">\'label\'</span><span style=\"color: #575279;\"> </span><span style=\"color: #286983;\">=&gt;</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">\'Books\'</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">	</span><span style=\"color: #EA9D34;\">\'public\'</span><span style=\"color: #575279;\"> </span><span style=\"color: #286983;\">=&gt;</span><span style=\"color: #575279;\"> </span><span style=\"color: #D7827E;\">true</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">	</span><span style=\"color: #EA9D34;\">\'show_in_rest\'</span><span style=\"color: #575279;\"> </span><span style=\"color: #286983;\">=&gt;</span><span style=\"color: #575279;\"> </span><span style=\"color: #D7827E;\">true</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">	</span><span style=\"color: #EA9D34;\">\'supports\'</span><span style=\"color: #575279;\"> </span><span style=\"color: #286983;\">=&gt;</span><span style=\"color: #575279;\"> </span><span style=\"color: #B4637A; font-style: italic;\">array</span><span style=\"color: #797593;\">(</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">		</span><span style=\"color: #EA9D34;\">\'title\'</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">		</span><span style=\"color: #EA9D34;\">\'editor\'</span><span style=\"color: #575279;\"> </span><span style=\"color: #286983;\">=&gt;</span><span style=\"color: #575279;\"> </span><span style=\"color: #B4637A; font-style: italic;\">array</span><span style=\"color: #797593;\">(</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">\'notes\'</span><span style=\"color: #575279;\"> </span><span style=\"color: #286983;\">=&gt;</span><span style=\"color: #575279;\"> </span><span style=\"color: #D7827E;\">true</span><span style=\"color: #575279;\"> </span><span style=\"color: #797593;\">),</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">		</span><span style=\"color: #EA9D34;\">\'author\'</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">	</span><span style=\"color: #797593;\">),</span></span>\n<span class=\"line\"><span style=\"color: #797593;\">)</span><span style=\"color: #575279;\"> </span><span style=\"color: #797593;\">);</span></span>\n<span class=\"line\"></span></code></pre></div>\n\n\n\n<p>More details on handling Notes programmatically can be found in the Dev Note: <a href=\"https://make.wordpress.org/core/2025/11/15/notes-feature-in-wordpress-6-9/\"><strong>Notes feature in WordPress 6.9</strong></a>.</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"visual-drag-drop-end-user\">Visual Drag &amp; Drop <img alt=\"🐉\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/17.0.2/72x72/1f409.png\" style=\"height: 1em;\" /> <img alt=\"💧\" class=\"wp-smiley\" src=\"https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a7.png\" style=\"height: 1em;\" />  <sup>[end user]</sup></h3>\n\n\n\n<p>Drag-and-drop just got smarter. Blocks now show live visual feedback as you reposition them, making layout building more intuitive and precise. You&#8217;ll see exactly where elements land before releasing, accelerating the creative process. (<a href=\"https://github.com/WordPress/gutenberg/pull/67470\">67470</a>). Currently, this only works for single blocks. Drag and Drop of multiple blocks is slated for WordPress 7.0.</p>\n\n\n\n		<figure class=\"wp-block-jetpack-videopress jetpack-videopress-player\">\n			<div class=\"jetpack-videopress-player__wrapper\"> </div>\n			\n			\n		</figure>\n		\n\n\n<h3 class=\"wp-block-heading\" id=\"ui-for-managing-allowed-blocks-in-templates-and-patterns-end-user-site-admin\">UI for managing allowed Blocks in Templates and Patterns.     <sup>[end user][site admin]</sup></h3>\n\n\n\n<p>WordPress now makes managing allowed blocks simpler with a new UI tucked in<strong> Advanced</strong> settings. Previously, developers had to edit block markup directly in code view—not user-friendly. This updates makes things easier for website admins, theme builders, and agencies enforcing specific block rules in patterns and templates. While agencies already handled this via code, the new interface offers a nicer interaction model. It&#8217;s part of WordPress&#8217;s broader mission: letting users build complex sites without touching code at all.  (<a href=\"https://github.com/WordPress/gutenberg/pull/72191\">72191</a>)</p>\n\n\n\n		<figure class=\"wp-block-jetpack-videopress jetpack-videopress-player\">\n			<div class=\"jetpack-videopress-player__wrapper\"> </div>\n			\n			\n		</figure>\n		\n\n\n<h3 class=\"wp-block-heading\" id=\"hide-and-show-blocks-end-user-site-admin\">Hide and Show Blocks  <sup>[end user][site admin]</sup></h3>\n\n\n\n<p>WordPress 6.9 introduces long-awaited control to hide blocks in the editor while preserving their structure within templates. This initial implementation provides content creators and designers with the ability to manage blocks that are not always displayed, such as seasonal content or conditional elements.</p>\n\n\n\n<p>Instead of deleting and recreating blocks, users can now simply toggle their visibility, retaining all settings. This foundational feature paves the way for more sophisticated conditional display options in future releases, potentially including role-based or time-based visibility controls. (<a href=\"https://github.com/WordPress/gutenberg/pull/71203\">71203</a>) </p>\n\n\n\n		<figure class=\"wp-block-jetpack-videopress jetpack-videopress-player\">\n			<div class=\"jetpack-videopress-player__wrapper\"> </div>\n			\n			\n		</figure>\n		\n\n<div class=\"wp-block-image\">\n<figure class=\"alignright size-large\"><img alt=\"\" class=\"wp-image-42922\" height=\"279\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Additional-CSS-Sidebar.png?resize=399%2C279&#038;ssl=1\" width=\"399\" /></figure>\n</div>\n\n\n<h3 class=\"wp-block-heading\" id=\"additional-css-control-moved-end-user-site-admin-theme-author\">Additional CSS control moved <br /> <sup>[end user][site admin] [theme author]</sup></h3>\n\n\n\n<p>Theme builders might go searching for the <strong>Additional CSS</strong> controls. They were moved into the ellipsis menu in the header of the Styles page on either side of the screen (<a href=\"https://github.com/WordPress/gutenberg/pull/71550\">71550</a>) </p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-42923\" height=\"238\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Additional-CSS-dark-side.png?resize=652%2C238&#038;ssl=1\" width=\"652\" /></figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"copy-styles-keyboard-shortcut-end-user-site-admin\">Copy Styles keyboard shortcut    <br /><sup>[end user][site admin]</sup></h3>\n\n\n\n<p>A new keyboard shortcut helps with pasting styles from one block to another and can speed up content creation workflows: cmd/ctrl + options/alt + v<strong> (</strong><a href=\"https://github.com/WordPress/gutenberg/pull/69196\"><strong>69196</strong></a><strong>) </strong></p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"block-style-variations-in-style-book-end-user-site-admin-theme-author\">Block Style Variations in Style Book<br /> <sup>[end user][site admin] [theme author]</sup></h3>\n\n\n\n<p>To make the Stylebook even more comprehensive, it now surfaces block styles for core blocks as well as custom blocks. This makes it possible to change block style variations site-wide in one screen (<a href=\"https://github.com/WordPress/gutenberg/pull/70448\">70448</a>).</p>\n\n\n\n		<figure class=\"wp-block-jetpack-videopress jetpack-videopress-player\">\n			<div class=\"jetpack-videopress-player__wrapper\"> </div>\n			\n			\n		</figure>\n		\n\n\n<h3 class=\"wp-block-heading\" id=\"the-starter-patterns-modal-for-all-post-types-theme-author-plugin-author-enterprise\">The Starter Patterns modal for all post types. <sup>[theme author] [plugin author][enterprise]</sup></h3>\n\n\n\n<p>With WordPress 6.9, contributors addressed a limitation in the starter pattern modal, which previously appeared exclusively when creating pages. This restriction is now removed from the `StartPageOptions` component, enabling the modal to display across all post types where patterns exist. The fix resolves a regression introduced in earlier pulls, expanding design flexibility for WordPress content creators working with diverse content structures.(<a href=\"https://github.com/WordPress/gutenberg/pull/69753\">69753</a>)</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"why-iframe-the-post-editor-plugin-author-enterprise\">Why iframe the Post Editor? <br /><sup>[plugin author][enterprise]</sup></h3>\n\n\n\n<p>The process to <a href=\"https://make.wordpress.org/core/2021/06/29/blocks-in-an-iframed-template-editor/\">restructure how the WordPress post editor works</a> started a few years ago.  WordPress 6.9 begins transitioning the editor into this isolated iframe, with full completion coming in WordPress 7.0.  Think of an iframe like a sandbox—a separate container within a webpage. Currently, the editor runs in the same space as WordPress&#8217;s admin interface, causing styling conflicts. This separation prevents admin styles from interfering with content editing, making the editor preview match what readers actually see. Plugin developers need to update older blocks to work with this new setup or they might stop functioning properly. </p>\n\n\n\n<p>The Dev note <a href=\"https://make.wordpress.org/core/2025/11/12/preparing-the-post-editor-for-full-iframe-integration/\">Preparing the Post Editor for Full iframe Integration</a> has more details. And in the comments many immediate questions have been answered. </p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"relevant-bug-fixes-for-backward-compatibility-checks-theme-author-plugin-author-site-admin\">Relevant bug fixes for backward compatibility checks <sup>[theme author] [plugin author][site admin]</sup></h3>\n\n\n\n<p>Certain bugs have been around for a while and developers often have found work arounds. Now that those bugs are fixed, it might be possible that the work around don’t work any more and it’s feasible to remove it. </p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Comments Pagination: Remove unwanted bottom margin from links. (<a href=\"https://github.com/WordPress/gutenberg/pull/70360\">70360</a>)</li>\n\n\n\n<li>Remove screencast.com embed block variation. (<a href=\"https://github.com/WordPress/gutenberg/pull/70480\">70480</a>)</li>\n\n\n\n<li>Tag Cloud: Remove unnecessary full-width padding. (<a href=\"https://github.com/WordPress/gutenberg/pull/69725\">69725</a>)</li>\n\n\n\n<li>HTML Block: Remove space below textarea. (<a href=\"https://github.com/WordPress/gutenberg/pull/70055\">70055</a>)</li>\n\n\n\n<li>Fix : Calendar block: Colors do not change between global styles and theme.json. (<a href=\"https://github.com/WordPress/gutenberg/pull/70184\">70184</a>)</li>\n\n\n\n<li>Image Block: Preserve line breaks in media caption. (<a href=\"https://github.com/WordPress/gutenberg/pull/70476\">70476</a>)</li>\n\n\n\n<li>Search Block: Move search setting to inspector. (<a href=\"https://github.com/WordPress/gutenberg/pull/70144\">70144</a>)</li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"new-blocks-all\">New Blocks <sup>[all]</sup></h2>\n\n\n\n<p>WordPress 6.9 brings six new blocks to WordPress editor: an Accordion block and its nested InnerBlocks, a Time-to-read block that also can show the word count of a post or page, the Term Query block, and the Math block to display mathematical formulas in science and essay posts. Comment handling also became easier with two more blocks, Comment Count and Comment Link. </p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"accordion-block\">Accordion Block</h3>\n\n\n\n<p>The Accordion Block has been long awaited and it is now available to all WordPress users. It’s a nested structure using Accordion Block, Accordion Item, Accordion Heading and Accordion Panel blocks. </p>\n\n\n\n<p>An Accordion block has multiple Accordion Items, each comprising of a Accordion Heading + Icon and an Accordion Panel with the content. </p>\n\n\n\n<p>The default styling is minimal and opens a lot of design possibilities for theme builders to cover all the use cases. On the Developer blog you’ll find a <a href=\"https://developer.wordpress.org/news/2025/10/styling-accordions-in-wordpress-6-9/\">tutorial of the various methods for styling an Accordion block</a>, using the example of an FAQ page (<a href=\"https://github.com/WordPress/gutenberg/pull/64119\">64119</a>)(<a href=\"https://github.com/WordPress/gutenberg/pull/71222\">71222</a>)(<a href=\"https://github.com/WordPress/gutenberg/pull/71388\">71388</a>).</p>\n\n\n\n<p>The Snippets section of the Developer Blog shows how to add <a href=\"https://developer.wordpress.org/news/snippets/schema-org-microdata-for-accordion-block-faqs/\">Schema.org microdata for Accordion block FAQs</a></p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-42932\" height=\"495\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Accordion-block.png?resize=652%2C495&#038;ssl=1\" width=\"652\" /></figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"term-query-block\">Term Query Block</h3>\n\n\n\n<p>Traditionally, creating category and tag pages has been complex and required custom queries and workarounds. The new Terms Query block offers a built-in way to display and organize categories and tags, similar to how the Query block manages posts. (<a href=\"https://github.com/WordPress/gutenberg/pull/70720\">70720</a>)</p>\n\n\n\n<p>There are also supporting blocks: </p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Term Template block</li>\n\n\n\n<li>Term Name block</li>\n\n\n\n<li>Term Count block</li>\n</ul>\n\n\n\n<p>Together with the already existing Term Description block, this additional support for display of categories or tags is particularly useful for directory and magazine sites who provide content filters and subpages for their readers. The interface provides an `order` and `order-by` sorting in a single dropdown. All blocks have the necessary design tools for styling and the Term Count block also has a toggle to make it a link. For those working extensively with taxonomies, the ongoing <a href=\"https://github.com/WordPress/gutenberg/issues/49094\">hierarchy discussion</a> outlines future enhancements to taxonomy handling in WordPress.</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-42936\" height=\"381\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Term-Query-Block.png?resize=652%2C381&#038;ssl=1\" width=\"652\" /></figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"time-to-read-block\">Time to Read Block</h3>\n\n\n\n<p>The Time to Read block, available in the Gutenberg plugin for a long time went through an extended accessibility review before it was added to WordPress Core. </p>\n\n\n\n<p>It now has a toggle control to display a range of time rather than a fixed average reading time. It also comes with a variation to display a word count for the post or page it’s used on (<a href=\"https://github.com/WordPress/gutenberg/pull/71606\">71606</a>) (<a href=\"https://github.com/WordPress/gutenberg/pull/71841\">71841</a>). </p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"\" class=\"wp-image-42941\" height=\"93\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Screenshot-2025-10-27-at-17.25.42.png?resize=435%2C93&#038;ssl=1\" width=\"435\" /></figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"Time to Read / Word Count block WordPress 6.9\" class=\"wp-image-42940\" height=\"229\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Screenshot-2025-10-27-at-17.25.17.png?resize=652%2C229&#038;ssl=1\" width=\"652\" /></figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"math-block\">Math Block</h3>\n\n\n\n<p>With the Math Block content creators can now add mathematical formulas in LaTeX syntax to their post and pages. The LaTeX syntax can also be used together with the inline Math format.</p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"\" class=\"wp-image-42944\" height=\"287\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Math-Block-WordPress-6.9.png?resize=652%2C287&#038;ssl=1\" width=\"652\" /></figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"\" class=\"wp-image-42943\" height=\"457\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Math-block-inline-format.png?resize=652%2C457&#038;ssl=1\" width=\"652\" /></figure>\n\n\n\n<p>Longer formulas are handled with a horizontal scrollbar.</p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"\" class=\"wp-image-43026\" height=\"108\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Math-block-horizontal-scroll.png?resize=525%2C108&#038;ssl=1\" width=\"525\" /></figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"comment-count-and-comment-link-blocks\">Comment Count and Comment Link Blocks</h3>\n\n\n\n<p>Two new comment blocks help theme builders to handle comment count and comment links separately. Both blocks have been available in the Gutenberg plugin for a few years and only for the Site editor. Earlier this year, they came out of experimentation and were made available for all editor screens. So now a content creator can for instance include a links to the comment section on top of the post and be more deliberate in allowing access to comments only on certain posts. </p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"Comment Link and Comment count in Template\" class=\"wp-image-42951\" height=\"194\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Comment-Link-Comment-Count.png?resize=652%2C194&#038;ssl=1\" width=\"652\" /></figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"updates-to-existing-blocks\">Updates to existing blocks </h2>\n\n\n\n<p>For WordPress 6.9, contributors standardized most blocks&#8217; Inspector settings to use the <a href=\"https://wordpress.github.io/gutenberg/?path=/docs/components-toolspanel--docs\">ToolsPanel component</a>, bringing visual consistency across the editor. The shift grants users granular control over displayed settings while simplifying how developers inject additional options into existing groups. The ToolsPanel aligns Inspector controls with the Styles sidebar, already leveraging the component extensively, creating a cohesive authoring experience. (<a href=\"https://github.com/WordPress/gutenberg/issues/67813\">67813</a>)</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"stretchy-text-for-heading-and-paragraph-blocks-all\">Stretchy Text for Heading and Paragraph blocks. <sup>[all]</sup></h3>\n\n\n\n<p>Both Heading and Paragraph blocks now support a new &#8220;Stretchy&#8221; variation that stretches text to the full width of its container. The transform tool from the button tools bar allowing users to convert text into this stretchy format. </p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-43081\" height=\"271\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Sstretchy-Heading-2025-11-21.png?resize=277%2C271&#038;ssl=1\" width=\"277\" /></figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-43082\" height=\"252\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Stretchy-Paragrapph-2025-11-21.png?resize=279%2C252&#038;ssl=1\" width=\"279\" /></figure>\n</figure>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignright size-large\"><img alt=\"\" class=\"wp-image-42955\" height=\"158\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Stretchy-slash-command.png?resize=289%2C158&#038;ssl=1\" width=\"289\" /></figure>\n</div>\n\n\n<p>Content creators can find these variations also in the Block inserter or via the Slash command. </p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-42956\" height=\"307\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Stretchy-in-inserter.png?resize=354%2C307&#038;ssl=1\" width=\"354\" /></figure>\n\n\n\n<p>Stretchy Text offers designers and content creators an additional creative tool, opening up numerous possibilities for visually appealing text, especially when paired with suitable fonts. </p>\n\n\n\n<p>Developers can add support for this feature to any Custom text block via block.json. (<a href=\"https://github.com/WordPress/gutenberg/pull/73148\">73148</a>)(<a href=\"https://github.com/WordPress/gutenberg/pull/73056\">73056</a>) (<a href=\"https://github.com/WordPress/gutenberg/pull/73067\">73067</a>)(<a href=\"https://github.com/WordPress/gutenberg/pull/72923\">72923</a>)</p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>JSON</span><span class=\"code-block-pro-copy-button\" style=\"color: #575279; display: none;\" tabindex=\"0\"><pre class=\"code-block-pro-copy-button-pre\"><textarea class=\"code-block-pro-copy-button-textarea\" readonly=\"readonly\" tabindex=\"-1\">{\n	\"supports\":{\n		\"typography\":{\n				\"fitText\": true,\n		}\n	}\n}\n</textarea></pre><svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path class=\"with-check\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path><path class=\"without-check\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg></span><pre class=\"shiki rose-pine-dawn\" style=\"background-color: #faf4ed;\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">	</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">supports</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">		</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">typography</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">				</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">fitText</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #D7827E;\">true</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">		</span><span style=\"color: #797593;\">}</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">	</span><span style=\"color: #797593;\">}</span></span>\n<span class=\"line\"><span style=\"color: #797593;\">}</span></span>\n<span class=\"line\"></span></code></pre></div>\n\n\n\n		<figure class=\"wp-block-jetpack-videopress jetpack-videopress-player\">\n			\n			\n			\n		</figure>\n		\n\n\n<h3 class=\"wp-block-heading\" id=\"button-block-end-user-siteadmin\">Button Block <sup>[end user] [siteadmin]</sup></h3>\n\n\n\n<p>Button Block now sports HTML element selection in <strong>Advanced</strong> settings, letting creators choose between semantic &lt;a&gt; links and true &lt;button&gt; elements. This tackles accessibility headaches where users mistakenly treat buttons as links, confusing screen readers. The dropdown educates users about proper usage, empowering developers and non-coders alike to build accessible interfaces without custom code (<a href=\"https://github.com/WordPress/gutenberg/pull/70139\">70139</a>).</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"cover-block-improved-video-handling-all\">Cover Block improved video handling <sup>[all]</sup></h3>\n\n\n\n<p>The Cover Block now supports poster images for videos, enhancing accessibility for users with slow internet or mobile devices. These images can be easily added by dragging and dropping the file onto the Poster Image control, streamlining the post creation process (<a href=\"https://github.com/WordPress/gutenberg/pull/70816\">70816</a>) (<a href=\"https://github.com/WordPress/gutenberg/pull/71039\">71039</a>)  (<a href=\"https://github.com/WordPress/gutenberg/pull/70939\">70939</a>).</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-42961\" height=\"397\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Cover-Block-Updates.png?resize=652%2C397&#038;ssl=1\" width=\"652\" /></figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"details-block-end-user-site-admin-plugin-author\">Details Block <sup>[end user][site admin][plugin author]</sup></h3>\n\n\n\n<p>The Formatting features are now enabled for the Details Block, similar to the Paragraph block. Users can now use special formatting like Strikethrough, Sub or Superscript, and highlighting. This also opens up the list to be extended via plugins. </p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"gallery-block-all\">Gallery Block <sup>[all]</sup></h3>\n\n\n\n<p>This next WordPress version adds the support for gallery-wide aspect ratio setting to the Gallery Block. User can now set the same aspect ratio for all images in the gallery with one click from the sidebar. <strong>(</strong><a href=\"https://github.com/WordPress/gutenberg/pull/71116\"><strong>71116</strong></a><strong>) (</strong><a href=\"https://github.com/WordPress/gutenberg/pull/72104\"><strong>72104</strong></a><strong>).</strong></p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-42962\" height=\"415\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Gallery-block-aspect-ratio.png?resize=652%2C415&#038;ssl=1\" width=\"652\" /></figure>\n\n\n\n<p>Theme developers can control the availability via theme.json. The code snippet shows an example of removing the default choice <code>defaultAspectRatios</code> and only offering two choices in the editor.</p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>JSON</span><span class=\"code-block-pro-copy-button\" style=\"color: #575279; display: none;\" tabindex=\"0\"><pre class=\"code-block-pro-copy-button-pre\"><textarea class=\"code-block-pro-copy-button-textarea\" readonly=\"readonly\" tabindex=\"-1\">\"settings\":{\n        \"blocks\" {\n            \"core/gallery\":{\n                \"dimensions\":{\n                    \"defaultAspectRatios\":false,\n                    \"aspectRatios\": &#91;\n                        {\n                             \"name\": \"Square - 1:1\",\n                             \"slug\": \"square\",\n                             \"ratio\": \"1\"\n                        },\n                        {\n                             \"name\": \"Wide - 16:9\",\n                             \"slug\": \"16-9\",\n                             \"ratio\": \"16/9\"\n                        }\n                  &#93;\n             }          \n         }\n    }\n</textarea></pre><svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path class=\"with-check\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path><path class=\"without-check\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg></span><pre class=\"shiki rose-pine-dawn\" style=\"background-color: #faf4ed;\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #EA9D34;\">&quot;settings&quot;</span><span style=\"color: #575279;\">:</span><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">        </span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">blocks</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #575279;\"> </span><span style=\"color: #B4637A;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">            </span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">core/gallery</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">                </span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">dimensions</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">                    </span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">defaultAspectRatios</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #D7827E;\">false</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">                    </span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">aspectRatios</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #797593;\">&#91;</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">                        </span><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">                             </span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">name</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;Square - 1:1&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">                             </span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">slug</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;square&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">                             </span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">ratio</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;1&quot;</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">                        </span><span style=\"color: #797593;\">},</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">                        </span><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">                             </span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">name</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;Wide - 16:9&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">                             </span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">slug</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;16-9&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">                             </span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">ratio</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;16/9&quot;</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">                        </span><span style=\"color: #797593;\">}</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">                  </span><span style=\"color: #797593;\">&#93;</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">             </span><span style=\"color: #797593;\">}</span><span style=\"color: #575279;\">          </span></span>\n<span class=\"line\"><span style=\"color: #575279;\">         </span><span style=\"color: #797593;\">}</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">    </span><span style=\"color: #797593;\">}</span></span>\n<span class=\"line\"></span></code></pre></div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"heading-block-css-specificity-fix-all\">Heading Block CSS specificity fix <sup>[all]</sup></h3>\n\n\n\n<p>WordPress 6.9 fixes a <a href=\"https://github.com/WordPress/gutenberg/pull/72837\">specificity issue with the Heading block&#8217;s</a> background padding. Previously, padding styles applied to headings with backgrounds were affecting other blocks that use heading elements, such as the Accordion Heading block. This fix ensures that background padding is only applied to actual Heading blocks.</p>\n\n\n\n<p>The CSS selector for applying padding to headings with backgrounds has been made more specific. The selector now targets <code>.wp-block-heading.has-background</code> instead of just heading element tags (h1, h2, etc) with the <code>.has-background</code> class. </p>\n\n\n\n<p>Dev note: <a href=\"https://make.wordpress.org/core/2025/11/12/heading-block-css-specificity-fix-in-wordpress-6-9/\">Heading Block CSS Specificity Fix in WordPress 6.9</a></p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"navigation-block-all\">Navigation Block <sup>[all]</sup></h3>\n\n\n\n<p>The Navigation block in this WordPress release has been significantly  improved. Builders can now find the create page functionality directly from the link UI dropdown and the process of creating a page is streamlined by an additional “publish immediately” checkbox. (<a href=\"https://github.com/WordPress/gutenberg/pull/71188\">71188</a>)(<a href=\"https://github.com/WordPress/gutenberg/pull/71487\">71487</a>)</p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-full is-resized\"><img alt=\"navigation page link, add page feature. \" class=\"wp-image-42968\" height=\"368\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/navigation-create-new-page.png?resize=520%2C368&#038;ssl=1\" style=\"width: 326px; height: auto;\" width=\"520\" /></figure>\n</div>\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img alt=\"Navigation create page and immediately publish.\" class=\"wp-image-42969\" height=\"291\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/navigation-create-new-page-publish.png?resize=527%2C291&#038;ssl=1\" style=\"width: 372px; height: auto;\" width=\"527\" /></figure>\n\n\n\n<p>Similarly the button block inside the navigation block also has the option to create a new page. It’s a slightly different approach, but it helps with streamlining site building work. (<a href=\"https://github.com/WordPress/gutenberg/pull/69368\">69368</a>)<br /></p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img alt=\"Navigation button with create page feature. \" class=\"wp-image-42971\" height=\"343\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/navigation-button-create-page.png?resize=398%2C343&#038;ssl=1\" style=\"width: 399px; height: auto;\" width=\"398\" /></figure>\n\n\n\n<p>Site builders can now customize aria-labels independently of menu titles, which is great for accessibility. The text box is located under <strong>Advanced &gt; Menu Name</strong> (<a href=\"https://github.com/WordPress/gutenberg/issues/66935\">66935</a>)</p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"Customize the name of the navigation menu\" class=\"wp-image-42972\" height=\"570\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/navigation-menu-name.png?resize=283%2C570&#038;ssl=1\" width=\"283\" /></figure>\n\n\n\n<p>The hamburger icon now consists of individual SVG lines, opening up more styling and animation possibilities. Plus, the automatic panel expansion for Navigation options in site editing makes the workflow smoother. (<a href=\"https://github.com/WordPress/gutenberg/issues/71791\">71791</a>)(<a href=\"https://github.com/WordPress/gutenberg/issues/56346\">56346</a>) (<a href=\"https://github.com/WordPress/gutenberg/pull/69343\">69343</a></p>\n\n\n\n<p>To improve the robustness of the Navigation, the Navigation Link Block is now creating the URL dynamically and even if the slug of the page changes the link will be automatically updated.(<a href=\"https://github.com/WordPress/gutenberg/issues/72422\">72422</a>) A similar mechanism also was applied to the Navigation Submenu block. </p>\n\n\n\n<p>The submenu control of the background is now much easier. A new slider control for the overlay helps with the design. (<a href=\"https://github.com/WordPress/gutenberg/pull/69379\">69379</a>)</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"Navigation submenu overlay slider \" class=\"wp-image-42973\" height=\"278\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Navigation-submenu-background-overlay.png?resize=652%2C278&#038;ssl=1\" width=\"652\" /></figure>\n\n\n\n<p>In template part view, a new button <strong>Edit Navigation</strong> helps users to update Navigation block settings and menu items directly from this view.</p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"\" class=\"wp-image-42976\" height=\"126\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/navigation-edit-button-template-part-edited.png?resize=552%2C126&#038;ssl=1\" width=\"552\" /></figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"query-loop-blocks-all\">Query Loop Blocks <sup>[all]</sup></h3>\n\n\n\n<p>Blocks primarily used in a Query Loop context received a few quality-of-life enhancements and accessibility controls. </p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignright size-full\"><img alt=\"content block HTML element selection. \" class=\"wp-image-42977\" height=\"297\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/content-html-element.png?resize=284%2C297&#038;ssl=1\" width=\"284\" /></figure>\n</div>\n\n\n<h4 class=\"wp-block-heading\" id=\"content-block\">Content Block</h4>\n\n\n\n<p>The Content block in WordPress 6.9 now features a `tagName` selector in its Advanced Settings. This allows theme builders to replace the default div wrapper with semantic HTML elements (like main, section, or article), improving accessibility, SEO, and content structure. This powerful tool enhances how blocks align with web standards.<strong> </strong><strong>(</strong><a href=\"https://github.com/WordPress/gutenberg/pull/70698\"><strong>70698</strong></a><strong>)</strong></p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"date-block-supports-custom-dates\">Date Block supports custom dates.</h4>\n\n\n\n<p>The Date block has undergone significant enhancements. It now supports custom dates, and its existing Post Date and Last Modified Date variations have been updated to utilize Block Bindings. This change involved creating a new binding source, core/post-data, which exposes the publish date as date and the last modified date as modified for any given post (<a href=\"https://github.com/WordPress/gutenberg/pull/70585\">70585</a>).</p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-42980\" height=\"378\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/date-publish-modified.png?resize=278%2C378&#038;ssl=1\" width=\"278\" /></figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-42979\" height=\"338\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/date-select-format.png?resize=283%2C338&#038;ssl=1\" width=\"283\" /></figure>\n</figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"query-title-get-post-type-label\">Query Title get Post Type label</h4>\n\n\n\n<p>The Query Loop block now supports a new <a href=\"https://github.com/WordPress/gutenberg/pull/71167\">Post Type Label variation</a>. This feature enables users to display the post type of the current item within the block, which is especially helpful for showcasing the post type name when creating custom post type archive templates. (<a href=\"https://github.com/WordPress/gutenberg/pull/71167\">71167</a>)</p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img alt=\"Query block post type labels\" class=\"wp-image-42984\" height=\"570\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/query-post-type-labels-edited.png?resize=652%2C570&#038;ssl=1\" style=\"width: 498px; height: auto;\" width=\"652\" /></figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"query-total\">Query Total</h4>\n\n\n\n<p>The total number of query results return are displayed via the Query Total block. In WordPress 6.9, this block received color controls for styling. (<a href=\"https://github.com/WordPress/gutenberg/pull/69500\">69500</a>)</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"rss-block-end-user\">RSS Block <sup>[end user]</sup></h3>\n\n\n\n<p>The RSS Block is a block to display another website&#8217;s RSS feed in a post or template. This version holds two small updates: An added option to display the links in a new tab or window and to control the `rel` attributes. RSS feeds from third-party sources sometimes include HTML entities in their titles. In a bug fix, the RSS Block now displays titles correctly. </p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"separator-block-theme-author-site-admin-plugin-author\">Separator Block <br /><sup>[theme author][site admin][plugin author]</sup></h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignright size-full is-resized\"><img alt=\"\" class=\"wp-image-42982\" height=\"590\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/separator-html-element.png?resize=431%2C590&#038;ssl=1\" style=\"width: 218px; height: auto;\" width=\"431\" /></figure>\n</div>\n\n\n<p>A small update to the Separator block opens the styling options for designers: The HTML element can now be changed from a `&lt;hr&gt;` to a `&lt;div/&gt;` tag in not only increasing the range of design option but also accessibility. (<a href=\"https://github.com/WordPress/gutenberg/pull/70185\">70185</a>)</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"social-icons-block-developers-enterprise\">Social Icons Block <sup>[developers][enterprise]</sup></h3>\n\n\n\n<p>The update to the Social Icons Block enables now extenders to register custom Social Icons variations. This way, any group of Social Icons that are relevant to the site owner can be created and used in the content, for instance icons of various Podcast directories, or to add icons for payment systems not available in core. </p>\n\n\n\n<p>On the WordPress Developer Block developers will find a tutorial on <a href=\"https://developer.wordpress.org/news/2025/08/registering-custom-social-icons-in-wordpress-6-9/\">how to register their own social media icons</a><strong>. </strong>Plugin developers can now remove existing icons and register their own. (<a href=\"https://github.com/WordPress/gutenberg/pull/70261\">70261</a>)</p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"\" class=\"wp-image-42985\" height=\"111\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/social-icons-more.png?resize=513%2C111&#038;ssl=1\" width=\"513\" /></figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"\" class=\"wp-image-42986\" height=\"136\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/social-icon-podcasts.png?resize=380%2C136&#038;ssl=1\" width=\"380\" /></figure>\n\n\n\n<p>A bug fix now makes sure the social icons honor theme.json styles for typography. (<a href=\"https://github.com/WordPress/gutenberg/pull/70380\">70380</a>)</p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>JSON</span><span class=\"code-block-pro-copy-button\" style=\"color: #575279; display: none;\" tabindex=\"0\"><pre class=\"code-block-pro-copy-button-pre\"><textarea class=\"code-block-pro-copy-button-textarea\" readonly=\"readonly\" tabindex=\"-1\">\"core/social-links\": {\n		\"typography\": {\n			\"fontSize\": \"var(--wp--preset--font-size--x-large)\"\n		}\n},</textarea></pre><svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path class=\"with-check\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path><path class=\"without-check\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg></span><pre class=\"shiki rose-pine-dawn\" style=\"background-color: #faf4ed;\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #EA9D34;\">&quot;core/social-links&quot;</span><span style=\"color: #575279;\">: </span><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">		</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">typography</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">			</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">fontSize</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;var(--wp--preset--font-size--x-large)&quot;</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">		</span><span style=\"color: #797593;\">}</span></span>\n<span class=\"line\"><span style=\"color: #797593;\">}</span><span style=\"color: #575279;\">,</span></span></code></pre></div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"table-block-end-users-site-admin\">Table Block   <sup>[end users][site admin]</sup></h3>\n\n\n\n<p>The Table block received more robust handling of Markdown table parsing, specifically retaining alignment from a Markdown table. </p>\n\n\n\n<p style=\"font-size: 12px;\">| A &#8211; Left | B &#8211; Centered | C &#8211; Right | D &#8211; None |</p>\n\n\n\n<p style=\"font-size: 12px;\">| :&#8212;&#8212;- | :&#8212;&#8212;&#8212;-: | &#8212;&#8212;&#8211;: | &#8212;&#8212;&#8211; |</p>\n\n\n\n<p style=\"font-size: 12px;\">| 100      |     150      |       200 | 250      |</p>\n\n\n\n<p style=\"font-size: 12px;\">| 200      |     250      |       300 | 350      |</p>\n\n\n\n<p style=\"font-size: 12px;\">| 300      |     350      |       400 | 450      |</p>\n\n\n\n<p style=\"font-size: 12px;\">| 400      |     450      |       500 | 550      |</p>\n\n\n\n<p style=\"font-size: 12px;\">| 500      |     550      |       600 | 650      |</p>\n\n\n\n<p>The above Markdown example parsed into the block editor canvas is automatically converted to the Table block.</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"\" class=\"wp-image-42987\" height=\"232\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/table-block-markdown.png?resize=652%2C232&#038;ssl=1\" width=\"652\" /></figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"video-block-all\">Video Block <sup>[all]</sup> </h3>\n\n\n\n<p>The Video Block can now handle multiple language tracks with the option to set one as the default track. It’s also possible to add a poster image to the video block to improve accessibility for visitors with slow internet connections (<a href=\"https://github.com/WordPress/gutenberg/pull/71039\">71039</a>) (<a href=\"https://github.com/WordPress/gutenberg/pull/70939\">70939</a>)(<a href=\"https://github.com/WordPress/gutenberg/pull/70227\">70227</a>).</p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"\" class=\"wp-image-42989\" height=\"370\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/video-tracks-handling.png?resize=652%2C370&#038;ssl=1\" width=\"652\" /></figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"\" class=\"wp-image-42988\" height=\"368\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/video-with-language-tracks.png?resize=652%2C368&#038;ssl=1\" width=\"652\" /></figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"theme-json-and-global-styles-developers-enterprise-site-admin\">Theme.json and Global Styles <br /><sup>[developers][enterprise][site admin]</sup></h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"form-elements-in-theme-json\">Form elements in theme.json</h3>\n\n\n\n<p>WordPress theme development reaches new enrichment with theme.json support for form element styling. Developers can now target text-based controls and select/dropdown elements through the styles.elements property, defining colors, borders, and typography directly in Global Styles. </p>\n\n\n\n<p>This eliminates custom CSS dependencies, allowing search forms, comment forms, and plugin-generated forms to automatically inherit the site&#8217;s design system. (<a href=\"https://github.com/WordPress/gutenberg/issues/34198\">34198</a>) (<a href=\"https://github.com/WordPress/gutenberg/pull/70378\">70378</a>) (<a href=\"https://github.com/WordPress/gutenberg/pull/70379\">70379</a>) Below snippet shows an example for the textInput element. </p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>JSON</span><span class=\"code-block-pro-copy-button\" style=\"color: #575279; display: none;\" tabindex=\"0\"><pre class=\"code-block-pro-copy-button-pre\"><textarea class=\"code-block-pro-copy-button-textarea\" readonly=\"readonly\" tabindex=\"-1\">\"elements\": {\n	\"textInput\": {\n			\"border\": {\n				\"radius\": \"0\",\n				\"style\": \"solid\",\n				\"width\": \"1px\",\n				\"color\": \"red\"\n			},\n			\"color\": {\n				\"text\": \"var(--wp--preset--color--theme-2)\"\n			},\n			\"typography\": {\n				\"fontFamily\": \"var(--wp--preset--font-family--inter)\"\n			}\n		}\n}\n</textarea></pre><svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path class=\"with-check\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path><path class=\"without-check\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg></span><pre class=\"shiki rose-pine-dawn\" style=\"background-color: #faf4ed;\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #EA9D34;\">&quot;elements&quot;</span><span style=\"color: #575279;\">: </span><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">	</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">textInput</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">			</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">border</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">				</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">radius</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;0&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">				</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">style</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;solid&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">				</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">width</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;1px&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">				</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">color</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;red&quot;</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">			</span><span style=\"color: #797593;\">},</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">			</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">color</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">				</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">text</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;var(--wp--preset--color--theme-2)&quot;</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">			</span><span style=\"color: #797593;\">},</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">			</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">typography</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">				</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">fontFamily</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;var(--wp--preset--font-family--inter)&quot;</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">			</span><span style=\"color: #797593;\">}</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">		</span><span style=\"color: #797593;\">}</span></span>\n<span class=\"line\"><span style=\"color: #797593;\">}</span></span>\n<span class=\"line\"></span></code></pre></div>\n\n\n\n<p>An additional resource is the tutorial on the WordPress Developer blog: <a href=\"https://developer.wordpress.org/news/2025/11/how-wordpress-6-9-gives-forms-a-theme-json-makeover/\">How WordPress 6.9 gives forms a theme.json makeover</a></p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"border-radius-presets-supported\">Border Radius presets supported </h3>\n\n\n\n<p>It’s now possible to define border radius presets in the `theme.json` for your theme. The user experience changes slightly with the numbers of presets: up until eight, a user can enable the border radius along a slider. For nine and more present the user uses a drop-down select menu. Users can always access custom value input through the custom button to the right of the control.</p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"\" class=\"wp-image-42991\" height=\"261\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/border-radius-presets.png?resize=560%2C261&#038;ssl=1\" width=\"560\" /></figure>\n\n\n\n<p>As an example you can add the following to the `settings` property of your `theme.json` file. (<a href=\"https://github.com/WordPress/gutenberg/pull/67544\">67544</a>). \\</p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>JSON</span><span class=\"code-block-pro-copy-button\" style=\"color: #575279; display: none;\" tabindex=\"0\"><pre class=\"code-block-pro-copy-button-pre\"><textarea class=\"code-block-pro-copy-button-textarea\" readonly=\"readonly\" tabindex=\"-1\">{ \n\"settings\"{\n	\"border\": {\n		\"radiusSizes\": &#91;\n				{\n					\"name\": \"Small\",\n					\"slug\": \"small\",\n					\"size\": \"2px\"\n				},\n				{\n					\"name\": \"Medium\",\n					\"slug\": \"medium\",\n					\"size\": \"4px\"\n				},\n				{\n					\"name\": \"Large\",\n					\"slug\": \"large\",\n					\"size\": \"6px\"\n				}\n			&#93;\n	}\n}</textarea></pre><svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path class=\"with-check\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path><path class=\"without-check\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg></span><pre class=\"shiki rose-pine-dawn\" style=\"background-color: #faf4ed;\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #797593;\">{</span><span style=\"color: #575279;\"> </span></span>\n<span class=\"line\"><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">settings</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #B4637A;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">	</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">border</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">		</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">radiusSizes</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #797593;\">&#91;</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">				</span><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">					</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">name</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;Small&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">					</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">slug</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;small&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">					</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">size</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;2px&quot;</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">				</span><span style=\"color: #797593;\">},</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">				</span><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">					</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">name</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;Medium&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">					</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">slug</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;medium&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">					</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">size</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;4px&quot;</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">				</span><span style=\"color: #797593;\">},</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">				</span><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">					</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">name</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;Large&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">					</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">slug</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;large&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">					</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">size</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;6px&quot;</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">				</span><span style=\"color: #797593;\">}</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">			</span><span style=\"color: #797593;\">&#93;</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">	</span><span style=\"color: #797593;\">}</span></span>\n<span class=\"line\"><span style=\"color: #797593;\">}</span></span></code></pre></div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The Dev note has been published: <a href=\"https://make.wordpress.org/core/2025/11/12/theme-json-border-radius-presets-support-in-wordpress-6-9/\">Theme.json Border Radius Presets Support in WordPress 6.9</a></li>\n\n\n\n<li>A step-by-step guide can be found on the WordPress Developer blog: <a href=\"https://developer.wordpress.org/news/2025/09/border-radius-size-presets-in-wordpress-6-9/\">Border radius size presets in WordPress 6.9</a>. </li>\n</ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"button-element-inherits-typography\">Button element inherits typography</h3>\n\n\n\n<p>With the release of WordPress 6.9, the button element defined in the default `theme.json` can inherit typographical styles from its parent. (<a href=\"https://github.com/WordPress/gutenberg/pull/70676\">70676</a>) </p>\n\n\n\n<p>The full styles for the element now look like this:</p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>JSON</span><span class=\"code-block-pro-copy-button\" style=\"color: #575279; display: none;\" tabindex=\"0\"><pre class=\"code-block-pro-copy-button-pre\"><textarea class=\"code-block-pro-copy-button-textarea\" readonly=\"readonly\" tabindex=\"-1\">{\n	\"styles\": {\n		\"elements\": {\n			\"button\": {\n				\"typography\": {\n					\"fontSize\": \"inherit\",\n					\"fontFamily\": \"inherit\",\n					\"fontStyle\": \"inherit\",\n					\"fontWeight\": \"inherit\",\n					\"letterSpacing\": \"inherit\",\n					\"textTransform\": \"inherit\",\n					\"lineHeight\": \"inherit\",\n					\"textDecoration\": \"none\"\n				}\n			}\n	}\n}</textarea></pre><svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path class=\"with-check\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path><path class=\"without-check\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg></span><pre class=\"shiki rose-pine-dawn\" style=\"background-color: #faf4ed;\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">	</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">styles</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">		</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">elements</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">			</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">button</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">				</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">typography</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #797593;\">{</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">					</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">fontSize</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;inherit&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">					</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">fontFamily</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;inherit&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">					</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">fontStyle</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;inherit&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">					</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">fontWeight</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;inherit&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">					</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">letterSpacing</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;inherit&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">					</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">textTransform</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;inherit&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">					</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">lineHeight</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;inherit&quot;</span><span style=\"color: #797593;\">,</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">					</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #56949F;\">textDecoration</span><span style=\"color: #797593;\">&quot;</span><span style=\"color: #797593;\">:</span><span style=\"color: #575279;\"> </span><span style=\"color: #EA9D34;\">&quot;none&quot;</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">				</span><span style=\"color: #797593;\">}</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">			</span><span style=\"color: #797593;\">}</span></span>\n<span class=\"line\"><span style=\"color: #575279;\">	</span><span style=\"color: #797593;\">}</span></span>\n<span class=\"line\"><span style=\"color: #797593;\">}</span></span></code></pre></div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"a-closer-look-at-performance-optimizations-developers-enterprise\">A closer look at performance optimizations <br /><sup>[developers][enterprise]</sup></h2>\n\n\n\n<p>WordPress 6.9 speeds up your site through several technical improvements. Scripts load more efficiently with priority ordering and move to footers when appropriate. Stylesheets load only when needed, particularly in classic themes, while styles for hidden blocks are omitted. The inline style limit increased to 40K. A new optimization system enables previously impossible efficiency gains. Database queries, UTF-8 processing, and cron tasks all improved. The Video block also eliminates layout shifts. Overall: more efficient performance across the board.</p>\n\n\n\n<p>Details are in this Dev Note: <a href=\"https://make.wordpress.org/core/2025/11/18/wordpress-6-9-frontend-performance-field-guide/\">WordPress 6.9 Frontend Performance Field Guide</a>.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"improved-accessibility-across-core-and-block-editor\">Improved accessibility across Core and Block editor</h2>\n\n\n\n<p>WordPress 6.9 delivers substantial accessibility enhancements across Core and Gutenberg, implementing 33 Core improvements and 44 Gutenberg refinements. Core updates address administration interfaces, customizer tools, login and registration workflows, media library functionality, and bundled themes. </p>\n\n\n\n<p>Key changes include enhanced screen reader notifications, improved CSS-generated content handling, refined focus management, and superior color contrast adjustments. Gutenberg advances feature new accessible blocks, component redesigns, and data views improvements ensuring consistent editor interfaces. </p>\n\n\n\n<p>Updates span Cover blocks, Site Title, Navigation elements, Button blocks, and Columns, alongside Component refinements addressing modal dialogs, font size pickers, and link controls. </p>\n\n\n\n<p>Data Views enhancements prioritize checkbox visibility and text-based actions. Editor modifications involve iframe CSS classes, pattern modal behavior, and focus management within Global Styles panels. </p>\n\n\n\n<p>These comprehensive improvements reinforce WordPress&#8217;s commitment to Web Content Accessibility Guidelines standards, enabling creators to develop inclusive content while providing developers cleaner, more accessible code foundations for theme and plugin development.</p>\n\n\n\n<p>Details on the developer note <a href=\"https://make.wordpress.org/core/2025/11/19/accessibility-improvements-in-wordpress-6-9/\">Accessibility Improvements in WordPress 6.9</a></p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"new-and-updated-apis-for-developers-developers-enterprise\">New and updated APIs for Developers<br /><sup>[developers][enterprise]</sup></h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"abilities-api\">Abilities API</h3>\n\n\n\n<p>WordPress 6.9 features the Abilities API, a new foundational system designed to standardize how plugins, themes, and the WordPress core register and expose their capabilities. This API provides a unified, machine-readable registry of functionalities, ensuring consistent discovery, validation, and execution across various contexts, including PHP, REST API endpoints, and upcoming AI integrations.</p>\n\n\n\n<p>More resources: </p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dev Note:<a href=\"https://make.wordpress.org/core/2025/11/10/abilities-api-in-wordpress-6-9/\">Abilities API in WordPress 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/ai/2025/07/17/ai-building-blocks/\">AI Building Blocks for WordPress</a></li>\n</ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"block-bindings-api\">Block Bindings API</h3>\n\n\n\n<p>Updates to the <a href=\"https://developer.wordpress.org/block-editor/reference-guides/block-api/block-bindings/\">Block Bindings API</a> include enabling it for a few more core blocks. The refactor of the Date block is one of those examples. (<a href=\"https://github.com/WordPress/gutenberg/pull/70585\">70585</a>)</p>\n\n\n\n<p>Another is enabling Image block’s caption data to be available for Synced Pattern Overrides. (<a href=\"https://github.com/WordPress/gutenberg/pull/72476\">72476</a>).  </p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img alt=\"\" class=\"wp-image-42996\" height=\"203\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/11/Block-bindings-list-of-supported-blocks.png?resize=652%2C203&#038;ssl=1\" width=\"652\" /><figcaption class=\"wp-element-caption\">The list of supported block attributes by Block Bindings API.</figcaption></figure>\n\n\n\n<p>The function `getFieldsList` was available via the Gutenberg plugin and has been merged into WordPress Core now. Also, the attributes UI in the Block editor is now more flexible and handles any attributes from plugin developers. [Details will be available on the DevNote.]<br />More details can be found in the Dev Note: <a href=\"https://make.wordpress.org/core/2025/11/12/block-bindings-improvements-in-wordpress-6-9/\">Block Bindings improvements in WordPress 6.9</a></p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"dataviews-and-dataform\">DataViews and DataForm</h3>\n\n\n\n<p>WordPress 6.9 marks substantial progress for DataViews and DataForm components. There are no user-facing updates. Plugin developers can use the components for their products and on admin pages. </p>\n\n\n\n<p>The <strong>Field API</strong> now handles array, boolean, email, media, date, datetime, telephone, password, URL, and color types with comprehensive validation support. </p>\n\n\n\n<p><strong>DataViews</strong> gained sophisticated filtering with type-specific operators, infinite scroll capabilities, and improved table layouts featuring alignment and action column pinning. </p>\n\n\n\n<p><strong>DataForm</strong> received new layout options including modal panels and card designs, alongside controls matching the expanded field types. </p>\n\n\n\n<p>The new <strong>DataViewsPicker</strong> component is a selection-focused variant of DataViews designed for building item picker interfaces. It extends the familiar DataViews API with selection management and action buttons, making it ideal for workflows where users need to browse and pick items from a dataset. </p>\n\n\n\n<p>These enhancements collectively strengthen the block editor&#8217;s data management infrastructure, enabling developers to build more capable interfaces while maintaining consistency across WordPress&#8217;s content administration.</p>\n\n\n\n<p>Dev Note: <a href=\"https://make.wordpress.org/core/2025/11/11/dataviews-dataform-et-al-in-wordpress-6-9/\">DataViews, DataForm, et al. in WordPress 6.9</a></p>\n\n\n\n		<figure class=\"wp-block-jetpack-videopress jetpack-videopress-player\">\n			<div class=\"jetpack-videopress-player__wrapper\"> </div>\n			\n			\n		</figure>\n		\n\n\n<h3 class=\"wp-block-heading\" id=\"interactivity-api\">Interactivity API</h3>\n\n\n\n<p>Updates in WordPress 6.9 the Interactivity API with standardized directive IDs using triple-dash syntax, enabling multiple directives on single elements. The deprecated data-wp-ignore directive is removed. New TypeScript helpers AsyncAction and TypeYield improve asynchronous action typing. Client-side navigation improvements include dynamic stylesheet and script module loading, support for nested router regions, new attachTo options for overlays, and enhanced getServerState and getServerContext functions for proper state management across page transitions.</p>\n\n\n\n<p>The Dev Notes provide more details and code examples. </p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://make.wordpress.org/core/2025/11/12/interactivity-apis-client-navigation-improvements-in-wordpress-6-9/\">Interactivity API’s client navigation improvements in WordPress 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/12/changes-to-the-interactivity-api-in-wordpress-6-9/\">Changes to the Interactivity API in WordPress 6.9</a></li>\n</ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"output-buffering-for-the-rendered-template\">Output buffering for the rendered template </h3>\n\n\n\n<p>WordPress 6.9 introduces a new way for plugin developers to handle HTML output, called the &#8220;template enhancement output buffer.&#8221; It standardizes output, meaning instead of plugins creating their own temporary storage for HTML, WordPress now provides a built-in system. If a plugin developer wants to use this feature, they just need to add a special wp_template_enhancement_output_buffer filter <em>before</em> the template is loaded. This system is designed for making small improvements or additions to a page, not for essential parts of the website&#8217;s functionality. If a website doesn&#8217;t want to use this buffer, it can disable it by filtering wp_should_output_buffer_template_for_enhancement to be false. </p>\n\n\n\n<p>For older (classic) WordPress themes, this buffer is now enabled by default. This allows them to load block styles only when needed and move them to the &lt;head&gt; section of the HTML, which can significantly reduce the amount of CSS on a page. Even if the page has already started loading, you can still send HTTP headers (like Server-Timing) while the output is being buffered. #<a href=\"https://core.trac.wordpress.org/ticket/64126\">64126</a>). <a href=\"https://core.trac.wordpress.org/ticket/43258\">#43258</a> (<a href=\"https://github.com/WordPress/wordpress-develop/pull/8412#issuecomment-3344496798\">PR#8412</a>) More details are available in the Dev Note. </p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"blocks-efficiently-find-and-traverse-blocks-in-a-document\">Blocks: Efficiently find and traverse blocks in a document. </h3>\n\n\n\n<p>The Block Processor class is now available in WordPress 6.9 to efficiently scan through and manipulate block structure in a lazy and streaming manner. For certain workloads this should dramatically improve the performance of processing code, and even more importantly, prevent out-of-memory crashes in the worst cases. [<a href=\"https://github.com/WordPress/wordpress-develop/pull/9105\">Core#9105</a>] <a href=\"https://core.trac.wordpress.org/ticket/61401\">(61401)</a>. </p>\n\n\n\n<p>It’s an more </p>\n\n\n\n<p>Do you need to do any of the following kinds of things? Check out <a href=\"https://github.com/WordPress/wordpress-develop/blob/trunk/src/wp-includes/class-wp-block-processor.php\">WP_Block_Processor</a>!</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Checking if a post contains a block of a given type.</li>\n\n\n\n<li>Counting or detecting all of the kinds of blocks present in a post.</li>\n\n\n\n<li>Modifying a block of a given kind within a post, not touching any of the other blocks.</li>\n\n\n\n<li>Finding the “wrapper element” surrounding the inner blocks and adding a class name to it.</li>\n\n\n\n<li>Extract sections of a document as blocks, modify it, serialize it back, and replace the original blocks with the new HTML.</li>\n</ul>\n\n\n\n<p>Dev Note: <a href=\"https://make.wordpress.org/core/?p=119384&amp;preview=1&amp;_ppp=7c4f90d12d\">Introducing the streaming block parser in WordPress 6.9</a></p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"more-developer-notes-for-wordpress-6-9-release\">More Developer Notes for WordPress 6.9 release</h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://make.wordpress.org/core/2025/11/18/modernizing-utf-8-support-in-wordpress-6-9/\">Modernizing UTF-8 support in WordPress 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/17/consistent-cache-keys-for-query-groups-in-wordpress-6-9/\">Consistent Cache Keys for Query Groups in WordPress 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/17/miscellaneous-developer-focused-changes-in-6-9/\">Miscellaneous Developer-focused Changes in 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/18/more-reliable-email-in-wordpress-6-9/\">More-reliable email in WordPress 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/19/admin-menu-search-query-changed/\">Admin menu search query changed</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/19/legacy-internet-explorer-code-removed/\">Legacy Internet Explorer Code Removed</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/19/url-escaping-functions-can-support-https-as-the-default-protocol-in-wordpress-6-9/\">URL-escaping functions can support HTTPS as the default protocol in WordPress 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/21/updates-to-the-html-api-in-6-9/\">Updates to the HTML API in 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/21/php-8-5-support-in-wordpress-6-9/\">PHP 8.5 support in WordPress 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/25/miscellaneous-editor-changes-in-wordpress-6-9/\">Miscellaneous Editor Changes in WordPress 6.9</a></li>\n</ul>\n\n\n\n<p>There are a few dev notes in the publishing queue, including a list of accessibility updates. This post will be updated once available. </p>\n\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:\"Fri, 21 Nov 2025 09:42:19 +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:33;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:74:\"Open Channels FM: New Host Nathan Wrigley Brings Chaos to Open Channels FM\";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:33:\"https://openchannels.fm/?p=112374\";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:81:\"https://openchannels.fm/new-host-nathan-wrigley-brings-chaos-to-open-channels-fm/\";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:176:\"At WordCamp Europe, BobWP and Nathan cooked up \"The Shit Show\" podcast, discussing everything from penguins to soap. Tune in for quirky insights and Nathan’s endless droning.\";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, 21 Nov 2025 09:15: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:34;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:17:\"Matt: In Memoriam\";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:23:\"https://ma.tt/?p=150624\";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:34:\"https://ma.tt/2025/11/in-memoriam/\";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:779:\"<p>While there is much to celebrate in WordPress sometimes we must also mourn.</p>\n\n\n\n<p>In a <a href=\"https://timesofindia.indiatimes.com/city/surat/24-year-old-dies-after-collapsing-on-stage-at-it-event/articleshow/125394242.cms\">horribly tragic incident</a>, <a href=\"https://zeelthakkar.in/\">Zeel Thakkar</a>, a <a href=\"https://profiles.wordpress.org/zeelthakkar/\">WordPress contributor</a> and Kim Parsell Memorial Scholarship 2025 recipient, passed away <a href=\"https://x.com/wcsurat/status/1990766081754226923\">on stage at WordCamp Surat</a>. <a href=\"https://asia.wordcamp.org/2026/in-loving-memory-of-zeel-thakkar/\">WordCamp Asia has written a beautiful memorial to her</a>. She will be forever on our <a href=\"https://wordpress.org/remembers/\">Remembers page</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, 21 Nov 2025 07:59:59 +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:4:\"Matt\";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:35;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:26:\"Matt: Gemini &amp;amp; FSD\";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:23:\"https://ma.tt/?p=150613\";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:33:\"https://ma.tt/2025/11/gemini-fsd/\";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:1644:\"<p>Two interesting AI updates this week: It&#8217;s nice to read <a href=\"https://x.com/karpathy/status/1988705360723763242\">Andrej Karpathy&#8217;s review of Tesla&#8217;s FSD v13</a>, as someone who was involved with creating their first self-driving efforts. I&#8217;ve only experienced v12, so very excited to try out the latest generations soon. Ubiquitous self-driving will reshape cities and save countless lives.</p>\n\n\n\n<p>On the heels of announcing a <a href=\"https://x.com/sundarpichai/status/1989468970400055487\">$40B investment in Texas</a>, Google <a href=\"https://x.com/sundarpichai/status/1990812770762215649\">has launched Gemini 3</a>. It&#8217;s still funny how every organization ships its org chart with the naming and accessibility of the various models it releases, but, more broadly, it is so exciting to see so much intellectual capital focused on this area, with the frontier labs leapfrogging each other every few months. Every model has a feel, and with <a href=\"https://blog.google/products/gemini/gemini-3/\">Gemini 3</a> you start to feel the breadth of Google&#8217;s long investment in the space show up in interesting ways. Yet it can still be beaten in coding by an upstart like Anthropic with a fraction of Alphabet&#8217;s resources. </p>\n\n\n\n<p>What a time to be alive. Witnessing multiple excellent organizations ship the best work of their career rapidly is invigorating and inspiring; the competition drives better results, and the diffusion of new approaches is rapid. The consumer surplus that we all benefit from is just beginning to be felt; we&#8217;re maybe 1 or 2% impacted in the economy so far.</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:\"Thu, 20 Nov 2025 01:22:48 +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:4:\"Matt\";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:21:\"\n	\n	\n	\n	\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:86:\"WPTavern: #194 – Devin Walker on Leading Jetpack: Challenges, Vision, and the Future\";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=200819\";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:97:\"https://wptavern.com/podcast/194-devin-walker-on-leading-jetpack-challenges-vision-and-the-future\";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:46775:\"<details>Transcript<div>\n<p>[00:00:19] <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, leading Jetpack, the past, the challenges, the vision, and the future.</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/feed/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/contact/jukebox and use the form there.</p>\n\n\n\n<p>So on the podcast today we have Devin Walker. Devin&#8217;s journey in the WordPress ecosystem spans many years, with experience in development, design, marketing, and customer support. He is best known as the co-founder of GiveWP, which he built and scaled before it was acquired. During his time there, he touched a variety of prominent WordPress brands, including iThemes, Kadence, LearnDash, and The Events Calendar.</p>\n\n\n\n<p>Today Devon is starting a new role leading the Jetpack suite of services at Automattic. It&#8217;s a position with hefty responsibilities as Jetpack powers millions of WordPress sites, and integrates deeply across</p>\n\n\n\n<p>I talk with Devon about why he took on this challenge. The divisiveness and complexity surrounding Jetpack, and his vision for refocusing the plugin and simplifying its user experience.</p>\n\n\n\n<p>We start by hearing about Devon&#8217;s extensive WordPress background, and the choices he weighed up when deciding to join Automattic.</p>\n\n\n\n<p>The conversation quickly moves to the scope of Jetpack, its evolution, the struggle to be a jack of all trades master of none, and the recent efforts to bring greater focus and polish to key features like forms and SEO</p>\n\n\n\n<p>Devin gets into the organizational changes at Automattic. How Jetpack&#8217;s development teams now collaborate more fluidly with other product teams, such as WooCommerce, and the balancing act of shipping improvements to a 4 million strong user base without breaking things.</p>\n\n\n\n<p>AI emerges as a massive new frontier, and Devin shares behind the scenes insights into Jetpack&#8217;s current, and future, aI capabilities, giving us a glimpse at content creation, block building, and how AI might reshape user and developer expectations in WordPress.</p>\n\n\n\n<p>Throughout we hear about Devin&#8217;s approach to product marketing, and the need for more of it, the importance of listening to user feedback, and his plans for a more coherent and compelling Jetpack experience.</p>\n\n\n\n<p>If you&#8217;re a WordPress user wondering where Jetpack is headed, what&#8217;s working, or how AI fits into the future of site building, this episode is for you.</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/podcast, where you can find all the other episodes as well.</p>\n\n\n\n<p>And so without further delay, I bring you Devin Walker.</p>\n\n\n\n<p>I am joined on the podcast by Devin Walker. Hello, Devin.</p>\n\n\n\n<p>[00:03:34] <strong>Devin Walker:</strong> Hello.</p>\n\n\n\n<p>[00:03:35] <strong>Nathan Wrigley:</strong> Very nice to have you with us. Devin has a shiny new job. Up until a few weeks ago, Devin was not an Automattician, or at least I don&#8217;t think you were maybe at any point in your past. But you are now an Automattition, and you are doing what?</p>\n\n\n\n<p>[00:03:47] <strong>Devin Walker:</strong> My official title is Artistic Director of Jetpack, but basically product owner, or head of Jetpack. Whatever you want to call it.</p>\n\n\n\n<p>[00:03:55] <strong>Nathan Wrigley:</strong> So when it comes to Jetpack, the buck stops with you. I guess that&#8217;s a pretty important role in the WordPress space over at Automattic. And if anybody hasn&#8217;t heard of you, I suppose it would be important to just lay the groundwork, who you are, what you&#8217;ve done in the past.</p>\n\n\n\n<p>I know you&#8217;ve got a long and storied history, but just maybe a one minute little short bio telling us who you are and what you&#8217;ve done.</p>\n\n\n\n<p>[00:04:14] <strong>Devin Walker:</strong> Yeah, sure. I&#8217;ve been using WordPress for all sorts of things, development, design, blogging for 16 years now. Really made my name known, I guess you would say, with Matt Cromwell. We co-founded GiveWP together, and we grew it for seven years, from late 2014, all the way through 2021, which then we were acquired by Liquid Web and was there for a little more than four years, and touched a lot of brands from there, from the iThemes rebrand to SolidWP, to Kadence, to LearnDash, Events Calendar, and of course GiveWP as well.</p>\n\n\n\n<p>And left there in early August of this year, 2025. I also built WP Rollback throughout the years, that has quite a few active installs. So yeah, that&#8217;s a bit about me. Developer, design background, definitely well-rounded with marketing and supporting customer success.</p>\n\n\n\n<p>[00:05:05] <strong>Nathan Wrigley:</strong> So you&#8217;ve had a lot of experience working with WordPress products, which I guess is what you are doing over at Automattic, because let&#8217;s just call it head of Jetpack, just to make it easy. It&#8217;s a curious title, by the way. Artistic Director is kind of a really.</p>\n\n\n\n<p>[00:05:17] <strong>Devin Walker:</strong> You know Automattic loves that title.</p>\n\n\n\n<p>[00:05:18] <strong>Nathan Wrigley:</strong> Yeah, they love that, don&#8217;t they? But head of Jetpack, and obviously you&#8217;ve got a long and storied history kind of growing products and making sure that they succeed and customer support and all of that kind of thing.</p>\n\n\n\n<p>And I feel like Jetpack, no matter what time you dropped in on Jetpack in the last, let&#8217;s say decade, I feel that half of the community felt like it needed a lot of love.</p>\n\n\n\n<p>And I&#8217;m just wondering when you were interviewing for this position or when this position was offered to you, I don&#8217;t know how that process went, but what the kind of broad brush strokes are in what you&#8217;re hoping to do over there?</p>\n\n\n\n<p>We&#8217;ll get into the weeds very much, but roughly speaking, what&#8217;s the scope of the new job? What is it that you are hoping to do in the next three, six months, years, something like that?</p>\n\n\n\n<p>[00:05:57] <strong>Devin Walker:</strong> Yeah, so when I left Liquid Web, I wrote a long, well, not long, but wrote a blog post about closing that chapter of my career and really being open to what&#8217;s coming next for me. I knew that I wanted to stay in WordPress and I was having fun building on just my own products at the time, and having full control of everything, the whole lifecycle of a product.</p>\n\n\n\n<p>And I did some work with Matt in the past on some of his nonprofit sites with Give and the VIP team and the concierge at Automattic. And so Matt called me up one day, you know, we stayed loosely in contact over the years, and said, we have some interesting opportunities here at Automattic, and one of them that I think you&#8217;d be great at is Jetpack. And in my mind I&#8217;m like, Jetpack, this is a doozy.</p>\n\n\n\n<p>But, you know, he said, give it some thought, work on your own pace and give me a call back whenever. And so I thought about it for a week and, maybe two weeks, talked to my wife about it. And really it comes down to, I was either going to start my own business again, and try to grind again and strike lightning twice, like GiveWP, and see if I could grow something and eventually sell it in five to seven years, which takes a lot of hard effort, sacrifice, money. A lot of your own money, and almost no guarantee. And the WordPress marketplace has changed so much that it&#8217;s not immediate impact right away, and you&#8217;re really out on your own.</p>\n\n\n\n<p>It worked well once, but I was in my early thirties, just turning 30, and now I&#8217;m 40. So life&#8217;s changed quite a bit for me. And Jetpack, it is a very divisive product, we can get more into that in the future, but really it came down to having that impact. Being at Automattic, a company that I&#8217;ve respected since I came into WordPress, and always wanted to go behind the scenes and work as an Automattician, so going full circle from where my career began to the opportunity and the challenge.</p>\n\n\n\n<p>If I succeed at this, it can really open some other doors at Automattic. I&#8217;m head of this product, which touches almost everything on Automattic as far as the WordPress business goes. I just thought about it long and hard, talked to Matt about it, and made sure I would have the levers for success also. And that&#8217;s what made me choose to say yes and come aboard.</p>\n\n\n\n<p>[00:08:08] <strong>Nathan Wrigley:</strong> It is kind of curious because if you just discount all of the stuff you just said about, you know, wanting to fight and build your own product up, I can well imagine how grinding that can be, and there&#8217;s no guarantee of success. It could be a real failure.</p>\n\n\n\n<p>But stepping into a huge product, I&#8217;m going to put my neck out on the line a little bit here and say, I actually can&#8217;t think of a product or a plugin, let&#8217;s go with that, in the WordPress space that tries to cover as many bases. Covered by any organisation, whether that&#8217;s a third party development team or what have you, I can&#8217;t think of one named product that tries to cover as many bases.</p>\n\n\n\n<p>And the fact that it&#8217;s divisive and I&#8217;m sure you&#8217;ll get into this, but there&#8217;s lots of room for improvement, I&#8217;m sure you&#8217;ll agree. You are walking into something exactly as you say, where there is a chance of great success here. If you pull this off, and you pull the right levers, and in six months time, a year&#8217;s time, two years time, the arc is going in the right direction, there&#8217;ll be measurable success. So really interesting.</p>\n\n\n\n<p>So what was the bit, when you had that, oh, moment, what was the bit about Jetpack which made you think long and hard about it over two weeks, as opposed to immediately saying, yeah, I&#8217;ll do it? There must have bits about the project, Jetpack as a plugin, whatever it may be. What were the bits that concerned you?</p>\n\n\n\n<p>[00:09:18] <strong>Devin Walker:</strong> Well, I&#8217;ve used it over the years on and off. I wouldn&#8217;t call myself a power user at all, but I come from the community, 15 years of being in the community. I&#8217;ve gone to, I don&#8217;t even know how many WordCamps and always kept tabs on it, especially when, I don&#8217;t know when it was. I think it was pre 2020, when they did like a bit of marketing push that Jetpack does donations now, accept donations with Jetpack. And it was through Jetpack forms. I didn&#8217;t know that at the time, so I installed Jetpack. I was like, where&#8217;s donations? You&#8217;ve got to find your way through this tangled web. Oh, it&#8217;s part of forms. Okay, let&#8217;s go into forms. Oh, it&#8217;s like a template now and you have to, the connect flow was terrible. The whole flow was not a great experience.</p>\n\n\n\n<p>And the donation form itself, I was like, oh, we have a pretty serious competitor now with Give, we&#8217;ve got to like step our game up. But then I left that, I was like, okay, don&#8217;t worry about it guys, we&#8217;ll be fine now, nobody&#8217;s going to use this. That&#8217;s where that, oh, moment comes from where like, jack of all trades, master of none type of thing.</p>\n\n\n\n<p>[00:10:15] <strong>Nathan Wrigley:</strong> Yeah, I think probably encapsulates it perfectly. It&#8217;s kind of jack of all trades and master of none. So I&#8217;m just going to rattle off some of the things that I know it does. I&#8217;m probably missing quite a lot here. So for example, you know, it does stats, think something like Google Analytics, it will offer that for you. Backups. It will do protection. It will do speed and optimisation things on your website. Social sharing. It will do forms. There&#8217;s VideoPress thrown in there as well. There&#8217;s a whole bunch of stuff that I&#8217;ve missed out there, but it really is encapsulating a lot.</p>\n\n\n\n<p>And the jack of all trades, master of none, bit kind of fits because when Jetpack came out, I&#8217;m imagining it was a really, it was probably at the forefront of many of those things. The things that it did, it probably did as well as everybody else. But now, 10, 15, whatever years later, there&#8217;s now been real amazing products delivered by third party developers that have become the standard of forms, of backups, of speed and optimisation services and what have you. And so Jetpack now has to kind of compare itself to the very, very best. And I think that&#8217;s hard. You know, for one plugin to try and be the best at everything. Nigh on impossible, I would imagine.</p>\n\n\n\n<p>[00:11:16] <strong>Devin Walker:</strong> You&#8217;re right. Like, we can&#8217;t compete. I&#8217;ve been preaching focus for the last, since 2016 when our mentors said, what the heck are you doing all these other plugins? Sell them off or sunset them and only focus on Give. And that&#8217;s when our business started taking off. Now, what I&#8217;m trying to do is bring focus back into Jetpack.</p>\n\n\n\n<p>We do some things very well, and we need to make sure that, I&#8217;m not going to say we&#8217;re going to compete on the level of a Gravity Forms for our form solution. It&#8217;s going to come very close. And for 98% of the users out there that need forms on their website, I think it&#8217;ll fulfill that need.</p>\n\n\n\n<p>For that special 2% that need like calculation fields, they need super customised form capabilities, then it might not get to that level. But we really want Jetpack to be your go-to solution so that you can have these products work well together as well.</p>\n\n\n\n<p>It&#8217;s very generous too, the free version. You get a free CDN, you get VideoPress for free, and bringing people in the door and showing them that. Some folks are seeing the light of that, of what it can actually do and do pretty well. But for instance, like SEO. Yeah, Jetpack does SEO, but it&#8217;s the most rudimentary, basic version. I want to make that a bit better there. But also things that it doesn&#8217;t do well. Either get rid of those, if they&#8217;re just going to sit on a shelf and grow with age, what&#8217;s the point of it?</p>\n\n\n\n<p>So yeah, a lot of realignment with that and understanding that teams that are fully focused on one specific part of what Jetpack does, it&#8217;s really hard for us to compete with that.</p>\n\n\n\n<p>[00:12:46] <strong>Nathan Wrigley:</strong> Do you envisage a future for Jetpack now that you are at the helm, if you like ? And I don&#8217;t know how the structure of the people that are working on Jetpack works. In other words, do you have a forms dedicated crew where you&#8217;ve got, I don&#8217;t know, a bunch of people who just work on forms? You&#8217;ve got a bunch of people working on VideoPress and VaultPress and all of these different bits and pieces. Or is it, you work with Jetpack and you kind of move from team to team? I&#8217;m just curious as to what it looks like inside of Automattic and the different bits that make up Jetpack.</p>\n\n\n\n<p>[00:13:14] <strong>Devin Walker:</strong> Yeah, so this is really an interesting time at Automattic, where they&#8217;re going from that functional organisation where it&#8217;s product focus. Where Jetpack did, a year ago, have a dedicated development team, designer team, and the person that was in my role before, it was just like a classic company structure in a way, within Automattic.</p>\n\n\n\n<p>Now it&#8217;s shifting to more of a matrix organisation where there&#8217;s one architecture team. They handle .com, they handle Jetpack, they handle a bunch of other products like WooCommerce within that. And the designers as a product are outside of that.</p>\n\n\n\n<p>And so what that means is we, as the product team, we have a shared roadmap where, if you ever use .com, a lot of what brings that special sauce to it, what makes it unique outside of the self installed WordPress is Jetpack. So for instance, forms is getting a massive upgrade. And the 15.2 that just came out, it has quite a big upgrade. 15.3, we&#8217;re going to have even more. So there&#8217;s a dedicated team right now that&#8217;s, some of the best engineers, I&#8217;ve been really blown away with the level of engineering at Automattic, are working on bringing forms up. And I&#8217;m leading that initiative, putting myself into that place where I can then shape forms in the future.</p>\n\n\n\n<p>But that does mean that some other elements of Jetpack aren&#8217;t getting taken care of right now. AI&#8217;s going to become a big thing. We have to pick and choose based on our resources, what are the most important things for our shared initiative? But what that means is they work better together. I think you&#8217;re going to see in the future a lot more benefit of running WooCommerce and Jetpack together.</p>\n\n\n\n<p>Now, we&#8217;re not going to force you to log into wordpress.com to use WooCommerce, but to get some of that benefit, you will need to OAuth in to using Jetpack. And that is a requirement, because a lot of the Jetpack, what you get for free and the secret sauce is based on our cloud servers. You basically are starting to use our infrastructure for free. And Automattic is huge on privacy. And so I don&#8217;t quite understand that whole conflict of folks that don&#8217;t like that. There&#8217;s just some people out there that will never really like Automattic and they will not OAuth in or double sign in to use Jetpack, you know what I mean?</p>\n\n\n\n<p>[00:15:29] <strong>Nathan Wrigley:</strong> Yeah, it&#8217;s kind of curious. So if I&#8217;m parsing it right, it sounds like what you were saying was that in a recent restructuring of Automattic and over the last 18 months or so, I think there&#8217;s been a lot of that. It sounds like Jetpack is more of an amorphous thing. It&#8217;s not like these particular people are dedicated to Jetpack Forms and these ones are for VaultPress or whatever it may be. It&#8217;s more liquid than that. We&#8217;re going to do a dedicated sprint on Forms, for example. It sounds like that&#8217;s getting an update. So probably has had people on the seats having a look at that.</p>\n\n\n\n<p>And then once that&#8217;s put away and tidied up, then move to something else. But also, I guess an interesting thing that you mentioned there is that because it&#8217;s in this wider organisation of which WooCommerce, it&#8217;s pretty big, that you can also communicate with those folks. So there may be some overlap between what Forms can do in Jetpack and something that you might wish to do with WooCommerce, those kind of things.</p>\n\n\n\n<p>So have I got that right? It&#8217;s not like dedicated people doing dedicated products within Jetpack, it&#8217;s much more liquid and amorphous than that.</p>\n\n\n\n<p>[00:16:23] <strong>Devin Walker:</strong> Absolutely. Rather than having silos we have one large organisation that works better together. And our vision is really that all the WordPress products should be very similar to Apple and how when you&#8217;re using iOS or MacOS, there&#8217;s a lot of similar fields and they work well together and they tag team off of each other.</p>\n\n\n\n<p>And prior to this reorg, that wasn&#8217;t happening so much. And we experienced this at Stellar as well. They purchased a bunch of plugins, brought them all in, the vision was for them to all work well together. We went from functional organisation to this matrix type of organisation. And so this isn&#8217;t my first rodeo doing it, I know it can work. But it does take a concerted effort, and it&#8217;s still ongoing right now. It hasn&#8217;t been 18 months, it&#8217;s been like six months. And we&#8217;re still trying to figure things out. So me stepping in at this time, I&#8217;m really trying to figure it out.</p>\n\n\n\n<p>I have a blog post called, or a P2 post called Connecting the Dots, where I&#8217;m just trying to find which experts and which products on Jetpack they know better. I&#8217;ve been having so many one-on-ones just to try to get to know these folks, understand their history with Jetpack and put it in this kind of glossary of what I have here, and keep that updated as my time progresses here.</p>\n\n\n\n<p>[00:17:35] <strong>Nathan Wrigley:</strong> It is kind of hard to get a grip on what Jetpack is. Because it&#8217;s trying to do all these different things, I think it is quite hard for people to understand what they&#8217;re installing. So they install Jetpack, okay, I&#8217;ve heard that Jetpack&#8217;s a thing, I&#8217;ll go and install it. There&#8217;s loads of free stuff available. And then all of a sudden there&#8217;s bits which do work, there are bits which you can extend and upgrade and, you know, you might have to log in with .com to make that bit combine with this bit.</p>\n\n\n\n<p>And then there are bits where, you know, it feels like the classic themes work well in some areas, and then if you&#8217;ve got a block-based theme, other things don&#8217;t work quite so well. I&#8217;m thinking like social sharing and things like that. And it&#8217;s bit of a, mess is the wrong word, but it&#8217;s incredibly confusing, I think, to a novice user. And so I&#8217;m, I&#8217;m going to put words into your mouth, I&#8217;m guessing this is one of the challenges that you are going to try and tackle to take that confusion away. Because, I don&#8217;t know, it doesn&#8217;t matter how many times I log into Jetpack, there&#8217;s always a bit of a surprise. Oh, okay, it works that way. That&#8217;s curious. I wasn&#8217;t expecting it to do that. And I&#8217;ve been doing this for absolutely ages, and I&#8217;m still surprised by the way things work.</p>\n\n\n\n<p>[00:18:33] <strong>Devin Walker:</strong> You&#8217;re not alone. So one of the things that Matt&#8217;s been saying since I&#8217;ve come on board is we don&#8217;t really need to build much more new things. We need to focus and improve what&#8217;s already there, especially in Jetpack and .com. And simplifying it and making it make more sense to the end users. And Jetpack is a prime candidate for a really fresh look at how that can happen.</p>\n\n\n\n<p>We&#8217;ve been doing exercises as the product team for a framework called Jobs to Be Done. You put yourself in the shoes of that customer and you experience it through fresh eyes, based on what they are looking to get out of it.</p>\n\n\n\n<p>For instance, the classic, I guess, analogy is, folks don&#8217;t, they don&#8217;t want a quarter inch drill bit, they want a quarter inch hole, and that&#8217;s just the tool they use to get that quarter inch.</p>\n\n\n\n<p>And it&#8217;s the same thing with Jetpack or any other software product, and it&#8217;s a reforming in thinking. It&#8217;s only my fifth week here, but it&#8217;s been really a refreshing way to think about how we build product, and how I can then work with the designers to then smooth out those wrinkles of which there are many.</p>\n\n\n\n<p>[00:19:40] <strong>Nathan Wrigley:</strong> Yeah, it&#8217;s kind of interesting that you say that, because pretty much everything that Jetpack has, well, there&#8217;s one notable exception, which is of course AI, which we&#8217;ll come to in a minute. But more or less everything that&#8217;s in Jetpack has been available in some form or other for a decade or more. You know, forms is, it&#8217;s not a new thing. There&#8217;s some interesting ideas that people have come up with that maybe we&#8217;d want to integrate, but backups, it&#8217;s not a new thing.</p>\n\n\n\n<p>So the idea of not having new, well, features is probably the wrong word, but not having a new product and just finessing what you&#8217;ve already got, I think that would be music to any subscriber to Jetpack. One of the paid plans that you got, I think they would absolutely love that. Just finesse what you&#8217;ve already got. We&#8217;ve already got this thing, we know what we&#8217;ve got, we know how it works, but finesse it, give us a few more features here and there in the bit, like for example, forms or what have you. That seems like music to my ears.</p>\n\n\n\n<p>But I&#8217;ve said it. The cat is out the bag in this episode now, AI. AI is smuggled into Jetpack in the most, it&#8217;s kind of hidden. It&#8217;s almost entirely hidden, and yet incredibly profound. I don&#8217;t know if, dear listener, you&#8217;ve experienced Jetpack and it&#8217;s AI features, but if you switch it on and you just go, I don&#8217;t know, make a blog post or something like that, when you go to publish, it will just helpfully write your excerpt and your featured image, it will create that for you on the fly. It all happens in the background. It&#8217;s really incredible. How did that get under the radar? And is that going to be a big feature?</p>\n\n\n\n<p>[00:21:02] <strong>Devin Walker:</strong> That is going to be a huge feature. I just came back from New York with our AI engineering team led by James LaPage, who&#8217;s one of the brightest, young stars, I want to say, in WordPress. And he&#8217;s one of the reasons that I&#8217;m so excited for what AI can become with Jetpack, and where it&#8217;s going to go from here. It&#8217;s really great that you are already like what&#8217;s there? But that&#8217;s just scratching the surface from what we&#8217;re going to be doing in the near future.</p>\n\n\n\n<p>We&#8217;ve got quite a large team working on this. This is a 50 plus engineering team. It&#8217;s a huge focus of Automattic. And Jetpack&#8217;s the way we&#8217;re going to bring a lot of what we&#8217;re bringing to .com to self-hosted users. And it&#8217;s not going to cost you really much at all and it&#8217;s gonna be done in the WordPress way.</p>\n\n\n\n<p>Right now it tries to be your content companion, is kind of how I call it, but it&#8217;s going to do that a lot better, and it&#8217;s going to reach outside of the post editor and do a lot more helpful items for you in the WP admin. And not only in the WP admin, also provide some tools for you in the future for your visitors and how you can convert them, how you can get them to sign up on your newsletter, or you can get them to ask presales questions, or fill out forms or what have you. It&#8217;ll be very moldable and shapeable.</p>\n\n\n\n<p>So I delightfully was at several demo presentations at this meetup where I was just blown away. Sat down with Matias, James, a lot of the key stakeholders and players here at .com on how and when we can start bringing this into Jetpack.</p>\n\n\n\n<p>And what&#8217;s there right now is good. It&#8217;s almost going to be entirely rewritten and thrown away for what the foundation now is going to become. And so that&#8217;s one of the more exciting, more immediate, roadmap items that I&#8217;ll be really working on the next 8 to 12 months. You&#8217;ll see a huge change.</p>\n\n\n\n<p>[00:22:54] <strong>Nathan Wrigley:</strong> I feel like at the moment the AI implementation in Jetpack is about content, the content that you&#8217;re creating right at this moment. We&#8217;re creating, I don&#8217;t know, SEO fields and we&#8217;re creating excerpts and things like that and featured images and what have you. But if you haven&#8217;t had a play, again, I&#8217;ll link this in the show notes, Automattic&#8217;s Telex, which is the capability to, you write a simple prompt and it will create a block for you. I feel that something like Jetpack with something like Telex, just hidden in the sidebar of a WordPress blog post would be really kind of interesting. You know, the idea that, I need a block for this.</p>\n\n\n\n<p>[00:23:26] <strong>Devin Walker:</strong> Are you reading my DMs? Because, exactly. You&#8217;ve already sort of got a crystal ball right there. And with Telex, that&#8217;s a huge opportunity for site building, for imagining anything that WordPress could be, and having it created there.</p>\n\n\n\n<p>Right now it&#8217;s great. It creates separate plugins, you can download and install them, you can&#8217;t sync them per site. It&#8217;s kind of annoying how there&#8217;s all these plugins there. There&#8217;s not much management updating over time. Jetpack can be that bridge for you, and that&#8217;s really an exciting future where it needs to go.</p>\n\n\n\n<p>[00:23:57] <strong>Nathan Wrigley:</strong> Yeah, because at the moment, if you are an inexperienced WordPress user, if you&#8217;re not technical, let&#8217;s put it that way, then you are constrained entirely by what&#8217;s there or what the developer has built for you or the range of plugins that you&#8217;ve installed. And I feel like in the near future, you reach that point of frustration and you suddenly realise that, oh, there is no block that does that thing. Well, why don&#8217;t I just make one?</p>\n\n\n\n<p>And you&#8217;ll write a small prompt, I don&#8217;t know, I need a real estate block, or I don&#8217;t know, I need a block because it&#8217;s coming up to Christmas. I need a block which is going to show snowflakes falling on this particular post. Please don&#8217;t do this by the way, but you get the point. I&#8217;m just going to go ahead and make it, and it&#8217;ll be this entirely disposable thing. And when I&#8217;m finished with it, I&#8217;ll probably just throw it in the trash or maybe keep it until next year.</p>\n\n\n\n<p>But the point is, your WordPress becomes like this, how to describe it, it&#8217;s almost like the scaffolding for an infinite arrangement of possibilities. Whereas before, WordPress felt a bit like a box. If it wasn&#8217;t in the box, it couldn&#8217;t be done. But now the box got opened and there&#8217;s all this scaffolding everywhere and it can do a million more things. And as Matt Mullenweg said, you know, it&#8217;s becoming like the OS for the web or something like that.</p>\n\n\n\n<p>And the fact that AI is binding to the abilities inside of WordPress, so with the Abilities API and things like that, it knows everything that your WordPress website can do. You know, create users, create posts, delete posts, all of these kind of things. And Jetpack seems really aligned to doing that. I don&#8217;t know how it would fit into the bigger Jetpack picture, but, yeah, interesting.</p>\n\n\n\n<p>[00:25:27] <strong>Devin Walker:</strong> Yeah, well, I think AI can be the glue that binds a lot of these individual products together and really paint the picture on how they work well together, and work within your WordPress Core to make it the Jetpack that is supercharged, right? I mean the WordPress that has a Jetpack strapped to it.</p>\n\n\n\n<p>There is a great number of, kind of mission statements and taglines over the years for Jetpack. None of which I think have been fully fulfilled. So I really want to revisit that, revise that, and you&#8217;ll see a lot of updates coming to the website soon, soon-ish. Telling and bringing people along this journey.</p>\n\n\n\n<p>If you look at the website and a lot of the marketing right now, it&#8217;s kind of on idle. So that&#8217;s another big part of what I&#8217;m being focused on, and that will help change the perception in the community and outside of it, of what Jetpack is and what it can do for you is, pulling up the curtain, if you will, on all the cool stuff we&#8217;re doing here.</p>\n\n\n\n<p>You could read P2s all day here and many of them are so impressive and I feel like a lot of them should be public. There&#8217;s so much good content here that is really impressive. For somebody like me who&#8217;s been in the community for 15 years, like, oh my gosh, we have the best engineers, the best designers, and it&#8217;s all in this P2. Like, let&#8217;s get some of this published.</p>\n\n\n\n<p>[00:26:42] <strong>Nathan Wrigley:</strong> Yeah, well, that&#8217;s curious. So I was reading your mind a minute ago, you&#8217;ve just read my mind, because the next little bit was going to be all about marketing. Because it doesn&#8217;t matter, with the best will in the world, the best product in the world will probably fail, if not marketed correctly.</p>\n\n\n\n<p>And it feels as if, when Jetpack began, because it was kind of the thing, a long, long time ago it was the thing, it had that success kind of built into it. You know, it was an Automattic thing, it was a WordPress thing, it became popular because it did so many things that nothing else could do.</p>\n\n\n\n<p>Fast forward till today, it feels like the wheels have come off the marketing a little bit, or the train has completely pulled into the station and not moving at all. You know, I can&#8217;t remember the last time I saw something engaging, like a YouTube video or somebody experimenting on their YouTube channel with a Jetpack thing.</p>\n\n\n\n<p>Whereas with third party plugins, it&#8217;s happening all the time, you know? And so it feels like that&#8217;s going to be a very big part of where you are, you know, you&#8217;ll build hopefully some amazing things, but then trying to turn the tide and get people to be engaged and interested and see the utility of it. I&#8217;m guessing that&#8217;s going to be a part of the job which is separate to the technological part.</p>\n\n\n\n<p>[00:27:46] <strong>Devin Walker:</strong> It will, absolutely. I think for quite some time it was almost build it and they will come here. And for many, many years they did come. And now it&#8217;s harder because the marketplace has expanded quite a bit. There&#8217;s a lot of other folks out there doing really cool things with WordPress and have a lot more focused marketing efforts behind them.</p>\n\n\n\n<p>I mean, point and case was GiveWP, we were just, people weren&#8217;t turning to Woo or Gravity Forms because we made it that it was the number one solution you had to go do it. We just hammered that point through WordCamps, through videos, through podcasts, whatever it was, that was our mission.</p>\n\n\n\n<p>And for Jetpack, we really need to refocus on that and do that a lot more. It&#8217;s very engineering led organisation. I think marketing to some point is built into their roles and they&#8217;re not doing that part as much as I would like.</p>\n\n\n\n<p>And on another aspect, I think we definitely just need more marketers. I&#8217;m not going to say the exact numbers, but it was a surprisingly low number of marketers to the size of the organisation when I came in. I&#8217;m used to a much better ratio.</p>\n\n\n\n<p>So I&#8217;m going to be hammering that point a little bit more home as I get through the door, but it&#8217;s something that I&#8217;ve mentioned a bit already in my 5 weeks here.</p>\n\n\n\n<p>[00:29:02] <strong>Nathan Wrigley:</strong> I don&#8217;t know what the install base is specifically. It&#8217;s a lot, right? Jetpack has a lot of installs and so presumably you&#8217;ve.</p>\n\n\n\n<p>[00:29:08] <strong>Devin Walker:</strong> The core is 4 million.</p>\n\n\n\n<p>[00:29:09] <strong>Nathan Wrigley:</strong> 4 million. Okay, so, wow, gosh. So presumably that means anything that you do do, you&#8217;ve really got to tread carefully. So for a start, you can&#8217;t break things. You can&#8217;t just ship a brand new UI in let&#8217;s say the forms aspect of it overnight. And I presume that&#8217;s kind of like a bit of a noose around your neck in that, you know, you want to move fast and break things in some respects, but with 4 million installs, which is really right at the very top in the WordPress ecosystem, that&#8217;s big, big numbers. You are going to constrained in what you can do and how fast you can move things and how quickly you can break things.</p>\n\n\n\n<p>[00:29:40] <strong>Devin Walker:</strong> Somewhat. Somewhat I agree with that. Right now we are on a monthly release cycle and there&#8217;s definitely a lot of caution around that. And Jetpack touches a lot of .com too, so there&#8217;s that extra added user base, which is humongous. So there is that bit of treading carefully.</p>\n\n\n\n<p>But I want to balance that with being aggressive. We just shipped, prior to me coming on board, a new onboarding for getting connected. It&#8217;s just through the connection segment, getting connected to .com, and that really had positive results and saw an uptick in connected successful sites. I think we can take that to the next level and explain what Jetpack is, what they need it for, and really optimise it for the best use case based on what that particular site wants or needs.</p>\n\n\n\n<p>Going beyond onboarding is then getting into the product UI itself, making the navigation much more clear and understandable.</p>\n\n\n\n<p>You know, there&#8217;s three different areas in Jetpack right now where you can toggle on and off different modules or products.</p>\n\n\n\n<p>[00:30:39] <strong>Nathan Wrigley:</strong> Oh, I&#8217;ve discovered many them.</p>\n\n\n\n<p>[00:30:41] <strong>Devin Walker:</strong> Yeah. So I think we need to consolidate that at least. And there&#8217;s more Easter eggs. I don&#8217;t even want to call them Easter, I don&#8217;t know what you&#8217;d call that, but interesting quirks that we can clean up.</p>\n\n\n\n<p>And for the most part I think we do have to be a bit careful because it&#8217;s such a massive user base. Breaking things, just look at some of the Jetpack reviews. Breaking them and lack of support. Those are the two main cause of one star reviews. And with that many, I really want to get that review base above 4.0 stars. But with 3000 or whatever reviews it is, it takes a long shift to get that. And we&#8217;re not going to do that by continually breaking things, so it&#8217;s a balance.</p>\n\n\n\n<p>[00:31:19] <strong>Nathan Wrigley:</strong> It&#8217;s kind of interesting that me, a relatively inexperienced user of Jetpack, I was able to discover many of the quirks that you&#8217;ve just mentioned almost immediately. You know, just being curious. And I&#8217;m the kind of person that when I download anything, I go and look at every single menu item and kind of think, well, what does that do? How would that work? It really didn&#8217;t take me long to discover, well, hang on, that is somewhere else. If I engage that, does that mean it conflicts with this thing over here?</p>\n\n\n\n<p>And I saw this over and over again. And so I think that, as you imagine, would be some of the very, very brilliant low hanging fruit. To just have a UI which does, you know, there&#8217;s one place for one thing, it works as expected that you don&#8217;t, I&#8217;m sure you know where I&#8217;m going with this, basically, just simplify things, make it elegant in the same way that we&#8217;ve seen with so many third party plugins.</p>\n\n\n\n<p>Because at the moment it kind of feels like a whole range of different things that have been slammed together and forcefully told to get along with each other, as opposed to like a happy family that, just everything works and everybody&#8217;s happy and there&#8217;s bliss and rainbows everywhere. It feels a little bit like that, if you know what I mean?</p>\n\n\n\n<p>[00:32:21] <strong>Devin Walker:</strong> Oh, I completely agree. I think we used in the pre-show and it&#8217;s a bit of a Frankenstein. We need to change it from that. If I had a nickel for every toggle in Jetpack, I don&#8217;t know if I&#8217;d need to work anymore. There are quite a few toggle on, toggle offs in just a row. You can imagine how this interface could be much more elegantly put together.</p>\n\n\n\n<p>And we&#8217;re going to use user feedback for a lot of this and ask, hey, what do you guys think of this? Because we can&#8217;t do it successfully in a bubble.</p>\n\n\n\n<p>[00:32:52] <strong>Nathan Wrigley:</strong> Well, and the other thing is, given the perfect UI, it does so much stuff. If you just had Jetpack, if you had a vanilla version of WordPress and you installed Jetpack and everything was easy to navigate and worked as expected first time and maybe there was no dependency on having a .com account or what have you. It does all the things. It would take you from like zero success to broadly speaking, okay, you&#8217;ve got a credible website. Maybe there&#8217;s going to be some interesting cases where you want a little bit more SEO finesse or something like that.</p>\n\n\n\n<p>It would get you to the races, you know, it would get you to put your horse in the race and have a good go. And there&#8217;s not much like that out there. There really is nothing that I can think of in the WordPress space. But it&#8217;s a leviathan and it&#8217;s got many heads. We need it just to have the one head, I think.</p>\n\n\n\n<p>[00:33:35] <strong>Devin Walker:</strong> Very much so, and that&#8217;s the challenge that I&#8217;m in here to work with this entire team and put a lot of thought behind it.</p>\n\n\n\n<p>[00:33:44] <strong>Nathan Wrigley:</strong> Okay, so it&#8217;s all on you. So if Jetpack is a success in two years time, we know who to thank for that. And it does genuinely seem, for somebody with your obvious interest and capabilities, it does seem really, really enjoyable. I&#8217;m sure it&#8217;ll keep you awake, but an enjoyable challenge. Something that you get your teeth into. Something where the success can be measured fairly quickly. You know, does the discontent diminish? Does the UI improve? Tick, tick, tick. We did a good job.</p>\n\n\n\n<p>And also, there&#8217;s loads of room for improvement. So you&#8217;ve entered on a, you&#8217;ve definitely got yourself into a position where you&#8217;ve taken on a project where the improvements are evident everywhere. I hope that you managed to grab hold of them and wrestle this to the ground.</p>\n\n\n\n<p>[00:34:21] <strong>Devin Walker:</strong> Well, I really appreciate that, Nathan, and why don&#8217;t we have a check in in 12 months and see where we&#8217;re at on this journey. I think that would be a good way to keep us honest, follow along in this journey along the way, we&#8217;ll see how far we&#8217;ve gotten.</p>\n\n\n\n<p>[00:34:35] <strong>Nathan Wrigley:</strong> Okay, well, for now then, go and install Jetpack. If you&#8217;re listening to this, we&#8217;ll be back in 12 months time, so go and have a play with Jetpack as it is now and see.</p>\n\n\n\n<p>It sounds to me that Devin is like all ears. If you&#8217;ve got some quirks and you found something that&#8217;s curious or unexpected or dissatisfying or just downright annoying, where do we get in touch with you? Oh, also, I suspect Devin&#8217;s more than happy to receive positive commentary as well.</p>\n\n\n\n<p>[00:35:01] <strong>Devin Walker:</strong> Yeah, I mean the positive stuff&#8217;s great too. Right now feedback@jetpack.com is a good place, but we&#8217;re going to make this a lot more public in the near future. You can also just tweet at me @innerwebs, I-N-N-E-R-W-E-B-S, or go to my website devin.org. But jetpack.com, jetpack.com/feedback is also a great place. So that&#8217;s a bit about me and where you can find the Jetpack information.</p>\n\n\n\n<p>[00:35:27] <strong>Nathan Wrigley:</strong> Okay, thank you. So definitely a challenge out in the public for Devin to get his teeth into WordPress&#8217; Jetpack, and see if he can figure it out and make it better. Let&#8217;s check back in 12 months time and see how we&#8217;re going. Devin Walker, thanks for chatting to me today.</p>\n\n\n\n<p>[00:35:38] <strong>Devin Walker:</strong> Thank you.</p>\n</div></details>\n\n\n\n<p>On the podcast today we have <a href=\"https://devin.org\">Devin Walker</a>.</p>\n\n\n\n<p>Devin’s journey in the WordPress ecosystem spans many years, with experience in development, design, marketing, and customer support. He’s best known as the co-founder of GiveWP, which he built and scaled before it was acquired. During his time there, he touched a variety of prominent WordPress brands including iThemes, Kadence, LearnDash, and The Events Calendar.</p>\n\n\n\n<p>Today, Devin is starting a new role leading the Jetpack suite of services at Automattic. It’s a position with hefty responsibilities as Jetpack powers millions of WordPress sites, and integrates deeply across Automattic’s product portfolio.</p>\n\n\n\n<p>I talk with Devin about why he took on this challenge, the divisiveness and complexity surrounding Jetpack, and his vision for refocusing the plugin and simplifying its user experience.</p>\n\n\n\n<p>We start by hearing about Devin’s extensive WordPress background and the choices he weighed up when deciding to join Automattic. The conversation quickly moves to the scope of Jetpack, its evolution, the struggle to be a “jack of all trades, master of none”, and the recent efforts to bring greater focus and polish to key features like forms and SEO.</p>\n\n\n\n<p>Devin gets into the organisational changes at Automattic, how Jetpack’s development teams now collaborate more fluidly with other product teams (such as WooCommerce), and the balancing act of shipping improvements to a 4 million strong user base without breaking things.</p>\n\n\n\n<p>AI emerges as a massive new frontier, and Devin shares behind-the-scenes insights into Jetpack’s current and future AI capabilities, giving us a glimpse at content creation, block-building, and how AI might reshape user and developer expectations in WordPress.</p>\n\n\n\n<p>Throughout, we hear about Devin’s approach to product marketing (and the need for more of it), the importance of listening to user feedback, and his plans for a more coherent and compelling Jetpack experience.</p>\n\n\n\n<p>If you’re a WordPress user wondering where Jetpack is headed, what’s working, or how AI fits into the future of site building, this episode is for you.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Useful links</h2>\n\n\n\n<p><a href=\"https://jetpack.com\">Jetpack</a></p>\n\n\n\n<p><a href=\"https://jetpack.com/submit-feedback/\">Jetpack feedback form</a></p>\n\n\n\n<p><a href=\"https://givewp.com\">GiveWP</a></p>\n\n\n\n<p><a href=\"https://en-gb.wordpress.org/plugins/wp-rollback/\"> WP Rollback</a></p>\n\n\n\n<p><a href=\"https://wordpress.org/news/2025/05/announcing-the-formation-of-the-wordpress-ai-team/\">Automattic AI team announcement post</a></p>\n\n\n\n<p><a href=\"https://telex.automattic.ai\">Telex</a></p>\n\n\n\n<p><a href=\"https://devin.org\">Devin&#8217;s website</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, 19 Nov 2025 15: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:37;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:27:\"Open Channels FM: Open Tabs\";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:33:\"https://openchannels.fm/?p=112264\";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:76:\"https://openchannels.fm/the-everyday-chaos-of-open-tabs-and-browser-battles/\";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:180:\"Bob and Nathan explore the chaos of browser tabs. One hoards thousands, while the other balances life with two. Tune in for witty banter, tech quirks, and questionable life advice.\";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, 19 Nov 2025 11:52:22 +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:38;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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:226:\"HeroPress: From carpentry to digital marketing, this is the story of how WordPress helped me rebuild my life. – De la carpintería al marketing digital, esta es la historia de cómo WordPress me ayudó a reconstruir mi vida.\";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:56:\"https://heropress.com/?post_type=heropress-essays&p=8280\";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:266:\"https://heropress.com/essays/from-carpentry-to-digital-marketing-this-is-the-story-of-how-wordpress-helped-me-rebuild-my-life/#utm_source=rss&utm_medium=rss&utm_campaign=from-carpentry-to-digital-marketing-this-is-the-story-of-how-wordpress-helped-me-rebuild-my-life\";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:13418:\"<img alt=\"Pull quote: I have a new job, new friends, and I could almost say a new family, and it’s all thanks to WordPress.\" class=\"attachment-large size-large wp-post-image\" height=\"512\" src=\"https://heropress.com/wp-content/uploads/2025/11/111825.webp\" width=\"1024\" /><p><a href=\"https://heropress.com/feed/#espanol\">Este ensayo también está disponible en español.</a></p>\n\n\n\n\n\n\n\n\n<section class=\"wp-block-newsletterglue-group\" style=\"padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; margin-top: 0px; margin-bottom: 0px;\">\n<figure class=\"wp-block-audio\"><audio controls=\"controls\" src=\"https://heropress.com/wp-content/uploads/2025/11/HeroPress_English_Version_JosepMoran.mp3\"></audio><figcaption class=\"wp-element-caption\">Here is Josep reading his own story aloud.</figcaption></figure>\n</section>\n\n\n\n\n<h2 class=\"kt-adv-heading8280_0f0037-3f wp-block-kadence-advancedheading\"><strong>My origins</strong></h2>\n\n\n\n<p>I’m Josep, born and raised in <a href=\"https://en.wikipedia.org/wiki/Rocafonda\">Rocafonda</a>, a working-class and humble neighborhood in <a href=\"https://en.wikipedia.org/wiki/Matar%C3%B3\">Mataró</a>.</p>\n\n\n\n<p>I come from a family that has worked with wood lovingly for three generations. Carpentry was always our trade, our way of understanding life and making a living.</p>\n\n\n\n<p>For many years, I worked with wood, shaping it with the same hands and patience I learned at home.</p>\n\n\n\n<p>At the same time, my curiosity led me down other paths: interior design and technical drawing as a draftsman, where I discovered the joy of imagining spaces before building them.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-turning-point\"><strong>The turning point</strong></h2>\n\n\n\n<p>Everything changed during the COVID-19 pandemic when my heart decided to stop beating properly. A genetically inherited heart condition forced me to stop completely and look at life from a new perspective.</p>\n\n\n\n<p>Suddenly, everything I took for granted; health, routines, the simple act of making plans disappeared, just as my life almost did.</p>\n\n\n\n<p>But it didn’t.</p>\n\n\n\n<p>I pulled through. With after-effects, yes, but with an incredible desire to live.<br />Out of that will to live came the decision to reinvent myself and study while recovering.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-new-life-new-goals\"><strong>New life, new goals</strong></h2>\n\n\n\n<p>There were twenty-six months of rehabilitation, relapses, and searching for an effective treatment.<br /><br />Yet, amid all that chaos, I managed to step back and turn my skills into a new opportunity.<br /><br />I studied Content Marketing and discovered a well-known secret for many, but something completely new for a carpenter from a neighborhood in Mataró.</p>\n\n\n\n<p>WordPress.<br /><br />And with it, its community.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-metamorphosis\"><strong>Metamorphosis</strong></h2>\n\n\n\n<p>And then… everything changed.</p>\n\n\n\n<p>I discovered WordPress through my marketing studies, and thanks to our beloved CMS, I created my first blog. I keep the logo and some of my early posts, remnants of a time when I was learning to tell stories and give shape to ideas.</p>\n\n\n\n<p>In May 2023, I volunteered for my first WordCamp in Barcelona. The experience opened my eyes to a new universe full of generous, passionate people eager to share.</p>\n\n\n\n<p>I quickly connected with the community and joined the Mentorship Program, a global initiative from the Community Team. I was one of the first eleven mentees in the world. For me, it was a dream come true.</p>\n\n\n\n<p>Shortly afterward, I began combining my increasingly active contributions with the same program, but this time as a mentor. I had received so much from the community that my gratitude pushed me to give back that knowledge and share those values with anyone willing to listen.</p>\n\n\n\n<p>I continued collaborating as a volunteer, speaker, and documentation table participant at <a href=\"https://europe.wordcamp.org/2024/\">WordCamp Europe Torino</a> 2024. It was a step forward in every sense from learning to teaching, from receiving to contributing.</p>\n\n\n\n<p>I began managing the Spain Handbook documentation alongside my mentors <strong><a href=\"https://profiles.wordpress.org/javiercasares/\">Javier Casares</a></strong> and <strong><a href=\"https://profiles.wordpress.org/glycymeris/\">Jesús Yesares</a></strong>. Together, we laid the foundations for a project that, like everything in WordPress, is built with patience and community.</p>\n\n\n\n<p>I also joined the global documentation team for WordPress version 6.6, “Dorsey.”</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-rising-from-my-ashes\"><strong>Rising from my ashes</strong></h2>\n\n\n\n<p>Thanks to WordPress and its community, I grew as a person and as a professional in a new discipline as competitive as it is exciting and alive.</p>\n\n\n\n<p>They supported me through the hardest moments and helped me rise again, like a phoenix from the ashes.</p>\n\n\n\n<p>At the end of 2023, through the <strong><a href=\"https://wordpress.org/five-for-the-future/\">Five for the Future</a></strong> initiative, <strong><a href=\"https://wetopi.com/\">Wetopi</a></strong>, a high-performance managed hosting company that exclusively hosts WordPress sites, placed its trust in a newcomer to the industry and offered me a full-time position where I could unleash all the creativity I had inside.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-present-and-future\"><strong>Present and future</strong></h2>\n\n\n\n<p>If there’s one thing I learned during my illness, it’s to enjoy the moment and not worry so much about the future.</p>\n\n\n\n<p>That’s my focus now, the present, always grateful to all those who helped me become who I am today, in 2025.</p>\n\n\n\n<p>I have a new job, new friends, and I could almost say a new family, and it’s all thanks to WordPress.</p>\n\n\n\n<p>Many people tell me that if I weren’t so resilient, persistent, and determined, I wouldn’t have achieved any of this.</p>\n\n\n\n<p>I simply smile and think that all those qualities were brought to light one day by <strong><a href=\"https://heropress.com/contributors/hari-shanker/\">Hari Shanker</a></strong>, during the <strong><a href=\"https://make.wordpress.org/community/handbook/contributor-day/contributor-working-group/contributor-mentorship-program-for-wordpress/\">Mentorship Program</a></strong>, together with WordPress and its community.</p>\n\n\n\n<p><strong>Thank you to all of them.</strong></p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<h1 class=\"kt-adv-heading8280_df5daf-9a wp-block-kadence-advancedheading\" id=\"espanol\">De la carpintería al marketing digital, esta es la historia de cómo WordPress me ayudó a reconstruir mi vida.</h1>\n\n\n\n\n<section class=\"wp-block-newsletterglue-group\" style=\"padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; margin-top: 0px; margin-bottom: 0px;\">\n<figure class=\"wp-block-audio\"><audio controls=\"controls\" src=\"https://heropress.com/wp-content/uploads/2025/11/HeroPress_Spanish_Version_JosepMoran.mp3\"></audio><figcaption class=\"wp-element-caption\">Escucha a Josep leer su propia historia en voz alta.</figcaption></figure>\n</section>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-mis-origenes\"><strong>Mis orígenes</strong></h2>\n\n\n\n<p>Soy Josep, nacido y criado en <a href=\"https://en.wikipedia.org/wiki/Rocafonda\">Rocafonda</a>, un barrio trabajador y humilde de <a href=\"https://en.wikipedia.org/wiki/Matar%C3%B3\">Mataró</a>.</p>\n\n\n\n<p>Vengo de una familia que ha trabajado la madera con mimo durante tres generaciones. La carpintería siempre fue nuestro oficio, nuestra forma de entender la vida y de ganárnosla.</p>\n\n\n\n<p>Durante muchos años trabajé la madera, moldeándola con las manos y la paciencia que aprendí en casa.</p>\n\n\n\n<p>Al mismo tiempo, mi curiosidad me llevó por otros caminos: el diseño de interiores y el dibujo técnico como delineante, donde descubrí el placer de imaginar espacios antes de construirlos.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-el-punto-de-inflexion\"><strong>El punto de inflexión</strong></h2>\n\n\n\n<p>Todo cambió en plena pandemia de la COVID-19, cuando mi corazón decidió detener el ritmo.<br />Una enfermedad cardíaca de origen genético me obligó a parar por completo y mirar la vida desde otro lugar.</p>\n\n\n\n<p>De repente, aquello que daba por sentado —la salud, las rutinas, el simple hecho de poder hacer planes— se desvaneció, como casi se desvanece mi vida.</p>\n\n\n\n<p>Pero no.</p>\n\n\n\n<p>Salí adelante. Con secuelas, sí, pero con unas ganas de vivir increíbles.<br />Y fruto de esas ganas decidí reinventarme y estudiar mientras me recuperaba.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-nueva-vida-nuevas-metas\"><strong>Nueva vida, nuevas metas</strong></h2>\n\n\n\n<p>Fueron veintiséis meses entre rehabilitación, recaídas y la búsqueda de un tratamiento eficaz.<br />Pero, entremedio de todo ese caos, supe abstraerme y convertir mis habilidades en una nueva oportunidad.<br />Estudié Marketing de Contenidos y descubrí un secreto a voces para muchos, pero completamente nuevo para un carpintero de un barrio de Mataró.</p>\n\n\n\n<p>WordPress.<br />Y con él, su comunidad.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-metamorfosis\"><strong>Metamorfosis</strong></h2>\n\n\n\n<p>Y entonces… todo cambió.</p>\n\n\n\n<p>Conocí WordPress gracias a mis estudios de marketing y, gracias a nuestro querido CMS, pude crear mi primer blog.<br />Aún conservo el logo y algunos de mis primeros textos, vestigios de una etapa en la que aprendía a contar historias y a dar forma a ideas.</p>\n\n\n\n<p>En mayo de 2023 me ofrecí como voluntario en mi primera WordCamp, en Barcelona. La experiencia me abrió los ojos a un universo nuevo, lleno de personas generosas, apasionadas y con ganas de compartir.</p>\n\n\n\n<p>Rápidamente conecté con la comunidad y accedí al Mentorship Program, un proyecto global del equipo de Comunidad.<br />Fui uno de los primeros once mentees del mundo. Para mí, era un sueño.</p>\n\n\n\n<p>Poco después, pasé a compaginar mis contribuciones, cada vez más activas, con el mismo programa, pero esta vez como mentor.<br />Había recibido mucho de la comunidad, y mi gratitud me empujó a devolver ese conocimiento y a compartir esos valores con todo aquel que quisiera escucharme.</p>\n\n\n\n<p>Seguí colaborando como voluntario, ponente y participante en la mesa de documentación en la <a href=\"https://europe.wordcamp.org/2024/\">WordCamp Europe Torino</a> 2024.<br />Fue un salto de calidad, y también un salto personal: de aprender a enseñar, de recibir a aportar.</p>\n\n\n\n<p>Comencé a gestionar la documentación del Spain Handbook junto a mis mentores <a href=\"https://profiles.wordpress.org/javiercasares/\">Javier Casares</a> y <a href=\"https://profiles.wordpress.org/glycymeris/\">Jesús Yesares</a>.<br />Juntos pusimos las bases de un proyecto que, como todo en WordPress, se construye con paciencia y en comunidad.</p>\n\n\n\n<p>También formé parte del equipo de documentación global para la versión 6.6 de WordPress, “Dorsey”.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-renacer-de-mis-cenizas\"><strong>Renacer de mis cenizas</strong></h2>\n\n\n\n<p>Gracias a WordPress y a su comunidad crecí como persona y como profesional en una nueva disciplina: tan competitiva como apasionante y viva.</p>\n\n\n\n<p>Me sostuvieron durante mis malos momentos e hicieron que resurgiese como si de un ave fénix se tratase.</p>\n\n\n\n<p>A finales de 2023, gracias al proyecto <a href=\"https://wordpress.org/five-for-the-future/\">Five For The Future</a>, <a href=\"https://wetopi.com/\">Wetopi</a> —una empresa de hosting gestionado de altas prestaciones que aloja únicamente sitios web creados con WordPress— confió en un recién llegado al sector y me ofreció un proyecto a tiempo completo donde podía dar rienda suelta a toda la creatividad que llevaba dentro.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-presente-y-futuro\"><strong>Presente y futuro</strong></h2>\n\n\n\n<p>Si algo aprendí en mi época de enfermedad es a disfrutar más el momento y no pensar tanto en el futuro.</p>\n\n\n\n<p>Y en eso me centro: en el presente, agradeciendo siempre a todas aquellas personas que me ayudaron a ser quien soy hoy, en 2025.</p>\n\n\n\n<p>Tengo un nuevo empleo, nuevos amigos, casi puedo decir que una nueva familia, y es todo, todo, gracias a WordPress.</p>\n\n\n\n<p>Mucha gente me dice que, si yo no fuese tan resiliente, resistente y tenaz, no habría conseguido nada.</p>\n\n\n\n<p>Yo simplemente les sonrío y pienso que todas esas cualidades las hizo aflorar un día <a href=\"https://heropress.com/contributors/hari-shanker/\">Hari Shanker</a>, en el <a href=\"https://make.wordpress.org/community/handbook/contributor-day/contributor-working-group/contributor-mentorship-program-for-wordpress/\">Mentorship Program</a>, junto con WordPress y toda su comunidad.<br /><br /><strong>A todos ellos gracias.</strong></p>\n<p>The post <a href=\"https://heropress.com/essays/from-carpentry-to-digital-marketing-this-is-the-story-of-how-wordpress-helped-me-rebuild-my-life/\">From carpentry to digital marketing, this is the story of how WordPress helped me rebuild my life. &#8211; De la carpintería al marketing digital, esta es la historia de cómo WordPress me ayudó a reconstruir mi vida.</a> appeared first on <a href=\"https://heropress.com\">HeroPress</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, 19 Nov 2025 09: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:12:\"Josep Morá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:\"\";}}}}}i:39;a:6:{s:4:\"data\";s:21:\"\n	\n	\n	\n	\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.9 Release Candidate 2\";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=19350\";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:69:\"https://wordpress.org/news/2025/11/wordpress-6-9-release-candidate-2/\";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:10460:\"<p>The second Release Candidate (“RC2”) for WordPress 6.9 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 of WordPress on production or mission-critical websites.</strong> Instead, it’s recommended that you evaluate RC2 on a test server and site.</p>\n\n\n\n<p>Reaching this phase of the release cycle is an important milestone. While release candidates are considered ready for release, testing remains crucial to ensure that everything in WordPress 6.9 is the best it can be.</p>\n\n\n\n<p>You can test WordPress 6.9 RC2 in four ways:</p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Plugin</strong></td><td>Install and activate the <a href=\"https://wordpress.org/plugins/wordpress-beta-tester/\">WordPress Beta Tester</a> plugin on a WordPress install. (Select the “Bleeding edge” channel and “Beta/RC Only” stream).</td></tr><tr><td><strong>Direct Download</strong></td><td>Download the <a href=\"https://wordpress.org/wordpress-6.9-RC2.zip\">RC2 version (zip)</a> and install it on a WordPress website.</td></tr><tr><td><strong>Command Line</strong></td><td>Use the following <a href=\"https://make.wordpress.org/cli/\">WP-CLI</a> command:<br /><code>wp core update --version=6.9-RC2</code></td></tr><tr><td><strong>WordPress Playground</strong></td><td>Use the <a href=\"https://playground.wordpress.net/?php=8.0&amp;wp=beta&amp;networking=no&amp;language=&amp;multisite=no&amp;random=y4q1rn85xn\">6.9 RC2 WordPress Playground instance</a> to test the software directly in your browser without the need for a separate site or setup.</td></tr></tbody></table></figure>\n\n\n\n<p>The scheduled final release date for WordPress 6.9 is <strong>December 2, 2025</strong>. The full <a href=\"https://make.wordpress.org/core/6-9/\">release schedule can be found here</a>. Your help testing RC versions is vital to making this release as stable and powerful as possible.</p>\n\n\n\n<p>Please continue checking the <a href=\"https://make.wordpress.org/core/\">Make WordPress Core blog</a> for <a href=\"https://make.wordpress.org/core/tag/6-9/\">6.9-related posts</a> in the coming weeks for more information.</p>\n\n\n\n<h2 class=\"wp-block-heading\">What’s in WordPress 6.9 RC2?</h2>\n\n\n\n<p>Get a recap of WordPress 6.9’s highlighted features in the <a href=\"https://make.wordpress.org/core/2025/10/21/wordpress-6-9-beta-1/\">Beta 1 announcement</a>. For more technical information related to issues addressed since RC1, you can browse the following links:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://github.com/WordPress/gutenberg/commits/wp/6.9?since=2025-11-11&amp;until=2025-11-18\">GitHub commits for 6.9</a> since November 11</li>\n\n\n\n<li><a href=\"https://core.trac.wordpress.org/query?status=closed&amp;changetime=11%2F11%2F2025..11%2F18%2F2025&amp;milestone=6.9&amp;group=component&amp;col=id&amp;col=summary&amp;col=milestone&amp;col=changetime&amp;col=type&amp;order=id\">Closed Trac tickets</a> since November 11</li>\n</ul>\n\n\n\n<p>Want to look deeper into the details and technical notes for this release? These recent posts cover some of the latest updates:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://make.wordpress.org/core/2025/11/15/notes-feature-in-wordpress-6-9/\" rel=\"noreferrer noopener\" target=\"_blank\">Notes Feature in 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/10/abilities-api-in-wordpress-6-9/\" rel=\"noreferrer noopener\" target=\"_blank\">Abilities API in WordPress 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/18/wordpress-6-9-frontend-performance-field-guide/\">WordPress 6.9 Frontend Performance Field Guide</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/12/interactivity-apis-client-navigation-improvements-in-wordpress-6-9/\" rel=\"noreferrer noopener\" target=\"_blank\">Interactivity API’s client navigation improvements in WordPress 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/12/block-bindings-improvements-in-wordpress-6-9/\" rel=\"noreferrer noopener\" target=\"_blank\">Block Bindings improvements in WordPress 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/12/changes-to-the-interactivity-api-in-wordpress-6-9/\" rel=\"noreferrer noopener\" target=\"_blank\">Changes to the Interactivity API in WordPress 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/17/consistent-cache-keys-for-query-groups-in-wordpress-6-9/\">Consistent Cache Keys for Query Groups in WordPress 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/11/dataviews-dataform-et-al-in-wordpress-6-9/\" rel=\"noreferrer noopener\" target=\"_blank\">DataViews, DataForm, et al. in WordPress 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/12/preparing-the-post-editor-for-full-iframe-integration/\" rel=\"noreferrer noopener\" target=\"_blank\">Preparing the Post Editor for Full iframe Integration</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/12/theme-json-border-radius-presets-support-in-wordpress-6-9/\" rel=\"noreferrer noopener\" target=\"_blank\">Theme.json Border Radius Presets Support in WordPress 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/12/heading-block-css-specificity-fix-in-wordpress-6-9/\" rel=\"noreferrer noopener\" target=\"_blank\">Heading Block CSS Specificity Fix in WordPress 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/17/miscellaneous-developer-focused-changes-in-6-9/\">Miscellaneous Developer-focused Changes in 6.9</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/11/18/modernizing-utf-8-support-in-wordpress-6-9/\">Modernizing UTF-8 support in WordPress 6.9</a></li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\">How you can contribute</h2>\n\n\n\n<p>WordPress is open source software made possible by a passionate community of people collaborating on and contributing to its development. The resources below outline various ways you can help the world’s most popular open source web platform, regardless of your technical expertise.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Get involved in testing</h2>\n\n\n\n<p>Testing for issues is crucial to the development of any software. It’s also a meaningful way for anyone to contribute. </p>\n\n\n\n<p>Your help testing the WordPress 6.9 RC2 version is key to ensuring that the final release is the best it can be. While testing the upgrade process is essential, trying out new features is equally important. This <a href=\"https://make.wordpress.org/test/2025/10/21/help-test-wordpress-6-9/\">detailed guide</a> will walk you through testing features in WordPress 6.9. For those new to testing, follow <a href=\"https://make.wordpress.org/test/handbook/get-setup-for-testing/\">this general testing guide</a> for more details on getting set up.</p>\n\n\n\n<p>If you encounter an issue, please report it to the <a href=\"https://wordpress.org/support/forum/alphabeta/\">Alpha/Beta area</a> of the support forums or directly to <a href=\"https://core.trac.wordpress.org/newticket\">WordPress Trac</a> if you are comfortable writing a reproducible bug report.  You can also check your issue against a list of <a href=\"https://core.trac.wordpress.org/tickets/major\">known bugs</a>. </p>\n\n\n\n<p>Curious 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> on <a href=\"https://wordpress.slack.com/\">Making WordPress Slack</a>.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Update your theme or plugin</h2>\n\n\n\n<p>For plugin and theme authors, your products play an integral role in extending the functionality and value of WordPress for all users.</p>\n\n\n\n<p>Thanks for continuing to test your themes and plugins with the WordPress 6.9 beta releases. If you haven’t yet, make sure to conclude your testing and update the <em>“Tested up to”</em> version in your <a href=\"https://developer.wordpress.org/plugins/wordpress-org/how-your-readme-txt-works/\">plugin’s readme file</a> to 6.9.</p>\n\n\n\n<p>If you find compatibility issues, please post detailed information to the <a href=\"https://wordpress.org/support/forum/alphabeta/\">support forum</a>.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Test on your hosting platforms</h2>\n\n\n\n<p>Web hosts provide vital infrastructure for supporting WordPress and its users. Testing on hosting systems helps inform the development process while ensuring that WordPress and hosting platforms are fully compatible, free of errors, optimized for the best possible user experience, and that updates roll out to customer sites without issue.</p>\n\n\n\n<p>Want to test WordPress on your hosting system? <a href=\"https://make.wordpress.org/hosting/test-results-getting-started/\">Get started with configuring distributed hosting tests here</a>.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Help translate WordPress</h2>\n\n\n\n<p>Do you speak a language other than English? ¿Español? Français? Русский? 日本語? हिन्दी? বাংলা? मराठी? ಕನ್ನಡ?  You can<a href=\"https://translate.wordpress.org/projects/wp/dev/\"> help translate WordPress into more than 100 languages</a>. This release milestone (RC2) also marks the<a href=\"https://make.wordpress.org/polyglots/handbook/glossary/#hard-freeze\"> hard string freeze</a> point of the <a href=\"https://make.wordpress.org/core/2025/11/11/wordpress-6-9-release-candidate-phase/\">6.9 release cycle</a>.</p>\n\n\n\n<h2 class=\"wp-block-heading\">An RC2 haiku</h2>\n\n\n\n<p>A calm hillside sighs,<br />Work of many now complete —<br />RC2 stays true.</p>\n\n\n\n<p class=\"has-text-align-right\"><em>Props to <a class=\"mention\" href=\"https://profiles.wordpress.org/amykamala/\"><span class=\"mentions-prefix\">@</span>amykamala</a>, <a class=\"mention\" href=\"https://profiles.wordpress.org/annezazu/\"><span class=\"mentions-prefix\">@</span>annezazu</a>, <a class=\"mention\" href=\"https://profiles.wordpress.org/davidbaumwald/\"><span class=\"mentions-prefix\">@</span>davidbaumwald</a>, <a class=\"mention\" href=\"https://profiles.wordpress.org/westonruter/\"><span class=\"mentions-prefix\">@</span>westonruter</a> and <a class=\"mention\" href=\"https://profiles.wordpress.org/joedolson/\"><span class=\"mentions-prefix\">@</span>joedolson</a> for proofreading and review.</em></p>\n\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:\"Tue, 18 Nov 2025 15:26:53 +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:\"Akshaya Rane\";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:21:\"\n	\n	\n	\n	\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:\"Weston Ruter: WordPress 6.9 Performance Landings\";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:33:\"https://weston.ruter.net/?p=38085\";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://weston.ruter.net/2025/11/17/wordpress-6-9-performance-landings/\";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:7991:\"<p>WordPress 6.9 includes so many performance improvements! Scripts with <code>fetchpriority</code>, increased inline CSS, minified theme styles, on demand block styles in classic themes, the template enhancement output buffer, and much more! Check out the <a href=\"https://make.wordpress.org/core/2025/11/18/wordpress-6-9-frontend-performance-field-guide/\">field guide</a> I just published:</p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-make-wordpress-core wp-block-embed-make-wordpress-core\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\"><a href=\"https://make.wordpress.org/core/2025/11/18/wordpress-6-9-frontend-performance-field-guide/\">WordPress 6.9 Frontend Performance Field Guide</a></blockquote>\n</div></figure>\n\n\n\n<p>There were many contributors from the <a href=\"https://make.wordpress.org/performance/handbook/about-the-team/\">Core Performance Team</a> involved in making this possible. Personally, this is a culmination of a year of work, including a bunch of research and development I <a href=\"https://weston.ruter.net/2025/08/27/the-site-speed-frontier-with-performance-lab-and-beyond/\">wrote about previously</a> and spoke about at WordCamp US:</p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-weston-ruter wp-block-embed-weston-ruter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\"><a href=\"https://weston.ruter.net/2025/08/27/the-site-speed-frontier-with-performance-lab-and-beyond/\">The Site Speed Frontier with Performance Lab and Beyond</a></blockquote>\n</div></figure>\n\n\n\n<p>I&#8217;ve been working nights and weekends (and days) to help make sure all of this lands in time for the December 2nd release. This is evident from looking at the <a href=\"https://make.wordpress.org/updates/2025/11/15/a-month-in-core-october-2025/\">“A Month in Core” post for October</a>! It has been fun—feeling like the <a href=\"https://weston.ruter.net/2025/05/14/a-decade-as-a-core-committer-my-wordpress-contribution-history/\">good ol&#8217; contribution days</a> when I was deep in the Customizer up through <a href=\"https://weston.ruter.net/2017/11/03/wordpress-4-9/\">WordPress 4.9</a> (2013–2017). But I&#8217;m really looking forward to being able to unwind for the holidays.</p>\n\n\n\n<p><em>I hope your sites get a great speed boost for Christmas!</em> <img alt=\"🎄\" class=\"wp-smiley\" src=\"https://weston.ruter.net/wp-content/plugins/local-twemoji/images/emoji/72x72/1f384.png?ver=17-0-2-2\" style=\"height: 1em;\" /></p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<p class=\"has-medium-font-size\">Where I&#8217;ve shared the field guide:</p>\n\n\n\n<ul class=\"wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex\"><li class=\"wp-social-link wp-social-link-linkedin  wp-block-social-link\"><a class=\"wp-block-social-link-anchor\" href=\"https://www.linkedin.com/posts/westonruter_wordpress-69-frontend-performance-field-activity-7396418643473002498-7XFC\"><svg height=\"24\" version=\"1.1\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1