Merging master with 1.17

Once 1.17 branch is sync with master will start new development on this one for next release.