perlancar has asked for the wisdom of the Perl Monks concerning the following question:
In a Perl distribution, what would be the recommended way to specify a "dependency" type that says: update these modules to at least these versions, if you have them installed?
In my case, I'm releasing Log-ger 0.033 which will break *some* plugins. These plugins currently do not specify a dependency to Log::ger, because they do not actually require() or use() Log::ger, but instead are used together by users in the user's code. However, the plugins do "depend" on the Log::ger API and will break if the Log::ger API change in some non-backward-compatible way. Ideally I'm thinking, these plugins should've declared something like (phase=x_api, rel=requires) dependency to Log::ger; and CPAN clients have a plugin to recognize this dependency and performs update when necessary. Or is there another way?
EDIT: After another read of my own post, I realize that this is just a case of "updating dependants", which I think generally should be the user's choice, because automatically updating dependants could start a chain reaction of breakage.