I took more time on this issue and I've added a second sheet to the 
previous document:

https://docs.google.com/spreadsheets/d/1QY7AUVQbWnVCbOZqJX11tbz2gKr-pU0CeZezcyJsEPA

The second page stems from my proposal, and it shows the scenario for a 
package that extends Monolog, so it has to be compatible with both psr/log 
and Monolog to work.

As shown in the table, if the package adds only argument types, it will be 
broken in any upstream version combination that is working on itself, and 
that's bad. But if it adds the return type first, following Monolog's 
example, all is fine; the only downside is that adding argument types too 
would break compat with Monolog v2, regardless of psr/log version.

So, to summarize, the upgrade path of this downstream package would be:

Version N:
psr/log: ^1.0
monolog/monolog: ^1.0

Version N+1: adds return type like Monolog v2, will use v2 only if PHP >= 
7.2
psr/log: ^1.0|^2.0
monolog/monolog: ^1.0|^2.0

Version N+2: add argument types too:
psr/log: ^2.0|^3.0
monolog/monolog: ^3.0

This IMHO would make releasing version N+2 very unlikely in the short term, 
due to not having cross compatibility with 2 major versions of Monolog at 
the same time.

-- 
You received this message because you are subscribed to the Google Groups "PHP 
Framework Interoperability Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to php-fig+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/php-fig/3f1a68ef-b5ed-4005-8b0d-667dbbc8a73a%40googlegroups.com.
        • ... Alessandro Lai
          • ... Stefano Torresi
            • ... Cees-Jan Kiewiet
              • ... Alessandro Lai
              • ... Alexandru Pătrănescu
              • ... 'Edward Almasy' via PHP Framework Interoperability Group
              • ... Adrien Crivelli
              • ... Alexandru Pătrănescu
              • ... 'Alexander Makarow' via PHP Framework Interoperability Group
              • ... Alexandru Pătrănescu
              • ... Alessandro Lai
              • ... Adrien Crivelli
              • ... Alessandro Lai
              • ... Alexandru Pătrănescu
  • Re: [BYLAW] P... G. P. B.

Reply via email to