Engine updates are a beta feature that lets Depfu send you updates for the underlying engine or runtime of a project - With that, we mean the Ruby, Node.js or Elixir version that is configured within your project. Depfu tries to update the engine version in as many places as possible, such as your .ruby-version file, your CI config, Dockerfile, you name it. In its current form, we tried to start with a sensible default set of files Depfu will try to update - Please let us know, preferably via our public issues tracker, if we're missing something that's essential for your project.
To enable the engine updates beta feature, go to the project settings page and set "Engine Updates" to either "Only Minor" or "Minor and Major"
When set to "Only Minor", you will only receive updates that stay within the current release line. The behaviour varies between different runtimes - Node.js for example follows Semantic Versioning rules, and so this means that you will get an update for every version of the current major version. Ruby, on the other hand, does not follow SemVer and instead treats the combination of major and minor version (1.8, 1.9, 2.0 etc.) as a major release line, so you will only get updates that update the patch version.
When set to "Minor and Major" you will also receive updates for major releases. This may seem unreasonable and has a higher chance of resulting in test failures and incompatibilities, but you may want to treat the resulting PRs/MRs as the start of the necessary upgrade process you need to do anyway at some point in the future.
What files do we update?
Currently we support the following files (this list will be continuously updated):
- Gemfile / Gemfile.lock
- gems.rb / gems.locked
- .tool-versions (for asdf-vm)