-
Group Calls: Support multi-recipient message sending
-
Group Calls: Update bitrate limits for screen sharing
-
Update to webrtc 6261e
- Update to use Opus 1.5
-
Update to webrtc 6261d
- Add receive support for encrypted TOC byte
- Add logging when select fails
-
Add receive support for encrypted TOC byte
-
Update dependencies
-
Group Calls: Apply removal of demux IDs separately
-
Log notebook improvements
-
Build improvements
-
Update to Rust 1.76.0
-
Call Sim: Add jitter buffer config
-
Don't probe when close to the max probe rate
-
Group Calls: Synchronize access to last_height_by_demux_id
-
Update dependencies
-
Update to WebRTC m122
-
Desktop: Update IceServer fields to be optional
-
Add receive support for dependency descriptor to determine unencrypted length
-
Group Calls: Handle client_status in sfu.join()
-
Call links: Replace update revocation API with an explicit delete API
-
Update dependencies
-
Update to webrtc 6099c
- Accept list of IceServers for Turn configuration
-
Desktop: Accept list of IceServers for Turn configuration
-
Enable "First Ready" Turn pruning policy
-
Update to webrtc 6099b
- Apply upstream m120 change to JsepTransportController
-
Call Sim: Add PESQ and PLC MOS support
-
Update to WebRTC m120
-
Desktop: added_time and speaker_time are not optional
-
Desktop: Support installing via npm
-
Update dependencies
-
Use unified plan for group calls
-
Update jni crate to 0.21.1
-
Desktop: Remove legacy call message fields
-
Update zkgroup to 0.37.0
-
Code Cleanup
-
Desktop: Always use the Windows ADM2
-
Android: Generate assets/acknowledgments/ringrtc.md as part of build
-
Make lints on CI slightly faster
-
Build improvements and dependency updates
-
Update to Rust 1.74.1
-
Use unified plan for 1:1 calls
-
iOS: Make trivial RemoteDeviceState for IndividualCalls
-
iOS: Make isUsingFrontCamera publically readable
-
Call Sim: Add deterministic loss handling and lbred test
-
Build webrtc using github actions
-
Fetch build artifacts using a proxy where necessary
-
Update to WebRTC m118
-
Update to webrtc 5845j
- Add low bitrate redundancy support
- Lower port allocation step delay
- Prune TurnPorts on a per-server basis
- Unregister sink properly when closing
-
Call Sim: Improvements for running large test sets
- Group Calls: Propagate demux_id to LocalDeviceState
-
Cleanup logging
-
Desktop: Remove device preloading to avoid permission prompt
-
Group Calls: Add Hand Raise feature
-
Electron: Allow ICE server hostname to be set
-
Build improvements and dependency updates
-
Update to webrtc 5845h
- Add Rust_setIncomingAudioMuted
- Update libvpx dependency
-
Group Calls: Add Reactions feature
-
Group Calls: Prevent comfort noise from getting stuck on
-
Replace TaskQueueRuntime with Actors
-
Call Sim: Speed up chart generation
- Desktop: Downgrade dependency for client
-
Add callback for low upload bandwidth in a video call
-
Increase max video receive resolution for desktop
-
Update webrtc to 5845f
- Disable audio and media flow by default
- Allow configuration of audio jitter buffer max target delay
-
iOS: Stop building for Catalyst
-
Call links: Add
reset-approvals
to test client -
Update Rust to 1.72.1
-
Build improvements and dependency updates
-
Update webrtc to 5845c
- Update the hardcoded PulseAudio device name to "Signal Calling"
- Add more audio control and safe defaults
- Add accessor for bandwidth estimate
-
Update webrtc to 5845d
- Disable early initialization of recording
-
Generate license files for WebRTC builds
-
Call Sim: Add test iterations and mos averaging
-
Add more audio configuration and control
-
Improve builds on GitHub Actions
-
Build webrtc on AWS for android, ios, linux, mac
- Update tag for build automation
-
Group Calls: Separate PeekInfo device counts on in/excluding pending devices
-
Desktop: Migrate to deviceCountIncluding/ExcludingPendingDevices as well
-
Update to WebRTC m116
-
Desktop: Use stack arrays for JS arguments rather than vectors
-
Build improvements; Support more build automation
-
Log improvements
-
Add JoinState.PENDING, for call link calls with admin approval
-
Group Calls: Compute send rates based on devices, not users
-
CI: Only run the slow tests on the private repo
-
Call Sim: Use a fixed resolution for output video
-
Log notebook improvements
- Electron: Disable output format limits when screensharing
-
Call Links: Add Admin Actions support
-
Desktop: Adapt video resolutions in 1:1 calls
-
Add a Call Simulator for testing
-
Reference signalapp/webrtc@5615c
- Add configuration options to support simulation
- Support adapting video frames
-
Reference signalapp/webrtc@5615d
- Configure audio jitter buffer max delay
-
Improvements to build scripts for automating WebRTC builds
-
Test and logging improvements
-
Group Calls: Add support for TCP connections
-
Call Links: Switch to X-Room-Id header
-
Adjust max audio jitter buffer size to support increased packet time
-
Test and logging improvements
-
Call Links: Implement Peek and Join support
-
Refactor: BandwidthMode to DataMode
-
Android: Fix exception check when throwing an error up to Java
-
Improvements to make tests more reliable
-
Update to WebRTC 5615 (m112)
-
Implement Call Link Create/Read/Update APIs
-
Set audio packet time to 60ms
-
Apply audio encoder configuration in group calls
-
ios: Fix video capture size selection
-
Refactor HTTP JSON parsing so it's more reusable
-
Bump Rust toolchain to nightly-2023-03-17
-
Build improvements and dependency updates
- Desktop: Stop duplicate MediaStreamTracks
-
Remove h264 video codec support
- Reference signalapp/webrtc@5481c
-
Disable ANY address ports by default
-
Build improvements
-
Node: Require expected calling message fields
-
Log notebook improvements
- Revert "Android: Increase max jitter buffer size" (from v2.25.0)
-
Adjustments to CallId, EraId, RingId and derivations/conversions
-
Group Calls: Limit bitrate for the lowest layer
-
Reference signalapp/webrtc@5481b
- VideoAdapter: Fix scaling of very large frames
- Log more info when video input starts
-
Reference signalapp/webrtc@5481a
- Set inactive timeout to 30s
- rffi: Set a bandwidth limit on the lowest layer of a group call
- Allow tcp candidates in group calls
-
Log notebook improvements
-
Build improvements
-
Node: Ensure that a frame is fully copied before sending it to WebRTC
-
Node: Clean up our eslint config, and fix uncovered issues
-
Log stats 2sec into a call, then every 10sec after
-
Build improvements
-
Update to WebRTC 5481 (m110)
-
Use default ptime for all bandwidth modes
-
Desktop: Add workaround for slow call to enumerateDevices
-
Update dependencies (Rust and Electron)
-
Allow SFU to return multiple ICE candidates (for IPv6 support)
-
Android: Add more devices to hardware encoding blocklist
-
Android: Increase max jitter buffer size
-
Desktop: Initialize call endpoint lazily
-
Desktop: Allow explicitly rejecting very tall or very wide frames
-
Add cpu statistics to logging
-
Reference signalapp/webrtc@5359d
- Improved logging around network switch
- Allow TURN ports to be pruned
-
CI: Add "Slow Tests" that will run once every night
-
Update dependencies, logging, build improvements
-
Desktop: Get TURN servers after call creation to improve glare handling
-
Desktop: Add test cases for glare handling
-
Desktop: Set a minimum frame rate for screenshare capture
-
Reference signalapp/webrtc@5359c
- Remove Android API 19 support
- Cleanup merge diffs
- Include candidate information for ICE route changes
- Allow any address ports to be disabled
-
Log when the selected ICE candidate pair changes
-
Add debuglogs notebook for analyzing logs
-
CI: Add builds and tests for all platforms
-
Build improvements
-
Support fetching prebuilds from build-artifacts.signal.org
-
Add support for setting WebRTC field trials
-
Android: Add support non-vendored NDK
-
Update logging, builds
-
Update to WebRTC 5359 (m108)
-
Enable Opus DTX and set default encoding bitrate to 32kbps
-
Desktop: Handle failure when entering PiP
-
Desktop: Move builds to NPM
-
Update dependencies, builds
-
Group Calls: Only allow ringing if you are the call creator
-
Electron: Add callId to the call ended notification function
-
Improve display of stats in logs
-
Update dependencies
-
Electron: Save debug information when building
-
Group Calls: Improve ring handling
-
Group Calls: Update group membership upon unknown media keys
-
Improve display of stats in logs
-
Update builds and documentation
-
Update Rust
- iOS: Add isValidOfferMessage and isValidOpaqueRing to the API
-
iOS: Allow WebRTC field trials to be set
-
Update dependencies, builds
-
Android: Fix possible crash from AndroidNetworkMonitor
-
Electron: Update dependencies (neon mainly)
-
Reference signalapp/webrtc@5005b
- Cherry-pick commits to fix issues
-
Group Calls: Expose
isHigherResolutionPending
to apps -
Android: Fix race when audio levels change early
-
iOS: Set deployment target to 12.2
-
Other logging improvements
-
Update to WebRTC 5005 (m102)
-
Allow clients to specify the active speaker's height
-
Reference signalapp/webrtc@5005a
- Add logging for audio device timing
- Reference signalapp/webrtc@4896g
- Windows: Support multi-channel output
-
Android: Remove audio level debug logging
-
Group Calls: Expose decoded video height to apps
-
Handle out-of-order IceCandidate and Hangup messages
-
Turn off backtraces to stderr by default
-
Group Calls: Prefer recently received group call rings
-
Reduce binary size by dropping unicode support from the regex crate
-
Enforce that errors are handled on background tokio runtimes
-
Update Android builds
- Update gradle dependencies
- Use
-C linker
instead of ndk toolchains
-
Add support for TURN over TLS
-
Android: Add echo likelihood to logs
-
Reference signalapp/webrtc@4896f
- Add support for TURN over TLS
- Enable echo detection
-
Update Rust
-
Update builds
- Group Calls: Enable audio recording properly
- Reference signalapp/webrtc@4896d
- Have one default port allocator flags instead of two
-
Reference signalapp/webrtc@4896c
- Remove bitrate multiplier
-
Electron: Add logging to video support
-
Log PeerConnection ICE gathering errors
-
Let rust core enable media (playback and recording), not clients
-
Prioritize VP9 and H.264 hardware codecs for 1:1 calls
-
Add more logging for checking connectivity and group call issues
-
Update parse_log.py utility for more debugging
-
Reference signalapp/webrtc@4896b
- Cherry-pick upstream fixes for network crash and iOS audio/logging
-
Update Android builds
- Fix a deadlock when calling set_network_route
-
Remove old video frames when re-enabling video
-
Use less bandwidth when using TURN relays
-
Improve support when developing on M1 chips
-
Avoid notifying remote ringing in case of accepted before connected
-
Process remote status events received before the call is accepted
-
Android: Allow local video recording to be started while ringing
-
Reference signalapp/webrtc@4896a
- Fix issue with opus frame length for AudioSendStream
-
Adjust logging
- iOS: Fix mapping of log output
-
Update to WebRTC 4896 (M100)
-
Disable transport-cc for audio
-
Add VP9 codec support and enable for Android hardware/Electron
-
Add state for ConnectingAfterAccepted to fix connect/accept race on caller's end
-
Group Calls: Fire peek changed events even if the call is empty
-
Reference signalapp/webrtc@4638j
- Reduce more noise from error/warning logs
-
Update dependencies, builds, and ci
-
Clean up "lite" interfaces
-
Add recall support
-
Fix typos
-
Add WebRTC error and warning logs to RingRTC logging
-
Reference signalapp/webrtc@4638i
- Reduce noise from error/warning logs
- Introduce a "lite" part of RingRTC
- Android: Add default enum for audio processing
-
Group Calls: Increase max send bitrate for large calls
-
Group Calls: Use v2 frontend api and remove notion of endpoint_id
-
Reference signalapp/webrtc@4638h
- Android: Add Aec3/AecM switch
- Windows: Workaround for multi-channel input
-
Android: Add aec switch and remove legacy default
-
Electron: Bubble up more DemuxIds
-
Update Rust and dependencies
-
Fix group call rate constant
-
iOS: Fix audio level api for group calls and tests
-
Update Audio Level API to specify desired interval
-
Electron: Use WebCodecs to capture and send video
-
Reference signalapp/webrtc@4638f
- Group Calls: Enable 3rd spatial layer for video
-
Update dependencies
- Electron: Revert new state and fix issue with prering ended handling
-
Electron: Fix incoming call notifications for better call history
-
Reference signalapp/webrtc@4638e
- Mac: Fix stereo playout bug
-
Update dependencies
- Add API to get the incoming and outgoing audio levels
-
Node: Optimize use of CanvasVideoRenderer.renderVideoFrame
-
Node: Update builds and logging
-
Group Calls: Leave via RTP instead of HTTP
-
Group Calls: Don't use DTLS
-
Group Calls: Increase default max receive rate
-
Android: Add audio processing options (to control AEC/NS)
-
Android: Improve JNI/Rust interfaces
-
Remove legacy Multi-Ring checks and hangup
-
Avoid handling RTP Data before accepted
-
Reference signalapp/webrtc@4638c
- Port crash fix
-
Don't terminate a 1:1 call because of transient RTP data error
-
Reference signalapp/webrtc@4638b
- Make it possible to share an APM between PeerConnections (ensures AEC/NS operation)
-
Desktop: Clear out the incoming video frame to avoid rendering old data
-
iOS: Delete the dSYMs out of the built xcframework
-
Update WebRTC to 4638 (M95)
-
Further improvements to WebRTC pointer management
-
Replace DataChannel with direct RTP data
-
Logging/Testing/Build improvements
- Use SetAudioPlayout() function for group calls
-
Improve how WebRTC pointer is tracked across FFI
-
Update Rust
-
Update dependencies
-
Update builds
-
Electron: Use Neon's Channel to avoid polling for events/logs
-
Desktop: Allow logger to be initialized multiple times
-
Enable the use of the SetAudioPlayout() function to start playout after accept
-
Reference signalapp/webrtc@4389k
- Initialize ADM playout before starting
-
iOS & Android: Pass PeerConnectionFactory down to Rust for group calls
-
Desktop: Fix an issue generating device lists on Windows
-
Add test client for group calls
-
Adjust some interfaces between RingRTC and WebRTC
-
Reference signalapp/webrtc@4389j
- Cleanup iOS interfaces
-
Desktop: Update local preview source object correctly
-
Android: Build Java against the same SDK/NDK that WebRTC uses
-
Desktop: Add support for auto-ended call timestamps
-
Desktop: Formatting and other updates
-
Android: Fix signature for new argument
-
Desktop: Option to use new or default audio device module on Windows
-
Reference signalapp/webrtc@4389i
- Support new Windows ADM
-
Desktop: Support glare scenarios
-
Request updated membership proof for group calls at least once a day
-
Request bitrate constraints for group calls according to BandwidthMode
-
Fix PeerConnectionFactory leaks
-
iOS: Remove dependency on PromiseKit
-
Android: Enable a Hardware AEC blocklist and fix a memory leak
-
Android: Native PeerConnectionFactory uses AndroidNetworkMonitor and JavaAudioDeviceModule
-
Enable ICE continual gathering
-
Add signaling for the removal of ICE candidates
-
Add notifications for network route changes
-
Adjust ringing timeout to 60 seconds
-
iOS: Fixes to address resource leaks
-
Reference signalapp/webrtc@4389h
- iOS: AudioSession adjustments for volume issues
-
Update builds and documentation
- Update Group Ringing feature
-
Add Group Ringing feature
-
Reference signalapp/webrtc@4389f
-
Remove DTLS and SDP
-
Group Calling: Reduce notifications for active speakers
-
Android: Modify NDK dependencies and use armv7 instead of arm
-
Update logging
-
iOS: Add support for building for Catalyst
-
iOS: Update builds
-
Update dependencies
-
Electron: Use Buffer everywhere we used to use ArrayBuffer
-
iOS: Update builds and tests to support M1 iOS simulator
-
Update to Rust nightly
- Screenshare: Allow screenshare without a camera
- Screenshare: Add optimizations
- Screenshare: Fix bandwidth for group call
- Screenshare: Fix sending of status
-
Screenshare: Fixes for legacy clients
-
Build Fixes: Support older Linux distros and other optimizations
-
Reference signalapp/webrtc@4389c
-
Add Screensharing feature
-
Electron: Support alternative target architectures
- Electron: Rebuild (no functional changes)
- Revert change for shared picture ID in WebRTC
-
Reference signalapp/webrtc@4389a
-
Update dependencies
-
Update builds and tests
-
Add statistics to monitor connection information
-
Reference signalapp/webrtc@4183l
-
Adjust logging and build issues
-
Electron: Update neon to use n-api runtime
-
CI optimizations and lint improvements
-
Electron: Update to version 11
-
Android: Add setOrientation() API
-
Update contributing readme
- Electron: Fix Windows build
-
Add very low bandwidth support for audio
-
Remove SCTP
-
Update documentation
- Android: Fix JNI out of memory issues for large groups
-
Android: Fix memory issues for Direct Calling
-
Electron: Fix issue where camera was not released
- iOS: Fix issue when ending a Group Call
- Group Calling: Fix issue with video resolution requests
-
Update Group Calling feature
-
Reference signalapp/webrtc@4183h
- Android: Improve stability for Group Calling
- Update Group Calling feature
- Update Group Calling feature
-
Update Group Calling feature
-
Android: Add more devices to hardware encoder blacklist
-
Reference signalapp/webrtc@4183g
- Electron: Fix video track setting
-
Add Group Calling feature
-
Reference signalapp/webrtc@4183f
-
Update Rust dependencies
-
Update builds and documentation
- Electron: Fix debug build
-
Refactor calling code (non-functional improvements)
-
Update opus codec settings
-
Update builds and documentation
- Electron: Expose more message types
-
Reference signalapp/webrtc@4183a
- Electron: Should prevent early microphone access
-
Electron: Do not stretch video if different resolution
-
Update Rust dependencies
-
Implement "V4" protocol with protobufs; deprecate SDP
-
Electron: Improve logging and handling of device selection
-
Reference signalapp/webrtc@4183
-
Implement "V3" protocol; deprecate DTLS
-
Fix offer-busy handling and support better glare experience
-
Electron: Fix issue when sending busy would end current call
- Electron: Mac minimum sdk and os set to 10.10
-
Electron: Improve device selection on Windows
-
Fix message queue issue
-
Disable processing of incoming RTP before incoming call is accepted
-
Electron: A/V device selection support
-
Implement low bandwidth mode support
- iOS: Update video support
- Reference signalapp/webrtc@4147d
- Fixes for release
-
Reference signalapp/webrtc@4147b
-
Implement data channel support over RTP; deprecate SCTP
-
Add audio statistics logging
-
Minor fixes and improvements
-
Fix for call request support
-
Fix to ensure hangups sent
-
Reference signalapp/webrtc@4103
-
Add support for call request permissions
-
Reference signalapp/webrtc@4044g
-
iOS: Remove 32-bit support, require 11.0 target
- Reference signalapp/webrtc@4044f
-
Implement native interface
-
Reference signalapp/webrtc@4044e
-
Minor API improvements (call, proceed, receivedOffer)
- Android: Use video sink for remote video stream
- Reference signalapp/webrtc@4044d
-
Reference signalapp/webrtc@4044c
- Fixes a call forking bug
- Improves connectivity using PORTALLOCATOR_ENABLE_ANY_ADDRESS_PORTS
- Cherry picked updates from WebRTC
-
Disable TURN port pruning
-
Fix glare handling before connection
-
Add Multi-Ring feature
-
Android: Fix video encoder crash on some devices
-
Update build documentation
-
Update Rust dependencies
- Fix issue preventing some calls from ringing
-
Update build documentation
-
Reference signalapp/webrtc@4044
-
Move to vendored WebRTC at signalapp/webrtc
-
Reference signalapp/webrtc@3987, includes cherry picked updates from WebRTC 4044
-
Disable unused audio codecs and RTP header extensions
-
Adjust settings and logging
-
iOS: Minor optimizations
- Cherry pick updates from WebRTC 4044
- Android: improve logging
- Add Call Manager component
-
Update WebRTC to 3987
-
Update Rust dependencies
-
iOS: build system improvements
- iOS: Fix iOS 13 issue with camera capture
- Android: Filter list of cameras when switching cameras
-
Update WebRTC to m79
-
Android: Improve WebRTC debug logging
-
Improve logging on Android
-
Build system improvements
- Make termination a two-phase close and dispose operation
-
Improve logging on Android
-
Patch WebRTC M78 for AudioRecord regression
-
Add integration tests
-
Build system fixes and clean up
- Android: Use an application supplied logging object
-
Update WebRTC to m78
-
Add integration tests
-
Build system fixes and clean up
-
Update Makefile targets for 'clean' and 'distclean'
-
Simplify the IceReconnecting logic
-
Remove non-critical DataChannel error callbacks
- Add IceReconnectingState
-
iOS Support
-
Update WebRTC to m77
-
Initial Release
-
Based on WebRTC release m76