admin wrote:1) It always returns the old value
2) It only returns the old value for the first of the passed files, or the focused file (if none passed).
For 1, it is always the old value, but what's old is current if you don't set a new value, so always returning the old value is what I intended. Was that not clear?
For 2, I debated this and settled on what I thought was most consistent. When dealing with one item I want to get and set equally, but when dealing with multiple items it shifts to more frequently setting, and I rarely find much use in the return value when setting anyhow. Only returning the focused or first value is okay with me; it's not a real loss of functionality since the data for each item can be retrieved with report or a loop.
admin wrote:I supported the "ex:Name" syntax. It feels safe, though I did not see a compelling case for it. What does it protect us against?
I cannot read the future and thus have no way of knowing what future fields might come into being. As the name part can be pretty much anything the user desires I figured it best to have a way to indicate it was the caption of an extra column, just in case the future brings something that would cause confusion. That said, it save us from easily avoidable confusion caused by poor user decisions which can occur today.
Currently the user is free to name their extra columns 'label', 'comment', 'tags', the shortened versions, or even name Extra 2 '5' and by using 'ex:Name' tagitems shouldn't give them any unexpected results.
EDIT: I'm partially thinking this 'ex:Name' format should also be used in search and ExtraTag for consistency's sake.
And then that leads me to thinking these same rules should be added to the Report's {extra} template.

/
A little surprised by the decision to make it undocumented. Obviously I haven't played with it yet, but if it is as close to what I wrote as you suggest then I don't see why we wouldn't want to deprecate 'tag' and make this the preferred method going forward.
Is that just for now or are you planning to keep it a secret well after 13.80?