When broken via piston or Player while the gamerule doTileDrops is false, Shulker boxes do not drop their item. Although this makes technical sense, this causes problems with custom worlds. Another reason for this to be changed is that the Shulker Box is the only block that will give its item when broken in creative mode, and it would make sense that this trait carries on even when that gamerule is false. The breaking of Shulker Boxes into items is fairly important in redstone and other technical aspects, and a person would not be able to do this if he/she had the gamerule doTileDrops as false.
Dupe of MC-107475