Skip to content
Peerix v0.3 Released

Peerix v0.3 Released

May 23, 2026·meefik
meefik

Peerix v0.3 is now available. This release introduces a new SSE signaling driver, strengthens secure defaults, improves signaling efficiency, and updates compatibility and licensing for wider adoption.

Highlights

New SseDriver for signaling

Peerix now includes SseDriver for signaling over Server-Sent Events (SSE).

The SSE driver is a browser-friendly option for production signaling: incoming updates are delivered through a single SSE stream, while outbound signaling messages are sent via standard HTTP POST requests.

import { Peer, SseDriver } from 'peerix';

const driver = new SseDriver({
  url: 'http://localhost:8080/api/sse',
  withCredentials: false,
});

const peer = new Peer({ driver });
await peer.join({ room: 'my-room' });

See the SSE Driver docs for full usage and a server example.

Lower signaling overhead with ICE candidate debouncing

Peerix now debounces ICE candidate signaling. This reduces message bursts during negotiation and lowers transport load, especially in rooms where multiple peers join around the same time.

More secure defaults

v0.3 improves signaling security and identity defaults:

  • Signaling encryption now uses derived keys instead of manually supplied secret keys.
  • Signaling encryption is enabled by default.
  • Peer IDs now use compressed public keys.
  • signalingHashing has been renamed to namespaceHashing for clarity and consistency.

These updates make secure setups easier out of the box while preserving flexibility for advanced deployments.

Modern runtime baseline

This release raises the minimum build target to ES2020 to support modern JavaScript features such as BigInt.

Updated licensing

Peerix is now licensed under Apache-2.0, replacing GPL-3.0. This makes adoption easier for both open-source and commercial projects.

Upgrade notes

When upgrading to v0.3, review the following:

  • If you used manually managed signaling secret keys, migrate to the new derived-key flow.
  • If you configured signalingHashing, rename it to namespaceHashing.
  • If your environment depends on older JavaScript targets, ensure your toolchain supports ES2020.
  • If you need cross-browser/server signaling without WebSockets, consider moving to SseDriver.

Thank you

Thanks to everyone testing Peerix and sharing feedback. Your input continues to improve reliability, performance, and developer experience.

More improvements are coming soon across core functionality, drivers, examples, and documentation.