Closed JindrichPilar closed 5 years ago
já jsme pro, má k tomu něco @fmasa ?
7.1 je IMHO minimum. Osobně bych preferoval aktuální stable verzi - >= 7.3
Za mě 7.1 je tedka dotupnější pro většinu lidí, takže bych to něchal na ní raději
OT: Minimum z lidí, kteří neupdatovali na novější verzi, bude asi aktualizovat závislosti. Navíc na používání verze 2.x není nic špatnýho a pokud někdo musí být na 7.1 a nižší, tak ho klidně může použít.
Jinak jsem klidně pro, bumpnout verzi PHP můžeme i v minor verzích.
@JindrichPilar chceš si to mergnout sám nebo to mám udělat? nevim na čem jsme se domluvili tady, ale s fmasa to máme tak, že merguje autor
bumpnout verzi PHP můžeme i v minor verzích.
@fmasa Ale už nebudeme moci použít žádné novinky z těch verzí u veřejných metod. Plus pokud někdo vytvoří balíček vázaný na tu konkrétní verzi skautisu (>=minor_with_php_bump) tak to způsobí problémy. Stalo se mi to s Doctrine, musel jsem ručně zafixovat starou verzi několika knihoven protože composer neuměl automaticky vyřešit konflikt.
@JindrichPilar Ale to je problém na straně toho navázaného balíčku. Pokud někdo udělá balíček pro PHP 7.1, ale použije závislost, která vyžaduje 7.2+, tak to není náš problém.
7.2 přidává z pohledu API designu jen typ object
, který moc nevyužijeme. 7.3 nic zajímavýho. U 7.4 o ničem, co by mohlo ovlivnit public API, nevím.
Jinak proto jsem loboval za >=7.3 :grin:
@fmasa No ono composer používá SemVer, takže update minor verze by měl být zpětně kompatibilní. A to update minimální verze PHP není...
To se týká jak nějakých dalších balíčků, tak přímo webů. Když tam dám "skautis/skautis": "^3.0"
, tak očekávám, že mi update nic nerozbije...
Tedy to, co se vydá v 3.0
by mělo zůstat pro všechny 3.X
. Za mě ať to je klidně 7.3...
@marekdedic Update vždycky musíš pouštět na stejné verzi, jako ti běží produkce. Tím, že je Composer schopen rozeznat aktuální verzi PHP a podle toho instalovat verze, ti verzi pro novější PHP nenainstaluje - není to BC break. Je to jako zvýšení verze jakékoliv jiné závislosti.
@fmasa to je chytrý, to jsem nevěděl, díky. Ale i tak je to BC break - prostě ti novější minor verze neběží tam, kde ta předchozí. Akorát to vyžaduje větší ignoranci si to rozbít :D
To se týká jak nějakých dalších balíčků, tak přímo webů. Když tam dám "skautis/skautis": "^3.0", tak očekávám, že mi update nic nerozbije...
Jednou mi balicek (myslim ze Doctrine nebo DoctrineBundle) rozbil build kvuli updatu major verze PHP v patch verzi balicku. Byl tam slozitejsi graf zavislosti ruznych knihoven a musel jsem rucne zafixovat nizsi verzi jedne knihovny, protoze composer nebyl schopen to sam vyresit.
Update vždycky musíš pouštět na stejné verzi, jako ti běží produkce.
Take lze pouzit config/platform:
"config": {
"platform": {
"php": "5.6.1"
}
},
Pamatuju si, že to lidi řešili v kombinaci s Doctrine balíčky. Přes to trvdím, že to BC break není.
Ve chvíli, kdy prostě není update pod stejnou verzí jako produkce (minimálně přes platform, jak píšeš), je jen otázka času, kdy se něco rozbije - typicky právě v nepřímých závislostech. Stačí aby například skautis/nette
přidalo v aktuální major verzi podporu i pro skautis/skautis
3.0 (^2.0 || ^3.0
) a nainstaluješ nepřímou závislost vyžadující PHP 7.1
@marekdedic https://semver.org/#what-should-i-do-if-i-update-my-own-dependencies-without-changing-the-public-api
I stand corrected.
PHP 5.6 a 7.0 jsou end-of-life. HHVM ruší kompabilitu s PHP.
Navrhuji nechat 2.x s podporou 5.6 a vyžadovat 7.1 pro 3.x. Nová major verze umožní přidat type hinty do API (https://github.com/skaut/Skautis/issues/71).
Samotné vydání 3.0.0 bych příliš nespěchal - extra čas budu mít až koncem února.