Whenever TS3 itself gets updated AND a new API is created
I’ll have to pray, that
my used plugins are updated to new API, too
And before all plugins are updated I cannot update my TS3 client.
Is there really NO possibility to make a new API compatible to older versions
so that even not updated plugins will work?
For my understanding of the API,
every update should only add new functions (which were not used by older plugins)
or modify existing functions (which should not make any difference in ‘input’ and ‘output’ for the plugins)
Usually with API version updates there is a “grace period” where multiple plugin API versions work. (see required minimum: xy, current: xz, where xz ≥ xy)
Why is it the way it is?
However, this is not always possible with the way the TeamSpeak 3 plugin API works.
Plugins are compiled software that relies on other software. In this case, the window framework Qt was updated to a newer version. This means that when the TeamSpeak software itself is compiled against another version of this framework than a plugin they will not work together because of all the changes in this external dependency. This Qt update allows for a native dark mode without custom user themes if I remember correctly. Unfortunately, this is how plugins work in TeamSpeak 3. Changing this would necessitate a complete overhaul of at least the plugin part of TS3.
Will this change with TS5?
But, personally, I hope this will be way better in the future when TeamSpeak 5 finally offers plugin support.
Some time ago I was told that there will be two kinds of plugins for TeamSpeak 5.
Compiled ones for interfacing with audio data in real-time: As the audio system does not change often they will most likely need less frequent changes.
Interpreted ones for everything else: Because TS5 is built on top of CEF instead of Qt plugins won’t need to be compiled but can simply be interpreted at runtime and developers can use the standardized HTML5, JS and CSS Systems to build version-independent plugins.
It sucks. Will probably not change in TS3. Should be way better in TS5 when plugin support will be added.
If we would make it compatible, then all Plugins which use QT would crash the client as soon they are loaded. To protect against it we make them incompatible with current client by raising the API version.
There was the idea of a Sandbox for it but this never was done. Maybe for TS5 then, we will see.
We can use ANY plugin that war recompiled (by the creator) to be compatible with the latest API.
In my case (and it’s not only me having that problems)
the ‘most used plugins’ are the following:
TS3 Notifier Helper Plugin
Gamepad and Joystick Hotkey Support
… and their ‘master’ plugins like ‘Control, ClientQuery’
And there may be still more (Ducker, …)
which may be also affected.
But for me (and not only for me)
As long as I
cannot see who is online/speaking (notifier)
cannot use joystick buttons for whisper/ppt
cannot use logitech g-keys for whister/ppt
I cannot update to the latest version,
because these functions are absolute basics (and so a MUST HAVE AND BE WORKING)
After having updated on client start I must downgrade to the old (and working) version by hand and play that I still have this version available to install.
And as long as ANY of these plugins is not working with the latest version:
NO update for my client
The list of ‘must have plugins’ for others may be even longer.
But the basic problem is the same (and will get worse in the future)
because it makes it impossible to me (and others) to update the client.
As long as the server accepts client with ‘older’ versions everything for the users is ok (but not fine)
But if whenever in the future a server will not accept clients using an ‘older’ version… Just think about it…
For me the worst thing about this whole situation is that even if the plugins are updated, the updates don’t seem to get approved on myteamspeak (even for existing plugins) so the user has to try and find where to get the updates and how install them instead of doing this through the ts3-app, like they did in the past.
Our plugins (Control, Gamepad & Joystick, LUA, ClientQuery) are updated.
The G15 plugin won’t get any update and was removed from our myTS page for 1-2 years already…
I found a fixed plugin for the G15.
And your Gamepad& Joystick Plugin is also working with the latest version (downloaded from this server)
The description for your Gamepad Plugin was NOT updated.
So even if it works, when you enter the download link for that plugin the latest message is “updated to API23”
Yeah work perfectly on my g19…no need asociation to standart F1-F12…but LCD now not working tha old plugin was absolute perfect i saw everything on my LCD…(( Too disapointing they ignoring this plugin…((