Tag: Retrospective

  • WordPress Federation: Recap of 2025

    WordPress Federation: Recap of 2025

    In June, we published our 2025 roadmap: Building the Future of WordPress Federation, outlining the areas we wanted to focus on for the rest of the year.

    As we step into 2026, it’s time to look back at how the roadmap held up and what we shipped in 2025.

    2025 at a Glance

    2025 turned out to be an ambitious and, at times, challenging timeline. Even so, we were able to make meaningful progress across most of the areas we set out to work on.

    Over the course of the year, we introduced the Following feature, significantly expanded moderation tooling, refined actor handling, and improved the reliability and performance of core federation workflows. Along the way, we also shipped a first experimental draft of the Reader, offering an early look at what reading the Fediverse inside WordPress could become.

    Not everything on the roadmap was completed, but we’re happy with how much we were able to achieve and with the foundations that are now in place for what comes next.

    Roadmap

    Below is a review of the roadmap topics we outlined for 2025, what we worked on, and what remains open.

    Followers / Following ✅

    Work in 2025 expanded ActivityPub beyond followers by introducing the Following feature, allowing WordPress sites and users to actively follow accounts on the Fediverse.

    WordPress admin Followings page showing a list of 3 accepted follows: notiz.blog, pfefferle (Matthias Pfefferle), and obenland (Konstantin Obenland). The page includes a Follow form for adding new followers via username or profile link, bulk actions dropdown, and an explanation of the ActivityPub follow request protocol.

    Alongside this, we improved the reliability and performance of both follower and following lists, including better synchronization across instances and faster resolution and display of large collections.

    This work also laid the foundation for later features, such as the experimental Reader.

    Related release posts:

    Actors ✅

    We continued refining how local and remote actors are represented and resolved. Internal refactors reduced special-case handling and improved consistency and performance across actor resolution, including follower, following, and block lists.

    This work primarily affected internal behavior rather than user-facing UI.

    Related release posts:

    Moderation ✅

    In 2025, ActivityPub-specific moderation was significantly expanded. Site-wide and personal blocking now cover domains, keywords, and individual actors, with consistent checks applied to incoming activities.

    User profile settings in WordPress displaying options to block ActivityPub domains and keywords, with fields to add or remove entries.

    We added blocklist subscriptions with scheduled syncing and bulk domain imports, including support for community-maintained lists such as the IFTAS DNI list. Moderation handling was also refined with improved reject behavior for quote interactions.

    Related release posts:

    Reader 🧪

    A screenshot of the reader implementation.

    An experimental Reader UI was introduced behind a feature flag. When enabled, it adds a “Social Web” area to the dashboard where posts and shares from followed accounts can be read inside WordPress.

    The feature is disabled by default and explicitly marked as experimental.

    Related release posts:

    Direct Messages ⏸️

    Direct Messages were not implemented in 2025. This remains an open roadmap topic for future consideration once related foundations mature further.

    Fully Delete Profiles ✅

    Deletion semantics were improved to better support explicit federated cleanup. Delete activities are now sent when WordPress users are removed, and deletion-related handling was aligned across activity processing.

    A CLI-based self-destruct command was introduced to allow site owners to explicitly remove their site’s federated presence.

    Related release posts:

    Client-to-Server API ⏸️

    Client-to-Server API support was not implemented in 2025. No user-facing features shipped under this topic.

    Beyond the Roadmap

    While the roadmap helped guide our focus in 2025, not everything that shipped was planned from the start. Some features emerged from day-to-day usage, feedback, and practical needs that became clearer over time.

    A few of those are worth highlighting.

    Quotes

    Support for quote interactions improved significantly over the year. We refined detection and handling of quoted replies and links, added proper handling for quote comments, and improved how quote permissions are revoked when quoted content is deleted. This made quoted interactions more reliable and consistent across instances.

    Related release posts:

    Onboarding

    We also improved onboarding for new users by adding clearer guidance and better defaults after plugin activation. This helped reduce friction for sites federating for the first time and made initial setup more approachable.

    Related release posts:

    Extra Fields UI

    While not originally planned as a roadmap item, work on Extra Fields resulted in a more flexible and user-friendly UI. New blocks and layout options made it easier to display federated profile data in different formats, allowing themes to choose how much structured information to surface.

    Related release posts:

    Wrapping up

    Looking back, 2025 was a year of steady progress. We focused on the foundations we set out to improve, shipped meaningful features along the way, and left room for unplanned work that addressed real needs as they came up.

    Now we’d love to hear from you: What was your favorite feature this year? What are you most excited about and what do you still miss or hope to see next?

    Your feedback has shaped this project throughout 2025, and it continues to guide where we go from here. We’re already working on our 2026 timeline, and your ideas, experiences, and questions are an important part of that process.

    Thanks for being part of the journey and see you on the Fediverse.