<div>I also ran into this behavior when updating my brokers today.&nbsp; However, the change was a little more mysterious, as I had persistent queues setup with existing bindings from 3.0.2.&nbsp; Instead of seeing any information about requiring x-match header on the queue bindings, I instead just received the following client error when trying to publish to the exchange:</div><div>&nbsp;</div><div>RabbitMQ.Client.Exceptions.OperationInterruptedException: The AMQP operation was interrupted: AMQP close-reason, initiated by Peer, code=541, text="INTERNAL_ERROR", classId=0, methodId=0, cause=<br>&nbsp;&nbsp; at RabbitMQ.Client.Impl.SimpleBlockingRpcContinuation.GetReply()<br>&nbsp;&nbsp; at RabbitMQ.Client.Impl.ModelBase.ModelRpc(MethodBase method, ContentHeaderBase header, Byte[] body)<br>&nbsp;&nbsp; at RabbitMQ.Client.Framing.Impl.v0_9_1.Model.TxCommit()</div><div>&nbsp;</div><div>and on the broker, saw the following:</div><div>&nbsp;</div><div>=ERROR REPORT==== 6-May-2013::15:33:54 ===<br>** Generic server &lt;0.445.0&gt; terminating<br>** Last message in was {'$gen_cast',</div><div>...</div><div>** Reason for termination == <br>** {{{badmatch,undefined},<br>&nbsp;&nbsp;&nbsp;&nbsp; [{rabbit_exchange_type_headers,headers_match,2,[]},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {rabbit_router,'-match_bindings/2-fun-1-',10,[]},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {qlc,collect,1,[{file,"qlc.erl"},{line,1328}]},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {qlc,eval,2,[{file,"qlc.erl"},{line,296}]},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {mnesia_tm,non_transaction,5,[{file,"mnesia_tm.erl"},{line,734}]},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {rabbit_exchange,route1,3,[]},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {rabbit_exchange,route,2,[]},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {rabbit_channel,handle_method,3,[]}]},<br>&nbsp;&nbsp;&nbsp; [{mnesia_tm,non_transaction,5,[{file,"mnesia_tm.erl"},{line,747}]},<br>&nbsp;&nbsp;&nbsp;&nbsp; {rabbit_exchange,route1,3,[]},<br>&nbsp;&nbsp;&nbsp;&nbsp; {rabbit_exchange,route,2,[]},<br>&nbsp;&nbsp;&nbsp;&nbsp; {rabbit_channel,handle_method,3,[]},<br>&nbsp;&nbsp;&nbsp;&nbsp; {rabbit_channel,handle_cast,2,[]},<br>&nbsp;&nbsp;&nbsp;&nbsp; {gen_server2,handle_msg,2,[]},<br>&nbsp;&nbsp;&nbsp;&nbsp; {proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,237}]}]}</div><div>&nbsp;</div><div>I saw nothing in the release notes to indicate that this was an intended change.</div>