Version 0.7.0
As of 0.7.0, SIP.js no longer runs on browsers which do not support Promises. All WebRTC-capable browsers already support Promises, but this may affect browsers that were only supported at the signaling layer. Specifically, Internet Explorer.
Brief notes:
- BREAKING CHANGE: The
options.media.render
argument toUA#invite
andSession#accept
no longer hasaudio
/video
subfields. SeeMediaHandler#render
- Dependencies on global objects can now be injected at runtime: #108
- Our WebSocket dependency is now included using
require('ws')
. Thanks to Browserify, this shouldn't affect most users. Node.js users will have one less thing to worry about. 16bb9d0 - We are now using Promises internally. This has been the case on the Master branch for some time. Node.js users will be polyfilled to use
promiscuous
, or Node.js native Promises if available. - The MediaHandler and MediaStreamManager interfaces use Promises instead of callbacks, and support zero/multiple streams. #175
- We are now using the Node.js native EventEmitter, bundled in Browserify. There are slight changes to the EventEmitter API due to this change, but old methods are supported (though deprecated) for now. b07a368
- Session has a new
terminated
method. (Okay, it's not new, but we fixed how it works and document it now.) - Session termination events (
rejected
,failed
,cancel
,bye
, andterminated
) have been cleaned up and now behave more consistently, both in terms of internal behavior and RFC specs. 6d8d79b - The WebRTC MediaHandler now has many more events for ICE connection states and candidate gathering.
- Support for REFER with Replaces and INVITE with Replaces. 5170cfd
- A handful of other bug fixes.