I did however stumble on to the solution in the course of my investigation. Apparently SDL no longer supports certain URIs in 2019. The term provider I had originally built was for 2017 and works great, however at that time I used a URL as my URI for my term provider, e.g. https://mywebsite.com/etc
... (which is of course a valid URI). On updating to 2019 I started receiving the error in the screenshot, which tells you absolutely nothing. I spent days literally swapping out pieces of my plugin and changing how I implemented the interfaces trying to get it to work to no avail.
Well, it turns out that my issue in 2019 was nothing more than the terminology provider URI I had chosen. Changing the scheme (https://) to literally anything else fixes the issue. Apparently that URI scheme is not allowed anymore. The sad part is that there was nothing in the error message that would have led me that direction, in fact quite the opposite. Based on the “Not implemented exception” it seemed like there was perhaps some new methods in the terminology provider base class, or interfaces that had changed. So that led me down the wrong path. After everything, my plugin works with a different provider URI, and no changes to my implementation of the AbstractTerminologyProvider.
If anyone needs to reproduce this issue it’s quite easy to do. You can use the ExcelTerminology provider from the link above and simply change the Uri scheme to https and it will break after you’ve selected the plugin, and re-opened termbase settings, or done another action that tries to initialize the termbase.
Hopefully that will help if anyone else runs into this.
I did look through the ExcelTerminology provider as you recommended to see if there were any differences in the implementation. Unfortunately there were no real differences in how the terminology provider was implemented.