All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Room class as the top-level entry point for managing a room and its peers.me object returned by the join() method contains the id and metadata of the local peer.id option in the Room constructor instead of passed to join().join() no longer accepts a room name and now returns local peer information ({ id, metadata }).Peer class replaced the previous RemotePeer — it is now a peer connection handler created by Room.remote property on event payloads renamed to peer across all events.Room for local sharing have an undefined peer, allowing consumers to distinguish local from remote updates.connections property renamed to peers.local:join, local:leave, local:share, local:unshare, local:open, local:close). Use the stream and track events without a peer property for local stream sharing instead.local:join and local:leave events emitted when join() / leave() methods are called.local:share and local:unshare events emitted when share() / unshare() methods are called.local:open and local:close events emitted when open() / close() methods are called.managed is true).namespace option in signaling drivers is now a string instead of string[].share() / unshare() no longer return a MediaStream.managed now means the stream is externally managed and will not be stopped or unshared automatically.ReadableStream data in the send() method.info field) when sending messages.toJSON() method on peer classes to serialize peer information.send() now returns an async iterator (for tracking transmission progress) or a Promise (for delivery confirmation).ReadableStream or a Promise — read the stream to track receiving progress, or await the Promise to receive the full message.default label when label is omitted).MqttDriver for signaling over MQTT via WebSockets.CentrifugeDriver for signaling with a Centrifuge backend.ackTimeout option in SocketIoDriver to configure server acknowledgment timeout.iceCandidateDebounce option in Peer to configure ICE candidate debounce interval.dispatch to publish in the Driver interface for consistency with messaging terminology.publish / unpublish to share / unshare in Peer and RemotePeer to avoid confusion with the driver publish() method.SseDriver defaults to a Mercure-compatible endpoint (/.well-known/mercure).active property in drivers defaults to false.prefix option concatenate it directly to the event name without a separator — include a separator in the prefix if desired.SseDriver for signaling via Server-Sent Events (SSE).BigInt.signalingHashing option to namespaceHashing.SocketIoDriver for signaling via Socket.IO.SupabaseDriver for signaling via Supabase Realtime.destroy() method in supported drivers.nats-core instead of nats.ws.