Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
103 lines (73 sloc) 3.95 KB

Change Log


WARNING: Unlike many previous major version bumps that were almost entirely backwards compatible, v12 is not backwards compatible. Upgrading to v12 will require modifications in existing code.

  • Complete TypeScript support

  • Changed JXT implementation (old JXT definitions will not work). See JXT docs for more information.

  • Changed structure/names of JXT definitions for supported XEPs. See Supported XEP Formats for links to the type definitions of each XEP supported by StanzaJS.

  • Removed support for callbacks. All methods now support Promises only.

  • Methods using IQ stanzas now return the requested data instead of the full IQ stanza data.

  • Changed SASL implementation. Old, custom SASL mechanisms will not work.

  • Removed JID objects. JIDs are now treated as strings only. See src/JID.ts for helper functions.

  • Implemented Stringprep (not PRECIS, yet).

  • Removed WildEmitter. Now using standard EventEmitter. Event handlers using * wildcards will need to be changed.

    • The * and raw:* events are still supported.
  • Added input/display helpers for Realtime Text.

  • Configuration of transports has changed. The wsURL/boshURL/transport fields are no longer used. Configuring transports is now done by setting the transports field to an object:

        transports: {
            websocket: 'wss://...',
            bosh: 'https://...'

    Using false instead of a URL will disable that transport type. An object can be used to pass additional configuration, such as BOSH pre-binding rid/sid:

        transports: {
            websocket: false,
            bosh: {
                url: 'https://...',
                rid: 1234,
                sid: '...'


  • Jingle sessions now queue local actions to allow safer handling of WebRTC peer connection objects.


10.0.0 -> 10.1.0

  • Renamed muc:affiliation event to muc:other


  • Converted to ES modules, using Typescript compiler for downleveling.
  • Moved stanza definitions back from jxt-xmpp, obsoleting both jxt-xmpp and jxt-xmpp-types.
  • Replaced use of request and xhr with cross-fetch.
  • SASL mech implementations now live inside
  • Moved host-meta fetching logic into
  • Moved xmpp-jid implementation back into, obsoleting xmpp-jid.
  • Use ws module instead of faye-websocket.
  • Dropped support of old, pre-RFC XMPP-over-WebSocket.
  • Moved jingle implementation back into

9.1.0 -> 9.2.0

  • Fixed CSI namespace to use urn:xmpp:csi:0
  • Added support for XEP-0333 Chat Markers

6.0.0 -> 6.0.1

5.x.x -> 6.0.0

  • Breaking Changes

    • Removed

      See the jingle-interop-demos for how to recreate the behaviour by working directly with the jingle.js and localmedia libraries.

      var localMedia = require('localmedia');
      var sess = client.jingle.createMediaSession(peerJID);
    • client.jingle was updated to a jingle.js v1.0 instance.

      The method client.jingle.startLocalMedia() has been removed, in favor of using the localmedia module instead (which is not bundled in

You can’t perform that action at this time.