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

Default to rangeStrategy=auto, prefer update-lockfile where present #19800

Closed
rarkins opened this issue Jan 12, 2023 · 4 comments · Fixed by #19942
Closed

Default to rangeStrategy=auto, prefer update-lockfile where present #19800

rarkins opened this issue Jan 12, 2023 · 4 comments · Fixed by #19942
Assignees
Labels
breaking Breaking change, requires major version bump priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others status:in-progress Someone is working on implementation type:feature Feature (new functionality)

Comments

@rarkins
Copy link
Collaborator

rarkins commented Jan 12, 2023

Describe the proposed change(s).

The main reason for not using this behaviour in the past was because it was inefficient (required calling the package manager every run in some cases) but that's now not the case

@rarkins rarkins added priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others type:refactor Refactoring or improving of existing code breaking Breaking change, requires major version bump status:requirements Full requirements are not yet known, so implementation should not be started labels Jan 12, 2023
@rarkins
Copy link
Collaborator Author

rarkins commented Jan 20, 2023

Alternatively, maybe we should default rangeStrategy to auto, and then for supported managers it uses update-lockfile. This is feasible now that we no longer pin dependencies when in auto

@rarkins rarkins self-assigned this Jan 20, 2023
@rarkins rarkins changed the title Default to rangeStrategy=update-lockfile Default to rangeStrategy=auto, prefer update-lockfile where present Jan 20, 2023
@rarkins rarkins added status:in-progress Someone is working on implementation type:feature Feature (new functionality) and removed status:requirements Full requirements are not yet known, so implementation should not be started type:refactor Refactoring or improving of existing code labels Jan 20, 2023
rarkins added a commit that referenced this issue Jan 28, 2023
Changes `rangeStrategy` default value from `'replace'` to `'auto'`.

Changes `auto` behavior so that `update-lockfile` is preferred if the manager supports the `updateLockedDependency()` function.

Closes #19800

BREAKING CHANGE: Renovate will now default to updating locked dependency versions. To revert to previous behavior, configure rangeStrategy=replace.
rarkins added a commit that referenced this issue Jan 28, 2023
…9958)

Sets new defaults:
- `prConcurrentLimit`: 10 (instead of 0)
- `prHourlyLimit`: 2 (instead of 0)

Closes #19800

BREAKING CHANGE: Renovate now defaults to applying hourly and concurrent PR limits. To revert to unlimited, configure them back to `0`.
rarkins added a commit that referenced this issue Jan 29, 2023
Changes `rangeStrategy` default value from `'replace'` to `'auto'`.

Changes `auto` behavior so that `update-lockfile` is preferred if the manager supports the `updateLockedDependency()` function.

Closes #19800

BREAKING CHANGE: Renovate will now default to updating locked dependency versions. To revert to previous behavior, configure rangeStrategy=replace.
rarkins added a commit that referenced this issue Jan 29, 2023
…9958)

Sets new defaults:
- `prConcurrentLimit`: 10 (instead of 0)
- `prHourlyLimit`: 2 (instead of 0)

Closes #19800

BREAKING CHANGE: Renovate now defaults to applying hourly and concurrent PR limits. To revert to unlimited, configure them back to `0`.
rarkins added a commit that referenced this issue Jan 30, 2023
Changes `rangeStrategy` default value from `'replace'` to `'auto'`.

Changes `auto` behavior so that `update-lockfile` is preferred if the manager supports the `updateLockedDependency()` function.

Closes #19800

BREAKING CHANGE: Renovate will now default to updating locked dependency versions. To revert to previous behavior, configure rangeStrategy=replace.
rarkins added a commit that referenced this issue Jan 30, 2023
…9958)

Sets new defaults:
- `prConcurrentLimit`: 10 (instead of 0)
- `prHourlyLimit`: 2 (instead of 0)

Closes #19800

BREAKING CHANGE: Renovate now defaults to applying hourly and concurrent PR limits. To revert to unlimited, configure them back to `0`.
rarkins added a commit that referenced this issue Jan 31, 2023
Changes `rangeStrategy` default value from `'replace'` to `'auto'`.

