Merge V1.4.x into master. 

Mainly because warnings cleanup makes it easier for me to work and review on the master branch.