Skip to content
This repository has been archived by the owner on Aug 25, 2021. It is now read-only.

Latest commit

 

History

History
151 lines (116 loc) · 5.17 KB

CHANGELOG.md

File metadata and controls

151 lines (116 loc) · 5.17 KB

medea changelog

All user visible changes to this project will be documented in this file. This project uses Semantic Versioning 2.0.0.

0.3.0 · 2021-??-??

Diff | Milestone | Roadmap

BC Breaks

  • Configuration:
    • Moved [turn] section to [ice.coturn] (#211).

Added

  • Configuration:
    • ice.default option to configure default kind of ICE servers for use (#211);
    • [ice.static] section to configure static list of STUN/TURN servers for ICE (#211).

0.2.0 · 2021-04-09

Diff | Milestone | Roadmap

BC Breaks

  • Configuration:
    • Rename [server] section of Client API HTTP server as [server.client.http] (#33).
  • RPC messaging:
    • Reverse Ping/Pong naming: server sends Ping and expects Pongs from client now. (#75).

Added

  • Control API:
    • Support for static Сontrol API specs (#28);
    • Dynamic Control API exposed via gRPC:
      • Create method for Room, Member, Endpoint (#33);
      • Get method for Room, Member, Endpoint (#33);
      • Delete method for Room, Member, Endpoint (#33);
      • Apply method for Room, Member, Endpoint (#187).
    • gRPC Control API callbacks:
    • Configuration of Member's Client API RPC settings (#95);
    • Hashed Member credentials support (#168).
  • Signalling:
    • Dynamic Peers creation when client connects (#28);
    • Auto-removing Peers when Member disconnects (#28);
    • Filter SetIceCandidate messages without candidate (#50);
    • Send reason of closing WebSocket connection as Close frame's description (#58);
    • Send Event::RpcSettingsUpdated when Member connects (#75);
    • Send relay mode in Event::PeerCreated which is used for configuring client's RtcIceTransportPolicy (#79);
    • Emit PeerUpdated event to create new and update existing tracks (#105, #139);
    • Emit TracksApplied event to remove existing tracks on a client side (#109);
    • PeerConnection renegotiation functionality (#105);
    • Calculate and send call quality score based on RTC stats (#132);
    • Enabling/disabling MediaTracks by receiver (#127, #155);
    • Send PeerUpdate::IceRestart based on RTC stats analysis (#138, #139);
    • Multiple Rooms served by one RPC connection support (#147);
    • Muting/unmuting MediaTracks (#156);
    • State synchronization on a RPC reconnection (#167).
  • Coturn integration:
  • Configuration:
    • [server.control.grpc] section to configure Control API gRPC server (#33);
    • [turn.cli] and [turn.cli.pool] sections to configure access to Coturn admin interface (#84);
    • server.client.http.public_url option to configure public URL of Client API HTTP server (#33);
    • rpc.ping_interval option to configure Pings sending interval (#75);
    • [media] section to configure timeouts involved for determining media flow liveness (#98):
      • max_lag;
      • init_timeout.
    • turn.db.redis.user option to configure user to authenticate on Coturn's Redis database server as (#135).
  • Testing:
    • E2E tests for signalling (#28).

Fixed

  • Signalling:
    • Room crashing when handling commands with non-existent peer_id (#86);
    • Adding new endpoints to the already interconnected Members (#105).

0.1.0 · 2019-08-22

Milestone | Roadmap

Added

  • WebRTC:
  • Deployment:
    • Graceful shutdown (#30);
    • Docker image (#35).
  • Configuration:
    • Ability to parse from files and env vars (#15).
  • Logging:
    • Structured logging to STDOUT/STDERR (#12).