Ответ 1
В случае необходимости вы можете использовать определенную (помеченную в стабильной версии) версию.
В то время как composer.lock
блокирует зависимость от конкретного коммита даже при использовании dev-master
... каждый composer update
будет обновлять зависимость до последней версии и впоследствии обновлять файл блокировки.
Если ваш файл блокировки каким-то образом удаляется/теряется и не поддерживается резервным копированием/под управлением версии, вы можете легко завершить работу с нерабочим проектом после запуска composer install
или composer update
!
Простым примером может быть сам symfony/symfony
... новые коммиты могут вводить новые ветвления BC (обратная совместимость) в ветки dev-master
в любое время, оставляя ваше приложение в нерабочем состоянии.