Activity-Relay Server v2.5.0 RC1 is now live

Activity-Relay Server 2.5.0 RC 1 is now live at https://relay.argentwolf.org

Please help me out with connecting and testing! If you have any issues, please let me know! You can reach me at @alan, or open an issue on https://github.com/thystra/Activity-Relay

What’s new in Activity-Relay v2.5.0-rc1

  • Adds relay-signed actor and object fetches for Mastodon authorized-fetch and secure-mode compatibility.
  • Publishes the relay actor as an ActivityStreams Application, allowing current Friendica versions to discover and register the relay while preserving the existing actor ID, endpoints, and public key.
  • Uses a shared, exact-authority HTTP-signature implementation for both authorized fetches and outbound delivery.
  • Adds durable per-receiver delivery-health tracking through /status.json schema version 4.
  • Adds an optional private observability listener for Prometheus metrics, process health, and Redis-backed readiness checks.
  • Adds bounded Redis-backed operational metrics shared across the API and worker processes.
  • Migrates asynchronous delivery to the maintained Redis-only Machinery v2 fork.
  • Adds leased in-flight task claims and at-least-once recovery, preventing silent task loss after an abrupt worker or host failure. A duplicate delivery remains possible if the remote server accepts a request immediately before the worker terminates.
  • Preserves the existing actor key, actor address, queue data, delayed retries, configuration names, and Redis database through the tested upgrade path.
  • Includes extensive package, rollback, Redis-failure, worker-interruption, Mastodon, Friendica, NodeBB, container, race-test, and production validation.

Full RC changelog: Activity-Relay v2.5.0-rc1 changelog

Full release notes and downloads: Activity-Relay v2.5.0-rc1 release

Known limitation: NodeBB 4.14.2 may return HTTP 424 when it performs an unsigned follow-up fetch from an origin that requires signed GET requests. The relay-delivered request itself remains properly signed. (Bug Report)


If you find this project useful, please give it a star on GitHub! Any tips and/or support contributions are appreciated!

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.