Changes `auto` behavior so that `update-lockfile` is preferred if the manager supports the `updateLockedDependency()` function.

Closes #19800

BREAKING CHANGE: Renovate will now default to updating locked dependency versions. To revert to previous behavior, configure rangeStrategy=replace.
rarkins added a commit that referenced this issue Jan 31, 2023
…9958)

Sets new defaults:
- `prConcurrentLimit`: 10 (instead of 0)
- `prHourlyLimit`: 2 (instead of 0)

Closes #19800

BREAKING CHANGE: Renovate now defaults to applying hourly and concurrent PR limits. To revert to unlimited, configure them back to `0`.
rarkins added a commit that referenced this issue Feb 4, 2023
Changes `rangeStrategy` default value from `'replace'` to `'auto'`.

Changes `auto` behavior so that `update-lockfile` is preferred if the manager supports the `updateLockedDependency()` function.

Closes #19800

BREAKING CHANGE: Renovate will now default to updating locked dependency versions. To revert to previous behavior, configure rangeStrategy=replace.
rarkins added a commit that referenced this issue Feb 4, 2023
…9958)

Sets new defaults:
- `prConcurrentLimit`: 10 (instead of 0)
- `prHourlyLimit`: 2 (instead of 0)

Closes #19800

BREAKING CHANGE: Renovate now defaults to applying hourly and concurrent PR limits. To revert to unlimited, configure them back to `0`.
rarkins added a commit that referenced this issue Feb 10, 2023
Changes `rangeStrategy` default value from `'replace'` to `'auto'`.

Changes `auto` behavior so that `update-lockfile` is preferred if the manager supports the `updateLockedDependency()` function.

Closes #19800

BREAKING CHANGE: Renovate will now default to updating locked dependency versions. To revert to previous behavior, configure rangeStrategy=replace.
rarkins added a commit that referenced this issue Feb 10, 2023
…9958)

Sets new defaults:
- `prConcurrentLimit`: 10 (instead of 0)
- `prHourlyLimit`: 2 (instead of 0)

Closes #19800

BREAKING CHANGE: Renovate now defaults to applying hourly and concurrent PR limits. To revert to unlimited, configure them back to `0`.
rarkins added a commit that referenced this issue Feb 17, 2023
Changes `rangeStrategy` default value from `'replace'` to `'auto'`.

Changes `auto` behavior so that `update-lockfile` is preferred if the manager supports the `updateLockedDependency()` function.

Closes #19800

BREAKING CHANGE: Renovate will now default to updating locked dependency versions. To revert to previous behavior, configure rangeStrategy=replace.
rarkins added a commit that referenced this issue Feb 17, 2023
…9958)

Sets new defaults:
- `prConcurrentLimit`: 10 (instead of 0)
- `prHourlyLimit`: 2 (instead of 0)

Closes #19800

BREAKING CHANGE: Renovate now defaults to applying hourly and concurrent PR limits. To revert to unlimited, configure them back to `0`.
rarkins added a commit that referenced this issue Feb 20, 2023
Changes `rangeStrategy` default value from `'replace'` to `'auto'`.

Changes `auto` behavior so that `update-lockfile` is preferred if the manager supports the `updateLockedDependency()` function.

Closes #19800

BREAKING CHANGE: Renovate will now default to updating locked dependency versions. To revert to previous behavior, configure rangeStrategy=replace.
rarkins added a commit that referenced this issue Feb 20, 2023
…9958)

Sets new defaults:
- `prConcurrentLimit`: 10 (instead of 0)
- `prHourlyLimit`: 2 (instead of 0)

Closes #19800

BREAKING CHANGE: Renovate now defaults to applying hourly and concurrent PR limits. To revert to unlimited, configure them back to `0`.
rarkins added a commit that referenced this issue Feb 23, 2023
Changes `rangeStrategy` default value from `'replace'` to `'auto'`.

