Fish Trophy

QuLogic got a fish trophy!

Remove support for XEP 0115 Legacy Format

Review Request #1881 — Created Oct. 5, 2022 and submitted


This was made legacy in v1.5, which was released in 2008, so I think it's time to remove support for the older format. We ourselves do not send it either.

Moving to 1.5-only means the hash attribute is now mandatory, and we ignore ext, so a whole bunch of code to track the latter can be deleted. Since there are no longer multiple requests made to determine capabilities, there is no longer any need to ref-count callback data.

In my existing xmpp-caps.xml, there are 1176 clients, of which 912 are announcing 53 unique ext identifiers.

There are 6 that do so without a hash (meaning older than 1.5) and without an identity (xpath: '/*/client[not(@hash) and ext and not(identity)]'), and are either Google Talk, or Pidgin/Telepathy advertising Google Talk features.

For the ones that don't have a hash (again, meaning older than 1.5) and with an identity:

  • The Google Talk/Chat/mail/whatever identifiers (camera-v1, location-v1, phone-v1, pmuc-v1, share-v1, sidebar, sms-v1, vavinvite-v1, video-v1, voice-v1) can be ignored now.
  • The iChat identifiers (audio, auxvideo, avavail, avcap, ice, maudio, mvideo, rdclient, rdmuxing, rdserver, recauth, video) can also be ignored now.
  • We don't support the Miranda extension mir_notes anyway.
  • activity and mood are advertised by Miranda older than which is from 2015, but they are for XEP-0107 and XEP-0108 and should be found the normal way.
  • adiumcmd is advertised by older Pidgin to be, but we definitely advertise that the new way now, and there's no need to be compatible with Adium.
  • avatar, avatardata, avatarmeta, bob, buzz, ibb, mood, moodn, smileys, tune, tunen, are all advertised by old Pidgin; didn't bother looking for the XEPs because we no longer advertise this way anyway. And by 'old Pidgin', I mean 2.6.0devel, aka pre-2009, (and some random 3.0.2gobject-devel version).
  • cmds is advertised by QIP Infium <9045, but there's been QIP 2010 and 2012 since then. I don't have any caps from the latter, but they're ~8-11 years old.
  • ca, cs, cv, ep-notify, ep-notify-2 e-time, html, last-act mr, nick, nickn, sxe, whiteboard are advertised by Psi+ < 0.16, which seems ancient as they merged back into Psi in 2017, and I'm seeing Psi+ with hashes so it's doing it the new way now.
  • cstates is advertised by Gajim 0.11.4 (14 years ago according to their GitLab), but current versions use the new method.
  • jingle-audio and jingle-video are advertised by Telepathy, but at the same time they advertise the new way.
Remove support for XEP 0115 Legacy Format
  1. Ship It!
  2. Great work, glad you did this instead of me! Thanks!!

Review request changed

Status: Closed (submitted)