Frequently Asked Questions
How does Scala Steward decide what version it is updating to?
Scala Steward first proposes an update to the latest patch version at the same minor and major version. If the dependency is already on the latest patch version, it proposes an update to the latest minor version at the same major version. And if the dependency is already on the latest minor version, it proposes an update to the latest major version.
Here is an example. Suppose you are depending on a library foo, which has been published for the following versions: 1.0.0, 1.0.1, 1.0.2, 1.1.0, 1.2.0, 2.0.0, and 3.0.0.
- If your version is 1.0.0 or 1.0.1, Scala Steward would create a PR updating it to 1.0.2
- If your version is 1.0.2 or 1.1.0, Scala Steward would create a PR updating it to 1.2.0
- If your version is 1.2.0 or 2.0.0, Scala Steward would create a PR updating it to 3.0.0
Of course, once you merge a Scala Steward PR, you've updated your version, which can result in Scala Steward sending another PR making the next update.
How can Scala Steward's PRs be merged automatically?
You can use Mergify to automatically merge Scala Steward's pull requests. Mergify rules that does this can be found in Scala Steward's own repository here. Mergify can also be configured to only merge patch updates (in case the version number adheres to Semantic Versioning) as demonstrated here.
Other examples of Mergify rules for Scala Steward can be found via GitHub's code search.