Проблема заключается в том, что сейчас семантика протокола такова: если параметр «name» присутствует и установлен в пустое значение, это эквивалентно отсутствию параметра «name» — он просто не затрагивается.
Любое изменение здесь меняет семантику протокола. Можно, конечно, сделать так, чтобы name= означало «очистить имя», а отсутствие параметра name — «не трогать имя», но поскольку люди уже полагаются на старое поведение, это технически является разрушающим изменением.
Не могли бы вы объяснить, почему вы удаляете имена?