NG-ZORRO / ng-zorro-antd

Angular UI Component Library based on Ant Design
https://ng.ant.design
MIT License
8.86k stars 3.92k forks source link

Suggest to follow Angular Support Policy and Schedule (LTS support) #2627

Open turnerguo opened 5 years ago

turnerguo commented 5 years ago

What problem does this feature solve?

To be a production ready library, it is necessary to have a LTS version for better enterprise level usage.
Currently, NG-ZORRO just has a straight branch line (master), so it is not able to support any special version for some reason.
Since version 7 NG-ZORRO start to track the major version of @angular/core, I think it also good to keep follow the Angular Support Policy and Schedule (https://angular.io/guide/releases#support-policy-and-schedule).

What does the proposed API look like?

Follow the Angular Support Policy and Schedule: https://angular.io/guide/releases#support-policy-and-schedule 👋
e.g. create branches for each major version (just like v6.x.x), and give V6 LTS support follow the above.

turnerguo commented 5 years ago

We even don't know where is the BREAKING CHANGES point with different Angular versions.
No one care about this? just happy to running on the latest version? 😢

lppedd commented 5 years ago

@turnerguo Imho there is no point in having a LTS release. This isn't a massive project, it is open-source, you're able to see issues, to try it out and downgrade if necessary.

As part of my daily task I have a scheduled npm update. If things breaks, nevermind, rollback. The test/quality environment is there for this.

Instead, we should strive for even faster release cycles, if possible.

wzhudev commented 5 years ago

IMHO, it is unnecessary to maintain LTS versions for the following reasons:

  1. It is easy for developers to update to a new major version. Angular provides a tool for that ng update. Take our business product (which uses ng-zorro-antd, of course) for an example, there are 80,000 lines of code and it only took me a morning to update from 7 to 8. So the benefit of LTS is limited.
  2. It would takes a lot extra efforts to maintain different branches. We have to double or even triple reproductions, pull requests and coding. But we are a small team of 5 active members and we have no time for that, which I am pretty sure. 🤣

In conclusion, 💰> 🎉.

BTW, the official component library Material doesn't provide LTS, either, according to the version history on npm.