Releases: onsip/SIP.js
0.16.1
Fixes
- Fix ACK re-INVITE race when offer in 200 Ok (see #798)
- Prevent invalid state transition in Registerer (see #800)
- Add documentation of WebSocket Transport (see #801)
- Fix subscription bugs related to timer N (see #802)
Features
- Add support for Retry-After on REGISTER reject (see #799)
Other
tslint
is deprecated, so replace witheslint
andprettier
- Remove
tslib
(unnecessary after update from es5 build target) - Remove
crypto-js
(new update broke some environments) - Update target to
es2017
- Update module to
es2015
, with package.json changes to make SIP.js a proper ES module
0.16.0
This is the first release without the legacy API. If you have not migrated, 0.15.x contains both the legacy and new APIs. The new API on 0.15.11 is the same as the only API on this version. If you need help migrating, please see our migration document.
Other changes:
- remove old API
- remove old tests
- update documentation
- update dependencies
- new API available importing from root
- if you are using typescript, you must now use typescript >= 3.6.5.
- node 8 has been EOL'ed, so node must now be >= 10.
- we no longer build with es5 as the target, so es5 browser support has been dropped (mainly IE11).
- new README.md
0.15.11
Both APIs
- in dialog MESSAGE support
- fixed handling of received binary WebSocket messages
New API
- removed Byer, Infoer, and Referer in favor of Session methods
- added auth support for re-INVITE
- added incoming DTMF handling to SimpleUser
- updates to docs and demo
Legacy API:
- DTMF now checks for array on tones as a safety check
0.15.10
Reverted updated to typescript 3.7.x, as it forces all applications using the types to also be >= 3.7.x. For more information see microsoft/TypeScript#33939.
0.15.9
This release only contains New API changes
- Transport auto reconnect logic has been removed from UserAgent and is now only present while using the
SimpleUser
interface. API Users should usereconnect
and the UserAgentDelegate'sonConnect
andonDisconnect
functions. - RegisterOptions are now run past stripIfUndefined due to microsoft/TypeScript#13195
- more documentation, testing, and cleanup in preparation for 0.16.0
0.15.8
This release only contains New API changes
The default Web Transport has been reworked entirely, and while it is backwards compatible for most new API users, it is technically a breaking change, as the interface has been updated:
- UserAgent has been re-integrated with transport with new state
- UserAgent now handles reconnection logic; new
UserAgent.reconnect
- new UserAgentOptions
reconnectionAttempts
&reconnectionDelay
- UserAgentDelegate has new callbacks;
onConnect
/onDisconnect
- unit tests with complete coverage of new transport FSM
- handles state change loop detection
- updated SimpleUser
- updated demos
- updated docs
A handful of existing bugs were discovered and fixed in this refactor, so there are some seemingly unrelated fixes in here as well:
- UserAgent.stop() now works reliably
- Attempting to terminate a session while it is waiting for a PRACK which never arrives would cause a hung promise prior to this release.
0.15.7
Legacy API:
- Fix: DTMF now accepts 0 as an integer
- Fix: Record Route Parsing now works when using an array.
New API
- Remove legacy dependencies, so we can cleanly delete the legacy API when
0.16.0
is ready. - Fix: Record Route Parsing now works when using an array.
Simple
has been ported to the new API, asSimpleUser
.- A demo for the new API is now available on top of
SimpleUser
. You can try it by reading the demo README in the demo folder. - Undocumented public methods for internal library use are now prefixed with an underscore. More work is necessary here, but this is what the documentation generator expects.
- Registerer:
terminated
final state added. - Registerer: Now rejects with
RequestPendingError
if you try to register or unregister while a request is pending.
0.15.6
As with all 0.15.x releases, the old API is effectively frozen. Changes listed are for the beta API unless explicitly labelled
Changes to old and new API
- the default Web Transport can now catch and handle errors appropriately
New API changes
- ES 7+ features were removed and replaced with ES6 features. For more information please see the docs README: https://github.com/onsip/SIP.js/tree/master/docs#compatibility
- Registerer: fully flesh out delegate
- fixed race between reinvite and BYE that could typically occur in transfer scenarios with Music on Hold
- Session: tie
close
to state machine - Session: fix ACK error handling
- Session Description Handler: make error handling more robust
0.15.5
Changes are to new beta API only:
- ReINVITE handling updated
autostart
is now deprecated to make connection handling more straightforward- Session Description Handler is now closed on calls closed before the connected state.
- register/unregister now resolve message sent
- updated options fo register/unregister
- fixed state transition bug on request timeout
- added proper destructor
- hooked up to UA so unregister occurs on UA.stop
- added intergation tests for Registerer
0.15.3
I messed up publishing to npm with our new release process, so I had to do a version bump.