To solve the problem, I basically did a binary search across all RabbitMQ versions between the one we were using and the latest one.
I eventually discovered that this functionality was deliberately added as part of RabbitMQ mainline enhancement 25716, in version 3.2.0.
As @zaq178miami pointed out in the comments (very informative, thanks!), the specification violations on the RabbitMQ main site were also updated at this time.
A discussion of the rationale for this is on the RabbitMQ mailing list, here.
While this behavior is more "AMQP-ish" than the previous behavior, it will require some refactoring on my part to make my existing code work with newer versions of RabbitMQ
Thanks for all the comments above. For future readers: those comments contain additional useful links regarding this issue.