in reply to Re^2: Update these modules if installed?
in thread Update dependants if installed (was: Update these modules if installed?)

Why not just introduce some code in your distribution that can catch the plugins doing things the old, broken way, and gracefully throw a notice to the user and exit, with the notice advising them to upgrade the broken plugin (caller() could potentially be used to get the plugin name)?

Not ideal, but significantly better than forcing an upgrade of user installed distributions.

Replies are listed 'Best First'.
Re^4: Update these modules if installed?
by perlancar (Hermit) on Mar 08, 2020 at 16:03 UTC
    Yes, I did this to some extent, but there are still some scenarios where things could break. Your post reminds me that in other frameworks that I wrote, I do introduce API/metadata versioning and throw an exception whenever a plugin follows an older version which I no longer want to support. I might apply that to Log::ger too, thanks.