Why are zero fee transactions not being included in blocks that are not full? Today, I sent a Bitcoin payment but it has not been included in a block for about 10 hours now. The payment had the following characteristics:


~0.1 BTC
222 bytes
One UTXO as an input (I used coin control)
The UTXO was approximately 1 year old


Currently, blocks are not always full (in fact there are blocks that are only 8% full). For that reason I attempted to save the fee.



(https://bitcoinfees.github.io/#1m)



(https://blockchain.info/ 2016-08-08 20:42 UTC).

What policy do miners currently have regarding zero fee transactions? I have sent many zero fee transactions in the past (>1 year ago) and the block inclusion time was really quick (~5 blocks maybe). Did the policy of miners change?
It likely has to do with the minimum relay fee set on the nodes that are mining. There's also coin age that is taken into consideration on low or no fee transactions. 

Relay and Mining: Priority transactions

Bitcoin Core has a heuristic ‘priority’ based on coin value and age. This calculation is used for relaying of transactions which do not pay the minimum relay fee, and can be used as an alternative way of sorting transactions for mined blocks. Bitcoin Core will relay transactions with insufficient fees depending on the setting of -limitfreerelay= (default: r=15 kB per minute) and -blockprioritysize=.

Soure