bring composer.js up to date with latest master