Up to date, Not up to date?

You may have noticed that, although WoW 8.1 is live, LibSpellName2SID 1.0.14a has been released today for 8.0. This is not just due to some overlook upon uploading its most recent version. LibSpellName2SID's current database is not in sync with the current lists of spells available to the player in game!

The reason I uploaded a version of the database whose spells are no longer completelly is because 1) The last time I did a fetch for the spells from the server was back when WoW 8.0 was live and 2) That complete fecth is nonetheless much more up to date and complete than the one in the previous version of LibSpellName2SID.


Why?

Due to some (ongoing) financial problems I got into during the last trimestre of 2018, I ended up cancelling my subscription in early December, before the release of WoW 8.1.
On the other hand, lack of money hasn't been the only issue, spare time hasn't been all that abundant either...

Still, in between the release of Battle for Azeroth and the new patch 8.1, I did get some work done in LibSpellName2SID. But this was mainly in my (unreleased but available in the SVN) Populator addon, which handles fecthing the data from the server for me. I had to test it and bring it up to date with the new SpellMixin API (easier than I thought actually) and I also cleaned up a variety of small glitches that were pesting it for a while. So, unless 8.1 brought up some major API changes, I believe it should currently be able to do its job rather well.


So... What now?

Baseline spells for almost every class and their specializations can be fetched from the server with a level 10 character of that class; and PVE talents too. Of course, there are no level 10 Death Knights nor Demon Hunters, so those two classes are the reason from the "almost" in the previous sentence.
But otherwise, til I get myself subscribed again, Î can create a character of each class and race and level them all up to 10 and fetch the baseline and PVE talents' spells.

IIRC you do need a character with access to the PVP talents to fetch them though. Also, characters that have Pets and Flyout buttons will often only have those spells fetchable if you have acquired said Pets / learned the spells included in those Flyouts.

But I will endeavour to get the level 10 characters I can get with a trial account, and release an update to LibSpellName2SID once I've fetched their spells.

I may also come to release my Populator addon (needs some polishing and a little bit of further testing), so that hopefully, people willing and able to fetch the data on high level characters will be able to send me the saved variables (the lists of spells) from my Populator addon.


What about ReadySpells?

Ha, good question! A bit of an uncomfortable one too, if you were to remember that ReadySpells was the reason LibSpellName2SID was created in the first place (by Twobits initially, only as part of ReadySpells). I've intitially started work and released LibSpellName2SID as a standalone library (usable by any other addon) thinking it would be a quick thing...

The interesting thing is, although LibSpellName2SID was meant only to ease the maintenance of the ReadySpells' default class profiles, working on ReadySpells in paralel showed my an issue with its profiles: the spells included in the profiles' lists were validated against server-fetched lists of active spells.
This worked great for keeping the lists working during actual runtime, but it also meant said lists would be validated against e.g. currently active talent spells. ReadySpells had actually been written such that the inclusion of an inactive spell in a list would simply be ignored, but the fact the list against which the spells for display were validated was the same list against which the spells were validated to save into the profile (still is in the current SVN version of ReadySpells), meant a simple talent switch meant the inactive talents (and corresponding conditions) would be immediately removed from that profile.

Given that, in some cases, not all spells available to a class are fetchable (regardless of whether or not they are active), the simplest sollution is to use LibSpellName2SID as a "profile list of spells" and the currently active spells on the character as a separate "display list of spells".
Thus, once LibSpellName2SID is mature enough (apart from what was mentioned above, there are still other glitches in its working), I will implement that logic into ReadySpells and thereafter, hopefully, finish the work on it and ... finally release an up to date, modernized, working version.