v2.6.0
prlanzarin
released this
09 Nov 21:43
·
87 commits
to v2.6.x-release
since this release
Feature release v2.6.0
CHANGELOG:
Features
- feat: new mediasoup adapter
- feat(metrics): add mediasoup prometheus instrumentation
- feat: experimental full audio module
- feat(screenshare): bidirectional offer-answer exchange
- feat(video): bidirectional offer-answer exchange
- feat(listen-only): bidirectional offer-answer exchange
- feat(kurento): implement the trickle specifier for offer generation
- feat(listen-only): make global audio bridge mode configurable
- feat(core): implement SDP audio codec filtering
- feat(core): add config to control media type offload with KMS
- feat(listen-only): configurable option to ignore mediaThresholds
- feat(video): configurable option to ignore mediaThresholds
- feat(screenshare): configurable option to ignore mediaThresholds
- feat(video): allow configuring which adapter to use for recordings
- feat(screenshare): allow configuring which adapter to use for recordings
Fixes
- fix(kurento): properly generate WebRTC offers based on media profiles
- fix(video): remove randomized extra time in media flow ejection timeout
- fix(screenshare): implement media timeout ejection
- fix(core): propagate opts and mediaTypes to processAnswer
- fix(video): specify profile for subscribers
- fix(metrics): wrong env var mappings for enabled/default mts
- fix(core): properly handle renegotiation failures
- fix(core): tackle audio+video bundling on renegotiation (edge case)
- fix(screenshare): correctly annotate audio profile
- fix(video): annotate mediaProfile for subscribers as well
- fix(listen-only): annotate proxy eps with audio profile
- fix(listen-only): add profile to subscriber eps and avoid losing proxy events
- fix(core): store options in media units
- fix(core): add prefix to default prom metrics
- fix(kurento): bad reference to generateOffer sanitization filters
- fix(core): put user ejection (autoLeave) under a configurable timer
- fix(kurento): add default options to generateOffer
- fix(core): take API-specified media profiles into account in mediaTypes
- fix(core): rooms#medias/mediaSessions, Array -> Map
- fix(core): prevent global media limiter from applying to renegotiated medias
- fix(listen-only): use adequate global audio bridge direction/profile
- fix(screenshare): remove unused/leftover stop RPC
- fix(screenshare,video): propagate adapter opt to recording
- fix(core): filter media profiles when adapter mode is composed
- fix(screenshare): add an extra permission probe before signaling broadcast start
Build and dependencies
- build: bump mcs-js to v0.0.11 (from v0.0.10)
- build: bump ws to v7.4.6 (from v7.3.1)
- build: add mediasoup v3.9.1
- build: add mediasoup-client v3.6.43
- build: add bbb-sfurec-adapter v1.0.0-dev.6
- build(dev): add eslint v8.2.0
- build(dev): add nodemon v2.0.14
- build(docker): add more files to dockerignore
- build(docker): include ffmpeg, python3-pip, make and g++
- build(docker): use node14-bullseye-slim as base image (from node14-alpine)