Stephen Connolly, this (non-)behaviour is quite confusing and I find your chain of reasoning unconvincing.
You could have a build storm if you have 200 tags, they all get discovered and queued for building...
So? The same happens with branches by default. I have to cancel all builds on old branches manually. Not even the build strategies plugin allows me to suppress builds on stale branches.
(Maybe it's bad style to have lots of stale branches, but whether they are around in any given project is for none of us to decide.)
Anyway, this only happens once (after creating the project). The age restriction implemented in the build strategies plugin effectively prevents a "build storm"; why not integrate that functionality into the core?
and your tags are set up to deploy to production because they are tags...
That's quite the assumption. The pipeline may do nothing of the kind.
and jenkins does not guarantee the order in which the tags will be discovered or actually executed...
If the order matters, the pipeline author needs to take care of undesired effects, anyway.
you have to explicitly configure it
Without the build strategies plugin, how do you even do so?
You seem to have a certain set of use cases in mind, which kind of contradicts how Jenkins (as a whole) is advertised as a general-purpose tool. While that's certainly your prerogative as an open-source maintainer , but you should maybe consider whether your perspective covers as many of your users as you'd like.