Week in Fediverse 2026-07-31
Servers
- Mastodon v4.6.4
- yukimochi/Activity-Relay v2.0.11
- Iceshrimp.NET v2026.1.2-beta
- Mitra v5.8.0
- ActivityPub for WordPress v9.2.0
- Misskey v2026.7.0
- NeoDB v0.17.4
- NodeBB v4.14.5
- Announcing Bonfire for communities: groups and tools to organise together
- bandwagon.fm: July 2026
Clients
- Fedilab v3.43.0
- Pachli v3.8.0
- PleromaFE v2.11.2
- Aria v1.5.10
- Photon v2.4.3
- Rocinante v1.2.0
- FediSuite: Manage all your Fediverse accounts in one place
For developers
- Masto.js v8.0.0
- activitystreams-vocabulary: ActivityStreams 2.0 Vocabulary data structures (Rust)
Protocol
Articles
- Pelago: The Old Man, The Sea, and The Island
- Cooperative Software
- Cacheable Requests for Remote Content
- A newbie's guide to self-hosting: GoToSocial part 1 (installation and set-up)
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019f95f5-5736-7753-8aaa-83f9c26fa07e
# Pachli 3.8.0 is released
This release introduces support for notifications about #collections, improves compatibility with #iceshrimpdotnet servers (by @c, their first contribution to Pachli), fixes a crash, and ensures follower/following relationships are updated if you block a server.
Iceshrimp.NET v2026.1.2-beta
This is a beta security hotfix release. It's identical to v2026.1.1-beta, except for the security mitigations listed below. Upgrading is strongly recommended for all server operators.
- When LibVips is used for image processing, unfuzzed / untrusted load/save operations are now disabled by default. The formats JPEG-XL, JPEG-2000 and SVG can be reenabled with configuration options respectively.
Check out the full changelog for more information on this release.
Pelago: The Old Man, The Sea, and The Island
Week in Fediverse 2026-07-24
Servers
- WriteFreely v0.17.0
- Ktistec v3.9.0
- Vernissage Server v1.41.0
- GoToSocial v0.22.1
- Bookwyrm v0.9.1
- PeerTube v8.2.3
- Lemmy v0.19.20
- ties v0.3
- ActivityPub for WordPress v9.1.0
- NeoDB v0.17.2
- NodeBB v4.14.2
- PieFed v1.7.7
- FitPub v1.2.1
- ActivityForge: ForgeFed implementation in Rust
Clients
- PleromaFE v2.11.1
- Aria v1.5.9
- Pixelix v5.0.0
- Summit v1.83.0
- Jerboa v0.0.88
- Holos v1.15.0
- Rocinante v1.1.8
Tools and Plugins
- Superblock v3.1 (Hubzilla addon)
- Polls for ActivityPub v1.0.10 (WordPress plugin)
Protocol
Articles
- I added ActivityPub to this blog
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019f71c0-52f2-7b60-a0f7-a9df07a6fd66
Cacheable Requests for Remote Content
TLDR: proxyUrl requests are un-cacheable, this is a terrible Developer Experience.
When fetching remote Activities, Objects or Actors with the ActivityPub API we use a few endpoints. First, we might fetch activities directly from our Inbox endpoint, this loosely translates to a users Home feed.
But to represent these Activities in a meaningful way to users, we also need information about the Actor who posted the activity, so that we may display their Avatar, Display name and perhaps their Webfinger1.
We could fetch an Actor directly from a client, but not all ActivityPub servers are guaranteed to have CORS enabled. So to reliably fetch, we use the proxyUrl endpoint2.
… the client posts an x-www-form-urlencoded
idparameter with the value being the id of the requested ActivityStreams object.
Unfortunately POST requests are opaque regarding the id3.
Typically, a Service Worker would use a fetch eventListener to intercept the request, and depending on cacheing strategy might first look up this id in the cache, or indexedDB, and if it isn’t found would then fetch and save response for later use.
So back to our Home feed, when scrolling through the activities you are likely to see a number of posts from the same people, whether because you only follow a few or because you follow some frequent posters.
Without cacheing, our app would need to fetch those Actors again and again, each time one of their posts shows up. Also, depending on your server configuration, could get your client rate-limited.
Beyond ActivityPub, not cacheing is wasteful, these continuous requests could not only make a low-powered device slow-down, heat up and drain a mobile battery, but depending on internet access where you live could also eat into your data plan.
- Webfinger is an identifier & protocol for looking up information about users, which should look familiar:
user@example.com↩︎ - https://www.w3.org/wiki/ActivityPub/Primer/proxyUrl_endpoint ↩︎
- Basically a URL: https://www.w3.org/TR/activitypub/#obj-id ↩︎