- Merge remote-tracking branch 'origin/api-12' into api-17
- Avoid recursion in CompoundTagDataView#getView
- Deserialize data directly to the target DataManipulator
- Use ValueContainer#streamKeys in DataUtil
- Implement ValueContainer#streamKeys and ValueContainer#streamValues
- Implement DataSerializable#toView for CustomDataTest.MyObject
- Use DataSerializable#toView in DataSerializer
- Write directly to the DataView during serialization in SpongeDataSerializer
- Use CompoundTagDataContainer in DataUtil
- Introduce CompoundTagDataView
- Extract common helpers from MemoryDataView to SpongeDataView
- Remove extra self-referencing DataView check
- Use DataView#streamRootValues in DataSerializer#serialize
- Add cache for InventoryTranslator for selected Containers
- Fix double copy in SpongeItemStackSnapshot#asMutable
- Optimize Inventory#offer
- Implement ItemStackLike#maxStackQuantity in target classes
- Copy only non Sponge data in DataUtil#serializeSpongeData
- Fix multiple instances of same DataStore
- Compare DataView path correctly
- Use String overloaded DataView methods in NBTTranslator
- Use String overloaded DataView#getView in DataUtil#deserializeSpongeData
- Create DataQuery lazily in MemoryDataView
- Implement String based createView and getView to DataView
- Add fast path for String & Integer in MemoryDataView#set
- Implement DataView#set with primitive overloads
- Avoid intermediate DataQueries in DataUtil#getSpongeData
- Use DataView#streamRootKeys in DataUtil#deserializeSpongeData
- Use DataView#streamRootValues in NBTTranslator#containerToCompound
- Implement String based value querying and setting to DataView (#4297)
- Fix data store lookup by token not being thread safe
- Cache data store lookups by resource key
- Bump SpongeAPI
- Attach childs on SuggestionArgumentNode
- Update ItemStack#toContainer to be light wrapper over vanilla data (#4292)
- Fix unvanishing showing the player in all worlds
