-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Angular Version 11 #6046
Comments
angular 11 compile and hmr is so quickly,waiting nz-zorro-antd upgrade . |
Hi, we expect to support angular 11 by the end of December, there still some work needs to be done. |
with the angular version policy we discussed a few month ago, that v.11.0.x should simply compile with angular 11 without feature update. and v11.1.x or v11.2.x should contains feature update, but now angular 11 published 1 month ago , and there still no version support it. I'm wonder is the policy changed ? |
ng-zorro-antd strictly follows Semantic Versioning 2.0.0. I believe there no one who want to bring break changes in 11.0.x which is previous compatible in 11.0.0 MAJOR version when you make incompatible API changes. https://ng.ant.design/docs/changelog/en check here for more details https://semver.org/ |
Does an update to Angular 11 cause braking changes in ng-zorro? Why not releasing an ng-zorro 10.x version that supports Angular 11? As far as I know semantic versioning does not require you to bump the major version for a major release of your dependencies. |
Hi @pburgmer |
Hi @vthinkxie, I understand that it's quite common to keep major version with Angular. But in my opinion it is't such a good practice to combine it with Semantic Versioning. The main issue in there is that ng-zorro is blocking ability to update application to new Angular version for a very long time. Let me try to explain. When new Angular version is released, usually some of APIs are deprecated. So we all have to change source code to reflect new APIs. It could be a lot of changes sometimes, that take a lot of time to realize. But we can't complete the upgrade, because we need to wait for all libraries to be updated as well. But when library (ng-zorro in this case) releases version with new Angular support along with bunch of own major changes (deprecations, APIs changes, styles changes ...) it takes much more afford to realize the upgrade. Because in that case you don't only have to reflect Angular changes but the library changes too. Or, the other real world example... you want (or even need) to keep up with Angular, but don't want to upgrade the library at all (eg. when CSS styles are changed or some API you're using are removed). (For example, when we upgraded to Angular 9, we had to modify many CSS because of ng-zorro 9.) Would't it be better to release minor versions that supports new Angular version without waiting to major release? Could you please at least consider pros and cons of this suggestion before you threw it away? We really like and appreciate all work you are doing in ng-zorro, it's truly amazing, but this approach towards releases makes upgrading to new Angular quite complicated for us. |
@vthinkxie thanks for your feedback. |
Hi, @junekpavel thanks for your comment There is a discussion about this before, ng-zorro-antd depends on both angular and ant design spec. Both of them could have break changes, to keep Semantic Versioning, we have to align both of the versions. For example ant design spec 3.0 + angular 8.0 = ng-zorro-antd 8.0 Then angular 9.0 released There are some break changes from angular 8.0 to 9.0, what ng-zorro-antd version should be then? 8.x is obviously incorrect since there are break changes introduced by angular(which will also cause break changes in our lib). But if we publish ng-zorro-antd 9.0 depends on ant design spec 3.x and angular 9.0, which version should we use when applying ant design spec 4.0 published one month later? There are also some break changes in our lib as planned, such as We have to take all of them into consideration, and the most important is we don't have enough bandwidth to keep too many major versions. the current release plan is we keep the major version with angular as well as keep semantic versioning. Hope this would answer your question. |
Yes, but we don't have enough bandwidth to keep too many major versions since all contributors here are volunteers and ng-zorro-antd is not a commercial project. Reduces maintenance effort on the library is important to us. If there are more contributors, we can even take LTS into consideration, but it is not possible in our current situation. |
@vthinkxie I didn't know that all contributors are volunteers. Thought ng-zorro is developed by Alibaba. Thank you for the explanation. |
Thank you @vthinkxie for you reply and pointing out ant design spec dependency. I totally understand that versioning is as good as it could be right now. May I have (hope simple) suggestion about Angular updates? As you mentioned
What about to have new Angular versions supported "unofficially"? I have an example. With Angular 9, the usage of This is't applicable for all changes of course, but for simple (minor) changes that doesn't require any public APIs modifications it could work like a charm. |
Contributors come from different companies like Alibaba, Tencent, ThoughtWorks, Sangfor, and so on Yes, some of us come from Alibaba, but it is still an MIT opensource project, all contributions here won't be counted as our OKR or KPI :) |
We will try to implement such fixes on the previous version before step into the next version in the future, appreciate your advice. |
Hi all, we just released ng-zorro-antd v11 to support angular 11, thanks to all the contributors! release note here: https://github.com/NG-ZORRO/ng-zorro-antd/releases/tag/11.0.0 upgrade guide here: #6217 |
What problem does this feature solve?
Version 11 of Angular now available, see https://blog.angular.io/version-11-of-angular-now-available-74721b7952f7
What does the proposed API look like?
null
The text was updated successfully, but these errors were encountered: