7.0.0 – I will follow you!

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 Fediverse

We’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.

Wapuu that "follows" a Mastodon, Pixelfed and Ghost mascot.

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 Signature

This 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

  • Added basic support for handling remote rejections of follow requests.
  • Added basic support for RFC-9421 style signatures for incoming activities.
  • Added initial Following support for Actors, hidden for now until plugins add support.
  • Added missing “Advanced Settings” details to Site Health debug information.
  • Added option to auto-approve reactions like likes and reposts.
  • Added support for namespaced attributes and the dcterms:subject field (FEP-b2b8), as a first step toward phasing out summary-based content warnings.
  • Added support for the WP Rest Cache plugin to help with caching REST API responses.
  • Documented support for FEP-844e.
  • Optional support for RFC-9421 style signatures for outgoing activities, including retry with Draft-Cavage-style signature.
  • Reactions block now supports customizing colors, borders, box-shadows, and typography.
  • Support for sending follow requests to remote actors is now in place, including outbox delivery and status updates—UI integration will follow later.

Changed

  • Comment feeds now show only comments by default, with a new type filter (e.g., like, all) to customize which reactions appear.
  • Consistent naming of Blog user in Block settings.
  • hs2019 signatures for incoming REST API requests now have their algorithm determined based on their public key.
  • Likes, comments, and reposts from the Fediverse now require either a name or preferredUsername to be set when the Discussion option require_name_email is set to true. It falls back to “Anonymous”, if not.
  • Management of public/private keys for Actors now lives in the Actors collection, in preparation for Signature improvements down the line.
  • 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.
  • Plugins now have full control over which Settings tabs are shown in Settings > Activitypub.
  • Reworked follower structure to simplify handling and enable reuse for following mechanism.
  • Screen options in the Activitypub settings page are now filterable.
  • Setting the blog identifier to empty will no longer trigger an error message about it being the same as an existing user name.
  • Step completion tracking in the Welcome tab now even works when the number of steps gets reduced.
  • The image attachment setting is no longer saved to the database if it matches the default value.
  • The welcome page now links to the correct profile when Blog Only mode was selected in the profile mode step.
  • Unified retrieval of comment avatars and re-used core filters to give access to third-part plugins.

Fixed

  • Allow interaction redirect URLs that contain an ampersand.
  • Comments received from the Fediverse no longer show an Edit link in the comment list, despite not being editable.
  • Fixed an issue where links to remote likes and boosts could open raw JSON instead of a proper page.
  • Fixed a potential error when getting an Activitypub ID based on a user ID.
  • HTTP signatures using the hs2019 algorithm now get accepted without error.
  • Improved compatibility with older follower data.
  • Inbox requests that are missing an algorithm parameter in their signature no longer create a PHP warning.
  • Interaction attempts that pass a webfinger ID instead of a URL will work again.
  • Names containing HTML entities now get displayed correctly in the Reactions block’s list of users.
  • Prevent storage of empty or default post meta values.
  • The amount of avatars shown in the Reactions block no longer depends on the amount of likes, but is comment type agnostic.
  • The command-line interface extension, accidentally removed in a recent cleanup, has been restored.
  • The image attachment setting now correctly respects a value of 0, instead of falling back to the default.
  • The Welcome screen now loads with proper styling when shown as a fallback.
  • Using categories as hashtags has been removed to prevent conflicts with tags of the same name.
  • When verifying signatures on incoming requests, the digest header now gets checked as expected.

Downloads

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!


Comments

22 responses to “7.0.0 – I will follow you!”

  1. Jer Avatar

    @activitypub.blog
    A lot of us fediverse users would appreciate it if you didn’t overload the CW/subject field with almost 500 characters of automatically truncated content from the beginning of the post.

    I think putting the post’s title into that field would be more appropriate if there isn’t a summary or description explicitly defined by the user.

    In a lot of clients, the CW text is larger and bolder than the content, and no one ever expected someone would be putting more content in there than lot of instances allow to exist in an entire post.

    Could you create a reasonable default that is more in line with what that field is for, making users who want to do what you’re currently doing have to go out of their way to do it?

    Thank you.

    Like

    1. Matthias Pfefferle Avatar

      @nyquildotorg @activitypub.blog first: thanks for your feedback!

      I understand, but do not fully agree with your point here. You see this from a microblogging perspective, but ActivityPub is not limited to that. There are platforms focusing on events, images or videos and now also long-form content.

      Like

      1. Matthias Pfefferle Avatar

        @nyquildotorg @activitypub.blog I think the solution is not to press everything in around 100 to 500 chars, but to improve platforms to be able to handle the different content types properly.

        maybe some interesting links what we are trying to achieve:

        * https://socialhub.activitypub.rocks/t/fep-b2b8-long-form-text/5300
        * https://socialwebfoundation.org/long-form-text-on-the-fediverse/

        Like

    2. Matthias Pfefferle Avatar

      @nyquildotorg @activitypub.blog and btw. it is your platform GoToSocial that decides to show the full content!

      We provide a reasonable summary for each post.

      Here is a screenshot how the post looks on Mastodon.

      Like

    3. Matthias Pfefferle Avatar

      @nyquildotorg @activitypub.blog Sorry, perhaps I completely misunderstood your point 🫣

      Like

    4. Peter Müller Avatar

      @nyquildotorg @activitypub.blog

      If I understand you correctly that's precisely why I use Note and the field [ap_excerpt] to get the excerpt from the blog post, which was specifically written as a summary for this purpose.

      Like

  2. Thiago Skárnio Avatar

    @activitypub.blog Estão chegando lá, @josemurilo!

    Like

  3. Thiago Skárnio Avatar

    @activitypub.blog This is the most anticipated feature of the year! I'm so happy that @alex's contributions to the amazing Friends plugin are being included!

    Like

  4. 🌈 Lascapi ⁂ Avatar

    @activitypub.blog Amazing ! I start to use this plugin with my blog, and I look forward for this new version ! :)

    Like

  5. maryjane :fediverso: Avatar
  6. David Peach Avatar

    […] 7.0.0 – I will follow you! […]

    Like

  7. Experimenting with WordPress and ActivityPub – Famille Hervé Avatar

    […] Do you experience the same issue when trying to follow other Fediverse accounts from the Friends > Add New Friend menu in your site’s dashboard, or is this limited to following from a third-party app? If you don’t have that menu item on your site, you’ll need to install the Friends plugin on your site ; this additional plugin handles the actual following process (for now ; soon it will be done all within the ActivityPub plugin itself!). […]

    Like

  8. silverpill Avatar

    @activitypub.blog

    Documented support for FEP-844e.

    Cool, I’ll add you to the implementation list.
    Do you have any feedback, or suggestions? This FEP is very new and probably needs refinement

    Like

    1. Konstantin Obenland Avatar

      @silverpill @activitypub.blog I think the main motivation for me to add it was to advertise our new support for #RFC9421. Having a proposed standardized way to do that felt neat.

      On the receiving end, I'm not sure we'd do any pre-flight requests to understand what an instance implements before acting on it, we'd probably rather stay conservative or do things like double-knock with caching, would be my guess. Might be different if it was something we could grab with a HEAD req.

      Like

      1. Konstantin Obenland Avatar

        @silverpill @activitypub.blog `implements` is a keyword in PHP, Java, TypeScript, that some quality tools will flag if used as a variable in function signatures. It was fine in our case as a class property, but it's possible others might run into something like that.

        Maybe there are alternatives that could be considered? `supports`?

        Like

      2. silverpill Avatar

        @obenland @activitypub.blog

        >pre-flight requests

        This is needed for signed GET requests, right? Because when POSTing to inbox, the actor (and its capabilities) should be already known.

        Like

        1. Konstantin Obenland Avatar

          @silverpill @activitypub.blog Oh, I did not consider that! That's right!

          Like

  9. Khürt Williams Avatar

    Really love how you wove the idea of “I will follow you” into something both personal and technical—it made the release feel more human!

    The nod to that Peter Gabriel cover gave this Gen-Xer a little jolt of recognition. 😁

    It’s great to see such steady progress. The improvements to signature support and inbox delivery are huge, and the attention to little things—like metadata and embedded media—shows real care.

    Thanks for the transparency and the tone you bring to these updates—it always feels like a conversation, not a broadcast.

    Liked by 2 people

  10. 김지운 Avatar

    In the Jetpack app, I can see likes and reposts, but not the comments. It seems like something might be wrong with the app’s compatibility.

    Like

  11. […] of full-time developers. With the release of the 7.x branch of the ActvityPub integration plugin, project devs announced that they would be working on bringing remote following capabilities to the plugin […]

    Like

Leave a comment