Skip to content
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

multiselect.component.ts breaking change without version bump #278

Open
wpfeiffe-alternate opened this issue Dec 4, 2020 · 5 comments
Open

Comments

@wpfeiffe-alternate
Copy link

Angular version:
8

ng-multiselect-dropdown version:
0.2.10

Description of issue:
when using a package json with ^0.2.10, your 0.2.11 was downloaded and it newly requires 2 constructor args versus 0.2.10 which required 1 constructor arg. This broke our code. Easy to fix, but would have expected a version 0.3.x for a breaking change.

Steps to reproduce:
See above

Expected result:
No new library pulled down due to correct versioning

Actual result:
Incompatible library pulled down.

Demo: Please share sample code link using StackBlitz or codesandbox

Any relevant code:


@NileshPatel17
Copy link
Owner

@wpfeiffe-arbfile There was no breaking changes.. Can you please share more error details.

@wpfeiffe-alternate
Copy link
Author

wpfeiffe-alternate commented Dec 4, 2020

The constructor of the multiselect component at multiselect.component.ts

constructor(private cdr: ChangeDetectorRef);

was changed from 1 arg to 2 args:

constructor(private cdr: ChangeDetectorRef,private listFilterPipe:ListFilterPipe)

This broke our code that called the original constructor.

@NileshPatel17
Copy link
Owner

NileshPatel17 commented Dec 4, 2020

Thanks. This change was part of PR #195.
I am still wondering how it broke your code.. By the way, how did you fix it?

@wpfeiffe-alternate
Copy link
Author

wpfeiffe-alternate commented Dec 4, 2020

Because the version was ^0.2.10, the devs who did npm install before the last couple days, got the 0.2.10. They wrote code that provides the 1 argument which matched 0.2.10. All was good.

Yesterday we had a developer pull source from our git repo and run npm install. The version ^0.2.10 in our package.json allowed for the pull of version 0.2.11, the newer version. This version has 2 args in its constructor. When we ran ng serve, the compile failed.

So, we temporarily changed our package.json to 0.2.10 without the carat^, forcing THAT version to come down. Now all devs have the version with 1 arg, and their ng serve compiles. We then reverted back to ^0.2.10 in the package.json, the local version of 0.2.10 matches and doesn't pull new, so it continues to work.

So this change breaks new developers who pull your 0.2.11 code when its got to run against our code written to use the single arg constructor of 0.2.10.

TL;DR: using ^0.2.10 in our package.json, first pulled 0.2.10 which worked with our code using single arg constructor, later pulled 0.2.11 which did not.

@NileshPatel17
Copy link
Owner

Thank for sharing.. I am thinking of un publishing version 0.2.12.. what do you think??

NileshPatel17 added a commit that referenced this issue Dec 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants