Improvement: If an error is catched during loading of shopkeeper data, the plugin gets disabled without triggering a save. This hopefully prevents that the complete shopkeeper data gets lost if for example some item cannot be properly loaded.
Change: Also disable without save if one shopkeeper cannot be loaded (for ex. because of invalid save data). Previously that shopkeeper would have been skipped, resulting in that shopkeeper being completely removed. Now you have to manually fix your save data in this case, but with the advantage of being able to fix the affected shopkeeper without losing for example all the setup trades.
Fixed: Citizens npc's with the shopkeeper trait should now keep working after a reload via '/citizens reload'. (Not actually fixed, check out the next version..)
Added: Automatically removing invalid citizens shopkeepers, which either have no backing citizens npc, or are using the same npc as some other shopkeeper for some reason.
A few minor other internal improvements related to citizens related code (like checking if Citizens is currently still enabled before accessing or creating npcs).
Tiny improvement: Not triggering a save during removal of inactive player shopkeepers, if no shopkeepers got actually removed.
Improvement: Hopefully better handling shopkeepers with somehow invalid or duplicate object id during activation and deactivation (preventing that the wrong shopkeeper gets disabled for example), and printing some warnings if a shopkeeper is detected during activation with an somehow invalid object id. This mostly has debugging purposes currently.
A few tiny other internal changes, which hopefully didn't break anything.
If the trade for a written book fails players can sometimes still open and read the book if they close the shop and click the temporary fake book in their inventory fast enough. There is not much I can do about this..
Server crashes and improper shutdowns might cause living non-citizens shopkeeper entities to duplicate sometimes.
The 'always-show-nameplates' setting is no longer working on MC 1.8.
Compatibility with older bukkit versions is untested. If you encounter any problems let me know and I will look into it.
A bunch of entity types are only meant for experimental usage. They might cause all kinds of issues if used. See changelog of v1.50.
In the latest MC 1.8.x versions default minecraft trading logic has slightly changed (and by that those of shopkeepers as well): if a trade requires an item with special data (like a custom name, etc.) minecraft is now only allowing this trade, if the offered item is perfectly matching, including all special item data and attributes.