Skip to content

Projected Roadmap

This page contains tentative Relay directions, not current features. Items may change substantially, be postponed, or be removed. No item below has a promised release date. The Relay Features page is the source of truth for what is currently available on master.

Bot scripting

An unmerged Relay branch prototypes per-network bot scripting with a Risor runtime. The prototype includes:

  • An administrator or user-facing bot management surface attached to an IRC network.
  • A CodeMirror-based script editor with syntax highlighting, templates, and inline diagnostics.
  • Event handlers for IRC messages and helpers for sending IRC responses.
  • Explicit capabilities such as http and exec, so scripts can be granted access to external services only when intended.

This remains a candidate until it is merged into Relay's main branch and its security model, permissions, resource limits, and operational documentation are finalized.

Optional soju-backed IRC bouncer

Another unmerged branch prototypes optional integration with soju as a dedicated IRC bouncer backend. The proposed direction includes:

  • Opt-in provisioning of soju users and networks from Relay account and network management.
  • Reconnect handling and CHATHISTORY-backed IRC backlog support.
  • An optional soju listener for external IRC clients such as WeeChat or irssi.
  • SASL EXTERNAL certificate provisioning through soju.
  • Migration tooling for existing Relay accounts and networks.
  • Docker Compose support for running Relay and soju together.

This candidate would be private-mode infrastructure and would not change public-mode network restrictions. It still requires decisions about deployment, data ownership, compatibility, security boundaries, and the relationship between soju history and Relay's search index before it can be treated as a supported feature.

How roadmap status works

  • Current: implemented on Relay master and documented in the feature reference.
  • Projected: an active proposal or unmerged implementation candidate; not supported for production use.
  • Released: included in a tagged Relay release, even if later master work has not reached a release yet.

When a projected item is merged, move its user-facing behavior into Relay Features, add configuration and setup guidance to the appropriate operational page, and remove the item from this page or retain it only as historical context.