Changes `auto` behavior so that `update-lockfile` is preferred if the manager supports the `updateLockedDependency()` function.

Closes #19800

BREAKING CHANGE: Renovate will now default to updating locked dependency versions. To revert to previous behavior, configure rangeStrategy=replace.
rarkins added a commit that referenced this issue Feb 23, 2023
…9958)

Sets new defaults:
- `prConcurrentLimit`: 10 (instead of 0)
- `prHourlyLimit`: 2 (instead of 0)

Closes #19800

BREAKING CHANGE: Renovate now defaults to applying hourly and concurrent PR limits. To revert to unlimited, configure them back to `0`.
rarkins added a commit that referenced this issue Feb 25, 2023
Changes `rangeStrategy` default value from `'replace'` to `'auto'`.

Changes `auto` behavior so that `update-lockfile` is preferred if the manager supports the `updateLockedDependency()` function.

Closes #19800

BREAKING CHANGE: Renovate will now default to updating locked dependency versions. To revert to previous behavior, configure rangeStrategy=replace.
rarkins added a commit that referenced this issue Feb 25, 2023
…9958)

Sets new defaults:
- `prConcurrentLimit`: 10 (instead of 0)
- `prHourlyLimit`: 2 (instead of 0)

Closes #19800

BREAKING CHANGE: Renovate now defaults to applying hourly and concurrent PR limits. To revert to unlimited, configure them back to `0`.
rarkins added a commit that referenced this issue Feb 27, 2023
Changes `rangeStrategy` default value from `'replace'` to `'auto'`.

Changes `auto` behavior so that `update-lockfile` is preferred if the manager supports the `updateLockedDependency()` function.

Closes #19800

BREAKING CHANGE: Renovate will now default to updating locked dependency versions. To revert to previous behavior, configure rangeStrategy=replace.
rarkins added a commit that referenced this issue Feb 27, 2023
…9958)

Sets new defaults:
- `prConcurrentLimit`: 10 (instead of 0)
- `prHourlyLimit`: 2 (instead of 0)

Closes #19800

BREAKING CHANGE: Renovate now defaults to applying hourly and concurrent PR limits. To revert to unlimited, configure them back to `0`.
rarkins added a commit that referenced this issue Mar 4, 2023
Changes `rangeStrategy` default value from `'replace'` to `'auto'`.

Changes `auto` behavior so that `update-lockfile` is preferred if the manager supports the `updateLockedDependency()` function.

Closes #19800

BREAKING CHANGE: Renovate will now default to updating locked dependency versions. To revert to previous behavior, configure rangeStrategy=replace.
rarkins added a commit that referenced this issue Mar 4, 2023
…9958)

Sets new defaults:
- `prConcurrentLimit`: 10 (instead of 0)
- `prHourlyLimit`: 2 (instead of 0)

Closes #19800

BREAKING CHANGE: Renovate now defaults to applying hourly and concurrent PR limits. To revert to unlimited, configure them back to `0`.
rarkins added a commit that referenced this issue Mar 8, 2023
Changes `rangeStrategy` default value from `'replace'` to `'auto'`.

Changes `auto` behavior so that `update-lockfile` is preferred if the manager supports the `updateLockedDependency()` function.

Closes #19800

BREAKING CHANGE: Renovate will now default to updating locked dependency versions. To revert to previous behavior, configure rangeStrategy=replace.
rarkins added a commit that referenced this issue Mar 8, 2023
…9958)

Sets new defaults:
- `prConcurrentLimit`: 10 (instead of 0)
- `prHourlyLimit`: 2 (instead of 0)

Closes #19800

BREAKING CHANGE: Renovate now defaults to applying hourly and concurrent PR limits. To revert to unlimited, configure them back to `0`.
rarkins added a commit that referenced this issue Mar 10, 2023
Changes `rangeStrategy` default value from `'replace'` to `'auto'`.

Changes `auto` behavior so that `update-lockfile` is preferred if the manager supports the `updateLockedDependency()` function.

Closes #19800

