MopaBootstrapBundle icon indicating copy to clipboard operation
MopaBootstrapBundle copied to clipboard

Versioning / BC handling

Open MisatoTremor opened this issue 9 years ago • 8 comments

Symfony just released version 3 and Bootstrap 4 is also on the horizon. With both we got a couple of deprecations / BC breaking changes which (will) affect this bundle, but still (will) have older versions that are maintained.

So I thought it might be a good time to discuss a solid versioning strategy for the future to support existing combinations as long as they are maintained with possible bugfixes and also support the newer ones.

In the near future I see these possible combinations that maybe should be maintained in own version-branches:

  • SF <=2.8 & BS 3
  • SF 3.0 & BS 3
  • (SF <=2.8 & BS 4)
  • SF 3.0 & BS 4

MisatoTremor avatar Dec 18 '15 16:12 MisatoTremor

I think we should probably support 2.7, and 2.8+. 2.8+ will work for 3.0+ (Hopefully for quite a while) and 2.7 is the latest LTS (aside from the new 2.8 LTS, but it's basically 3.0 anyway). It's not hard to update from 2.3 and if you're unwilling to update from 2.3 you likely won't be switching to bootstrap 4 anyway so I don't see that as a problem. I looked at grid and form stuff pretty quickly on bootstrap 4 and it seems pretty similar, so we might not have to do too much work there. I'm pretty sure 2.3+ is compatible with 2.7 anyway so it should be fine.

I also discussed removing a decent amount of features from this such as base templates, LESS / SASS base templates (can't use LESS anymore anyway for bs4) and removing the composer bridge / automatic installer. For some people it makes it a little easier but it's not good for us to be storing 3rd party libraries inside ours. Here's the comment I left a little while ago discussing a lot of this: https://github.com/phiamo/MopaBootstrapBundle/issues/1133#issuecomment-160479971

Can anybody point out any big differences from BS3 to 4?

isometriks avatar Dec 18 '15 17:12 isometriks

Yeah, that was my idea behind the SF <= 2.8 branch as that would be basically just the current state.

One thing that made me open this issue is the decent amount of BC code that's now in the bundle. It's adding complexity and as a personal opinion just isn't nice to have forever. Which is why I think it'd be a good idea to have a SF 3.0(+) only branch with all that removed.

As for BS 4 there's indeed more. E.g. form-horizontal being gone, form-group no longer including row, the new grid tier and the removal of glyphicons are likely have an impact.

MisatoTremor avatar Dec 18 '15 19:12 MisatoTremor

Ok, let's bump this discussion :).

It think we should require Symfony 2.7 as a minimum, since older version (and 3.0) are not supported anymore: http://symfony.com/doc/current/contributing/community/releases.html

stephanvierkant avatar Dec 05 '16 15:12 stephanvierkant

I think it would be great to get some more visibility around the versioning strategy, for example, v3.1.2 to v3.2.0 introduced a breaking change for us with the horizontal/layout changes.

Is the aim to follow Semantic Versioning?

rossmotley avatar Sep 05 '17 15:09 rossmotley

It wasn't a breaking change, hence why we didn't change the major version. You can still use horizontal the same way as before. If it isn't working correctly then please let us know what is wrong and we will fix the issue.

isometriks avatar Sep 05 '17 15:09 isometriks

@isometriks I can open a separate issue for it, perhaps? Is the aim to follow Semantic Versioning, though?

rossmotley avatar Sep 05 '17 15:09 rossmotley

Yes, the aim is to follow Semver. We made a change in a BC way, so we changed the minor version. If horizontal is not working anymore then we will fix 3.2.* so it still works.

isometriks avatar Sep 05 '17 15:09 isometriks

@isometriks Thank you, I have created #1220 and #1219

rossmotley avatar Sep 05 '17 16:09 rossmotley