Just when you thought things were settling down… boom 💥 — the ActivityPub plugin gets another big upgrade. Say hello to **version 7.0.0**, a release packed with new features, polish, and under-the-hood improvements to help your WordPress site federate smoother, smarter, and more securely than ever. Let’s dive into what’s new.## Following the FediverseWe’ve added the **initial building blocks for Following support** — both sending and managing follow requests for remote actors. It’s not in the UI just yet (we’re rolling it out carefully), but that’s not far away. A big step toward richer, two-way federation. We’ll work with developers of third-party plugins — including those behind **[Friends]( )** and **[Event Bridge]( )** — to migrate their custom follow implementations to this new core feature. This collaboration helps ensure a consistent, reliable follow experience across the ecosystem. **This foundational support for following is also the first step toward a full-featured reader experience right inside WordPress** — something we’re excited to keep building toward.## Refined SignatureThis release brings **support for RFC-9421-style HTTP signatures**, both incoming and (optionally) outgoing. That’s a mouthful, but it basically means supporting the latest standard in how we verify and send activities — including a fallback to good old Draft Cavage when needed. Check out the blog post to learn more: [HTTP Signature Upgrades Coming Soon]( ) ## Full Changelog### Added<li>Added basic support for handling remote rejections of follow requests.</li><li>Added basic support for RFC-9421 style signatures for incoming activities.</li><li>Added initial Following support for Actors, hidden for now until plugins add support.</li><li>Added missing “Advanced Settings” details to Site Health debug information.</li><li>Added option to auto-approve reactions like likes and reposts.</li><li>Added support for namespaced attributes and the dcterms:subject field (FEP-b2b8), as a first step toward phasing out summary-based content warnings.</li><li>Added support for the WP Rest Cache plugin to help with caching REST API responses.</li><li>Documented support for FEP-844e.</li><li>Optional support for RFC-9421 style signatures for outgoing activities, including retry with Draft-Cavage-style signature.</li><li>Reactions block now supports customizing colors, borders, box-shadows, and typography.</li><li>Support for sending follow requests to remote actors is now in place, including outbox delivery and status updates—UI integration will follow later.</li>### Changed<li>Comment feeds now show only comments by default, with a new <code>type</code> filter (e.g., <code>like</code>, <code>all</code>) to customize which reactions appear.</li><li>Consistent naming of Blog user in Block settings.</li><li>hs2019 signatures for incoming REST API requests now have their algorithm determined based on their public key.</li><li>Likes, comments, and reposts from the Fediverse now require either a name or <code>preferredUsername</code> to be set when the Discussion option <code>require_name_email</code> is set to true. It falls back to “Anonymous”, if not.</li><li>Management of public/private keys for Actors now lives in the Actors collection, in preparation for Signature improvements down the line.</li><li>Notification emails for new reactions received from the Fediverse now link to the moderation page instead of the edit page, preventing errors and making comment management smoother.</li><li>Plugins now have full control over which Settings tabs are shown in Settings &gt; Activitypub.</li><li>Reworked follower structure to simplify handling and enable reuse for following mechanism.</li><li>Screen options in the Activitypub settings page are now filterable.</li><li>Setting the blog identifier to empty will no longer trigger an error message about it being the same as an existing user name.</li><li>Step completion tracking in the Welcome tab now even works when the number of steps gets reduced.</li><li>The image attachment setting is no longer saved to the database if it matches the default value.</li><li>The welcome page now links to the correct profile when Blog Only mode was selected in the profile mode step.</li><li>Unified retrieval of comment avatars and re-used core filters to give access to third-part plugins.</li>### Fixed<li>Allow interaction redirect URLs that contain an ampersand.</li><li>Comments received from the Fediverse no longer show an Edit link in the comment list, despite not being editable.</li><li>Fixed an issue where links to remote likes and boosts could open raw JSON instead of a proper page.</li><li>Fixed a potential error when getting an Activitypub ID based on a user ID.</li><li>HTTP signatures using the hs2019 algorithm now get accepted without error.</li><li>Improved compatibility with older follower data.</li><li>Inbox requests that are missing an <code>algorithm</code> parameter in their signature no longer create a PHP warning.</li><li>Interaction attempts that pass a webfinger ID instead of a URL will work again.</li><li>Names containing HTML entities now get displayed correctly in the Reactions block’s list of users.</li><li>Prevent storage of empty or default post meta values.</li><li>The amount of avatars shown in the Reactions block no longer depends on the amount of likes, but is comment type agnostic.</li><li>The command-line interface extension, accidentally removed in a recent cleanup, has been restored.</li><li>The image attachment setting now correctly respects a value of 0, instead of falling back to the default.</li><li>The Welcome screen now loads with proper styling when shown as a fallback.</li><li>Using categories as hashtags has been removed to prevent conflicts with tags of the same name.</li><li>When verifying signatures on incoming requests, the digest header now gets checked as expected.</li>## Downloads<li>WordPress.org: <a href="https://downloads.wordpress.org/plugin/activitypub.7.0.0.zip">https://downloads.wordpress.org/plugin/activitypub.7.0.0.zip</a></li><li>GitHub: <a href="https://github.com/Automattic/wordpress-activitypub/releases/tag/7.0.0">https://github.com/Automattic/wordpress-activitypub/releases/tag/7.0.0</a></li>## Thank you!Huge thanks to everyone who contributed code, feedback, tests, or moral support. This community makes the fediverse feel a little more federated with every release. ❤️ Update now, test things out, and let us know how 7.0.0 works for you! image
[Alongside our upcoming plans]( ), we’ve already shipped several important features in recent releases. Here are some highlights of what’s now available in the ActivityPub plugin.## OnboardingWe’ve added an **onboarding flow** after plugin activation to help guide new users through key decisions — such as selecting the Actor Mode. It’s also a great opportunity to explain Fediverse concepts for users who are new to them. More details: 👉 [5.9.0 — Easier onboarding for your Fediverse experience]( )## MoveThe **Move Activity** is used by Mastodon to migrate accounts to different servers — and can also be used for **domain or username changes**. In the WordPress ecosystem, one of the main motivations for implementing Move was to support **changing the domain of a WordPress blog** — a common scenario for WordPress site owners. We’ve built a **solid foundation** in the plugin to both **send and receive Move Activities**. However, because Move is **not yet widely adopted** across the Fediverse, we’ve decided to **pause further work** on this feature until there is broader ecosystem support. Account migration remains a crucial capability for a healthier, more portable social web. If you’re interested in the broader context and challenges around this, we recommend watching [Cory Doctorow’s keynote from the June FediForum]( ): We’ll revisit this as the standard matures and more servers implement consistent handling of Move. More details: 👉 [GitHub — Move Milestone]( )## OutboxEarlier versions of the plugin supported only the federation of **custom post types**, sending all messages in one bulk. That approach works up to about **1000 followers**, but does not support retries, logging, or error handling. To support larger blogs or news sites — we needed a more robust system. We now have mechanisms to:<li>Federate activities to <strong>more than 1000 followers</strong>.</li><li>Use a <strong>staggered delivery system</strong> that prioritizes servers.</li><li>Provide a <strong>stable and scalable</strong> architecture.</li><li>Support <strong>retries and error reporting</strong>.</li> This improved Outbox system also makes it easier for **third-party plugin developers** to **federate their own content types** in a reliable and scalable way. More details: 👉 [GitHub — Outbox Milestone]( )## ChangelogsThese are just the major milestones. If you’re interested in everything we ship, be sure to subscribe or follow the blog — we publish detailed [changelog posts]( ) with every new plugin release, listing all new features and improvements. As always, we welcome your **feedback and ideas** — they help shape the future of the ActivityPub plugin and the growing WordPress Fediverse community! 🚀
We’re excited to share this roadmap — there’s a lot happening with the ActivityPub plugin, and we can’t wait to show you what’s coming next. We often refer to this roadmap in GitHub issues and discussions, but until now, we haven’t published a full roadmap post — nor a formal changelog. This post is a first step toward keeping the community more informed about what’s planned and what’s coming up next. Our **goal for this year** is to **finalize the full ActivityPub experience** — so that WordPress can be used as a **first-class citizen of the Fediverse**. This means enabling not only publishing to the network, but also following, reading, interacting, and moderating — all in a seamless way that feels natural for WordPress users. This roadmap is not set in stone — priorities may shift based on community feedback, WordPress updates, or changes in the wider Fediverse. But it should give you a good sense of where we’re going.## Followers/FollowingThis is what we’re currently working on. [You can follow the progress on GitHub]( ). Right now, the plugin supports only **Followers**. It doesn’t yet offer a way for your site to follow others in the Fediverse. But with new initiatives like the **“Reader Experience,”** this will need to change. To support true two-way relationships — both Followers and Following — we need a database model that can clearly represent both types of connections. The current system, which relies on GUIDs to track remote actors, wasn’t designed for this. At the moment, it can store a remote actor as a follower of your site, but it doesn’t easily support the ability for your site to follow them back. Implementing Following cleanly will require rethinking how this data is stored and connected.## ActorsThis ties into a broader challenge with how the plugin currently models **actors** — both local users on your site and remote users from other Fediverse servers. Today, the plugin uses **virtual users** to represent these actors. This was a practical choice early on to get federation working without rewriting how WordPress manages users. But as the plugin grows — especially with features like Following and the Reader Experience — this approach is creating friction. Virtual users don’t behave exactly like regular WordPress users, so each time we add new features, we end up writing special workarounds. Over time, this adds complexity and makes the system harder to maintain. Moving toward a more unified model for actors — one that integrates more naturally with WordPress’s existing structures — will keep the plugin flexible and reliable.## ModerationCurrently, the plugin relies on WordPress’s built-in “Disallowed Comment Keys” system to filter unwanted content at the inbox endpoint — before any ActivityPub request is processed. This mechanism allows you to block activities based on keywords or domains, using the same rules you’d apply to comments. However, this approach is fairly blunt: it’s a simple keyword filter, not a nuanced moderation tool. This limitation will become more important as the plugin expands — for example, when adding support for image-based comments or richer media interactions. Building a dedicated filtering mechanism is an important step toward giving site owners **fine-grained moderation tools** that are tailored to the unique challenges of federated content. More details: 👉 [GitHub — Question: How does this plugin interact with moderation and trust & safety on the fediverse?]( )## ReaderA full **Reader experience** is one of our long-term goals — it’s the final big feature needed to give WordPress sites a complete **ActivityPub/Fediverse experience**. Today, the plugin lets others follow your site, but there’s no built-in way for you to **subscribe to and read content from others** — in other words, there’s no “timeline” yet inside WordPress. We plan to start with a simple, flexible approach: focusing first on **storing remote posts** in a way that’s compatible with tools like the **WordPress.com Reader** or third-party plugins like **[Friends]( )** or the **[Event Bridge for ActivityPub]( )**. Once this foundation is in place, we’ll iterate on direct support — making it possible for site owners and users to follow and read Fediverse posts right inside WordPress.## Direct MessagesAs part of this evolution toward a full Reader experience, we’re also exploring support for **Direct Messages**. This is a frequently requested feature and an important part of richer Fediverse interactions. We plan to start with an initial implementation that enables private messaging — and then build on it as we learn from real-world use.## Fully delete profilesOne key principle of the **GDPR** is the “right to be forgotten.” Currently, the plugin supports **remote deletions**, but does not trigger Delete Activities for local user actions. The challenge is that WordPress operates differently from most federated social networks. Users might expect Delete Activities for certain actions that could have major consequences — for example, deactivating the plugin. But deactivating a plugin is also a common troubleshooting step in WordPress. To address this, we first need to define different use cases and guide users on how to trigger Delete Activities appropriately. More details: 👉 [GitHub — User Delete Milestone]( )## Client-to-Server API (exploration)In addition to the way servers communicate with each other across the Fediverse, **ActivityPub also defines a “Client-to-Server” API**. This API is mainly designed to allow **apps and clients** (such as mobile apps) to publish content to a Fediverse server. In the future, this could open up interesting possibilities for WordPress — for example, allowing WordPress to act as a **bridge** or **proxy**, making it easier to bring in and federate content from other tools or platforms. At this stage, we’re exploring and evaluating this based on community interest and potential use cases.## Staying InformedWe’ll continue to keep you informed about the progress of this roadmap. For each new release, we’ll publish posts highlighting the latest features and improvements. For larger projects — like the Reader experience or expanded moderation tools — we’ll also share **regular updates** so you can follow along as the work evolves. As always, we welcome your **feedback and ideas** — they help shape the future of the ActivityPub plugin and the growing WordPress Fediverse community! 🚀 image
Our latest release brings a lot of improvements — especially to our blocks! The **Follow Me** and **Followers** blocks now have a fresh design, better interactivity, and broader support for ActivityPub-enabled users. The **Reactions** block and “Reply on the Fediverse” feature also now take advantage of the latest Block Editor features and are built on the Interactivity API for a smoother experience. We’ll follow up soon with a deeper dive into the new block features — stay tuned!### Fediverse Followers<template data-wp-each="context.followers"></template><p></p><li data-wp-each-child="" class="follower-item"><a href="https://social.linux.pizza/@crse" title="@crse" data-wp-bind--href="context.item.url" class="follower-link" target="_blank" rel="external noreferrer noopener" data-wp-bind--title="context.item.handle"><imgdata-wp-bind--src="context.item.icon.url"data-wp-on--error="callbacks.setdefaultavatar"src="https: cdn.social.linux.pizza="" system="" accounts="" avatars="" 108="" 246="" 249="" 796="" 022="" original="" 80e3c8c2cbeec26a.png"alt="" class="follower-avatar" width="48" height="48"><div class="follower-info"><span class="follower-name" data-wp-text="context.item.name">Chris :freedo: :supertuxkart:</span><span class="follower-username" data-wp-text="context.item.handle">@crse</span></div></imgdata-wp-bind--src="context.item.icon.url"data-wp-on--error="callbacks.setdefaultavatar"src="https:></a><p><a href="https://social.linux.pizza/@crse" title="@crse" data-wp-bind--href="context.item.url" class="follower-link" target="_blank" rel="external noreferrer noopener" data-wp-bind--title="context.item.handle"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" class="external-link-icon" aria-hidden="true" focusable="false" fill="currentColor"><path d="M18.2 17c0 .7-.6 1.2-1.2 1.2H7c-.7 0-1.2-.6-1.2-1.2V7c0-.7.6-1.2 1.2-1.2h3.2V4.2H7C5.5 4.2 4.2 5.5 4.2 7v10c0 1.5 1.2 2.8 2.8 2.8h10c1.5 0 2.8-1.2 2.8-2.8v-3.6h-1.5V17zM14.9 3v1.5h3.7l-6.4 6.4 1.1 1.1 6.4-6.4v3.7h1.5V3h-6.3z"></path></svg></a></p></li><li data-wp-each-child="" class="follower-item"><a href="https://mstdn.social/@mudaste" title="@mudaste" data-wp-bind--href="context.item.url" class="follower-link" target="_blank" rel="external noreferrer noopener" data-wp-bind--title="context.item.handle"><imgdata-wp-bind--src="context.item.icon.url"data-wp-on--error="callbacks.setdefaultavatar"src="https: media.mstdn.social="" accounts="" avatars="" 000="" 093="" 117="" original="" 3830e8a1f1ac6c25.png"alt="" class="follower-avatar" width="48" height="48"><div class="follower-info"><span class="follower-name" data-wp-text="context.item.name">cuNha</span><span class="follower-username" data-wp-text="context.item.handle">@mudaste</span></div></imgdata-wp-bind--src="context.item.icon.url"data-wp-on--error="callbacks.setdefaultavatar"src="https:></a><p><a href="https://mstdn.social/@mudaste" title="@mudaste" data-wp-bind--href="context.item.url" class="follower-link" target="_blank" rel="external noreferrer noopener" data-wp-bind--title="context.item.handle"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" class="external-link-icon" aria-hidden="true" focusable="false" fill="currentColor"><path d="M18.2 17c0 .7-.6 1.2-1.2 1.2H7c-.7 0-1.2-.6-1.2-1.2V7c0-.7.6-1.2 1.2-1.2h3.2V4.2H7C5.5 4.2 4.2 5.5 4.2 7v10c0 1.5 1.2 2.8 2.8 2.8h10c1.5 0 2.8-1.2 2.8-2.8v-3.6h-1.5V17zM14.9 3v1.5h3.7l-6.4 6.4 1.1 1.1 6.4-6.4v3.7h1.5V3h-6.3z"></path></svg></a></p></li><li data-wp-each-child="" class="follower-item"><a href="https://mastodon.social/@box464" title="@box464" data-wp-bind--href="context.item.url" class="follower-link" target="_blank" rel="external noreferrer noopener" data-wp-bind--title="context.item.handle"><imgdata-wp-bind--src="context.item.icon.url"data-wp-on--error="callbacks.setdefaultavatar"src="https: files.mastodon.social="" accounts="" avatars="" 109="" 259="" 207="" 144="" 483="" 733="" original="" 47ad35da5e393b00.png"alt="" class="follower-avatar" width="48" height="48"><div class="follower-info"><span class="follower-name" data-wp-text="context.item.name">Jeff Sikes</span><span class="follower-username" data-wp-text="context.item.handle">@box464</span></div></imgdata-wp-bind--src="context.item.icon.url"data-wp-on--error="callbacks.setdefaultavatar"src="https:></a><p><a href="https://mastodon.social/@box464" title="@box464" data-wp-bind--href="context.item.url" class="follower-link" target="_blank" rel="external noreferrer noopener" data-wp-bind--title="context.item.handle"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" class="external-link-icon" aria-hidden="true" focusable="false" fill="currentColor"><path d="M18.2 17c0 .7-.6 1.2-1.2 1.2H7c-.7 0-1.2-.6-1.2-1.2V7c0-.7.6-1.2 1.2-1.2h3.2V4.2H7C5.5 4.2 4.2 5.5 4.2 7v10c0 1.5 1.2 2.8 2.8 2.8h10c1.5 0 2.8-1.2 2.8-2.8v-3.6h-1.5V17zM14.9 3v1.5h3.7l-6.4 6.4 1.1 1.1 6.4-6.4v3.7h1.5V3h-6.3z"></path></svg></a></p></li># Follower navigationPreviousNext Beyond blocks, publishing new blog posts now **reliably sends a Create activity** to the Fediverse, so your followers won’t miss a thing. We’ve also improved how **hashtags and @-mentions appear** when posts federate to Mastodon and other platforms. Under the hood, we’ve cleaned up and modernized the codebase — and the plugin now requires **WordPress 6.5** to take full advantage of the latest WordPress features. Meanwhile, we’re kicking off a major rework of the [**Followers/Following** system]( ). Expect more enhancements to roll out over the next few weeks. Plus, we’ll be publishing a blog post with our roadmap plans in the coming days — exciting things ahead! 🚀## Full Changelog### Added[]( )<li>Enhanced markup of the “follow me” block, for a better Webmention and IndieWeb support.</li><li>The actor of the replied-to post is now included in cc or to based on the post’s visibility.</li>### Changed[]( )<li>“Reply on the Fediverse” now uses the Interactivity API for display on the frontend.</li><li>Bumped minimum required WordPress version to 6.5.</li><li>Default avatar and error handling for the reactions popover list.</li><li>Ensured that publishing a new blog post always sends a Create to the Fediverse.</li><li>Followers block has an updated design, new block variations, and uses the Interactivity API for display on the frontend.</li><li>Follow Me and Followers blocks can now list any user that is Activitypub-enabled, even if they have the Subscriber role.</li><li>Likes and Reposts for comments to a post are no longer attributed to the post itself.</li><li>New system to manage followers and followings more consistently using a unified actor type.</li><li>Re-enabled HTML support in excerpts and summaries to properly display hashtags and @-replies, now that Mastodon supports it.</li><li>Refactored to use CSS for effects instead of JavaScript, simplifying the code.</li><li>Refine the plugin’s handling and storage of remote actor data.</li><li>The Follow Me block now uses the latest Block Editor technology for display on the frontend.</li><li>The Reactions block now uses the latest Block Editor technology for display on the frontend.</li>### Removed[]( )<li>Cleaned up the codebase and removed deprecated functions.</li>### Fixed[]( )<li>Added forward compatibility for Editor Controls, fixing deprecated warnings in the Editor.</li><li>Avoid type mismatch when updating <code>activitypub_content_warning</code> meta values.</li><li>Default number of attachments now works correctly in block editor.</li><li>Fixed a bug in Site Health that caused a PHP warning and missing details for the WebFinger check.</li><li>Fixes a bug in WordPress 6.5 where the plugin settings in the Editor would fail to render, due to a backwards compatibility break.</li><li>Improved automated setup process for the Surge caching plugin.</li><li>Improved excerpt handling by removing shortcodes from summaries.</li>## Downloads<li>WordPress.org: <a href="https://downloads.wordpress.org/plugin/activitypub.6.0.0.zip">https://downloads.wordpress.org/plugin/activitypub.6.0.0.zip</a></li><li>GitHub: <a href="https://github.com/Automattic/wordpress-activitypub/releases/tag/6.0.0">https://github.com/Automattic/wordpress-activitypub/releases/tag/6.0.0</a></li> image
Getting started with ActivityPub on WordPress just got a lot easier. A new guided onboarding experience is now part of the plugin, designed to help you configure key settings and understand how your site connects to the Fediverse—from the moment you activate it. Whether you’re new to ActivityPub or just setting things up again, the onboarding flow helps you make informed choices around visibility, content formatting, and profile setup. It’s built to give you confidence that your content is reaching the right audiences in the right way.## Tailored for YouThe plugin now adapts its behavior based on the caching plugins you have installed. You’ll also find clearer guidance if you’re using Surge, and an option to fine-tune how your content is tailored for browsers versus Fediverse services. We’ve moved profile-related settings out of the welcome page and into new dashboard widgets, so they’re easier to find and update. And to make the learning curve smoother, the Help tab now includes a section explaining how ActivityPub works on the users page.## Media, Previews, and PerformanceBeyond onboarding, this release adds support for audio and video attachments in ActivityPub embeds and previews. Posts shared to the Fediverse can now include up to four images, and you can choose how many to include on a per-post basis. Editor previews have also been improved—they now show media even if the post hasn’t been published yet. For performance, author profiles now return a smaller set of extra fields (up to 20) to avoid bloated responses, and invalid items in the Outbox are skipped gracefully instead of causing errors.## Designed to Grow With YouThis update also brings better mobile support for settings pages, improved documentation, and more robust error handling for things like missing or misformatted Outbox requests. And for developers, several filters and hooks have been updated or deprecated to make future work smoother and more predictable. If you’ve been curious about joining the Fediverse or connecting your blog in a more structured way, now’s a great time to try it. Just activate the plugin and let the onboarding guide you through the rest. *Tried the new onboarding? Let us know how it worked for you and what you’d like to see improved.*## Full Changelog### Added[]( )<li>ActivityPub embeds now support audios, videos, and up to 4 images.</li><li>Added a check to make sure we only attempt to embed activity objects, when processing fallback embeds.</li><li>Add setting to enable or disable how content is tailored for browsers and Fediverse services.</li><li>Adjusted the plugin’s default behavior based on the caching plugins installed.</li><li>A guided onboarding flow after plugin activation to help users make key setup decisions and understand Fediverse concepts.</li><li>Author profiles will cap the amount of extra fields they return to 20, to avoid response size errors in clients.</li><li>Fediverse Preview in the Editor now also supports video and audio attachments.</li><li>Guidance for configuring Surge to support ActivityPub caching.</li><li>Help tab section explaining ActivityPub capabilities on the users page.</li><li>Profile sections have been moved from the Welcome page to new Dashboard widgets for easier access.</li><li>The ActivityPub blog news feed to WordPress dashboard.</li><li>The Outbox now skips invalid items instead of trying to process them for output and encountering an error.</li>### Changed[]( )<li>Batch processing jobs can now be scheduled with individual hooks.</li><li>Better error handling when other servers request Outbox items in the wrong format, and 404 pages now show correctly.</li><li>Fediverse Previews in the Block Editor now show media items, even if the post has not been published yet.</li><li>Hide interaction buttons in emails when the Classic Editor is used.</li><li>Improve compatibility with third-party caching plugins by sending a <code>Vary</code> header.</li><li>Much more comprehensive plugin documentation in the Help tab of ActivityPub Settings.</li><li>NodeInfo endpoint response now correctly formats <code>localPosts</code> values.</li><li>Reactions block heading now uses Core’s heading block with all its customization options.</li><li>Settings pages are now more mobile-friendly with more space and easier scrolling.</li><li>The number of images shared to the Fediverse can now be chosen on a per-post basis.</li><li>Updated default max attachment count to four, creating better-looking gallery grids for posts with 4 or more images.</li><li>Use a dedicated hook for the “Dismiss Welcome Page Welcome” link.</li><li>Use FEP-c180 schema for error responses.</li><li>Use <code>Audio</code> and <code>Video</code> type for Attachments, instead of the very generic <code>Document</code> type.</li>### Deprecated[]( )<li>Deprecated <code>rest_activitypub_outbox_query</code> filter in favor of <code>activitypub_rest_outbox_query</code>. Deprecated <code>activitypub_outbox_post</code> action in favor of <code>activitypub_rest_outbox_post</code>.</li>### Fixed[]( )<li>Broken avatars in the Reactions and Follower block are now replaced with the default avatar.</li><li>Email notifications for interactions with Brid.gy actors no longer trigger PHP Warnings.</li><li>Improved support for users from more Fediverse platforms in email notifications.</li><li>Improved the handling of Shares and Boosts.</li><li>Issue preventing “Receive reblogs (boosts)” setting from being properly saved.</li><li>Mention emails will no longer be sent for reply Activities.</li><li>Prevent accidental follower removal by resetting errors properly.</li><li>Properly remove retries schedules, with the invalidation of an Outbox-Item.</li><li>The blog profile can no longer be queried when the blog actor option is disabled.</li>## Downloads<li>WordPress.org: <a href="https://downloads.wordpress.org/plugin/activitypub.5.9.0.zip">https://downloads.wordpress.org/plugin/activitypub.5.9.0.zip</a></li><li>GitHub: <a href="https://github.com/Automattic/wordpress-activitypub/releases/tag/5.9.0">https://github.com/Automattic/wordpress-activitypub/releases/tag/5.9.0</a></li>