{"id":224555,"date":"2026-04-21T09:03:33","date_gmt":"2026-04-21T09:03:33","guid":{"rendered":"https:\/\/wpmu-dev.pro\/blog\/?p=224555"},"modified":"2026-04-19T08:31:07","modified_gmt":"2026-04-19T08:31:07","slug":"dev-ship-happens","status":"publish","type":"post","link":"https:\/\/wpmu-dev.pro\/blog\/dev-ship-happens\/","title":{"rendered":"DEV: Ship Happens"},"content":{"rendered":"<p><strong>Welcome to DEV, your fortnightly roundup of WordPress news, tools, and ideas worth putting to work. <\/strong><\/p>\n<p>The web keeps evolving. So do the bugs. We\u2019re here to help you keep up.<\/p>\n<p>Stick around to the end to find out: if you fall out of a plane\u2026 where should you aim?<\/p>\n<p><strong>In today\u2019s edition:<\/strong><\/p>\n<ul>\n<li>All your (data)base are belong to us: why WordPress 7.0 is delayed.<\/li>\n<li>WCEU schedule dropped and, like a pierogi, it\u2019s stuffed with goodness.<\/li>\n<li>A plugin acquisition horror story that will make you side-eye your dashboard.<\/li>\n<\/ul>\n<h2>Hot Off The Presses: What\u2019s New?<\/h2>\n<div class=\"image-grid cgrid-row\">\n<div class=\"cgrid-col cgrid-col-span-full\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wpmu-dev.pro\/blog\/wp-content\/uploads\/2026\/04\/developer-last-task-client-uno-meme.png\" alt=\"Uno meme where a happy developer thinks they&#039;re almost done for the day, but the client is holding a hand full of Bug and Change Request cards\\.\" width=\"720\" height=\"878\" class=\"aligncenter size-full wp-image-224556\" \/><\/div>\n<\/div>\n<p>You\u2019re one click away from happy hour, and then you make the mistake of opening Slack at 4:59pm.<\/p>\n<p>What could go wrong?<\/p>\n<p>The client plays their final card: \u201cJust a quick one before EOD\u2026\u201d aaaaaand suddenly you\u2019re elbow-deep in the database at 2am.<\/p>\n<p>Before you get UNO-reverse\u2019d into overtime, keep reading for a quick roundup of what\u2019s new in WordPress.<\/p>\n<h2>WordPress 7.0 Hits Pause (Turns Out Databases Are\u2026 Important)<\/h2>\n<p>WordPress 7.0 was supposed to land on April 9. Instead, it\u2026 didn\u2019t.<\/p>\n<p>This isn\u2019t your usual \u201cone more bug fix\u201d situation. The delay comes down to something much deeper: figuring out how WordPress will handle real-time collaboration without turning your database into mom\u2019s spaghetti.<\/p>\n<p>The current approach stores collaboration data (like who\u2019s editing and where their cursor is) in the <em>postmeta<\/em> table, with transients handling presence data. It works\u2026 but \u201cworks\u201d isn\u2019t good enough when you\u2019re talking about multiple users editing the same post at the same time.<\/p>\n<p>Matt Mullenweg pushed back on the approach, suggesting it\u2019s worth doing this properly from day one, even if that means delaying the release. The proposed solution? A <a href=\"https:\/\/www.therepository.email\/matt-mullenweg-calls-for-wordpress-7-0-delay-to-introduce-database-table-for-real-time-collaboration\" rel=\"noopener\" target=\"_blank\">dedicated custom database table<\/a> just for collaboration data.<\/p>\n<p>Which is a big deal. WordPress doesn\u2019t add new core database tables lightly. This is serious, once-in-a-decade, \u201cmeasure twice, deploy once\u201d business.<\/p>\n<p>The result: WordPress 7.0 has been pushed back and, in a move that almost never happens, dropped from Release Candidate back into beta. For now, staying on WordPress 6.9.4 is still your stable, drama-free option.<\/p>\n<p>This is probably a good thing. Shipping half-baked database architecture to millions of sites is the kind of thing very likely to keep developers up at night\u2026 and not in the fun way.<\/p>\n<p>\ud83d\udc49 <a href=\"https:\/\/make.wordpress.org\/core\/7-0\/\" rel=\"noopener\" target=\"_blank\">Keep an eye on this page<\/a>, where the updated release timeline will be announced no later than April 22nd.<\/p>\n<h2>WordCamp Europe Schedule Is Live<\/h2>\n<p>The full schedule for WordCamp Europe 2026 is live, and it\u2019s packed. We\u2019re talking AI, performance, accessibility, agency workflows, block development\u2026 basically every tab you already have open, now in conference form.<\/p>\n<p>The real challenge isn\u2019t finding a good session. It\u2019s choosing between five great ones that are all happening at the exact same time\u2026 and accepting that you physically cannot clone yourself (yet).<\/p>\n<p>Some of the interesting talks that catch our eye:<\/p>\n<ul>\n<li><a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/how-to-make-toast\/\" rel=\"noopener\" target=\"_blank\">How to Make Toast<\/a><strong> by Stacy L. Carlson<\/strong>: Sounds like it\u2019s about breaking down processes, but might also involve a mid-morning snack?<\/li>\n<li><a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/beyond-hamburgers-latest-navigation-block-changes\/\" rel=\"noopener\" target=\"_blank\">Beyond Hamburgers: Latest Navigation Block Changes<\/a><strong> by Sarah Norris<\/strong>: Although this one <em>also<\/em> sounds delicious, it\u2019s probably a discussion about website UX that\u2019s really on the menu here.<\/li>\n<li><a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/fighting-spam-and-bots-on-wordpress-with-ai\/\" rel=\"noopener\" target=\"_blank\">Fighting Spam and Bots on WordPress with AI<\/a><strong> by Adeolu Oshadare: <\/strong>First toast, then burgers, now Spam? Okay, this schedule is officially making me hungry.<\/li>\n<\/ul>\n<p>Good thing this year\u2019s event is going to be set in Krak\u00f3w, Poland, which means you can challenge yourself to beat your pierogi-per-day high score. \ud83d\ude0b<\/p>\n<p>And of course, strategically planning your energy levels around the equally important late-night networking events\u2026 which may or may not involve karaoke and wild shenanigans you\u2019ll be telling stories about until next WordCamp.<\/p>\n<p>Not going? No stress. Most of the talks will make their way to <a href=\"http:\/\/WordPress.tv\" rel=\"noopener\" target=\"_blank\">WordPress.tv<\/a> afterwards, so you can catch up from your desk later.<\/p>\n<p>\ud83d\udc49 <a href=\"https:\/\/europe.wordcamp.org\/2026\/schedule\/\" rel=\"noopener\" target=\"_blank\">Check out the full <s>menu<\/s> schedule to plan your WCEU experience.<\/a><\/p>\n<h2>Someone Bought 30+ Plugins\u2026 and Added a Backdoor<\/h2>\n<p>In a story that feels like it should come with a horror soundtrack, a buyer acquired over 30 WordPress plugins on Flippa and quietly added a backdoor to all of them.<\/p>\n<p>Not immediately, of course. That would be too obvious.<\/p>\n<p>Instead, the malicious code sat dormant for around <strong>eight months<\/strong> before being activated, waiting for the perfect moment to break through those backdoors, like Jack Nicholson in the Shining. \ud83e\ude93<\/p>\n<p>The good news is that the Plugins Team moved quickly, pushing a forced auto-update within hours of the issue being reported by Anchor Hosting founder Austin Ginder.<\/p>\n<p>But the bigger issue is how this happened in the first place.<\/p>\n<p>This is one of the most methodical supply chain compromises we\u2019ve ever seen, and at the moment there\u2019s really no way to prevent it. When plugin ownership changes hands, there\u2019s currently no deep review process.<\/p>\n<p>All work and no review process makes your plugin list a very bad idea\u2026 and means a trusted plugin can quietly begin a slow descent into madness without you realising until it\u2019s too late.<\/p>\n<p>\ud83d\udc49 <a href=\"https:\/\/thenextweb.com\/news\/wordpress-plugins-backdoor-supply-chain-essential-plugin-flippa-2\" rel=\"noopener\" target=\"_blank\">More details on the plugin drama here. <\/a><\/p>\n<h2>Mind Bloggling Facts &#038; Stats<\/h2>\n<ul>\n<li>WordCamp Asia in Mumbai boasted 2,281 attendees, a new record for the event! Official stats on cups of tea and <em>vada pav<\/em> have not been released. (<a href=\"https:\/\/wordpress.org\/news\/2026\/04\/celebrating-wcasia-2026\/\" rel=\"noopener\" target=\"_blank\">Source<\/a>)<\/li>\n<li>Turns out, accessibility really pays. According to the Admin Bar\u2019s 2026 State of the WordPress Agency survey, only 1 in 4 agencies offer accessibility, but the ones that do are almost <em>twice<\/em> as likely to surpass $200k in revenue. (<a href=\"https:\/\/theadminbar.com\/2026-survey\/\" rel=\"noopener\" target=\"_blank\">Source<\/a>)<\/li>\n<li>Gutenberg 22.9 just landed with 131 merged PRs. Highlights include gradient backgrounds that actually play nice with images, and a tidier command palette so you can finally find things without going on a quest. (<a href=\"https:\/\/make.wordpress.org\/core\/2026\/04\/09\/whats-new-in-gutenberg-22-9-8-april\/\" rel=\"noopener\" target=\"_blank\">Source<\/a>)<\/li>\n<\/ul>\n<h2>Blogs &#038; Resources You Shouldn\u2019t Miss<\/h2>\n<p>Scheduling posts is so 2010. What if WordPress could schedule changes instead? <a href=\"https:\/\/www.briancoords.com\/why-future-revisions-should-be-the-next-priority-feature-for-wordpress\/\" rel=\"noopener\" target=\"_blank\">Brian Coords thinks it\u2019d be cool.<\/a><\/p>\n<p><a href=\"https:\/\/www.pootlepress.com\/2026\/04\/write-what-if-wordpress-was-designed-purely-for-writers\/ \" rel=\"noopener\" target=\"_blank\">Write Plugin<\/a><strong>:<\/strong> What if WordPress had pristine-Moleskine, finally-writing-my-novel energy?<\/p>\n<p>AI made content cheap. Fixing it is profitable. Here\u2019s <a href=\"https:\/\/theadminbar.com\/how-to-do-a-content-audit-sell-it-as-a-service\/\" rel=\"noopener\" target=\"_blank\">how to make content audits your new favorite service. <\/a><\/p>\n<p>SSL certifications are <a href=\"https:\/\/www.forbes.com\/councils\/forbesagencycouncil\/2026\/04\/01\/the-lifespan-of-ssl-certificates-is-shrinking-and-agencies-must-adapt\/\" rel=\"noopener\" target=\"_blank\">getting shorter-lived<\/a>. Because remembering to renew them once a year was too easy, apparently.<\/p>\n<p><a href=\"https:\/\/thewpminute.com\/you-arent-responsible-for-your-clients-privacy-policy\/\" rel=\"noopener\" target=\"_blank\">You\u2019re a developer. Not a lawyer<\/a>. Donata Stroink-Skillrud explains why your client\u2019s privacy policy isn\u2019t your responsibility.<\/p>\n<p>AI isn\u2019t replacing you, it\u2019s pulling up a chair\u2026 <a href=\"https:\/\/jason.blog\/2026\/03\/29\/welcome-to-the-table-ai\/\" rel=\"noopener\" target=\"_blank\">and there\u2019s room for everyone at the table. <\/a><\/p>\n<p>Who need grammar? <a href=\"https:\/\/github.com\/JuliusBrussee\/caveman?ck_subscriber_id=3953156655 \" rel=\"noopener\" target=\"_blank\">Speak like caveman. Save Claude token.<\/a><\/p>\n<h2>Coffee Break Distractions<\/h2>\n<p>Not all hero sections wear capes. <a href=\"https:\/\/wordpress.com\/blog\/2026\/04\/15\/murphy-levesque-website-story\/\" rel=\"noopener\" target=\"_blank\">This WordPress site<\/a> helped rescue 100+ animals.<\/p>\n<p>Ah yes, Dexember. It\u2019s the month right before Xanuary, right? <a href=\"https:\/\/www.instagram.com\/reel\/DXDBEg8AZqo\/\" rel=\"noopener\" target=\"_blank\">AI certainly thinks so.<\/a><\/p>\n<p>Some might call them bugs. <a href=\"https:\/\/www.reddit.com\/r\/ProgrammerHumor\/comments\/1sewvqk\/jobsecurity\/\" rel=\"noopener\" target=\"_blank\">Others call it job security. <\/a><\/p>\n<p>Seems like <a href=\"https:\/\/www.reddit.com\/r\/ContagiousLaughter\/comments\/1sciaeg\/bf_showed_a_trick_to_gf\/\" rel=\"noopener\" target=\"_blank\">this guy<\/a> is really <em>head over heels<\/em> for his girlfriend. \ud83e\udd70<\/p>\n<p>Who knew <a href=\"https:\/\/www.kyoto-aquarium.com\/special\/sokanzu\/en\/2025\/\" rel=\"noopener\" target=\"_blank\">penguin relationship drama<\/a> was more complex than your plugin stack?<\/p>\n<p>No one prepares you for when you get <a href=\"https:\/\/www.reddit.com\/r\/ContagiousLaughter\/comments\/1slckek\/dad_getting_roasted_hard_by_his_kids\/\" rel=\"noopener\" target=\"_blank\">expertly roasted by your own kids.<\/a><\/p>\n<p>One of Tarantino\u2019s classics: <a href=\"https:\/\/bsky.app\/profile\/banditelli.org\/post\/3mglwzq5qv22o\" rel=\"noopener\" target=\"_blank\">Reservoir Ducks<\/a>. \ud83e\udd86<\/p>\n<p><strong>And finally\u2026 <\/strong><\/p>\n<p><a href=\"https:\/\/www.reddit.com\/r\/TikTokCringe\/comments\/1smxz3c\/tamale_advertisement\/\" rel=\"noopener\" target=\"_blank\">Some valuable information that could save your life. <\/a><\/p>\n<p><strong>Love this mix of nerdery and nonsense? Share it with your&#8230; <\/strong>\ud83d\udc97<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to DEV, your fortnightly roundup of WordPress news, tools, and ideas worth putting to work. The web keeps evolving. So do the bugs. We\u2019re here to help you keep up. Stick around to the end to find out: if you fall out of a plane\u2026 where should you aim? In today\u2019s edition: All your [&hellip;]<\/p>\n","protected":false},"author":1204260,"featured_media":223199,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"blog_reading_time":"","wds_primary_category":0,"wds_primary_tutorials_categories":0,"footnotes":""},"categories":[11265],"tags":[],"tutorials_categories":[],"class_list":["post-224555","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/posts\/224555","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/users\/1204260"}],"replies":[{"embeddable":true,"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/comments?post=224555"}],"version-history":[{"count":4,"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/posts\/224555\/revisions"}],"predecessor-version":[{"id":224557,"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/posts\/224555\/revisions\/224557"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/media\/223199"}],"wp:attachment":[{"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/media?parent=224555"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/categories?post=224555"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/tags?post=224555"},{"taxonomy":"tutorials_categories","embeddable":true,"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/tutorials_categories?post=224555"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}