Skip to content

Releases: onsip/SIP.js

0.15.2

25 Jul 21:48
Compare
Choose a tag to compare

Changes

  • Inviter Fixes

0.15.1

24 Jul 17:21
Compare
Choose a tag to compare

Changes

  • A few beta API changes, notably one to make the timing of session establishment match up better with the legacy API, and the addition of a logConfiguration UserAgent Configuration variable
  • stricter check for window.addEventListener

0.15.0

22 Jul 20:21
Compare
Choose a tag to compare

The 0.15.x release is a backwards compatible drop-in replacement for 0.14.x.

The 0.15.x release introduces a "new" API and deprecates the "legacy" API in 0.14.x.

The 0.15.x release is intended to facilitate migration from the legacy API to the new API.

The 0.15.x release contains both the new API and the legacy API, but the two are not compatible. That is, you may use one or the other but cannot "mix" the usage of the two. For example, a Session created with the legacy API is not compatible with a Session in the new API.

The legacy API will be removed in 0.16.x in favor of the new API.

It's important to note that we are considering the new API to be in the beta state for 0.15.x. While the heavy majority of breaking changes are covered, we are not ruling out making breaking changes in patch versions for the new API, until the 0.16.0 release. This will be covered in the release notes, as always.

To begin moving to the new API, please see our migration document. The largest use cases are covered, and as 0.15.x continues we plan to complete all sections. We've also updated our documentation to be auto-generated from the code, the new docs folder will now be home to the most up to date documentation. Our website will be updated to reflect this over the lifetime of 0.15.x. We also have some more changes planned before 0.16.0, you can see them in our roadmap. The biggest planned changes:

  • The Simple API will be transitioned to be backed by the new API. Simple will be a bit more flexible at that point, likely being enough for more users than before.

  • With 0.16.0, we will stop distributing our webpack bundles with the npm release. Taking its place will be an es6-module capable build, next to the currently default typescript build, which targets es5.

  • a new demo phone

0.14.6

18 Jun 16:19
Compare
Choose a tag to compare

Fixes

  • Small fix to 0.14.5, check for window must be typeof window !== "undefined"
  • move @types/nodes to devDependency

0.14.5

18 Jun 13:40
Compare
Choose a tag to compare

Fixes

  • Since we began using importHelpers to dedupe code, tslib was a required dependency. If that was not in your own project, sip.js would break your build. This has been rectified, and tslib is now a dependency of sip.js.
  • PublishContext now cleans up its event listeners
  • The default web Transport now rejects if it fails immediately
  • We are no longer reliant on node (global was used in a handful of places)

0.14.4

07 Jun 13:38
Compare
Choose a tag to compare

Fixes

  • There was an issue with 183s being sent in the Invite with SDP case that has been resolved.
  • a type in that case (for on("progress")) was also fixed

0.14.3

05 Jun 19:06
Compare
Choose a tag to compare

Fixes

  • There was a lingering set of underscore_variables that should have been converted to camelCase. They involved anonymous User Agents.
  • usePreloadedRoute was partially removed in version 0.11.0, and didn't work prior to that, it was re-added as an option and fixed.
  • passing fromUri to invite as a string (as it was typed) would not work, this was fixed and it can now be passed as a URI as well.

0.14.2

04 Jun 15:43
Compare
Choose a tag to compare

This release is primarily refactoring in preparation for the upcoming new public facing API, and is planned to be the last before the new API is introduced. There are no breaking changes.

Fixes

  • React SessionDescriptionHandler constructor is now fixed
  • ts-pegjs updated to work with optimize:size, so reduce bundle size by 10%

0.14.1

22 May 15:04
Compare
Choose a tag to compare

Fixes

  • #689: re-add stopping subscriptions and transport connect on UA.stop()
  • #690: fix log-level integers
  • #692: fix issue calling peerConnection in standard sessiondescriptionhandler (introduced by noImplicitAny introduction
  • size reductions: add importHelpers to tsConfig and reduce what is brought in crypto-js

0.14.0

20 May 15:31
Compare
Choose a tag to compare

In this release significant and substantial portions of the “core library code”
have been replaced, however an attempt was made to alter little to none of the
existing public facing API. The rewrite changes the internal architecture of the
library and is a precursor to addressing long standing issues which will entail
introducing a new public API in the near future.

Breaking Changes: Nothing public API-facing

In short, the new core code replaces all the dialog, UAC core, and UAS core
related implementation in the library as well has the internal implementations
of all the Context classes as well as Session, Subscription, and UA classes.
If you are utilizing properties or methods not documented as part of the
public API, there have been significant “internal changes” as follows...

Removed completely

  • Dialogs.ts
  • RequestSender.ts
  • SanityCheck.ts

Modified significantly

  • ClientContext.ts
  • InviteClientContext.ts
  • InviteServerContext.ts
  • PublisherContext.ts
  • ReferContext.ts
  • RegisterContext.ts
  • ServerContext.ts
  • Session.ts
  • SIPMessage.ts
  • Subscription.ts

Benefits

  • New library “core” with consistent internal interface
  • To spec invite and non-invite transaction implementations
  • To spec method specific user agent client/server implementations
  • To spec session and subscription dialog usage implementations
  • Errors completely and reliably passed through internal stack
  • Fixed retransmission behavior during hold and un-hold
  • Fixed in dialog NOTIFY sequence number issue on REFER
  • Fixed invalid RSeq in some PRACK scenarios
  • Fixed subscription refresh interval issue
  • Fixed incorrect ACK event emission
  • Doubled number of integration/unit tests
  • Additional TypeScript typing