Juntamente com o Windows Vista e Windows Server 2008 foi colocado a disposição a nova versão do Message Queue, 4.0. Essa nova versão traz algumas funcionalidades muito interessantes e, a primeira delas, são as subqueues. Como o próprio nome diz, as subqueues são filas que estão abaixo da fila principal e herdam as suas características. Não podemos mandar mensagens explicitamentes para essas filas, mas podemos remove-las de lá. Além disso, não temos o controle da criação ou exclusão dessas subqueues, ficando sob responsabilidade do próprio Message Queue que a criará quando preciso e a excluirá quando estiver vazia.
Outra funcionalidade muito interessante são as Poison Message Queues. Mensagens que estão dentro de uma fila estão propícias a falharem e, se essa falha ocorrer repetidamente, podemos ter um loop infinito, ou seja, a mensagem atual nunca será processada e, consequentemente, as mensagens subsequentes também não. Para isso, o Message Queue 4.0 possibilita especificarmos a quantidade de tentativas de processamento e, caso todas elas esgotem, a mesma será movida para uma Poison Message Queue que, nada mais é que uma subqueue, dando sequencia no processamento das mensagens seguintes.
Apesar de muito interessantes, essas novas funcionalidades somente podem ser utilizadas a partir do WCF (mais detalhes aqui). Pelo fato da Microsoft estar centralizando todas as formas de comunicação em cima do WCF, acredito que a API System.Messaging não evoluirá e, consequentemente, não suportará essas novas funcionalidades.