when we started using Laravel we used Laravel 5.8, but the package was named dev-master
This is the source of your self-inflicted issues. You shouldn't require dev-master because every time you install/update via composer, you're going to be pulling in all the latest commits.
Laravel is not to blame here.. if you're using Laravel 5.8, then you should require 5.8.*, then you won't end up breaking your application and avoiding dependency hell.
I'd pick a stable tagged version of Laravel, and work at fixing all your dependencies from there. Then the framework will only update when you specifically bump your version number in composer.json.
Otherwise, if you want to lock your framework at your current dev-master commit, you could require the specific commit hash....
Laravel/Laravel:dev-master#3d7a5075e7db93a7df89c983c95d9016f448d3f9