Per-package stability flags instead of minimum-stability

One dependency has no stable release yet, so composer install refuses to resolve it. The answer that comes up first is "minimum-stability": "dev", which fixes that package and quietly lowers the bar for every other package in the tree at the same time.

{
    "minimum-stability": "stable",
    "prefer-stable": true,
    "require": {
        "monolog/monolog": "~1.10",
        "league/flysystem": "0.5.*@dev",
        "internal/feed-parser": "dev-master"
    }
}

The @dev suffix is a stability flag on that one constraint, so the exception is written next to the package it applies to and is visible in review. A dev-master requirement carries an implicit flag of its own and needs no suffix. If the global setting has to be lowered anyway — because a transitive dependency demands it — "prefer-stable": true restores sane behaviour by picking the stable release of anything that has one. The flag applies to the root package only: a dependency’s own stability requirements are not inherited, which is why a package requiring a dev version of something else still fails until you name it in your own require.