hash extension is required for composer update