merge lots of 2.4 changes to s/ and client/ #579

fixes #579