template parameters can be either strings or numbers, for order-based parameter.
(for instance, scribunto modules receive order-based parameters indexed by integers, not strings, i.e. frame.args[1], not frame.args["1"])
it is be perfectly legal, and pretty widely prevalent to have a named parameter with "order based" alias (paramname "author", alias 1)
the current templatedata looks like so:
<templatedata> { "params": { "paramname": { "aliases": [ 1 ] } } </templatedata>
(true, order based params must be declared as strings in TD, but this limitation comes from JSON, and is not related to mw actual template behavior).
this worked as advertised until 1.38.0-wmf.16.
the latest version added a new assertion, requiring aliases to be strings, else it fails to consume the TD which was previously legal, with some error message.
this is a breaking change, rendering dozens of existing templates on hewiki "naked" (i.e., lacking templatedata, hence uneditable using VE).
such breaking change requires at the very least advance warning/notification, so we'll be able to prepare.
personally, i think this assertion is misguided, and will create some extra work for us, since some of the tools will have to examine each alias, and if/when it looks like "6", manually convert it to 6.
such breaking change is worthy of 1 demerit (not "1" demerit)
peace