Open nikeee opened 3 years ago
#nullable
to make the library more null-safeSystem.ValueTuple
and maybe Microsoft.CSharp
could be removed from the dependenciesSystem.Runtime.Serialization.Formatters
?record
s, auto-implementing equalitySpan<T>
and Memory<T>
to improve performance (mainly in FileTransferClient
, see https://github.com/nikeee/TeamSpeak3QueryAPI/pull/51#discussion_r421788093)That response parser that uses reflection could be re-written to use a source generator.
With TS5 around the corner, it is questionable if some of the work is worth investing. I doubt that TS5 will use the same crappy protocol. At least I hope that they will migrate to something more sane, like JSON-RPC.
TS5 is only a client rework, the server is the same.
That's what I heard as well, but is that assured?
It would actually be pretty pointless, if they'd just copy some UI stuff from discord. So I am assuming that some server functionality will be added as well.
They keep a lot vague, but I was in the TS5 beta and the client connects just fine to TS3 servers. I guess this will be the targeted path of them. It's less work and they won't split their already shrinking userbase in half with this change. They most likely will just add supplementary commands like they did in the past with notifychannelpermhints and notifyclientpermhints to improve the TS5 UI but keep it on the old protocol.
EDIT: also some .net advice, as long as you still distribute your library as a nuget package you can upgrade your project to net6, enjoy (almost) all of the benefits and still target netstandard2.0. This change will only require contributors to have the .net6 sdk, not your endusers. You can also polyfill a lot of features into netstandard2.0 since a lot of stuff is just in the compiler, not runtime
Could we still target .NET Standard 1.3? I know it's old, but there are a lot of users using .NET FW.
I'll evaluate if we can target Standard 2.0 and use more recent .NET features.
Yeah, should also work, you're basically just limiting your access to the 'nice' newer apis, but other than that probably no problems.
What benefits could we have when migrating to a more recent .NET version (most likely .NET 6)?