BREAKING CHANGE: Renovate will now default to updating locked dependency versions. To revert to previous behavior, configure rangeStrategy=replace.
rarkins added a commit that referenced this issue Mar 10, 2023
…9958)

Sets new defaults:
- `prConcurrentLimit`: 10 (instead of 0)
- `prHourlyLimit`: 2 (instead of 0)

Closes #19800

BREAKING CHANGE: Renovate now defaults to applying hourly and concurrent PR limits. To revert to unlimited, configure them back to `0`.
rarkins added a commit that referenced this issue Mar 10, 2023
…19942)

Changes `rangeStrategy` default value from `'replace'` to `'auto'`. Also changes `auto` behavior so that `update-lockfile` is preferred if the manager
supports the `updateLockedDependency()` function.

Closes #19800

BREAKING CHANGE: Renovate will now default to updating locked dependency versions. To revert to previous behavior, configure rangeStrategy=replace.
rarkins added a commit that referenced this issue Mar 10, 2023
…9958)

Sets new defaults:
- `prConcurrentLimit`: 10 (instead of 0)
- `prHourlyLimit`: 2 (instead of 0)

Closes #19800

BREAKING CHANGE: Renovate now defaults to applying hourly and concurrent PR limits. To revert to unlimited, configure them back to `0`.
rarkins added a commit that referenced this issue Mar 10, 2023
…9958)

Sets new defaults:
- `prConcurrentLimit`: 10 (instead of 0)
- `prHourlyLimit`: 2 (instead of 0)

Closes #19800

BREAKING CHANGE: Renovate now defaults to applying hourly and concurrent PR limits. To revert to unlimited, configure them back to `0`.
@renovate-release
Copy link
Collaborator

🎉 This issue has been resolved in version 35.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

72636c added a commit to seek-oss/rynovate that referenced this issue Mar 17, 2023
Per renovatebot/renovate#19800, the "auto" strategy now raises
additional PRs to update dependencies in range. This is either
unsuitable for our use case or bugged, as we have "lockfile update" PRs
(as denoted by a `-lockfile` branch suffix) which are bumping the
in-range version of a package's production dependencies. This means that
e.g. `^2.0.0` gets bumped to `^2.1.0` and so on, and results in a lot of
transitive noise for projects that consume the package.

This _may_ break the previous behaviour of widening peer dependency
ranges, but's a lesser concern now and I'm following up on the Renovate
recommendation for handling this use case.

https://docs.renovatebot.com/release-notes-for-major-versions/#version-35

renovatebot/renovate#20990
72636c added a commit to seek-oss/rynovate that referenced this issue Mar 19, 2023
* Revert range strategy to "replace"

Per renovatebot/renovate#19800, the "auto" strategy now raises
additional PRs to update dependencies in range. This is either
unsuitable for our use case or bugged, as we have "lockfile update" PRs
(as denoted by a `-lockfile` branch suffix) which are bumping the
in-range version of a package's production dependencies. This means that
e.g. `^2.0.0` gets bumped to `^2.1.0` and so on, and results in a lot of
transitive noise for projects that consume the package.

This _may_ break the previous behaviour of widening peer dependency
ranges, but's a lesser concern now and I'm following up on the Renovate
recommendation for handling this use case.

https://docs.renovatebot.com/release-notes-for-major-versions/#version-35

renovatebot/renovate#20990

* Widen peer deps
@straub
Copy link
Contributor

straub commented Apr 5, 2023

I'm confident I don't fully understand, but does this change invalidate the rangeStrategy doc that describes the npm behavior at

1. Otherwise, Renovate replaces the range. So `"^2.0.0"` is replaced by `"^3.0.0"`
?

Should this refer to update-lockfile rather than replace now?

@rarkins
Copy link
Collaborator Author

rarkins commented Apr 6, 2023

Those lines are still correct, although they could be expanded to handle the case where the range is satisfied, so only the lock file is updated

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
breaking Breaking change, requires major version bump priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others status:in-progress Someone is working on implementation type:feature Feature (new functionality)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants