Should the bmesh tag property respect Undo state?

Not sure if this is a bug or not, figured I would ask here before I logged it. I’m noticing that if I tag bmesh elements in an operator and then Undo the operator, the tags are not restored to their previous (pre-operator) state. Is this behavior intentional? If so I’m curious what the purpose of tags are if they are transient and can’t be relied upon- might just be that I’m using them incorrectly of course.

I would consider that a bug. But I’m just some rando, so that doesn’t really mean anything.

Still I think it would be a good idea to report it as a bug. (help menu → report bug, make sure to follow all the steps)

Tags are transient, this is not a bug. It would be good to update the Python API docs to clarify this though. They are used to simplify the implementation of operators/modifiers, to temporarily mark some mesh elements.

Even if tags were preserved through undo, it would still not be reliable to use them like that. Because you don’t know for what other purpose another script might use them.