getheaders (only get the highest header the remote node will have).
Add nodeid to inactivity tracking
Only respond to getblocks requests that are asking for substantially newer block invs.
Use syncheight instead of startheight for broadcasting block invs
Add net2 debug option
Better logging of ProcessMessages() progress (needs "net2", "nLastDataPos")
Change check whether to send block inv after UpdateTip
Add debug "tx" and "tx2" options
Process "notfound" messages, and safeguard against unreasonably long ones.
Correct logic so that not both lines are displayed

e.g.:-
2014-02-25 06:56:39 received getdata (1 invsz)
2014-02-25 06:56:39 received getdata for: tx 8e2e08d1d851eb1ac800e814796dd7b86fd6d3a8fad41d5bdcb873ac6f4aba8d
Increase max outbound connections from 8 to 128.
Allow peers to determine how much they are seen to be misbehaving.

This can allow peers in future to modify their behaviour to avoid netsplits.
Allow nodes to send version messages more than once.
Antisocial (needs CaughtUp)
Only update last seen time when the node is actually being useful.
Add debug info for sending of invs
Log mempool requests
Improve rpc info for importprivkey (to make it clearer on syntax)
debug "block2" (sending of invs)
Include version string of version message we send in the debug log