If I had a nickel for every time I named a release after its previous version, I'd have two nickels. Which isn't a lot, but it's weird that it happened twice.
Anyway, as usual for major versions, this release is not network compatible with the previous one, so make sure to update all your SubServers Apps when you decide to update.
Since it's safe to say that paying for a plugin that's no longer being developed is probably a bad idea, here is our solution. You may remember that, all the way at the bottom of our previous release notes, we released something called the RemotePlayer API for developers. From now on, SubServers apps will be relying solely on that — with a few additions of course.
SubServers.Sync will now sync player connection data network-wide, in addition to the existing dynamic server library, effectively replacing RedisBungee. You can still use RedisBungee if you have plugins with a need for it, though.
Server Termination, Revisited
Don't you just hate it when you use /end but suddenly realize one of your servers isn't responding? You try your best but BungeeCord just won't let you send the command. Not anymore. You can now send commands while SubServers is shutting down.
Additionally, Linux users can now use /sub terminate to terminate a session directly instead of letting the JVM potentially screw up the operation. Pretty neat, huh?
Some other things happened
• You can now use /greload without restarting your whole network
• /sub update can now be used to change the template of subservers
• The permissions required for /sub teleport have changed to make it more accessible
• Temporary servers are no longer stored in servers.yml
• Smart Fallback now has more customization options
• Some recent UI bugs in SubServers.Client have been fixed
• SubServers.Client now provides PlaceholderAPI placeholders
• SubServers.Client now uses TitleAPI instead of TitleManager on older servers
• SubData can now hit higher speeds than ever before
• VanillaCord had a big update of its own
• SubServers can now fully load itself before onEnable() is called for plugins
• Plugins that register drivers should now do so onLoad()
• Two new common APIs have been introduced
• Objects are now fully initialized before sending events such as SubAddServerEvent
• SubEditServerEvent no longer fires for changes made through the API
• GalaxiEngine has had some structural changes