Starting next MainNet Spork (May 26th), when running a transaction, the proposer key sequence number would always be incremented unless any of the following conditions occur:
- invalid transaction (transaction rejected by collection nodes)
- any of the transaction signatures are not valid
- the transaction is missing the signature(s) by the proposer
- the proposal sequence number is invalid (not match with the one stored on the chain)
In other words, the new behavior increments the sequence number even if the transaction fails at runtime or any other condition that is not mentioned above. The new behavior protects the network against some cases of spamming attacks and protects users from double transaction submission attacks.