The capnproto stuff is about optimised (de)serialisation. I am not too excited about it tbh.
However, switching from pull getblocktemplate to push is interesting.
As things stand, we wait for a blockupdate on the zmq publishing endpoint and then fetch a blocktemplate. The change to push, eliminates this round trip and bitcoind now pushes blocktemplates when certain well defined criteria are met. It is a slight optimisation, but it is in the mining loop, so could be important.